Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenwindef.h
Go to the documentation of this file.
00001 00006 #ifndef _WINDEF_ 00007 #define _WINDEF_ 00008 #pragma once 00009 00010 #define _WINDEF_H // wine ... 00011 00012 #ifdef _MSC_VER 00013 #pragma warning(push) 00014 #pragma warning(disable:4255) 00015 #endif 00016 00017 #ifndef _M_AMD64 00018 #if !defined(__ROS_LONG64__) 00019 #ifdef __WINESRC__ 00020 #define __ROS_LONG64__ 00021 #endif 00022 #endif 00023 #endif 00024 00025 #ifndef NO_STRICT 00026 #ifndef STRICT 00027 #define STRICT 1 00028 #endif 00029 #endif 00030 00031 #ifndef WIN32 00032 #define WIN32 00033 #endif 00034 00035 #if defined(_MAC) && !defined(_WIN32) 00036 #define _WIN32 00037 #endif 00038 00039 #ifdef __cplusplus 00040 extern "C" { 00041 #endif 00042 00043 #ifndef WINVER 00044 #define WINVER 0x0502 00045 #endif 00046 00047 #ifndef BASETYPES 00048 #define BASETYPES 00049 #ifndef __ROS_LONG64__ 00050 typedef unsigned long ULONG; 00051 #else 00052 typedef unsigned int ULONG; 00053 #endif 00054 typedef ULONG *PULONG; 00055 typedef unsigned short USHORT; 00056 typedef USHORT *PUSHORT; 00057 typedef unsigned char UCHAR; 00058 typedef UCHAR *PUCHAR; 00059 typedef char *PSZ; 00060 typedef int INT; 00061 #endif /* BASETYPES */ 00062 00063 #undef MAX_PATH 00064 #define MAX_PATH 260 00065 00066 #ifndef NULL 00067 #ifdef __cplusplus 00068 #ifndef _WIN64 00069 #define NULL 0 00070 #else 00071 #define NULL 0LL 00072 #endif /* W64 */ 00073 #else 00074 #define NULL ((void *)0) 00075 #endif 00076 #endif 00077 00078 #ifndef FALSE 00079 #define FALSE 0 00080 #endif 00081 00082 #ifndef TRUE 00083 #define TRUE 1 00084 #endif 00085 00086 #ifndef _NO_W32_PSEUDO_MODIFIERS 00087 #ifndef IN 00088 #define IN 00089 #endif 00090 #ifndef OUT 00091 #define OUT 00092 #endif 00093 #ifndef OPTIONAL 00094 #define OPTIONAL 00095 #endif 00096 #endif 00097 00098 #ifdef __GNUC__ 00099 #define PACKED __attribute__((packed)) 00100 #ifndef __declspec 00101 #define __declspec(e) __attribute__((e)) 00102 #endif 00103 #ifndef _declspec 00104 #define _declspec(e) __attribute__((e)) 00105 #endif 00106 #elif defined(__WATCOMC__) 00107 #define PACKED 00108 #else 00109 #define PACKED 00110 #endif 00111 00112 #ifdef __GNUC__ 00113 #define DECLSPEC_NORETURN __declspec(noreturn) 00114 #define DECLARE_STDCALL_P( type ) __stdcall type 00115 #elif defined(__WATCOMC__) 00116 #define DECLSPEC_NORETURN 00117 #define DECLARE_STDCALL_P( type ) type __stdcall 00118 #elif defined(_MSC_VER) 00119 #define DECLSPEC_NORETURN __declspec(noreturn) 00120 #define DECLARE_STDCALL_P( type ) type __stdcall 00121 #endif /* __GNUC__/__WATCOMC__ */ 00122 00123 #define DECLSPEC_IMPORT __declspec(dllimport) 00124 #define DECLSPEC_EXPORT __declspec(dllexport) 00125 #ifndef DECLSPEC_NOINLINE 00126 #if (_MSC_VER >= 1300) 00127 #define DECLSPEC_NOINLINE __declspec(noinline) 00128 #elif defined(__GNUC__) 00129 #define DECLSPEC_NOINLINE __attribute__((noinline)) 00130 #else 00131 #define DECLSPEC_NOINLINE 00132 #endif 00133 #endif 00134 00135 #undef far 00136 #undef near 00137 #undef pascal 00138 00139 #define far 00140 #define near 00141 #define pascal __stdcall 00142 00143 #define cdecl 00144 #ifndef CDECL 00145 #define CDECL 00146 #endif 00147 00148 #if !defined(__x86_64__) //defined(_STDCALL_SUPPORTED) 00149 #ifndef CALLBACK 00150 #define CALLBACK __stdcall 00151 #endif 00152 #ifndef WINAPI 00153 #define WINAPI __stdcall 00154 #endif 00155 #define WINAPIV __cdecl 00156 #define APIENTRY WINAPI 00157 #define APIPRIVATE WINAPI 00158 #define PASCAL WINAPI 00159 #else 00160 #define CALLBACK 00161 #define WINAPI 00162 #define WINAPIV 00163 #define APIENTRY WINAPI 00164 #define APIPRIVATE 00165 #define PASCAL pascal 00166 #endif 00167 00168 #undef FAR 00169 #undef NEAR 00170 #define FAR 00171 #define NEAR 00172 00173 #ifndef CONST 00174 #define CONST const 00175 #endif 00176 00177 #ifndef _DEF_WINBOOL_ 00178 #define _DEF_WINBOOL_ 00179 typedef int WINBOOL; 00180 #pragma push_macro("BOOL") 00181 #undef BOOL 00182 #if !defined(__OBJC__) && !defined(__OBJC_BOOL) && !defined(__objc_INCLUDE_GNU) 00183 typedef int BOOL; 00184 #endif 00185 #define BOOL WINBOOL 00186 typedef BOOL *PBOOL; 00187 typedef BOOL *LPBOOL; 00188 #pragma pop_macro("BOOL") 00189 #endif /* _DEF_WINBOOL_ */ 00190 00191 typedef unsigned char BYTE; 00192 typedef unsigned short WORD; 00193 #ifndef __ROS_LONG64__ 00194 typedef unsigned long DWORD; 00195 #else 00196 typedef unsigned int DWORD; 00197 #endif 00198 typedef float FLOAT; 00199 typedef FLOAT *PFLOAT; 00200 typedef BYTE *PBYTE; 00201 typedef BYTE *LPBYTE; 00202 typedef int *PINT; 00203 typedef int *LPINT; 00204 typedef WORD *PWORD; 00205 typedef WORD *LPWORD; 00206 #ifndef __ROS_LONG64__ 00207 typedef long *LPLONG; 00208 #else 00209 typedef int *LPLONG; 00210 #endif 00211 typedef DWORD *PDWORD; 00212 typedef DWORD *LPDWORD; 00213 typedef void *LPVOID; 00214 #ifndef _LPCVOID_DEFINED 00215 #define _LPCVOID_DEFINED 00216 typedef CONST void *LPCVOID; 00217 #endif 00218 //typedef int INT; 00219 typedef unsigned int UINT; 00220 typedef unsigned int *PUINT; 00221 typedef unsigned int *LPUINT; 00222 00223 00224 00225 00226 #ifndef NT_INCLUDED 00227 #include <winnt.h> 00228 #endif 00229 00230 //#include <specstrings.h> 00231 00232 typedef UINT_PTR WPARAM; 00233 typedef LONG_PTR LPARAM; 00234 typedef LONG_PTR LRESULT; 00235 #ifndef _HRESULT_DEFINED 00236 typedef LONG HRESULT; 00237 #define _HRESULT_DEFINED 00238 #endif 00239 00240 #ifndef NOMINMAX 00241 #ifndef max 00242 #define max(a,b) (((a) > (b)) ? (a) : (b)) 00243 #endif 00244 #ifndef min 00245 #define min(a,b) (((a) < (b)) ? (a) : (b)) 00246 #endif 00247 #endif 00248 00249 #define MAKEWORD(a,b) ((WORD)(((BYTE)((DWORD_PTR)(a) & 0xff)) | (((WORD)((BYTE)((DWORD_PTR)(b) & 0xff))) << 8))) 00250 #define MAKELONG(a,b) ((LONG)(((WORD)((DWORD_PTR)(a) & 0xffff)) | (((DWORD)((WORD)((DWORD_PTR)(b) & 0xffff))) << 16))) 00251 #define LOWORD(l) ((WORD)((DWORD_PTR)(l) & 0xffff)) 00252 #define HIWORD(l) ((WORD)((DWORD_PTR)(l) >> 16)) 00253 #define LOBYTE(w) ((BYTE)((DWORD_PTR)(w) & 0xff)) 00254 #define HIBYTE(w) ((BYTE)((DWORD_PTR)(w) >> 8)) 00255 00256 #ifndef WIN_INTERNAL 00257 DECLARE_HANDLE (HWND); 00258 //DECLARE_HANDLE (HHOOK); 00259 #ifdef WINABLE 00260 DECLARE_HANDLE (HEVENT); 00261 #endif 00262 #endif 00263 00264 typedef WORD ATOM; 00265 00266 typedef HANDLE *SPHANDLE; 00267 typedef HANDLE *LPHANDLE; 00268 typedef HANDLE HGLOBAL; 00269 typedef HANDLE HLOCAL; 00270 typedef HANDLE GLOBALHANDLE; 00271 typedef HANDLE LOCALHANDLE; 00272 #ifdef _WIN64 00273 typedef INT_PTR (WINAPI *FARPROC)(); 00274 typedef INT_PTR (WINAPI *NEARPROC)(); 00275 typedef INT_PTR (WINAPI *PROC)(); 00276 #else 00277 typedef int (WINAPI *FARPROC)(); 00278 typedef int (WINAPI *NEARPROC)(); 00279 typedef int (WINAPI *PROC)(); 00280 #endif 00281 00282 typedef void *HGDIOBJ; 00283 00284 DECLARE_HANDLE(HKEY); 00285 typedef HKEY *PHKEY; 00286 00287 DECLARE_HANDLE(HACCEL); 00288 DECLARE_HANDLE(HBITMAP); 00289 DECLARE_HANDLE(HBRUSH); 00290 DECLARE_HANDLE(HCOLORSPACE); 00291 DECLARE_HANDLE(HDC); 00292 DECLARE_HANDLE(HGLRC); 00293 DECLARE_HANDLE(HDESK); 00294 DECLARE_HANDLE(HENHMETAFILE); 00295 DECLARE_HANDLE(HFONT); 00296 DECLARE_HANDLE(HICON); 00297 DECLARE_HANDLE(HMENU); 00298 DECLARE_HANDLE(HMETAFILE); 00299 DECLARE_HANDLE(HINSTANCE); 00300 typedef HINSTANCE HMODULE; 00301 DECLARE_HANDLE(HPALETTE); 00302 DECLARE_HANDLE(HPEN); 00303 DECLARE_HANDLE(HRGN); 00304 DECLARE_HANDLE(HRSRC); 00305 DECLARE_HANDLE(HSTR); 00306 DECLARE_HANDLE(HTASK); 00307 DECLARE_HANDLE(HWINSTA); 00308 DECLARE_HANDLE(HKL); 00309 DECLARE_HANDLE(HMONITOR); 00310 DECLARE_HANDLE(HWINEVENTHOOK); 00311 DECLARE_HANDLE(HUMPD); 00312 00313 typedef int HFILE; 00314 typedef HICON HCURSOR; 00315 typedef DWORD COLORREF; 00316 typedef DWORD *LPCOLORREF; 00317 00318 #define HFILE_ERROR ((HFILE)-1) 00319 00320 typedef struct tagRECT { 00321 LONG left; 00322 LONG top; 00323 LONG right; 00324 LONG bottom; 00325 } RECT,*PRECT,*NPRECT,*LPRECT; 00326 00327 typedef const RECT *LPCRECT; 00328 00329 typedef struct _RECTL { 00330 LONG left; 00331 LONG top; 00332 LONG right; 00333 LONG bottom; 00334 } RECTL,*PRECTL,*LPRECTL; 00335 00336 typedef const RECTL *LPCRECTL; 00337 00338 typedef struct tagPOINT { 00339 LONG x; 00340 LONG y; 00341 } POINT,*PPOINT,*NPPOINT,*LPPOINT; 00342 00343 typedef struct _POINTL { 00344 LONG x; 00345 LONG y; 00346 } POINTL,*PPOINTL; 00347 00348 typedef struct tagSIZE { 00349 LONG cx; 00350 LONG cy; 00351 } SIZE,*PSIZE,*LPSIZE; 00352 00353 typedef SIZE SIZEL; 00354 typedef SIZE *PSIZEL,*LPSIZEL; 00355 00356 typedef struct tagPOINTS { 00357 SHORT x; 00358 SHORT y; 00359 } POINTS,*PPOINTS,*LPPOINTS; 00360 00361 typedef struct _FILETIME { 00362 DWORD dwLowDateTime; 00363 DWORD dwHighDateTime; 00364 } FILETIME,*PFILETIME,*LPFILETIME; 00365 #define _FILETIME_ 00366 00367 #define DM_UPDATE 1 00368 #define DM_COPY 2 00369 #define DM_PROMPT 4 00370 #define DM_MODIFY 8 00371 00372 #define DM_IN_BUFFER DM_MODIFY 00373 #define DM_IN_PROMPT DM_PROMPT 00374 #define DM_OUT_BUFFER DM_COPY 00375 #define DM_OUT_DEFAULT DM_UPDATE 00376 00377 #define DC_FIELDS 1 00378 #define DC_PAPERS 2 00379 #define DC_PAPERSIZE 3 00380 #define DC_MINEXTENT 4 00381 #define DC_MAXEXTENT 5 00382 #define DC_BINS 6 00383 #define DC_DUPLEX 7 00384 #define DC_SIZE 8 00385 #define DC_EXTRA 9 00386 #define DC_VERSION 10 00387 #define DC_DRIVER 11 00388 #define DC_BINNAMES 12 00389 #define DC_ENUMRESOLUTIONS 13 00390 #define DC_FILEDEPENDENCIES 14 00391 #define DC_TRUETYPE 15 00392 #define DC_PAPERNAMES 16 00393 #define DC_ORIENTATION 17 00394 #define DC_COPIES 18 00395 00396 /* needed by header files generated by WIDL */ 00397 #ifdef __WINESRC__ 00398 #define WINE_NO_UNICODE_MACROS 00399 #endif 00400 00401 #ifdef WINE_NO_UNICODE_MACROS 00402 # define WINELIB_NAME_AW(func) \ 00403 func##_must_be_suffixed_with_W_or_A_in_this_context \ 00404 func##_must_be_suffixed_with_W_or_A_in_this_context 00405 #else /* WINE_NO_UNICODE_MACROS */ 00406 # ifdef UNICODE 00407 # define WINELIB_NAME_AW(func) func##W 00408 # else 00409 # define WINELIB_NAME_AW(func) func##A 00410 # endif 00411 #endif /* WINE_NO_UNICODE_MACROS */ 00412 00413 #ifdef WINE_NO_UNICODE_MACROS 00414 # define DECL_WINELIB_TYPE_AW(type) /* nothing */ 00415 #else 00416 # define DECL_WINELIB_TYPE_AW(type) typedef WINELIB_NAME_AW(type) type; 00417 #endif 00418 00419 #ifndef __WATCOMC__ 00420 #ifndef _export 00421 #define _export 00422 #endif 00423 #ifndef __export 00424 #define __export 00425 #endif 00426 #endif 00427 00428 #if 0 00429 #ifdef __GNUC__ 00430 #define PACKED __attribute__((packed)) 00431 //#ifndef _fastcall 00432 //#define _fastcall __attribute__((fastcall)) 00433 //#endif 00434 //#ifndef __fastcall 00435 //#define __fastcall __attribute__((fastcall)) 00436 //#endif 00437 //#ifndef _stdcall 00438 //#define _stdcall __attribute__((stdcall)) 00439 //#endif 00440 //#ifndef __stdcall 00441 //#define __stdcall __attribute__((stdcall)) 00442 //#endif 00443 //#ifndef _cdecl 00444 //#define _cdecl __attribute__((cdecl)) 00445 //#endif 00446 //#ifndef __cdecl 00447 //#define __cdecl __attribute__((cdecl)) 00448 //#endif 00449 #ifndef __declspec 00450 #define __declspec(e) __attribute__((e)) 00451 #endif 00452 #ifndef _declspec 00453 #define _declspec(e) __attribute__((e)) 00454 #endif 00455 #elif defined(__WATCOMC__) 00456 #define PACKED 00457 #else 00458 #define PACKED 00459 #define _cdecl 00460 #define __cdecl 00461 #endif 00462 #endif 00463 00464 #if 1 // needed by shlwapi.h 00465 #ifndef __ms_va_list 00466 # if defined(__x86_64__) && defined (__GNUC__) 00467 # define __ms_va_list __builtin_ms_va_list 00468 # define __ms_va_start(list,arg) __builtin_ms_va_start(list,arg) 00469 # define __ms_va_end(list) __builtin_ms_va_end(list) 00470 # else 00471 # define __ms_va_list va_list 00472 # define __ms_va_start(list,arg) va_start(list,arg) 00473 # define __ms_va_end(list) va_end(list) 00474 # endif 00475 #endif 00476 #endif 00477 00478 #ifdef _MSC_VER 00479 #pragma warning(pop) 00480 #endif 00481 00482 #ifdef __cplusplus 00483 } 00484 #endif 00485 00486 #endif /* _WINDEF_ */ 00487 Generated on Sun May 27 2012 04:32:39 for ReactOS by
1.7.6.1
|