1 #ifndef __TYPES_INCLUDED
\r
2 #define __TYPES_INCLUDED
\r
4 /******** Definition of items with uniquely size **********
\r
5 (c) 1997-2008 Jaroslav Fojtik
\r
6 if you don't use below mentionted compiler, please correct this items
\r
7 for your compiler and send me your correction to:
\r
8 fojtik@penguin.cz or fojtik@humusoft.cz
\r
10 List of supported types:
\r
12 Type Alternate Size & Description
\r
13 -----+---------+------+---------------------
\r
14 __u8 BYTE 1 byte = 8 bit
\r
15 __s8 SBYTE 1 byte = 8 bit signed
\r
16 __u16 WORD 2 bytes = 16 bit
\r
17 __s16 SWORD 2 bytes = 16 bit signed
\r
18 __u32 DWORD 4 bytes = 32 bit
\r
19 __s32 SDWORD 4 bytes = 32 bit signed
\r
21 ***************************************************************/
\r
28 #define __u8 unsigned char
\r
29 #define __s8 signed char
\r
30 #if defined(__OS2__) || defined(__WIN32__)
\r
31 #define __u16 unsigned short int
\r
32 #define __s16 signed short int
\r
34 #define __u16 unsigned int
\r
35 #define __s16 signed int
\r
37 #define __u32 unsigned long int
\r
38 #define __s32 signed long int
\r
39 #else /* __BORLANDC__ */
\r
42 #if defined(__EGC__) || defined(__GNUC__)
\r
48 typedef int __s8 __attribute__((mode(QI)));
\r
49 typedef unsigned int __u8 __attribute__((mode(QI)));
\r
50 typedef int __s16 __attribute__((mode(HI)));
\r
51 typedef unsigned int __u16 __attribute__((mode(HI)));
\r
52 typedef int __s32 __attribute__((mode(SI)));
\r
53 typedef unsigned int __u32 __attribute__((mode(SI)));
\r
54 typedef int __s64 __attribute__((mode(DI)));
\r
55 typedef unsigned int __u64 __attribute__((mode(DI)));
\r
60 #else /* __GNUC__ */
\r
65 #define __u8 unsigned char
\r
66 #define __s8 signed char
\r
67 #define __u16 unsigned short int
\r
68 #define __s16 signed short int
\r
69 #define __u32 unsigned int
\r
70 #define __s32 signed int
\r
72 #define __u8 unsigned char
\r
73 #define __s8 signed char
\r
74 #define __u16 unsigned int
\r
75 #define __s16 signed int
\r
76 #define __u32 unsigned long int
\r
77 #define __s32 signed long int
\r
79 #else /*__WATCOMC__*/
\r
82 #define __u8 unsigned char
\r
83 #define __s8 signed char
\r
84 #define __u16 unsigned short int
\r
85 #define __s16 signed short int
\r
86 #define __u32 unsigned int
\r
87 #define __s32 signed int
\r
90 /* Here you may include your definition for other C */
\r
98 #define __u8 unsigned char
\r
99 #define __s8 signed char
\r
102 #define __u16 unsigned short
\r
103 #define __s16 signed short
\r
106 #define __u32 unsigned long int
\r
107 #define __s32 signed long int
\r
114 #define SWORD __s16
\r
115 #define DWORD __u32
\r
116 #define SDWORD __s32
\r
120 #define QWORD __u64
\r
121 #define SQWORD __s64
\r
125 #define Read_u16(v) ((WORD *)v)
\r
126 #define Read_u32(v) ((DWORD *)v)
\r
128 #define CF_LE_u16(v) (v)
\r
129 #define CT_LE_u16(v) (v)
\r
130 #define C_ST_u16(p,v) {*(((__u16*)p)++)=v;}
\r
131 #define C_LD_u16(p,v) {v=*(((__u16*)p)++);}
\r
135 #endif /* End of Header Types.h */
\r