293 lines · 5.5 KB · C
RawDownload
/** * 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 within this package. */#ifndef _WINDEF_#define _WINDEF_ #ifndef STRICT#define STRICT 1#endif #ifdef __cplusplusextern "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#define NULL 0#else#define NULL ((void *)0)#endif#endif #ifndef FALSE#define FALSE 0#endif #ifndef TRUE#define TRUE 1#endif #ifndef IN#define IN#endif #ifndef OUT#define OUT#endif #ifndef OPTIONAL#define OPTIONAL#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;#define BOOL WINBOOL  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_DEFINEDtypedef CONST void *LPCVOID;#endif  typedef int INT;  typedef unsigned int UINT;  typedef unsigned int *PUINT; #ifndef NT_INCLUDED#include <winnt.h>#endif //gr #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