Release 951105
[wine/multimedia.git] / include / wintypes.h
blobff785d1f67c9c4fe5ffd9b4ac35e1896f32d7391
1 #ifndef __WINE_WINTYPES_H
2 #define __WINE_WINTYPES_H
4 #ifdef WINELIB
5 # ifdef WINELIB16
6 # undef WINELIB32
7 # else
8 # ifndef WINELIB32
9 # define WINELIB32
10 # endif
11 # endif
12 #else
13 # ifdef WINELIB32
14 # undef WINELIB16
15 # define WINELIB
16 # endif
17 # ifdef WINELIB16
18 # define WINELIB
19 # endif
20 #endif
22 typedef unsigned short WORD;
23 typedef unsigned long DWORD;
24 typedef unsigned short BOOL;
25 typedef unsigned char BYTE;
26 typedef long LONG;
27 #ifdef WINELIB32
28 typedef int INT;
29 typedef unsigned int UINT;
30 typedef short SHORT;
31 typedef LONG WPARAM;
32 typedef void* HANDLE;
33 typedef void* NPVOID;
34 #define UIFMT "%u"
35 #define NPFMT "%p"
36 #else
37 typedef short INT;
38 typedef unsigned short UINT;
39 typedef UINT WPARAM;
40 typedef WORD HANDLE;
41 typedef WORD NPVOID;
42 #define UIFMT "%hu"
43 #define NPFMT "%04X"
44 #endif
45 typedef LONG LPARAM;
46 typedef LONG LRESULT;
47 typedef DWORD HHOOK;
48 typedef DWORD SEGPTR;
49 typedef char *LPSTR;
50 typedef const char *LPCSTR;
51 typedef char *NPSTR;
52 typedef INT *LPINT;
53 typedef UINT *LPUINT;
54 typedef WORD *LPWORD;
55 typedef DWORD *LPDWORD;
56 typedef LONG *LPLONG;
57 typedef void *LPVOID;
58 typedef const void *LPCVOID;
59 typedef WORD CATCHBUF[9];
60 typedef WORD *LPCATCHBUF;
62 #define DECLARE_HANDLE(a) typedef HANDLE a;
64 DECLARE_HANDLE(HBITMAP);
65 DECLARE_HANDLE(HBRUSH);
66 DECLARE_HANDLE(HCLASS);
67 DECLARE_HANDLE(HCURSOR);
68 DECLARE_HANDLE(HDC);
69 DECLARE_HANDLE(HDROP);
70 DECLARE_HANDLE(HDRVR);
71 DECLARE_HANDLE(HDWP);
72 DECLARE_HANDLE(HFONT);
73 DECLARE_HANDLE(HGLOBAL);
74 DECLARE_HANDLE(HICON);
75 DECLARE_HANDLE(HINSTANCE);
76 DECLARE_HANDLE(HLOCAL);
77 DECLARE_HANDLE(HMENU);
78 DECLARE_HANDLE(HMETAFILE);
79 DECLARE_HANDLE(HMODULE);
80 DECLARE_HANDLE(HPALETTE);
81 DECLARE_HANDLE(HPEN);
82 DECLARE_HANDLE(HRGN);
83 DECLARE_HANDLE(HRSRC);
84 DECLARE_HANDLE(HTASK);
85 DECLARE_HANDLE(HWND);
86 DECLARE_HANDLE(LOCALHANDLE);
88 #ifdef WINELIB
89 typedef long (*FARPROC)();
90 typedef LRESULT (*WNDPROC)(HWND,UINT,WPARAM,LPARAM);
91 #else
92 typedef SEGPTR FARPROC;
93 typedef SEGPTR WNDPROC;
94 #endif
95 typedef FARPROC DLGPROC;
96 typedef FARPROC HOOKPROC;
98 #define TRUE 1
99 #define FALSE 0
100 #define CW_USEDEFAULT ((INT)0x8000)
101 #define FAR
102 #define NEAR
103 #define PASCAL
104 #define VOID void
105 #define WINAPI PASCAL
106 #define CALLBACK PASCAL
108 #undef NULL
109 #define NULL 0
111 #ifdef WINELIB
112 #define WINE_PACKED
113 #else
114 #define WINE_PACKED __attribute__ ((packed))
115 #endif
117 #define LOBYTE(w) ((BYTE)(UINT)(w))
118 #define HIBYTE(w) ((BYTE)((UINT)(w) >> 8))
120 #define LOWORD(l) ((WORD)(DWORD)(l))
121 #define HIWORD(l) ((WORD)((DWORD)(l) >> 16))
123 #define SLOWORD(l) ((INT)(LONG)(l))
124 #define SHIWORD(l) ((INT)((LONG)(l) >> 16))
126 #define MAKELONG(low, high) ((LONG)(((WORD)(low)) | \
127 (((DWORD)((WORD)(high))) << 16)))
129 #define SELECTOROF(ptr) (HIWORD(ptr))
130 #define OFFSETOF(ptr) (LOWORD(ptr))
132 #ifndef MAX
133 #define MAX(a,b) (((a) > (b)) ? (a) : (b))
134 #endif
136 #ifndef MIN
137 #define MIN(a,b) (((a) < (b)) ? (a) : (b))
138 #endif
140 #endif /* __WINE_WINTYPES_H */