--- /dev/null
+#ifndef __TYPES_INCLUDED\r
+#define __TYPES_INCLUDED\r
+\r
+/******** Definition of items with uniquely size **********\r
+(c) 1997-2008 Jaroslav Fojtik\r
+ if you don't use below mentionted compiler, please correct this items\r
+ for your compiler and send me your correction to:\r
+ fojtik@penguin.cz or fojtik@humusoft.cz\r
+\r
+List of supported types:\r
+\r
+ Type Alternate Size & Description\r
+ -----+---------+------+---------------------\r
+ __u8 BYTE 1 byte = 8 bit\r
+ __s8 SBYTE 1 byte = 8 bit signed\r
+ __u16 WORD 2 bytes = 16 bit\r
+ __s16 SWORD 2 bytes = 16 bit signed\r
+ __u32 DWORD 4 bytes = 32 bit\r
+ __s32 SDWORD 4 bytes = 32 bit signed\r
+\r
+***************************************************************/\r
+\r
+\r
+#ifdef __BORLANDC__\r
+ #ifndef LO_ENDIAN\r
+ #define LO_ENDIAN\r
+ #endif \r
+ #define __u8 unsigned char\r
+ #define __s8 signed char\r
+ #if defined(__OS2__) || defined(__WIN32__)\r
+ #define __u16 unsigned short int\r
+ #define __s16 signed short int\r
+ #else\r
+ #define __u16 unsigned int\r
+ #define __s16 signed int\r
+ #endif\r
+ #define __u32 unsigned long int\r
+ #define __s32 signed long int\r
+#else /* __BORLANDC__ */\r
+\r
+\r
+#if defined(__EGC__) || defined(__GNUC__)\r
+ #ifdef __DJGPP__\r
+ #ifndef LO_ENDIAN\r
+ #define LO_ENDIAN\r
+ #endif\r
+ #endif\r
+ typedef int __s8 __attribute__((mode(QI)));\r
+ typedef unsigned int __u8 __attribute__((mode(QI)));\r
+ typedef int __s16 __attribute__((mode(HI)));\r
+ typedef unsigned int __u16 __attribute__((mode(HI)));\r
+ typedef int __s32 __attribute__((mode(SI)));\r
+ typedef unsigned int __u32 __attribute__((mode(SI))); \r
+ typedef int __s64 __attribute__((mode(DI)));\r
+ typedef unsigned int __u64 __attribute__((mode(DI))); \r
+ #define __u8 __u8\r
+ #define __u16 __u16\r
+ #define __u32 __u32\r
+ #define __u64 __u64\r
+#else /* __GNUC__ */\r
+\r
+\r
+#ifdef __WATCOMC__\r
+ #ifdef __386__\r
+ #define __u8 unsigned char\r
+ #define __s8 signed char\r
+ #define __u16 unsigned short int\r
+ #define __s16 signed short int\r
+ #define __u32 unsigned int\r
+ #define __s32 signed int\r
+ #else\r
+ #define __u8 unsigned char\r
+ #define __s8 signed char\r
+ #define __u16 unsigned int\r
+ #define __s16 signed int\r
+ #define __u32 unsigned long int\r
+ #define __s32 signed long int\r
+ #endif\r
+#else /*__WATCOMC__*/\r
+\r
+#ifdef __HPUXC__\r
+ #define __u8 unsigned char\r
+ #define __s8 signed char\r
+ #define __u16 unsigned short int\r
+ #define __s16 signed short int\r
+ #define __u32 unsigned int\r
+ #define __s32 signed int\r
+#else\r
+\r
+/* Here you may include your definition for other C */\r
+#endif\r
+#endif\r
+#endif\r
+#endif\r
+\r
+\r
+#ifndef __u8\r
+ #define __u8 unsigned char\r
+ #define __s8 signed char\r
+#endif \r
+#ifndef __u16\r
+ #define __u16 unsigned short\r
+ #define __s16 signed short\r
+#endif \r
+#ifndef __u32\r
+ #define __u32 unsigned long int\r
+ #define __s32 signed long int\r
+#endif\r
+\r
+#ifndef BYTE\r
+ #define BYTE __u8\r
+ #define SBYTE __s8\r
+ #define WORD __u16\r
+ #define SWORD __s16\r
+ #define DWORD __u32\r
+ #define SDWORD __s32\r
+#endif\r
+\r
+#ifdef __u64\r
+ #define QWORD __u64\r
+ #define SQWORD __s64\r
+#endif\r
+\r
+\r
+#define Read_u16(v) ((WORD *)v)\r
+#define Read_u32(v) ((DWORD *)v)\r
+\r
+#define CF_LE_u16(v) (v)\r
+#define CT_LE_u16(v) (v)\r
+#define C_ST_u16(p,v) {*(((__u16*)p)++)=v;}\r
+#define C_LD_u16(p,v) {v=*(((__u16*)p)++);}\r
+\r
+\r
+\r
+#endif /* End of Header Types.h */\r