Release 950620
[wine/multimedia.git] / include / wintypes.h
blob74e3feb4dfe54f0fe844fd50d0db2c97188d6665
1 #ifndef __WINE_WINTYPES_H
2 #define __WINE_WINTYPES_H
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 #ifdef WINELIB
27 typedef long (*FARPROC)();
28 typedef LONG (*WNDPROC)(WORD,WORD,WORD,LONG);
29 #else
30 typedef SEGPTR FARPROC;
31 typedef SEGPTR WNDPROC;
32 #endif
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);
44 DECLARE_HANDLE(HDC);
45 DECLARE_HANDLE(HDROP);
46 DECLARE_HANDLE(HDRVR);
47 DECLARE_HANDLE(HDWP);
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);
57 DECLARE_HANDLE(HPEN);
58 DECLARE_HANDLE(HRGN);
59 DECLARE_HANDLE(HRSRC);
60 DECLARE_HANDLE(HTASK);
61 DECLARE_HANDLE(HWND);
62 DECLARE_HANDLE(LOCALHANDLE);
64 #define TRUE 1
65 #define FALSE 0
66 #define CW_USEDEFAULT ((INT)0x8000)
67 #define FAR
68 #define NEAR
69 #define PASCAL
70 #define VOID void
71 #define WINAPI PASCAL
72 #define CALLBACK PASCAL
74 #undef NULL
75 #define NULL 0
77 #ifdef WINELIB
78 #define WINE_PACKED
79 #else
80 #define WINE_PACKED __attribute__ ((packed))
81 #endif
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))
98 #ifndef max
99 #define max(a,b) (((a) > (b)) ? (a) : (b))
100 #endif
102 #ifndef min
103 #define min(a,b) (((a) < (b)) ? (a) : (b))
104 #endif
106 #endif /* __WINE_WINTYPES_H */