Start at bigendian compatibility.

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@57 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
meep-eep
2002-09-21 21:20:35 +00:00
parent 70aa833701
commit de2e97d925
+16 -3
View File
@@ -19,6 +19,10 @@
#ifndef _COMPILER_H
#define _COMPILER_H
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
typedef unsigned char BYTE;
typedef BYTE *PBYTE;
typedef unsigned char UBYTE;
@@ -62,14 +66,23 @@ typedef SWORD (*PSWORDFUNC) (void);
typedef DWORD (*PDWORDFUNC) (void);
#define MAKE_BYTE(lo, hi) ((BYTE) (((BYTE) (hi) << (BYTE) 4) | (BYTE) (lo)))
#define MAKE_WORD(lo, hi) ((UWORD) ((BYTE) (hi) << 8) | (BYTE) (lo))
#define MAKE_DWORD(lo, hi) (((DWORD) (hi) << 16) | (unsigned short) (lo))
#define LONIBBLE(x) ((BYTE) ((BYTE) (x) & (BYTE) 0x0F))
#define HINIBBLE(x) ((BYTE) ((BYTE) (x) >> (BYTE) 4))
#ifdef WORDS_BIGENDIAN
# define MAKE_WORD(lo, hi) ((UWORD) ((BYTE) (lo) << 8) | (BYTE) (hi))
# define LOBYTE(x) ((BYTE) ((UWORD) (x) >> 8))
# define HIBYTE(x) ((BYTE) ((UWORD) (x)))
# define MAKE_DWORD(lo, hi) (((DWORD) (lo) << 16) | (UWORD) (hi))
# define LOWORD(x) ((UWORD) ((DWORD) (x) >> 16))
# define HIWORD(x) ((UWORD) ((DWORD) (x)))
#else /* !defined(WORDS_BIGENDIAN) */
# define MAKE_WORD(lo, hi) ((UWORD) ((BYTE) (hi) << 8) | (BYTE) (lo))
# define LOBYTE(x) ((BYTE) ((UWORD) (x)))
# define HIBYTE(x) ((BYTE) ((UWORD) (x) >> 8))
#define LOWORD(x) ((unsigned short) ((DWORD) (x)))
# define MAKE_DWORD(lo, hi) (((DWORD) (hi) << 16) | (UWORD) (lo))
# define LOWORD(x) ((UWORD) ((DWORD) (x)))
# define HIWORD(x) ((UWORD) ((DWORD) (x) >> 16))
#endif /* !defined(WORDS_BIGENDIAN) */
#endif /* _COMPILER_H */