]> rtime.felk.cvut.cz Git - mf6xx.git/blobdiff - src/hudaqlib/types.h
Changed some directory names for easier understanding.
[mf6xx.git] / src / hudaqlib / types.h
diff --git a/src/hudaqlib/types.h b/src/hudaqlib/types.h
new file mode 100644 (file)
index 0000000..2b73b2f
--- /dev/null
@@ -0,0 +1,135 @@
+#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