|  | /** | 
|  | * This file has no copyright assigned and is placed in the Public Domain. | 
|  | * This file is part of the w64 mingw-runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
|  | */ | 
|  | #ifndef _WINDEF_ | 
|  | #define _WINDEF_ | 
|  |  | 
|  | #ifndef STRICT | 
|  | #define STRICT 1 | 
|  | #endif | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | #ifndef WINVER | 
|  | #define WINVER 0x0502 | 
|  | #endif | 
|  |  | 
|  | #ifndef BASETYPES | 
|  | #define BASETYPES | 
|  | typedef unsigned long ULONG; | 
|  | typedef ULONG *PULONG; | 
|  | typedef unsigned short USHORT; | 
|  | typedef USHORT *PUSHORT; | 
|  | typedef unsigned char UCHAR; | 
|  | typedef UCHAR *PUCHAR; | 
|  | typedef char *PSZ; | 
|  | #endif | 
|  |  | 
|  | #define MAX_PATH 260 | 
|  |  | 
|  | #ifndef NULL | 
|  | #ifdef __cplusplus | 
|  | #ifndef _WIN64 | 
|  | #define NULL 0 | 
|  | #else | 
|  | #define NULL 0LL | 
|  | #endif  /* W64 */ | 
|  | #else | 
|  | #define NULL ((void *)0) | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #ifndef FALSE | 
|  | #define FALSE 0 | 
|  | #endif | 
|  |  | 
|  | #ifndef TRUE | 
|  | #define TRUE 1 | 
|  | #endif | 
|  |  | 
|  | #ifndef _NO_W32_PSEUDO_MODIFIERS | 
|  | #ifndef IN | 
|  | #define IN | 
|  | #endif | 
|  | #ifndef OUT | 
|  | #define OUT | 
|  | #endif | 
|  | #ifndef OPTIONAL | 
|  | #define OPTIONAL | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #undef far | 
|  | #undef near | 
|  | #undef pascal | 
|  |  | 
|  | #define far | 
|  | #define near | 
|  | #define pascal __stdcall | 
|  |  | 
|  | #define cdecl | 
|  | #ifndef CDECL | 
|  | #define CDECL | 
|  | #endif | 
|  | #ifndef CALLBACK | 
|  | #define CALLBACK __stdcall | 
|  | #endif | 
|  | #ifndef WINAPI | 
|  | #define WINAPI __stdcall | 
|  | #endif | 
|  | #define WINAPIV __cdecl | 
|  | #define APIENTRY WINAPI | 
|  | #define APIPRIVATE WINAPI | 
|  | #define PASCAL WINAPI | 
|  | #define WINAPI_INLINE WINAPI | 
|  |  | 
|  | #undef FAR | 
|  | #undef NEAR | 
|  | #define FAR | 
|  | #define NEAR | 
|  | #ifndef CONST | 
|  | #define CONST const | 
|  | #endif | 
|  |  | 
|  | typedef unsigned long DWORD; | 
|  | typedef int WINBOOL; | 
|  | #pragma push_macro("BOOL") | 
|  | #undef BOOL | 
|  | #if !defined(__OBJC__) && !defined(__OBJC_BOOL) && !defined(__objc_INCLUDE_GNU) | 
|  | typedef WINBOOL BOOL; | 
|  | #endif | 
|  | #pragma pop_macro("BOOL") | 
|  | typedef unsigned char BYTE; | 
|  | typedef unsigned short WORD; | 
|  | typedef float FLOAT; | 
|  | typedef FLOAT *PFLOAT; | 
|  | typedef WINBOOL *PBOOL; | 
|  | typedef WINBOOL *LPBOOL; | 
|  | typedef BYTE *PBYTE; | 
|  | typedef BYTE *LPBYTE; | 
|  | typedef int *PINT; | 
|  | typedef int *LPINT; | 
|  | typedef WORD *PWORD; | 
|  | typedef WORD *LPWORD; | 
|  | typedef long *LPLONG; | 
|  | typedef DWORD *PDWORD; | 
|  | typedef DWORD *LPDWORD; | 
|  | typedef void *LPVOID; | 
|  | #ifndef _LPCVOID_DEFINED | 
|  | #define _LPCVOID_DEFINED | 
|  | typedef CONST void *LPCVOID; | 
|  | #endif | 
|  | typedef int INT; | 
|  | typedef unsigned int UINT; | 
|  | typedef unsigned int *PUINT; | 
|  |  | 
|  | #ifndef NT_INCLUDED | 
|  | #include <winnt.h> | 
|  | #endif | 
|  |  | 
|  | #include <specstrings.h> | 
|  |  | 
|  | typedef UINT_PTR WPARAM; | 
|  | typedef LONG_PTR LPARAM; | 
|  | typedef LONG_PTR LRESULT; | 
|  |  | 
|  | #ifndef __cplusplus | 
|  | #ifndef NOMINMAX | 
|  | #ifndef max | 
|  | #define max(a,b) (((a) > (b)) ? (a) : (b)) | 
|  | #endif | 
|  |  | 
|  | #ifndef min | 
|  | #define min(a,b) (((a) < (b)) ? (a) : (b)) | 
|  | #endif | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #define MAKEWORD(a,b) ((WORD)(((BYTE)((DWORD_PTR)(a) & 0xff)) | ((WORD)((BYTE)((DWORD_PTR)(b) & 0xff))) << 8)) | 
|  | #define MAKELONG(a,b) ((LONG)(((WORD)((DWORD_PTR)(a) & 0xffff)) | ((DWORD)((WORD)((DWORD_PTR)(b) & 0xffff))) << 16)) | 
|  | #define LOWORD(l) ((WORD)((DWORD_PTR)(l) & 0xffff)) | 
|  | #define HIWORD(l) ((WORD)((DWORD_PTR)(l) >> 16)) | 
|  | #define LOBYTE(w) ((BYTE)((DWORD_PTR)(w) & 0xff)) | 
|  | #define HIBYTE(w) ((BYTE)((DWORD_PTR)(w) >> 8)) | 
|  |  | 
|  | #ifndef WIN_INTERNAL | 
|  | DECLARE_HANDLE (HWND); | 
|  | DECLARE_HANDLE (HHOOK); | 
|  | #ifdef WINABLE | 
|  | DECLARE_HANDLE (HEVENT); | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | typedef WORD ATOM; | 
|  |  | 
|  | typedef HANDLE *SPHANDLE; | 
|  | typedef HANDLE *LPHANDLE; | 
|  | typedef HANDLE HGLOBAL; | 
|  | typedef HANDLE HLOCAL; | 
|  | typedef HANDLE GLOBALHANDLE; | 
|  | typedef HANDLE LOCALHANDLE; | 
|  | #ifdef _WIN64 | 
|  | typedef INT_PTR (WINAPI *FARPROC)(); | 
|  | typedef INT_PTR (WINAPI *NEARPROC)(); | 
|  | typedef INT_PTR (WINAPI *PROC)(); | 
|  | #else | 
|  | typedef int (WINAPI *FARPROC)(); | 
|  | typedef int (WINAPI *NEARPROC)(); | 
|  | typedef int (WINAPI *PROC)(); | 
|  | #endif | 
|  |  | 
|  | typedef void *HGDIOBJ; | 
|  |  | 
|  | DECLARE_HANDLE(HKEY); | 
|  | typedef HKEY *PHKEY; | 
|  |  | 
|  | DECLARE_HANDLE(HACCEL); | 
|  | DECLARE_HANDLE(HBITMAP); | 
|  | DECLARE_HANDLE(HBRUSH); | 
|  | DECLARE_HANDLE(HCOLORSPACE); | 
|  | DECLARE_HANDLE(HDC); | 
|  | DECLARE_HANDLE(HGLRC); | 
|  | DECLARE_HANDLE(HDESK); | 
|  | DECLARE_HANDLE(HENHMETAFILE); | 
|  | DECLARE_HANDLE(HFONT); | 
|  | DECLARE_HANDLE(HICON); | 
|  | DECLARE_HANDLE(HMENU); | 
|  | DECLARE_HANDLE(HMETAFILE); | 
|  | DECLARE_HANDLE(HINSTANCE); | 
|  | typedef HINSTANCE HMODULE; | 
|  | DECLARE_HANDLE(HPALETTE); | 
|  | DECLARE_HANDLE(HPEN); | 
|  | DECLARE_HANDLE(HRGN); | 
|  | DECLARE_HANDLE(HRSRC); | 
|  | DECLARE_HANDLE(HSTR); | 
|  | DECLARE_HANDLE(HTASK); | 
|  | DECLARE_HANDLE(HWINSTA); | 
|  | DECLARE_HANDLE(HKL); | 
|  | DECLARE_HANDLE(HMONITOR); | 
|  | DECLARE_HANDLE(HWINEVENTHOOK); | 
|  | DECLARE_HANDLE(HUMPD); | 
|  |  | 
|  | typedef int HFILE; | 
|  | typedef HICON HCURSOR; | 
|  | typedef DWORD COLORREF; | 
|  | typedef DWORD *LPCOLORREF; | 
|  |  | 
|  | #define HFILE_ERROR ((HFILE)-1) | 
|  |  | 
|  | typedef struct tagRECT { | 
|  | LONG left; | 
|  | LONG top; | 
|  | LONG right; | 
|  | LONG bottom; | 
|  | } RECT,*PRECT,*NPRECT,*LPRECT; | 
|  |  | 
|  | typedef const RECT *LPCRECT; | 
|  |  | 
|  | typedef struct _RECTL { | 
|  | LONG left; | 
|  | LONG top; | 
|  | LONG right; | 
|  | LONG bottom; | 
|  | } RECTL,*PRECTL,*LPRECTL; | 
|  |  | 
|  | typedef const RECTL *LPCRECTL; | 
|  |  | 
|  | typedef struct tagPOINT { | 
|  | LONG x; | 
|  | LONG y; | 
|  | } POINT,*PPOINT,*NPPOINT,*LPPOINT; | 
|  |  | 
|  | typedef struct _POINTL { | 
|  | LONG x; | 
|  | LONG y; | 
|  | } POINTL,*PPOINTL; | 
|  |  | 
|  | typedef struct tagSIZE { | 
|  | LONG cx; | 
|  | LONG cy; | 
|  | } SIZE,*PSIZE,*LPSIZE; | 
|  |  | 
|  | typedef SIZE SIZEL; | 
|  | typedef SIZE *PSIZEL,*LPSIZEL; | 
|  |  | 
|  | typedef struct tagPOINTS { | 
|  | SHORT x; | 
|  | SHORT y; | 
|  | } POINTS,*PPOINTS,*LPPOINTS; | 
|  |  | 
|  | typedef struct _FILETIME { | 
|  | DWORD dwLowDateTime; | 
|  | DWORD dwHighDateTime; | 
|  | } FILETIME,*PFILETIME,*LPFILETIME; | 
|  | #define _FILETIME_ | 
|  |  | 
|  | #define DM_UPDATE 1 | 
|  | #define DM_COPY 2 | 
|  | #define DM_PROMPT 4 | 
|  | #define DM_MODIFY 8 | 
|  |  | 
|  | #define DM_IN_BUFFER DM_MODIFY | 
|  | #define DM_IN_PROMPT DM_PROMPT | 
|  | #define DM_OUT_BUFFER DM_COPY | 
|  | #define DM_OUT_DEFAULT DM_UPDATE | 
|  |  | 
|  | #define DC_FIELDS 1 | 
|  | #define DC_PAPERS 2 | 
|  | #define DC_PAPERSIZE 3 | 
|  | #define DC_MINEXTENT 4 | 
|  | #define DC_MAXEXTENT 5 | 
|  | #define DC_BINS 6 | 
|  | #define DC_DUPLEX 7 | 
|  | #define DC_SIZE 8 | 
|  | #define DC_EXTRA 9 | 
|  | #define DC_VERSION 10 | 
|  | #define DC_DRIVER 11 | 
|  | #define DC_BINNAMES 12 | 
|  | #define DC_ENUMRESOLUTIONS 13 | 
|  | #define DC_FILEDEPENDENCIES 14 | 
|  | #define DC_TRUETYPE 15 | 
|  | #define DC_PAPERNAMES 16 | 
|  | #define DC_ORIENTATION 17 | 
|  | #define DC_COPIES 18 | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  | #endif |