| #ifndef _MINWINDEF_ | |
| #define _MINWINDEF_ | |
| #include <_mingw.h> | |
| #include <winapifamily.h> | |
| #include <specstrings.h> | |
| #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) | |
| #if !defined (STRICT) && !defined (NO_STRICT) | |
| #define STRICT 1 | |
| #endif | |
| #ifndef WIN32 | |
| #define WIN32 | |
| #endif | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #ifndef BASETYPES | |
| #define BASETYPES | |
| typedef unsigned __LONG32 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 | |
| #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 /* _NO_W32_PSEUDO_MODIFIERS */ | |
| #undef far | |
| #undef near | |
| #undef pascal | |
| #define far | |
| #define near | |
| #if defined(_ARM_) | |
| #define pascal | |
| #else | |
| #define pascal __stdcall | |
| #endif | |
| #define cdecl | |
| #ifndef CDECL | |
| #define CDECL | |
| #endif | |
| #ifndef CALLBACK | |
| #if defined(_ARM_) | |
| #define CALLBACK | |
| #else | |
| #define CALLBACK __stdcall | |
| #endif | |
| #endif | |
| #ifndef WINAPI | |
| #if defined(_ARM_) | |
| #define WINAPI | |
| #else | |
| #define WINAPI __stdcall | |
| #endif | |
| #endif | |
| #define WINAPIV __cdecl | |
| #define APIENTRY WINAPI | |
| #if defined(_ARM_) | |
| #define APIPRIVATE | |
| #define PASCAL | |
| #else | |
| #define APIPRIVATE __stdcall | |
| #define PASCAL __stdcall | |
| #endif | |
| #ifndef WINAPI_INLINE | |
| #define WINAPI_INLINE WINAPI | |
| #endif | |
| #undef FAR | |
| #undef NEAR | |
| #define FAR | |
| #define NEAR | |
| #ifndef CONST | |
| #define CONST const | |
| #endif | |
| #ifndef _DEF_WINBOOL_ | |
| #define _DEF_WINBOOL_ | |
| typedef int WINBOOL; | |
| #pragma push_macro("BOOL") | |
| #undef BOOL | |
| #if !defined(__OBJC__) && !defined(__OBJC_BOOL) && !defined(__objc_INCLUDE_GNU) && !defined(_NO_BOOL_TYPEDEF) | |
| typedef int BOOL; | |
| #endif | |
| #define BOOL WINBOOL | |
| typedef BOOL *PBOOL; | |
| typedef BOOL *LPBOOL; | |
| #pragma pop_macro("BOOL") | |
| #endif /* _DEF_WINBOOL_ */ | |
| typedef unsigned char BYTE; | |
| typedef unsigned short WORD; | |
| typedef unsigned __LONG32 DWORD; | |
| typedef float FLOAT; | |
| typedef FLOAT *PFLOAT; | |
| typedef BYTE *PBYTE; | |
| typedef BYTE *LPBYTE; | |
| typedef int *PINT; | |
| typedef int *LPINT; | |
| typedef WORD *PWORD; | |
| typedef WORD *LPWORD; | |
| typedef __LONG32 *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 | |
| 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) & 0xffff)) | |
| #define LOBYTE(w) ((BYTE) (((DWORD_PTR) (w)) & 0xff)) | |
| #define HIBYTE(w) ((BYTE) ((((DWORD_PTR) (w)) >> 8) & 0xff)) | |
| 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 WORD ATOM; | |
| typedef int HFILE; | |
| DECLARE_HANDLE (HINSTANCE); | |
| DECLARE_HANDLE (HKEY); | |
| typedef HKEY *PHKEY; | |
| DECLARE_HANDLE (HKL); | |
| DECLARE_HANDLE (HLSURF); | |
| DECLARE_HANDLE (HMETAFILE); | |
| typedef HINSTANCE HMODULE; | |
| DECLARE_HANDLE (HRGN); | |
| DECLARE_HANDLE (HRSRC); | |
| DECLARE_HANDLE (HSPRITE); | |
| DECLARE_HANDLE (HSTR); | |
| DECLARE_HANDLE (HTASK); | |
| DECLARE_HANDLE (HWINSTA); | |
| typedef struct _FILETIME { | |
| DWORD dwLowDateTime; | |
| DWORD dwHighDateTime; | |
| } FILETIME,*PFILETIME,*LPFILETIME; | |
| #define _FILETIME_ | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif | |
| #endif |