]> rtime.felk.cvut.cz Git - mf6xx.git/blob - src/hudaqlib/types.h
QEMU mf624.c formatted to make QEMU checkpatch.pl mostly happy.
[mf6xx.git] / src / hudaqlib / types.h
1 #ifndef __TYPES_INCLUDED\r
2 #define __TYPES_INCLUDED\r
3 \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
9 \r
10 List of supported types:\r
11 \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
20 \r
21 ***************************************************************/\r
22 \r
23 \r
24 #ifdef __BORLANDC__\r
25  #ifndef LO_ENDIAN\r
26   #define LO_ENDIAN\r
27  #endif \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
33  #else\r
34    #define __u16   unsigned int\r
35    #define __s16   signed int\r
36  #endif\r
37  #define __u32   unsigned long int\r
38  #define __s32   signed long int\r
39 #else  /* __BORLANDC__ */\r
40 \r
41 \r
42 #if defined(__EGC__) || defined(__GNUC__)\r
43  #ifdef __DJGPP__\r
44    #ifndef LO_ENDIAN\r
45     #define LO_ENDIAN\r
46    #endif\r
47  #endif\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
56  #define __u8 __u8\r
57  #define __u16 __u16\r
58  #define __u32 __u32\r
59  #define __u64 __u64\r
60 #else  /* __GNUC__ */\r
61 \r
62 \r
63 #ifdef __WATCOMC__\r
64  #ifdef __386__\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
71  #else\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
78  #endif\r
79 #else /*__WATCOMC__*/\r
80 \r
81 #ifdef __HPUXC__\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
88 #else\r
89 \r
90 /* Here you may include your definition for other C */\r
91 #endif\r
92 #endif\r
93 #endif\r
94 #endif\r
95 \r
96 \r
97 #ifndef __u8\r
98  #define __u8    unsigned char\r
99  #define __s8    signed char\r
100 #endif \r
101 #ifndef __u16\r
102  #define __u16   unsigned short\r
103  #define __s16   signed short\r
104 #endif  \r
105 #ifndef __u32\r
106  #define __u32   unsigned long int\r
107  #define __s32   signed long int\r
108 #endif\r
109 \r
110 #ifndef BYTE\r
111  #define BYTE    __u8\r
112  #define SBYTE   __s8\r
113  #define WORD    __u16\r
114  #define SWORD   __s16\r
115  #define DWORD   __u32\r
116  #define SDWORD  __s32\r
117 #endif\r
118 \r
119 #ifdef __u64\r
120  #define QWORD   __u64\r
121  #define SQWORD  __s64\r
122 #endif\r
123 \r
124 \r
125 #define Read_u16(v) ((WORD *)v)\r
126 #define Read_u32(v) ((DWORD *)v)\r
127 \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
132 \r
133 \r
134 \r
135 #endif                  /* End of Header Types.h */\r