2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
23 typedef unsigned long ULONG
;
24 typedef ULONG
*PULONG
;
25 typedef unsigned short USHORT
;
26 typedef USHORT
*PUSHORT
;
27 typedef unsigned char UCHAR
;
28 typedef UCHAR
*PUCHAR
;
38 #define NULL ((void *)0)
68 #define pascal __stdcall
75 #define CALLBACK __stdcall
78 #define WINAPI __stdcall
80 #define WINAPIV __cdecl
81 #define APIENTRY WINAPI
82 #define APIPRIVATE WINAPI
84 #define WINAPI_INLINE WINAPI
94 typedef unsigned long DWORD
;
97 typedef unsigned char BYTE
;
98 typedef unsigned short WORD
;
100 typedef FLOAT
*PFLOAT
;
101 typedef WINBOOL
*PBOOL
;
102 typedef WINBOOL
*LPBOOL
;
104 typedef BYTE
*LPBYTE
;
108 typedef WORD
*LPWORD
;
109 typedef long *LPLONG
;
110 typedef DWORD
*PDWORD
;
111 typedef DWORD
*LPDWORD
;
112 typedef void *LPVOID
;
113 # ifndef _LPCVOID_DEFINED
114 #define _LPCVOID_DEFINED
115 typedef CONST
void *LPCVOID
;
118 typedef unsigned int UINT
;
119 typedef unsigned int *PUINT
;
125 #include <specstrings.h>
127 typedef UINT_PTR WPARAM
;
128 typedef LONG_PTR LPARAM
;
129 typedef LONG_PTR LRESULT
;
134 #define max(a,b) (((a) > (b)) ? (a) : (b))
138 #define min(a,b) (((a) < (b)) ? (a) : (b))
143 #define MAKEWORD(a,b) ((WORD)(((BYTE)((DWORD_PTR)(a) & 0xff)) | ((WORD)((BYTE)((DWORD_PTR)(b) & 0xff))) << 8))
144 #define MAKELONG(a,b) ((LONG)(((WORD)((DWORD_PTR)(a) & 0xffff)) | ((DWORD)((WORD)((DWORD_PTR)(b) & 0xffff))) << 16))
145 #define LOWORD(l) ((WORD)((DWORD_PTR)(l) & 0xffff))
146 #define HIWORD(l) ((WORD)((DWORD_PTR)(l) >> 16))
147 #define LOBYTE(w) ((BYTE)((DWORD_PTR)(w) & 0xff))
148 #define HIBYTE(w) ((BYTE)((DWORD_PTR)(w) >> 8))
151 DECLARE_HANDLE (HWND
);
152 DECLARE_HANDLE (HHOOK
);
154 DECLARE_HANDLE (HEVENT
);
160 typedef HANDLE
*SPHANDLE
;
161 typedef HANDLE
*LPHANDLE
;
162 typedef HANDLE HGLOBAL
;
163 typedef HANDLE HLOCAL
;
164 typedef HANDLE GLOBALHANDLE
;
165 typedef HANDLE LOCALHANDLE
;
167 typedef INT_PTR (WINAPI
*FARPROC
)();
168 typedef INT_PTR (WINAPI
*NEARPROC
)();
169 typedef INT_PTR (WINAPI
*PROC
)();
171 typedef int (WINAPI
*FARPROC
)();
172 typedef int (WINAPI
*NEARPROC
)();
173 typedef int (WINAPI
*PROC
)();
176 typedef void *HGDIOBJ
;
178 DECLARE_HANDLE(HKEY
);
181 DECLARE_HANDLE(HACCEL
);
182 DECLARE_HANDLE(HBITMAP
);
183 DECLARE_HANDLE(HBRUSH
);
184 DECLARE_HANDLE(HCOLORSPACE
);
186 DECLARE_HANDLE(HGLRC
);
187 DECLARE_HANDLE(HDESK
);
188 DECLARE_HANDLE(HENHMETAFILE
);
189 DECLARE_HANDLE(HFONT
);
190 DECLARE_HANDLE(HICON
);
191 DECLARE_HANDLE(HMENU
);
192 DECLARE_HANDLE(HMETAFILE
);
193 DECLARE_HANDLE(HINSTANCE
);
194 typedef HINSTANCE HMODULE
;
195 DECLARE_HANDLE(HPALETTE
);
196 DECLARE_HANDLE(HPEN
);
197 DECLARE_HANDLE(HRGN
);
198 DECLARE_HANDLE(HRSRC
);
199 DECLARE_HANDLE(HSTR
);
200 DECLARE_HANDLE(HTASK
);
201 DECLARE_HANDLE(HWINSTA
);
203 DECLARE_HANDLE(HMONITOR
);
204 DECLARE_HANDLE(HWINEVENTHOOK
);
205 DECLARE_HANDLE(HUMPD
);
208 typedef HICON HCURSOR
;
209 typedef DWORD COLORREF
;
210 typedef DWORD
*LPCOLORREF
;
212 #define HFILE_ERROR ((HFILE)-1)
214 typedef struct tagRECT
{
219 } RECT
,*PRECT
,*NPRECT
,*LPRECT
;
221 typedef const RECT
*LPCRECT
;
223 typedef struct _RECTL
{
228 } RECTL
,*PRECTL
,*LPRECTL
;
230 typedef const RECTL
*LPCRECTL
;
232 typedef struct tagPOINT
{
235 } POINT
,*PPOINT
,*NPPOINT
,*LPPOINT
;
237 typedef struct _POINTL
{
242 typedef struct tagSIZE
{
245 } SIZE
,*PSIZE
,*LPSIZE
;
248 typedef SIZE
*PSIZEL
,*LPSIZEL
;
250 typedef struct tagPOINTS
{
253 } POINTS
,*PPOINTS
,*LPPOINTS
;
255 typedef struct _FILETIME
{
257 DWORD dwHighDateTime
;
258 } FILETIME
,*PFILETIME
,*LPFILETIME
;
266 #define DM_IN_BUFFER DM_MODIFY
267 #define DM_IN_PROMPT DM_PROMPT
268 #define DM_OUT_BUFFER DM_COPY
269 #define DM_OUT_DEFAULT DM_UPDATE
273 #define DC_PAPERSIZE 3
274 #define DC_MINEXTENT 4
275 #define DC_MAXEXTENT 5
280 #define DC_VERSION 10
282 #define DC_BINNAMES 12
283 #define DC_ENUMRESOLUTIONS 13
284 #define DC_FILEDEPENDENCIES 14
285 #define DC_TRUETYPE 15
286 #define DC_PAPERNAMES 16
287 #define DC_ORIENTATION 17