Release 950319
[wine] / include / wintypes.h
1 #ifndef __WINE_WINTYPES_H
2 #define __WINE_WINTYPES_H
3
4 typedef short   INT;
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;
10 typedef long LONG;
11 typedef UINT WPARAM;
12 typedef LONG LPARAM;
13 typedef LONG LRESULT;
14 typedef WORD HANDLE;
15 typedef DWORD HHOOK;
16 typedef DWORD SEGPTR;
17 typedef char *LPSTR;
18 typedef const char *LPCSTR;
19 typedef char *NPSTR;
20 typedef INT *LPINT;
21 typedef UINT *LPUINT;
22 typedef WORD *LPWORD;
23 typedef DWORD *LPDWORD;
24 typedef LONG *LPLONG;
25 typedef void *LPVOID;
26 typedef long (*FARPROC)();
27 typedef FARPROC DLGPROC;
28 typedef int CATCHBUF[9];
29 typedef int *LPCATCHBUF;
30 typedef FARPROC HOOKPROC;
31
32 #define DECLARE_HANDLE(a) typedef HANDLE a;
33
34 DECLARE_HANDLE(HBITMAP);
35 DECLARE_HANDLE(HBRUSH);
36 DECLARE_HANDLE(HCLASS);
37 DECLARE_HANDLE(HCURSOR);
38 DECLARE_HANDLE(HDC);
39 DECLARE_HANDLE(HDROP);
40 DECLARE_HANDLE(HDRVR);
41 DECLARE_HANDLE(HDWP);
42 DECLARE_HANDLE(HFONT);
43 DECLARE_HANDLE(HGLOBAL);
44 DECLARE_HANDLE(HICON);
45 DECLARE_HANDLE(HINSTANCE);
46 DECLARE_HANDLE(HLOCAL);
47 DECLARE_HANDLE(HMENU);
48 DECLARE_HANDLE(HMETAFILE);
49 DECLARE_HANDLE(HMODULE);
50 DECLARE_HANDLE(HPALETTE);
51 DECLARE_HANDLE(HPEN);
52 DECLARE_HANDLE(HRGN);
53 DECLARE_HANDLE(HTASK);
54 DECLARE_HANDLE(HWND);
55 DECLARE_HANDLE(LOCALHANDLE);
56
57 #define TRUE 1
58 #define FALSE 0
59 #define CW_USEDEFAULT ((INT)0x8000)
60 #define FAR
61 #define NEAR
62 #define PASCAL
63 #define VOID                void
64 #define WINAPI              PASCAL
65 #define CALLBACK            PASCAL
66
67 #ifndef NULL
68 #define NULL (void *)0
69 #endif
70
71 #ifdef WINELIB
72 #define WINE_PACKED
73 #else
74 #define WINE_PACKED __attribute__ ((packed))
75 #endif
76
77 #define LOBYTE(w)           ((BYTE)(UINT)(w))
78 #define HIBYTE(w)           ((BYTE)((UINT)(w) >> 8))
79
80 #define LOWORD(l)           ((WORD)(DWORD)(l))
81 #define HIWORD(l)           ((WORD)((DWORD)(l) >> 16))
82
83 #define MAKELONG(low, high) ((LONG)(((WORD)(low)) | \
84                                     (((DWORD)((WORD)(high))) << 16)))
85
86 #define SELECTOROF(ptr)     (HIWORD(ptr))
87 #define OFFSETOF(ptr)       (LOWORD(ptr))
88
89 #ifndef max
90 #define max(a,b) (((a) > (b)) ? (a) : (b))
91 #endif
92
93 #ifndef min
94 #define min(a,b) (((a) < (b)) ? (a) : (b))
95 #endif
96
97 #endif /* __WINE_WINTYPES_H */