#ifndef _MINWINDEF_ #define _MINWINDEF_ #include <_mingw.h> #include #include #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 #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