1 #ifndef __WINE_WINTYPES_H
2 #define __WINE_WINTYPES_H
22 typedef unsigned short WORD
;
23 typedef unsigned long DWORD
;
24 typedef unsigned short BOOL
;
25 typedef unsigned char BYTE
;
29 typedef unsigned int UINT
;
40 typedef unsigned short UINT
;
53 typedef const char *LPCSTR
;
54 typedef LPCSTR LPCTSTR
;
59 typedef DWORD
*LPDWORD
;
62 typedef const void *LPCVOID
;
63 typedef WORD CATCHBUF
[9];
64 typedef WORD
*LPCATCHBUF
;
66 #define DECLARE_HANDLE(a) typedef HANDLE a;
68 DECLARE_HANDLE(HBITMAP
);
69 DECLARE_HANDLE(HBRUSH
);
70 DECLARE_HANDLE(HCLASS
);
71 DECLARE_HANDLE(HCURSOR
);
73 DECLARE_HANDLE(HDROP
);
74 DECLARE_HANDLE(HDRVR
);
76 DECLARE_HANDLE(HFONT
);
77 DECLARE_HANDLE(HGLOBAL
);
78 DECLARE_HANDLE(HICON
);
79 DECLARE_HANDLE(HINSTANCE
);
80 DECLARE_HANDLE(HLOCAL
);
81 DECLARE_HANDLE(HMENU
);
82 DECLARE_HANDLE(HMETAFILE
);
83 DECLARE_HANDLE(HMODULE
);
84 DECLARE_HANDLE(HPALETTE
);
86 DECLARE_HANDLE(HQUEUE
);
88 DECLARE_HANDLE(HRSRC
);
89 DECLARE_HANDLE(HTASK
);
91 DECLARE_HANDLE(LOCALHANDLE
);
94 typedef long (*FARPROC
)();
95 typedef LRESULT (*WNDPROC
)(HWND
,UINT
,WPARAM
,LPARAM
);
97 typedef SEGPTR FARPROC
;
98 typedef SEGPTR WNDPROC
;
100 typedef FARPROC DLGPROC
;
101 typedef FARPROC HOOKPROC
;
105 #define CW_USEDEFAULT ((INT)0x8000)
110 #define WINAPI PASCAL
111 #define CALLBACK PASCAL
119 #define WINE_PACKED __attribute__ ((packed))
122 #define LOBYTE(w) ((BYTE)(UINT)(w))
123 #define HIBYTE(w) ((BYTE)((UINT)(w) >> 8))
125 #define LOWORD(l) ((WORD)(DWORD)(l))
126 #define HIWORD(l) ((WORD)((DWORD)(l) >> 16))
128 #define SLOWORD(l) ((INT)(LONG)(l))
129 #define SHIWORD(l) ((INT)((LONG)(l) >> 16))
131 #define MAKELONG(low, high) ((LONG)(((WORD)(low)) | \
132 (((DWORD)((WORD)(high))) << 16)))
134 #define SELECTOROF(ptr) (HIWORD(ptr))
135 #define OFFSETOF(ptr) (LOWORD(ptr))
138 #define MAX(a,b) (((a) > (b)) ? (a) : (b))
142 #define MIN(a,b) (((a) < (b)) ? (a) : (b))
145 #ifndef DONT_DEFINE_min_AND_max
147 #define min(a,b) MIN(a,b)
150 #define max(a,b) MAX(a,b)
154 #endif /* __WINE_WINTYPES_H */