| 1 | 
 /* | 
 
 
 
 
 
 | 2 | 
  * windef.h | 
 
 
 
 
 
 | 3 | 
  * | 
 
 
 
 
 
 | 4 | 
  * Common definitions for the Win32 API. | 
 
 
 
 
 
 | 5 | 
  * | 
 
 
 
 
 
 | 6 | 
  * $Id: windef.h,v 34e5e7606781 2016/05/23 18:31:09 keithmarshall $ | 
 
 
 
 
 
 | 7 | 
  * | 
 
 
 
 
 
 | 8 | 
  * Written by Anders Norlander  <anorland@hem2.passagen.se> | 
 
 
 
 
 
 | 9 | 
  * Copyright (C) 1998-2002, 2006-2008, 2010, 2015, MinGW.org Project | 
 
 
 
 
 
 | 10 | 
  * | 
 
 
 
 
 
 | 11 | 
  * | 
 
 
 
 
 
 | 12 | 
  * Permission is hereby granted, free of charge, to any person obtaining a | 
 
 
 
 
 
 | 13 | 
  * copy of this software and associated documentation files (the "Software"), | 
 
 
 
 
 
 | 14 | 
  * to deal in the Software without restriction, including without limitation | 
 
 
 
 
 
 | 15 | 
  * the rights to use, copy, modify, merge, publish, distribute, sublicense, | 
 
 
 
 
 
 | 16 | 
  * and/or sell copies of the Software, and to permit persons to whom the | 
 
 
 
 
 
 | 17 | 
  * Software is furnished to do so, subject to the following conditions: | 
 
 
 
 
 
 | 18 | 
  * | 
 
 
 
 
 
 | 19 | 
  * The above copyright notice and this permission notice (including the next | 
 
 
 
 
 
 | 20 | 
  * paragraph) shall be included in all copies or substantial portions of the | 
 
 
 
 
 
 | 21 | 
  * Software. | 
 
 
 
 
 
 | 22 | 
  * | 
 
 
 
 
 
 | 23 | 
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | 
 
 
 
 
 
 | 24 | 
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 
 
 
 
 
 
 | 25 | 
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | 
 
 
 
 
 
 | 26 | 
  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | 
 
 
 
 
 
 | 27 | 
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | 
 
 
 
 
 
 | 28 | 
  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 
 
 
 
 
 
 | 29 | 
  * DEALINGS IN THE SOFTWARE. | 
 
 
 
 
 
 | 30 | 
  * | 
 
 
 
 
 
 | 31 | 
  */ | 
 
 
 
 
 
 | 32 | 
 #ifndef _WINDEF_H | 
 
 
 
 
 
 | 33 | 
 #define _WINDEF_H | 
 
 
 
 
 
 | 34 | 
 #pragma GCC system_header | 
 
 
 
 
 
 | 35 | 
  | 
 
 
 
 
 
 | 36 | 
 /* We used to provide preprocessor code here, to ensure that WINVER | 
 
 
 
 
 
 | 37 | 
  * and _WIN32_WINNT are defined; this is now handled by inclusion of | 
 
 
 
 
 
 | 38 | 
  * w32api.h, which in turn includes sdkddkver.h, so implementing the | 
 
 
 
 
 
 | 39 | 
  * preferred technique of deriving these from a user assigned, (or | 
 
 
 
 
 
 | 40 | 
  * default), NTDDI_VERSION setting. | 
 
 
 
 
 
 | 41 | 
  */ | 
 
 
 
 
 
 | 42 | 
 #include <w32api.h> | 
 
 
 
 
 
 | 43 | 
  | 
 
 
 
 
 
 | 44 | 
 _BEGIN_C_DECLS | 
 
 
 
 
 
 | 45 | 
  | 
 
 
 
 
 
 | 46 | 
 #ifndef WIN32 | 
 
 
 
 
 
 | 47 | 
 #define WIN32 | 
 
 
 
 
 
 | 48 | 
 #endif | 
 
 
 
 
 
 | 49 | 
 #ifndef _WIN32 | 
 
 
 
 
 
 | 50 | 
 #define _WIN32 | 
 
 
 
 
 
 | 51 | 
 #endif | 
 
 
 
 
 
 | 52 | 
 #define FAR | 
 
 
 
 
 
 | 53 | 
 #define far | 
 
 
 
 
 
 | 54 | 
 #define NEAR | 
 
 
 
 
 
 | 55 | 
 #define near | 
 
 
 
 
 
 | 56 | 
 #ifndef CONST | 
 
 
 
 
 
 | 57 | 
 #define CONST const | 
 
 
 
 
 
 | 58 | 
 #endif | 
 
 
 
 
 
 | 59 | 
 #undef MAX_PATH | 
 
 
 
 
 
 | 60 | 
 #define MAX_PATH 260 | 
 
 
 
 
 
 | 61 | 
  | 
 
 
 
 
 
 | 62 | 
 #ifndef NULL | 
 
 
 
 
 
 | 63 | 
 #ifdef __cplusplus | 
 
 
 
 
 
 | 64 | 
 #define NULL 0 | 
 
 
 
 
 
 | 65 | 
 #else | 
 
 
 
 
 
 | 66 | 
 #define NULL ((void*)0) | 
 
 
 
 
 
 | 67 | 
 #endif | 
 
 
 
 
 
 | 68 | 
 #endif | 
 
 
 
 
 
 | 69 | 
 #ifndef FALSE | 
 
 
 
 
 
 | 70 | 
 #define FALSE 0 | 
 
 
 
 
 
 | 71 | 
 #endif | 
 
 
 
 
 
 | 72 | 
 #ifndef TRUE | 
 
 
 
 
 
 | 73 | 
 #define TRUE 1 | 
 
 
 
 
 
 | 74 | 
 #endif | 
 
 
 
 
 
 | 75 | 
  | 
 
 
 
 
 
 | 76 | 
 #ifndef _NO_W32_PSEUDO_MODIFIERS | 
 
 
 
 
 
 | 77 | 
 /* Pseudo-modifiers support function argument classification: | 
 
 
 
 
 
 | 78 | 
  * we don't use these unnecessary defines in the w32api headers, | 
 
 
 
 
 
 | 79 | 
  * but define them by default, since that is what people expect; | 
 
 
 
 
 
 | 80 | 
  * this is conditional, so that users may avoid the pollution. | 
 
 
 
 
 
 | 81 | 
  */ | 
 
 
 
 
 
 | 82 | 
 # define IN | 
 
 
 
 
 
 | 83 | 
 # define OUT | 
 
 
 
 
 
 | 84 | 
 # ifndef OPTIONAL | 
 
 
 
 
 
 | 85 | 
 #  define OPTIONAL | 
 
 
 
 
 
 | 86 | 
 # endif | 
 
 
 
 
 
 | 87 | 
 #endif | 
 
 
 
 
 
 | 88 | 
  | 
 
 
 
 
 
 | 89 | 
 #ifdef __GNUC__ | 
 
 
 
 
 
 | 90 | 
 #ifndef _fastcall | 
 
 
 
 
 
 | 91 | 
 #define _fastcall __attribute__((fastcall)) | 
 
 
 
 
 
 | 92 | 
 #endif | 
 
 
 
 
 
 | 93 | 
 #ifndef __fastcall | 
 
 
 
 
 
 | 94 | 
 #define __fastcall __attribute__((fastcall)) | 
 
 
 
 
 
 | 95 | 
 #endif | 
 
 
 
 
 
 | 96 | 
 #ifndef _stdcall | 
 
 
 
 
 
 | 97 | 
 #define _stdcall __attribute__((stdcall)) | 
 
 
 
 
 
 | 98 | 
 #endif | 
 
 
 
 
 
 | 99 | 
 #ifndef __stdcall | 
 
 
 
 
 
 | 100 | 
 #define __stdcall __attribute__((stdcall)) | 
 
 
 
 
 
 | 101 | 
 #endif | 
 
 
 
 
 
 | 102 | 
 #ifndef _cdecl | 
 
 
 
 
 
 | 103 | 
 #define _cdecl __attribute__((cdecl)) | 
 
 
 
 
 
 | 104 | 
 #endif | 
 
 
 
 
 
 | 105 | 
 #ifndef __cdecl | 
 
 
 
 
 
 | 106 | 
 #define __cdecl __attribute__((cdecl)) | 
 
 
 
 
 
 | 107 | 
 #endif | 
 
 
 
 
 
 | 108 | 
 #ifndef __declspec | 
 
 
 
 
 
 | 109 | 
 #define __declspec(e) __attribute__((e)) | 
 
 
 
 
 
 | 110 | 
 #endif | 
 
 
 
 
 
 | 111 | 
 #ifndef _declspec | 
 
 
 
 
 
 | 112 | 
 #define _declspec(e) __attribute__((e)) | 
 
 
 
 
 
 | 113 | 
 #endif | 
 
 
 
 
 
 | 114 | 
 #else | 
 
 
 
 
 
 | 115 | 
 #define _cdecl | 
 
 
 
 
 
 | 116 | 
 #define __cdecl | 
 
 
 
 
 
 | 117 | 
 #endif | 
 
 
 
 
 
 | 118 | 
  | 
 
 
 
 
 
 | 119 | 
 #undef pascal | 
 
 
 
 
 
 | 120 | 
 #undef _pascal | 
 
 
 
 
 
 | 121 | 
 #undef __pascal | 
 
 
 
 
 
 | 122 | 
 #define pascal __stdcall | 
 
 
 
 
 
 | 123 | 
 #define _pascal __stdcall | 
 
 
 
 
 
 | 124 | 
 #define __pascal __stdcall | 
 
 
 
 
 
 | 125 | 
 #define PASCAL _pascal | 
 
 
 
 
 
 | 126 | 
 #define CDECL _cdecl | 
 
 
 
 
 
 | 127 | 
 #define STDCALL __stdcall | 
 
 
 
 
 
 | 128 | 
 #define FASTCALL __fastcall | 
 
 
 
 
 
 | 129 | 
 #define WINAPI __stdcall | 
 
 
 
 
 
 | 130 | 
 #define WINAPIV __cdecl | 
 
 
 
 
 
 | 131 | 
 #define APIENTRY __stdcall | 
 
 
 
 
 
 | 132 | 
 #define CALLBACK __stdcall | 
 
 
 
 
 
 | 133 | 
 #define APIPRIVATE __stdcall | 
 
 
 
 
 
 | 134 | 
  | 
 
 
 
 
 
 | 135 | 
 #define DECLSPEC_IMPORT __declspec(dllimport) | 
 
 
 
 
 
 | 136 | 
 #define DECLSPEC_EXPORT __declspec(dllexport) | 
 
 
 
 
 
 | 137 | 
 #ifdef __GNUC__ | 
 
 
 
 
 
 | 138 | 
 #define DECLSPEC_NORETURN __declspec(noreturn) | 
 
 
 
 
 
 | 139 | 
 #define DECLARE_STDCALL_P( type ) __stdcall type | 
 
 
 
 
 
 | 140 | 
 #elif defined(__WATCOMC__) | 
 
 
 
 
 
 | 141 | 
 #define DECLSPEC_NORETURN | 
 
 
 
 
 
 | 142 | 
 #define DECLARE_STDCALL_P( type ) type __stdcall | 
 
 
 
 
 
 | 143 | 
 #endif /* __GNUC__/__WATCOMC__ */ | 
 
 
 
 
 
 | 144 | 
 #define MAKEWORD(a,b)   ((WORD)(((BYTE)(a))|(((WORD)((BYTE)(b)))<<8))) | 
 
 
 
 
 
 | 145 | 
 #define MAKELONG(a,b)   ((LONG)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16))) | 
 
 
 
 
 
 | 146 | 
 #define LOWORD(l)       ((WORD)((DWORD)(l))) | 
 
 
 
 
 
 | 147 | 
 #define HIWORD(l)       ((WORD)(((DWORD)(l)>>16)&0xFFFF)) | 
 
 
 
 
 
 | 148 | 
 #define LOBYTE(w)       ((BYTE)(w)) | 
 
 
 
 
 
 | 149 | 
 #define HIBYTE(w)       ((BYTE)(((WORD)(w)>>8)&0xFF)) | 
 
 
 
 
 
 | 150 | 
  | 
 
 
 
 
 
 | 151 | 
 #ifndef __WATCOMC__ | 
 
 
 
 
 
 | 152 | 
 #ifndef _export | 
 
 
 
 
 
 | 153 | 
 #define _export | 
 
 
 
 
 
 | 154 | 
 #endif | 
 
 
 
 
 
 | 155 | 
 #ifndef __export | 
 
 
 
 
 
 | 156 | 
 #define __export | 
 
 
 
 
 
 | 157 | 
 #endif | 
 
 
 
 
 
 | 158 | 
 #endif | 
 
 
 
 
 
 | 159 | 
  | 
 
 
 
 
 
 | 160 | 
 #ifndef NOMINMAX | 
 
 
 
 
 
 | 161 | 
 #ifndef max | 
 
 
 
 
 
 | 162 | 
 #define max(a,b) ((a)>(b)?(a):(b)) | 
 
 
 
 
 
 | 163 | 
 #endif | 
 
 
 
 
 
 | 164 | 
 #ifndef min | 
 
 
 
 
 
 | 165 | 
 #define min(a,b) ((a)<(b)?(a):(b)) | 
 
 
 
 
 
 | 166 | 
 #endif | 
 
 
 
 
 
 | 167 | 
 #endif | 
 
 
 
 
 
 | 168 | 
  | 
 
 
 
 
 
 | 169 | 
 #define UNREFERENCED_PARAMETER(P) {(P)=(P);} | 
 
 
 
 
 
 | 170 | 
 #define UNREFERENCED_LOCAL_VARIABLE(L) {(L)=(L);} | 
 
 
 
 
 
 | 171 | 
 #define DBG_UNREFERENCED_PARAMETER(P) | 
 
 
 
 
 
 | 172 | 
 #define DBG_UNREFERENCED_LOCAL_VARIABLE(L) | 
 
 
 
 
 
 | 173 | 
  | 
 
 
 
 
 
 | 174 | 
 #ifndef NONAMELESSUNION | 
 
 
 
 
 
 | 175 | 
 #ifdef __GNUC__ | 
 
 
 
 
 
 | 176 | 
 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) | 
 
 
 
 
 
 | 177 | 
 #define _ANONYMOUS_UNION __extension__ | 
 
 
 
 
 
 | 178 | 
 #define _ANONYMOUS_STRUCT __extension__ | 
 
 
 
 
 
 | 179 | 
 #else | 
 
 
 
 
 
 | 180 | 
 #if defined(__cplusplus) | 
 
 
 
 
 
 | 181 | 
 #define _ANONYMOUS_UNION __extension__ | 
 
 
 
 
 
 | 182 | 
 #endif /* __cplusplus */ | 
 
 
 
 
 
 | 183 | 
 #endif /* __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) */ | 
 
 
 
 
 
 | 184 | 
 #elif defined(__WATCOMC__) | 
 
 
 
 
 
 | 185 | 
 #define _ANONYMOUS_UNION | 
 
 
 
 
 
 | 186 | 
 #define _ANONYMOUS_STRUCT | 
 
 
 
 
 
 | 187 | 
 #endif /* __GNUC__/__WATCOMC__ */ | 
 
 
 
 
 
 | 188 | 
 #endif /* NONAMELESSUNION */ | 
 
 
 
 
 
 | 189 | 
  | 
 
 
 
 
 
 | 190 | 
 #ifndef _ANONYMOUS_UNION | 
 
 
 
 
 
 | 191 | 
 #define _ANONYMOUS_UNION | 
 
 
 
 
 
 | 192 | 
 #define _UNION_NAME(x) x | 
 
 
 
 
 
 | 193 | 
 #define DUMMYUNIONNAME  u | 
 
 
 
 
 
 | 194 | 
 #define DUMMYUNIONNAME2 u2 | 
 
 
 
 
 
 | 195 | 
 #define DUMMYUNIONNAME3 u3 | 
 
 
 
 
 
 | 196 | 
 #define DUMMYUNIONNAME4 u4 | 
 
 
 
 
 
 | 197 | 
 #define DUMMYUNIONNAME5 u5 | 
 
 
 
 
 
 | 198 | 
 #define DUMMYUNIONNAME6 u6 | 
 
 
 
 
 
 | 199 | 
 #define DUMMYUNIONNAME7 u7 | 
 
 
 
 
 
 | 200 | 
 #define DUMMYUNIONNAME8 u8 | 
 
 
 
 
 
 | 201 | 
 #else | 
 
 
 
 
 
 | 202 | 
 #define _UNION_NAME(x) | 
 
 
 
 
 
 | 203 | 
 #define DUMMYUNIONNAME | 
 
 
 
 
 
 | 204 | 
 #define DUMMYUNIONNAME2 | 
 
 
 
 
 
 | 205 | 
 #define DUMMYUNIONNAME3 | 
 
 
 
 
 
 | 206 | 
 #define DUMMYUNIONNAME4 | 
 
 
 
 
 
 | 207 | 
 #define DUMMYUNIONNAME5 | 
 
 
 
 
 
 | 208 | 
 #define DUMMYUNIONNAME6 | 
 
 
 
 
 
 | 209 | 
 #define DUMMYUNIONNAME7 | 
 
 
 
 
 
 | 210 | 
 #define DUMMYUNIONNAME8 | 
 
 
 
 
 
 | 211 | 
 #endif | 
 
 
 
 
 
 | 212 | 
 #ifndef _ANONYMOUS_STRUCT | 
 
 
 
 
 
 | 213 | 
 #define _ANONYMOUS_STRUCT | 
 
 
 
 
 
 | 214 | 
 #define _STRUCT_NAME(x) x | 
 
 
 
 
 
 | 215 | 
 #define DUMMYSTRUCTNAME s | 
 
 
 
 
 
 | 216 | 
 #define DUMMYSTRUCTNAME2 s2 | 
 
 
 
 
 
 | 217 | 
 #define DUMMYSTRUCTNAME3 s3 | 
 
 
 
 
 
 | 218 | 
 #else | 
 
 
 
 
 
 | 219 | 
 #define _STRUCT_NAME(x) | 
 
 
 
 
 
 | 220 | 
 #define DUMMYSTRUCTNAME | 
 
 
 
 
 
 | 221 | 
 #define DUMMYSTRUCTNAME2 | 
 
 
 
 
 
 | 222 | 
 #define DUMMYSTRUCTNAME3 | 
 
 
 
 
 
 | 223 | 
 #endif | 
 
 
 
 
 
 | 224 | 
  | 
 
 
 
 
 
 | 225 | 
 #ifndef NO_STRICT | 
 
 
 
 
 
 | 226 | 
 #ifndef STRICT | 
 
 
 
 
 
 | 227 | 
 #define STRICT 1 | 
 
 
 
 
 
 | 228 | 
 #endif | 
 
 
 
 
 
 | 229 | 
 #endif | 
 
 
 
 
 
 | 230 | 
  | 
 
 
 
 
 
 | 231 | 
 #if defined (__GNUC__) && defined (__SEH_NOOP) | 
 
 
 
 
 
 | 232 | 
 /* FIXME: This will make some code compile. The programs will most | 
 
 
 
 
 
 | 233 | 
  * likely crash when an exception is raised, but at least they will | 
 
 
 
 
 
 | 234 | 
  * compile. | 
 
 
 
 
 
 | 235 | 
  */ | 
 
 
 
 
 
 | 236 | 
 # define __try | 
 
 
 
 
 
 | 237 | 
 # define __except(x) if (0) /* don't execute handler */ | 
 
 
 
 
 
 | 238 | 
 # define __finally | 
 
 
 
 
 
 | 239 | 
  | 
 
 
 
 
 
 | 240 | 
 # define _try __try | 
 
 
 
 
 
 | 241 | 
 # define _except __except | 
 
 
 
 
 
 | 242 | 
 # define _finally __finally | 
 
 
 
 
 
 | 243 | 
 #endif | 
 
 
 
 
 
 | 244 | 
  | 
 
 
 
 
 
 | 245 | 
 typedef unsigned long DWORD; | 
 
 
 
 
 
 | 246 | 
 typedef int WINBOOL,*PWINBOOL,*LPWINBOOL; | 
 
 
 
 
 
 | 247 | 
 /* FIXME: Is there a good solution to this? */ | 
 
 
 
 
 
 | 248 | 
 #ifndef XFree86Server | 
 
 
 
 
 
 | 249 | 
 #ifndef __OBJC__ | 
 
 
 
 
 
 | 250 | 
 typedef WINBOOL BOOL; | 
 
 
 
 
 
 | 251 | 
 #else | 
 
 
 
 
 
 | 252 | 
 #define BOOL WINBOOL | 
 
 
 
 
 
 | 253 | 
 #endif | 
 
 
 
 
 
 | 254 | 
 typedef unsigned char BYTE; | 
 
 
 
 
 
 | 255 | 
 #endif /* ndef XFree86Server */ | 
 
 
 
 
 
 | 256 | 
 typedef BOOL *PBOOL,*LPBOOL; | 
 
 
 
 
 
 | 257 | 
 typedef unsigned short WORD; | 
 
 
 
 
 
 | 258 | 
 typedef float FLOAT; | 
 
 
 
 
 
 | 259 | 
 typedef FLOAT *PFLOAT; | 
 
 
 
 
 
 | 260 | 
 typedef BYTE *PBYTE,*LPBYTE; | 
 
 
 
 
 
 | 261 | 
 typedef int *PINT,*LPINT; | 
 
 
 
 
 
 | 262 | 
 typedef WORD *PWORD,*LPWORD; | 
 
 
 
 
 
 | 263 | 
 typedef long *LPLONG; | 
 
 
 
 
 
 | 264 | 
 typedef DWORD *PDWORD,*LPDWORD; | 
 
 
 
 
 
 | 265 | 
 typedef CONST void *PCVOID,*LPCVOID; | 
 
 
 
 
 
 | 266 | 
 typedef int INT; | 
 
 
 
 
 
 | 267 | 
 typedef unsigned int UINT,*PUINT,*LPUINT; | 
 
 
 
 
 
 | 268 | 
  | 
 
 
 
 
 
 | 269 | 
 #include <winnt.h> | 
 
 
 
 
 
 | 270 | 
  | 
 
 
 
 
 
 | 271 | 
 typedef UINT_PTR WPARAM; | 
 
 
 
 
 
 | 272 | 
 typedef LONG_PTR LPARAM; | 
 
 
 
 
 
 | 273 | 
 typedef LONG_PTR LRESULT; | 
 
 
 
 
 
 | 274 | 
 #ifndef _HRESULT_DEFINED | 
 
 
 
 
 
 | 275 | 
 typedef LONG HRESULT; | 
 
 
 
 
 
 | 276 | 
 #define _HRESULT_DEFINED | 
 
 
 
 
 
 | 277 | 
 #endif | 
 
 
 
 
 
 | 278 | 
 #ifndef XFree86Server | 
 
 
 
 
 
 | 279 | 
 typedef WORD ATOM; | 
 
 
 
 
 
 | 280 | 
 #endif /* XFree86Server */ | 
 
 
 
 
 
 | 281 | 
 typedef HANDLE HHOOK; | 
 
 
 
 
 
 | 282 | 
 typedef HANDLE HGLOBAL; | 
 
 
 
 
 
 | 283 | 
 typedef HANDLE HLOCAL; | 
 
 
 
 
 
 | 284 | 
 typedef HANDLE GLOBALHANDLE; | 
 
 
 
 
 
 | 285 | 
 typedef HANDLE LOCALHANDLE; | 
 
 
 
 
 
 | 286 | 
 typedef void *HGDIOBJ; | 
 
 
 
 
 
 | 287 | 
 DECLARE_HANDLE(HACCEL); | 
 
 
 
 
 
 | 288 | 
 DECLARE_HANDLE(HBITMAP); | 
 
 
 
 
 
 | 289 | 
 DECLARE_HANDLE(HBRUSH); | 
 
 
 
 
 
 | 290 | 
 DECLARE_HANDLE(HCOLORSPACE); | 
 
 
 
 
 
 | 291 | 
 DECLARE_HANDLE(HDC); | 
 
 
 
 
 
 | 292 | 
 DECLARE_HANDLE(HGLRC); | 
 
 
 
 
 
 | 293 | 
 DECLARE_HANDLE(HDESK); | 
 
 
 
 
 
 | 294 | 
 DECLARE_HANDLE(HENHMETAFILE); | 
 
 
 
 
 
 | 295 | 
 DECLARE_HANDLE(HFONT); | 
 
 
 
 
 
 | 296 | 
 DECLARE_HANDLE(HICON); | 
 
 
 
 
 
 | 297 | 
 DECLARE_HANDLE(HKEY); | 
 
 
 
 
 
 | 298 | 
 /* FIXME: How to handle these. SM_CMONITORS etc in winuser.h also. */ | 
 
 
 
 
 
 | 299 | 
 DECLARE_HANDLE(HMONITOR); | 
 
 
 
 
 
 | 300 | 
 #define HMONITOR_DECLARED 1 | 
 
 
 
 
 
 | 301 | 
 DECLARE_HANDLE(HTERMINAL); | 
 
 
 
 
 
 | 302 | 
 DECLARE_HANDLE(HWINEVENTHOOK); | 
 
 
 
 
 
 | 303 | 
  | 
 
 
 
 
 
 | 304 | 
 typedef HKEY *PHKEY; | 
 
 
 
 
 
 | 305 | 
 DECLARE_HANDLE(HMENU); | 
 
 
 
 
 
 | 306 | 
 DECLARE_HANDLE(HMETAFILE); | 
 
 
 
 
 
 | 307 | 
 DECLARE_HANDLE(HINSTANCE); | 
 
 
 
 
 
 | 308 | 
 typedef HINSTANCE HMODULE; | 
 
 
 
 
 
 | 309 | 
 DECLARE_HANDLE(HPALETTE); | 
 
 
 
 
 
 | 310 | 
 DECLARE_HANDLE(HPEN); | 
 
 
 
 
 
 | 311 | 
 DECLARE_HANDLE(HRGN); | 
 
 
 
 
 
 | 312 | 
 DECLARE_HANDLE(HRSRC); | 
 
 
 
 
 
 | 313 | 
 DECLARE_HANDLE(HSTR); | 
 
 
 
 
 
 | 314 | 
 DECLARE_HANDLE(HTASK); | 
 
 
 
 
 
 | 315 | 
 DECLARE_HANDLE(HWND); | 
 
 
 
 
 
 | 316 | 
 DECLARE_HANDLE(HWINSTA); | 
 
 
 
 
 
 | 317 | 
 DECLARE_HANDLE(HKL); | 
 
 
 
 
 
 | 318 | 
 typedef int HFILE; | 
 
 
 
 
 
 | 319 | 
 typedef HICON HCURSOR; | 
 
 
 
 
 
 | 320 | 
 typedef DWORD COLORREF; | 
 
 
 
 
 
 | 321 | 
 typedef int (WINAPI *FARPROC)(); | 
 
 
 
 
 
 | 322 | 
 typedef int (WINAPI *NEARPROC)(); | 
 
 
 
 
 
 | 323 | 
 typedef int (WINAPI *PROC)(); | 
 
 
 
 
 
 | 324 | 
 typedef struct tagRECT { | 
 
 
 
 
 
 | 325 | 
         LONG left; | 
 
 
 
 
 
 | 326 | 
         LONG top; | 
 
 
 
 
 
 | 327 | 
         LONG right; | 
 
 
 
 
 
 | 328 | 
         LONG bottom; | 
 
 
 
 
 
 | 329 | 
 } RECT,*PRECT,*LPRECT; | 
 
 
 
 
 
 | 330 | 
 typedef const RECT *LPCRECT; | 
 
 
 
 
 
 | 331 | 
 typedef struct tagRECTL { | 
 
 
 
 
 
 | 332 | 
         LONG left; | 
 
 
 
 
 
 | 333 | 
         LONG top; | 
 
 
 
 
 
 | 334 | 
         LONG right; | 
 
 
 
 
 
 | 335 | 
         LONG bottom; | 
 
 
 
 
 
 | 336 | 
 } RECTL,*PRECTL,*LPRECTL; | 
 
 
 
 
 
 | 337 | 
 typedef const RECTL *LPCRECTL; | 
 
 
 
 
 
 | 338 | 
 typedef struct tagPOINT { | 
 
 
 
 
 
 | 339 | 
         LONG x; | 
 
 
 
 
 
 | 340 | 
         LONG y; | 
 
 
 
 
 
 | 341 | 
 } POINT,POINTL,*PPOINT,*LPPOINT,*PPOINTL,*LPPOINTL; | 
 
 
 
 
 
 | 342 | 
 typedef struct tagSIZE { | 
 
 
 
 
 
 | 343 | 
         LONG cx; | 
 
 
 
 
 
 | 344 | 
         LONG cy; | 
 
 
 
 
 
 | 345 | 
 } SIZE,SIZEL,*PSIZE,*LPSIZE,*PSIZEL,*LPSIZEL; | 
 
 
 
 
 
 | 346 | 
 typedef struct tagPOINTS { | 
 
 
 
 
 
 | 347 | 
         SHORT x; | 
 
 
 
 
 
 | 348 | 
         SHORT y; | 
 
 
 
 
 
 | 349 | 
 } POINTS,*PPOINTS,*LPPOINTS; | 
 
 
 
 
 
 | 350 | 
  | 
 
 
 
 
 
 | 351 | 
 _END_C_DECLS | 
 
 
 
 
 
 | 352 | 
  | 
 
 
 
 
 
 | 353 | 
 #endif /* _WINDEF_H: $RCSfile: windef.h,v $: end of file */ |