Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. /**
  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.
  5.  */
  6. #ifndef _WINDEF_
  7. #define _WINDEF_
  8.  
  9. #ifndef STRICT
  10. #define STRICT 1
  11. #endif
  12.  
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16.  
  17. #ifndef WINVER
  18. #define WINVER 0x0502
  19. #endif
  20.  
  21. #ifndef BASETYPES
  22. #define BASETYPES
  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;
  29.   typedef char *PSZ;
  30. #endif
  31.  
  32. #define MAX_PATH 260
  33.  
  34. #ifndef NULL
  35. #ifdef __cplusplus
  36. #define NULL 0
  37. #else
  38. #define NULL ((void *)0)
  39. #endif
  40. #endif
  41.  
  42. #ifndef FALSE
  43. #define FALSE 0
  44. #endif
  45.  
  46. #ifndef TRUE
  47. #define TRUE 1
  48. #endif
  49.  
  50. #ifndef IN
  51. #define IN
  52. #endif
  53.  
  54. #ifndef OUT
  55. #define OUT
  56. #endif
  57.  
  58. #ifndef OPTIONAL
  59. #define OPTIONAL
  60. #endif
  61.  
  62. #undef far
  63. #undef near
  64. #undef pascal
  65.  
  66. #define far
  67. #define near
  68. #define pascal __stdcall
  69.  
  70. #define cdecl
  71. #ifndef CDECL
  72. #define CDECL
  73. #endif
  74. #ifndef CALLBACK
  75. #define CALLBACK __stdcall
  76. #endif
  77. #ifndef WINAPI
  78. #define WINAPI __stdcall
  79. #endif
  80. #define WINAPIV __cdecl
  81. #define APIENTRY WINAPI
  82. #define APIPRIVATE WINAPI
  83. #define PASCAL WINAPI
  84. #define WINAPI_INLINE WINAPI
  85.  
  86. #undef FAR
  87. #undef NEAR
  88. #define FAR
  89. #define NEAR
  90. #ifndef CONST
  91. #define CONST const
  92. #endif
  93.  
  94.   typedef unsigned long DWORD;
  95.   typedef int WINBOOL;
  96. #define BOOL WINBOOL
  97.   typedef unsigned char BYTE;
  98.   typedef unsigned short WORD;
  99.   typedef float FLOAT;
  100.   typedef FLOAT *PFLOAT;
  101.   typedef WINBOOL *PBOOL;
  102.   typedef WINBOOL *LPBOOL;
  103.   typedef BYTE *PBYTE;
  104.   typedef BYTE *LPBYTE;
  105.   typedef int *PINT;
  106.   typedef int *LPINT;
  107.   typedef WORD *PWORD;
  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;
  116. #endif
  117.   typedef int INT;
  118.   typedef unsigned int UINT;
  119.   typedef unsigned int *PUINT;
  120.  
  121. #ifndef NT_INCLUDED
  122. #include <winnt.h>
  123. #endif
  124.  
  125. #include <specstrings.h>
  126.  
  127.   typedef UINT_PTR WPARAM;
  128.   typedef LONG_PTR LPARAM;
  129.   typedef LONG_PTR LRESULT;
  130.  
  131. #ifndef __cplusplus
  132. #ifndef NOMINMAX
  133. #ifndef max
  134. #define max(a,b) (((a) > (b)) ? (a) : (b))
  135. #endif
  136.  
  137. #ifndef min
  138. #define min(a,b) (((a) < (b)) ? (a) : (b))
  139. #endif
  140. #endif
  141. #endif
  142.  
  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))
  149.  
  150. #ifndef WIN_INTERNAL
  151.   DECLARE_HANDLE (HWND);
  152.   DECLARE_HANDLE (HHOOK);
  153. #ifdef WINABLE
  154.   DECLARE_HANDLE (HEVENT);
  155. #endif
  156. #endif
  157.  
  158.   typedef WORD ATOM;
  159.  
  160.   typedef HANDLE *SPHANDLE;
  161.   typedef HANDLE *LPHANDLE;
  162.   typedef HANDLE HGLOBAL;
  163.   typedef HANDLE HLOCAL;
  164.   typedef HANDLE GLOBALHANDLE;
  165.   typedef HANDLE LOCALHANDLE;
  166. #ifdef _WIN64
  167.   typedef INT_PTR (WINAPI *FARPROC)();
  168.   typedef INT_PTR (WINAPI *NEARPROC)();
  169.   typedef INT_PTR (WINAPI *PROC)();
  170. #else
  171.   typedef int (WINAPI *FARPROC)();
  172.   typedef int (WINAPI *NEARPROC)();
  173.   typedef int (WINAPI *PROC)();
  174. #endif
  175.  
  176.   typedef void *HGDIOBJ;
  177.  
  178.   DECLARE_HANDLE(HKEY);
  179.   typedef HKEY *PHKEY;
  180.  
  181.   DECLARE_HANDLE(HACCEL);
  182.   DECLARE_HANDLE(HBITMAP);
  183.   DECLARE_HANDLE(HBRUSH);
  184.   DECLARE_HANDLE(HCOLORSPACE);
  185.   DECLARE_HANDLE(HDC);
  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);
  202.   DECLARE_HANDLE(HKL);
  203.   DECLARE_HANDLE(HMONITOR);
  204.   DECLARE_HANDLE(HWINEVENTHOOK);
  205.   DECLARE_HANDLE(HUMPD);
  206.  
  207.   typedef int HFILE;
  208.   typedef HICON HCURSOR;
  209.   typedef DWORD COLORREF;
  210.   typedef DWORD *LPCOLORREF;
  211.  
  212. #define HFILE_ERROR ((HFILE)-1)
  213.  
  214.   typedef struct tagRECT {
  215.     LONG left;
  216.     LONG top;
  217.     LONG right;
  218.     LONG bottom;
  219.   } RECT,*PRECT,*NPRECT,*LPRECT;
  220.  
  221.   typedef const RECT *LPCRECT;
  222.  
  223.   typedef struct _RECTL {
  224.     LONG left;
  225.     LONG top;
  226.     LONG right;
  227.     LONG bottom;
  228.   } RECTL,*PRECTL,*LPRECTL;
  229.  
  230.   typedef const RECTL *LPCRECTL;
  231.  
  232.   typedef struct tagPOINT {
  233.     LONG x;
  234.     LONG y;
  235.   } POINT,*PPOINT,*NPPOINT,*LPPOINT;
  236.  
  237.   typedef struct _POINTL {
  238.     LONG x;
  239.     LONG y;
  240.   } POINTL,*PPOINTL;
  241.  
  242.   typedef struct tagSIZE {
  243.     LONG cx;
  244.     LONG cy;
  245.   } SIZE,*PSIZE,*LPSIZE;
  246.  
  247.   typedef SIZE SIZEL;
  248.   typedef SIZE *PSIZEL,*LPSIZEL;
  249.  
  250.   typedef struct tagPOINTS {
  251.     SHORT x;
  252.     SHORT y;
  253.   } POINTS,*PPOINTS,*LPPOINTS;
  254.  
  255.   typedef struct _FILETIME {
  256.     DWORD dwLowDateTime;
  257.     DWORD dwHighDateTime;
  258.   } FILETIME,*PFILETIME,*LPFILETIME;
  259. #define _FILETIME_
  260.  
  261. #define DM_UPDATE 1
  262. #define DM_COPY 2
  263. #define DM_PROMPT 4
  264. #define DM_MODIFY 8
  265.  
  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
  270.  
  271. #define DC_FIELDS 1
  272. #define DC_PAPERS 2
  273. #define DC_PAPERSIZE 3
  274. #define DC_MINEXTENT 4
  275. #define DC_MAXEXTENT 5
  276. #define DC_BINS 6
  277. #define DC_DUPLEX 7
  278. #define DC_SIZE 8
  279. #define DC_EXTRA 9
  280. #define DC_VERSION 10
  281. #define DC_DRIVER 11
  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
  288. #define DC_COPIES 18
  289.  
  290. #ifdef __cplusplus
  291. }
  292. #endif
  293. #endif
  294.