--- mstools/h/windef.h 2018/08/09 18:20:32 1.1.1.2 +++ mstools/h/windef.h 2018/08/09 18:21:11 1.1.1.3 @@ -15,6 +15,10 @@ Abstract: #ifndef _WINDEF_ #define _WINDEF_ +#ifdef __cplusplus +extern "C" { +#endif + // the typedef of ULONG should go away here. It will continue to be // defined in windows\inc\windefp.h @@ -24,9 +28,6 @@ typedef unsigned long ULONG; typedef ULONG *PULONG; #endif -//#ifndef NO_STRICT -//#define STRICT 1 -//#endif // BASETYPES is defined in ntdef.h if these types are already defined #ifndef BASETYPES @@ -78,14 +79,24 @@ typedef char *PSZ; #define CDECL #endif #endif + +#if (defined(i386) && ((!defined(I386_HOST)) || (I386_HOST != 0))) || \ + (!defined(i386) && defined(I386_HOST) && (I386_HOST != 0)) +#define CALLBACK __stdcall +#define WINAPI __stdcall +#define APIENTRY WINAPI +#define APIPRIVATE __stdcall +#define PASCAL __stdcall +#else #define CALLBACK #define WINAPI #define APIENTRY WINAPI #define APIPRIVATE +#define PASCAL pascal +#endif #define FAR far #define NEAR near -#define PASCAL pascal #ifndef CONST #define CONST const #endif @@ -117,11 +128,6 @@ typedef unsigned int *PUINT; #include #endif // NT_INCLUDED -#ifdef STRICT -#undef LONG -typedef signed long LONG; -#endif - /* Types use for passing & returning polymorphic values */ typedef UINT WPARAM; typedef LONG LPARAM; @@ -158,8 +164,8 @@ typedef HANDLE NEAR *SPHANDLE; typedef HANDLE FAR *LPHANDLE; typedef HANDLE HGLOBAL; typedef HANDLE HLOCAL; -typedef HANDLE GLOBALHANDLE; -typedef HANDLE LOCALHANDLE; +typedef HANDLE GLOBALHANDLE; +typedef HANDLE LOCALHANDLE; #ifdef STRICT typedef void (FAR WINAPI *FARPROC)(void); // should be removed some day!!! typedef void (NEAR WINAPI *NEARPROC)(void); @@ -188,7 +194,8 @@ DECLARE_HANDLE(HFONT); DECLARE_HANDLE(HICON); DECLARE_HANDLE(HMENU); DECLARE_HANDLE(HMETAFILE); -DECLARE_HANDLE(HMODULE); +DECLARE_HANDLE(HINSTANCE); +typedef HINSTANCE HMODULE; /* HMODULEs can be used in place of HINSTANCEs */ DECLARE_HANDLE(HPALETTE); DECLARE_HANDLE(HPEN); DECLARE_HANDLE(HRGN); @@ -198,7 +205,7 @@ DECLARE_HANDLE(HWINSTA); DECLARE_HANDLE(HKL); typedef int HFILE; /* Polymorphic with C runtime file handle type */ -typedef HICON HCURSOR; /* HICONs & HCURSORs are polymorphic */ +typedef HICON HCURSOR; /* HICONs & HCURSORs are polymorphic */ typedef DWORD COLORREF; typedef DWORD *LPCOLORREF; @@ -279,5 +286,8 @@ typedef struct tagPOINTS #define DC_ORIENTATION 17 #define DC_COPIES 18 +#ifdef __cplusplus +} +#endif #endif // _WINDEF_