#ifdef __BIG_ENDIAN__
#define LittleEndian16(_val) SwapEndian16(_val)
#define LittleEndian32(_val) SwapEndian32(_val)
+#define LittleEndian64(_val) SwapEndian32(_val)
#define BigEndian16(_val) (_val)
#define BigEndian32(_val) (_val)
+#define BigEndian64(_val) (_val)
#else
#define LittleEndian16(_val) (_val)
#define LittleEndian32(_val) (_val)
+#define LittleEndian64(_val) (_val)
#define BigEndian16(_val) SwapEndian16(_val)
#define BigEndian32(_val) SwapEndian32(_val)
+#define BigEndian64(_val) SwapEndian64(_val)
#endif
extern Uint16 SwapEndian16(Uint16 Val);
extern Uint32 SwapEndian32(Uint32 Val);
+extern Uint64 SwapEndian64(Uint64 Val);
/**
* \}
*/
EXPORT(UnHex);
EXPORT(SwapEndian16);
EXPORT(SwapEndian32);
+EXPORT(SwapEndian64);
EXPORT(memmove);
// === CODE ===
{
return ((Val&0xFF)<<24) | ((Val&0xFF00)<<8) | ((Val>>8)&0xFF00) | ((Val>>24)&0xFF);
}
+Uint64 SwapEndian64(Uint64 Val)
+{
+ return SwapEndian32(Val >> 32) | ((Uint64)SwapEndian32(Val) << 32);
+}
void *memmove(void *__dest, const void *__src, size_t len)
{