1 #ifndef __WINE_WINTYPES_H
2 #define __WINE_WINTYPES_H
5 typedef unsigned short UINT;
6 typedef unsigned short WORD;
7 typedef unsigned long DWORD;
8 typedef unsigned short BOOL;
9 typedef unsigned char BYTE;
18 typedef const char *LPCSTR;
23 typedef DWORD *LPDWORD;
27 typedef long (*FARPROC)();
28 typedef LONG (*WNDPROC)(WORD,WORD,WORD,LONG);
30 typedef SEGPTR FARPROC;
31 typedef SEGPTR WNDPROC;
33 typedef FARPROC DLGPROC;
34 typedef WORD CATCHBUF[9];
35 typedef WORD *LPCATCHBUF;
36 typedef FARPROC HOOKPROC;
38 #define DECLARE_HANDLE(a) typedef HANDLE a;
40 DECLARE_HANDLE(HBITMAP);
41 DECLARE_HANDLE(HBRUSH);
42 DECLARE_HANDLE(HCLASS);
43 DECLARE_HANDLE(HCURSOR);
45 DECLARE_HANDLE(HDROP);
46 DECLARE_HANDLE(HDRVR);
48 DECLARE_HANDLE(HFONT);
49 DECLARE_HANDLE(HGLOBAL);
50 DECLARE_HANDLE(HICON);
51 DECLARE_HANDLE(HINSTANCE);
52 DECLARE_HANDLE(HLOCAL);
53 DECLARE_HANDLE(HMENU);
54 DECLARE_HANDLE(HMETAFILE);
55 DECLARE_HANDLE(HMODULE);
56 DECLARE_HANDLE(HPALETTE);
59 DECLARE_HANDLE(HRSRC);
60 DECLARE_HANDLE(HTASK);
62 DECLARE_HANDLE(LOCALHANDLE);
66 #define CW_USEDEFAULT ((INT)0x8000)
72 #define CALLBACK PASCAL
80 #define WINE_PACKED __attribute__ ((packed))
83 #define LOBYTE(w) ((BYTE)(UINT)(w))
84 #define HIBYTE(w) ((BYTE)((UINT)(w) >> 8))
86 #define LOWORD(l) ((WORD)(DWORD)(l))
87 #define HIWORD(l) ((WORD)((DWORD)(l) >> 16))
89 #define SLOWORD(l) ((INT)(LONG)(l))
90 #define SHIWORD(l) ((INT)((LONG)(l) >> 16))
92 #define MAKELONG(low, high) ((LONG)(((WORD)(low)) | \
93 (((DWORD)((WORD)(high))) << 16)))
95 #define SELECTOROF(ptr) (HIWORD(ptr))
96 #define OFFSETOF(ptr) (LOWORD(ptr))
99 #define max(a,b) (((a) > (b)) ? (a) : (b))
103 #define min(a,b) (((a) < (b)) ? (a) : (b))
106 #endif /* __WINE_WINTYPES_H */