--- mstools/h/windef.h 2018/08/09 18:20:01 1.1 +++ mstools/h/windef.h 2018/08/09 18:23:06 1.1.1.4 @@ -1,6 +1,6 @@ -/*++ BUILD Version: 0001 // Increment this if a change has global effects +/*++ BUILD Version: 0001 Increment this if a change has global effects -Copyright (c) 1985-91, Microsoft Corporation +Copyright (c) 1985-1993, Microsoft Corporation Module Name: @@ -15,7 +15,13 @@ Abstract: #ifndef _WINDEF_ #define _WINDEF_ -// BASETYPES is defined in ntdef.h if these types are already defined +#ifdef __cplusplus +extern "C" { +#endif + +/* + * BASETYPES is defined in ntdef.h if these types are already defined + */ #ifndef BASETYPES #define BASETYPES @@ -26,30 +32,16 @@ typedef USHORT *PUSHORT; typedef unsigned char UCHAR; typedef UCHAR *PUCHAR; typedef char *PSZ; -typedef char *PCHAR; - -#ifndef THANKS -#define IN -#define OUT -#define OPTIONAL -#endif // !THANKS - -#endif // !BASETYPES - -#ifndef THANKS -#define CRITICAL -#define XXX -#define NEXTCOUNT -#define PREVCOUNT -#define BATCH -#define CHUNKY -#define BREAK -#endif // !THANKS +#endif /* !BASETYPES */ #define MAX_PATH 260 #ifndef NULL -#define NULL 0 +#ifdef __cplusplus +#define NULL 0 +#else +#define NULL ((void *)0) +#endif #endif #ifndef FALSE @@ -60,20 +52,63 @@ typedef char *PCHAR; #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 +#if (_MSC_VER >= 800) +#define pascal __stdcall +#else #define pascal +#endif + #ifdef DOSWIN32 #define cdecl _cdecl +#ifndef CDECL +#define CDECL _cdecl +#endif #else #define cdecl +#ifndef CDECL +#define CDECL #endif -#define APIENTRY +#endif + +#if (_MSC_VER >= 800) +#define CALLBACK __stdcall +#define WINAPI __stdcall +#define WINAPIV __cdecl +#define APIENTRY WINAPI +#define APIPRIVATE __stdcall +#define PASCAL __stdcall +#else +#define CALLBACK +#define WINAPI +#define WINAPIV +#define APIENTRY WINAPI #define APIPRIVATE +#define PASCAL pascal +#endif #define FAR far #define NEAR near -#define PASCAL pascal +#ifndef CONST +#define CONST const +#endif typedef unsigned long DWORD; typedef int BOOL; @@ -83,9 +118,6 @@ typedef float FLOAT; typedef FLOAT *PFLOAT; typedef BOOL near *PBOOL; typedef BOOL far *LPBOOL; -typedef char near *PSTR; -typedef char near *NPSTR; -typedef char far *LPSTR; typedef BYTE near *PBYTE; typedef BYTE far *LPBYTE; typedef int near *PINT; @@ -96,6 +128,7 @@ typedef long far *LPLONG; typedef DWORD near *PDWORD; typedef DWORD far *LPDWORD; typedef void far *LPVOID; +typedef CONST void far *LPCVOID; typedef int INT; typedef unsigned int UINT; @@ -103,7 +136,12 @@ typedef unsigned int *PUINT; #ifndef NT_INCLUDED #include -#endif // NT_INCLUDED +#endif /* NT_INCLUDED */ + +/* Types use for passing & returning polymorphic values */ +typedef UINT WPARAM; +typedef LONG LPARAM; +typedef LONG LRESULT; #ifndef NOMINMAX @@ -126,37 +164,55 @@ typedef unsigned int *PUINT; #ifndef WIN_INTERNAL -typedef HANDLE HWND; -typedef HANDLE HHOOK; +DECLARE_HANDLE (HWND); +DECLARE_HANDLE (HHOOK); #endif typedef WORD ATOM; typedef HANDLE NEAR *SPHANDLE; typedef HANDLE FAR *LPHANDLE; +typedef HANDLE HGLOBAL; +typedef HANDLE HLOCAL; typedef HANDLE GLOBALHANDLE; typedef HANDLE LOCALHANDLE; -typedef int (FAR APIENTRY *FARPROC)(); // should be removed some day!!! -typedef int (NEAR APIENTRY *NEARPROC)(); -typedef int (APIENTRY *PROC)(); // new 32-bit version - -typedef HANDLE HSTR; -typedef HANDLE HICON; -typedef HANDLE HDC; -typedef HANDLE HWINSTA; -typedef HANDLE HDESK; -typedef HANDLE HMENU; -typedef HANDLE HPEN; -typedef HANDLE HFONT; -typedef HANDLE HBRUSH; -typedef HANDLE HBITMAP; -typedef HANDLE HCURSOR; -typedef HANDLE HRGN; -typedef HANDLE HPALETTE; -typedef HANDLE HMODULE; -typedef HANDLE HMF; +typedef int (FAR WINAPI *FARPROC)(); +typedef int (NEAR WINAPI *NEARPROC)(); +typedef int (WINAPI *PROC)(); + +#ifdef STRICT +typedef void NEAR* HGDIOBJ; +#else +DECLARE_HANDLE(HGDIOBJ); +#endif + +DECLARE_HANDLE(HACCEL); +DECLARE_HANDLE(HBITMAP); +DECLARE_HANDLE(HBRUSH); +DECLARE_HANDLE(HDC); +DECLARE_HANDLE(HDESK); +DECLARE_HANDLE(HENHMETAFILE); +DECLARE_HANDLE(HFONT); +DECLARE_HANDLE(HICON); +DECLARE_HANDLE(HMENU); +DECLARE_HANDLE(HMETAFILE); +DECLARE_HANDLE(HINSTANCE); +typedef HINSTANCE HMODULE; /* HMODULEs can be used in place of HINSTANCEs */ +DECLARE_HANDLE(HPALETTE); +DECLARE_HANDLE(HPEN); +DECLARE_HANDLE(HRGN); +DECLARE_HANDLE(HRSRC); +DECLARE_HANDLE(HSTR); +DECLARE_HANDLE(HWINSTA); +DECLARE_HANDLE(HKL); + +typedef int HFILE; /* Polymorphic with C runtime file handle type */ +typedef HICON HCURSOR; /* HICONs & HCURSORs are polymorphic */ typedef DWORD COLORREF; +typedef DWORD *LPCOLORREF; + +#define HFILE_ERROR ((HFILE)-1) typedef struct tagRECT { @@ -166,7 +222,7 @@ typedef struct tagRECT LONG bottom; } RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT; -typedef struct _RECTL /* rcl */ +typedef struct _RECTL /* rcl */ { LONG left; LONG top; @@ -224,6 +280,16 @@ typedef struct tagPOINTS #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 // _WINDEF_ +#endif /* _WINDEF_ */