⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 endianrw.c

📁 在ADS环境下MiniGUI的源码
💻 C
字号:
/*
** $Id: endianrw.c,v 1.8 2003/09/04 03:46:47 weiym Exp $
**
** endianrw.c: 
**  Functions for dynamically reading and writing endian-specific values
**
** Copyright (C) 2003 Feynman Software.
** Copyright (C) 2001 ~ 2002 Wei Yongming.
**
** The idea and some code come from SDL - Simple DirectMedia Layer
** Copyright (C) 1997, 1998, 1999, 2000, 2001  Sam Lantinga
**
** Current maintainer: Wei Yongming.
**
** Create date: 2001/09/18
*/

/*
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

/*
** TODO:
*/ 

#include <stdio.h>

#include "common.h"
#include "endianrw.h"

Uint16 MGUI_ReadLE16 (MG_RWops *src)
{
	Uint16 value;

	MGUI_RWread(src, &value, (sizeof value), 1);
	return(ArchSwapLE16(value));
}

Uint16 MGUI_ReadBE16 (MG_RWops *src)
{
	Uint16 value;

	MGUI_RWread(src, &value, (sizeof value), 1);
	return(ArchSwapBE16(value));
}

Uint32 MGUI_ReadLE32 (MG_RWops *src)
{
	Uint32 value;

	MGUI_RWread(src, &value, (sizeof value), 1);
	return(ArchSwapLE32(value));
}

Uint32 MGUI_ReadBE32 (MG_RWops *src)
{
	Uint32 value;

	MGUI_RWread(src, &value, (sizeof value), 1);
	return(ArchSwapBE32(value));
}

Uint64 MGUI_ReadLE64 (MG_RWops *src)
{
	Uint64 value;

	MGUI_RWread(src, &value, (sizeof value), 1);
	return(ArchSwapLE64(value));
}

Uint64 MGUI_ReadBE64 (MG_RWops *src)
{
	Uint64 value;

	MGUI_RWread(src, &value, (sizeof value), 1);
	return(ArchSwapBE64(value));
}

int MGUI_WriteLE16 (MG_RWops *dst, Uint16 value)
{
	value = ArchSwapLE16(value);
	return(MGUI_RWwrite(dst, &value, (sizeof value), 1));
}

int MGUI_WriteBE16 (MG_RWops *dst, Uint16 value)
{
	value = ArchSwapBE16(value);
	return(MGUI_RWwrite(dst, &value, (sizeof value), 1));
}

int MGUI_WriteLE32 (MG_RWops *dst, Uint32 value)
{
	value = ArchSwapLE32(value);
	return(MGUI_RWwrite(dst, &value, (sizeof value), 1));
}

int MGUI_WriteBE32 (MG_RWops *dst, Uint32 value)
{
	value = ArchSwapBE32(value);
	return(MGUI_RWwrite(dst, &value, (sizeof value), 1));
}

int MGUI_WriteLE64 (MG_RWops *dst, Uint64 value)
{
	value = ArchSwapLE64(value);
	return(MGUI_RWwrite(dst, &value, (sizeof value), 1));
}

int MGUI_WriteBE64 (MG_RWops *dst, Uint64 value)
{
	value = ArchSwapBE64(value);
	return(MGUI_RWwrite(dst, &value, (sizeof value), 1));
}

Uint16 MGUI_ReadLE16FP (FILE *src)
{
	Uint16 value;

	fread (&value, (sizeof value), 1, src);
	return(ArchSwapLE16(value));
}

Uint32 MGUI_ReadLE32FP (FILE *src)
{
	Uint32 value;

	fread(&value, (sizeof value), 1, src);
	return(ArchSwapLE32(value));
}

int MGUI_WriteLE16FP (FILE *dst, Uint16 value)
{
	value = ArchSwapLE16(value);
	return(fwrite (&value, (sizeof value), 1, dst));
}

int MGUI_WriteLE32FP (FILE *dst, Uint32 value)
{
	value = ArchSwapLE32(value);
	return(fwrite (&value, (sizeof value), 1, dst));
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -