translate: add some help text
[ia32rtools.git] / c_auto.h
1 // note: include after system headers
2
3 //#pragma GCC diagnostic ignored "-Wparentheses"
4
5 #define u8 uint8_t
6 #define u16 uint16_t
7 #define u32 uint32_t
8 #define u64 uint64_t
9 #define s8 int8_t
10 #define s16 int16_t
11 #define s32 int32_t
12 #define s64 int64_t
13 typedef struct {
14   u64 q;
15   u32 d[2];
16   u16 w[4];
17   u8  b[8];
18 } mmxr;
19
20 #define bool int
21 #define _BYTE BYTE
22 #define _WORD WORD
23 #define _DWORD DWORD
24 #define _UNKNOWN uint8_t
25 #undef LOBYTE
26 #undef LOWORD
27 #undef HIBYTE
28 #undef HIWORD
29 #define LOBYTE(x)   (*((_BYTE*)&(x)))
30 #define LOWORD(x)   (*((_WORD*)&(x)))
31 #define HIBYTE(x)   (*((_BYTE*)&(x)+1))
32 #define HIWORD(x)   (*((_WORD*)&(x)+1))
33 #define BYTE0(x)    (*((_BYTE*)&(x)+0))
34 #define BYTE1(x)    (*((_BYTE*)&(x)+1))
35 #define BYTE2(x)    (*((_BYTE*)&(x)+2))
36 #define BYTE3(x)    (*((_BYTE*)&(x)+3))
37
38 #define memcpy_0 memcpy
39
40 #define noreturn __attribute__((noreturn))
41
42 #ifdef __WINE__
43 #define PCVOID LPCVOID
44 #define __VALIST __ms_va_list
45 #endif