home *** CD-ROM | disk | FTP | other *** search
- /*++ BUILD Version: 0001 Increment this if a change has global effects
-
- Copyright (c) 1985-1993, Microsoft Corporation
-
- Module Name:
-
- windef.h
-
- Abstract:
-
- Type definitions for Windows' basic types.
-
- --*/
-
- #ifndef __WINDEF_H
- #define __WINDEF_H
-
-
- #ifndef _X86_
- #define _X86_
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- /*
- * BASETYPES is defined in ntdef.h if these types are already defined
- */
-
- #ifndef BASETYPES
- #define BASETYPES
- typedef unsigned long ULONG;
- typedef ULONG *PULONG;
- typedef unsigned short USHORT;
- typedef USHORT *PUSHORT;
- typedef unsigned char UCHAR;
- typedef UCHAR *PUCHAR;
- typedef char *PSZ;
- #endif /* !BASETYPES */
-
- #define MAX_PATH 260
-
- #ifndef NULL
- # if defined(__cplusplus) || defined(_Windows)
- # define NULL 0
- # else
- # define NULL ((void *)0)
- # endif
- #endif
-
- #ifndef FALSE
- #define FALSE 0
- #endif
-
- #ifndef TRUE
- #define TRUE 1
- #endif
-
- #ifndef IN
- #define IN
- #endif
-
- #ifndef OUT
- #define OUT
- #endif
-
- #ifndef OPTIONAL
- #define OPTIONAL
- #endif
-
- #ifdef far
- #undef far
- #endif
- #ifdef near
- #undef near
- #endif
- #ifdef pascal
- #undef pascal
- #endif
-
- #define far
- #define near
- #if (_MSC_VER >= 800)
- #define pascal __stdcall
- #else
- /* #define pascal */
- #endif
-
- #if defined(DOSWIN32) || defined(__BORLANDC__)
- #define cdecl __cdecl
- #ifndef CDECL
- #define CDECL __cdecl
- #endif
- #else
- #define cdecl
- #ifndef CDECL
- #define CDECL
- #endif
- #endif
-
- #if (_MSC_VER >= 800) || defined(__BORLANDC__)
- #define CALLBACK __stdcall
- #define WINAPI __stdcall __import
- #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
- #ifndef CONST
- #define CONST const
- #endif
-
- typedef unsigned long DWORD;
- typedef int BOOL;
- typedef unsigned char BYTE;
- typedef unsigned short WORD;
- typedef float FLOAT;
- typedef FLOAT *PFLOAT;
- typedef BOOL near *PBOOL;
- typedef BOOL far *LPBOOL;
- typedef BYTE near *PBYTE;
- typedef BYTE far *LPBYTE;
- typedef int near *PINT;
- typedef int far *LPINT;
- typedef WORD near *PWORD;
- typedef WORD far *LPWORD;
- 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;
- typedef unsigned int *PUINT;
-
- #ifdef __cplusplus
- }
- #endif
-
- #ifndef __WINNT_H
- #include <winnt.h>
- #endif /* __WINNT_H */
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- /* Types use for passing & returning polymorphic values */
- typedef UINT WPARAM;
- typedef LONG LPARAM;
- typedef LONG LRESULT;
-
- #if !defined(NOMINMAX) && !defined(__cplusplus)
-
- #ifndef max
- #define max(a,b) (((a) > (b)) ? (a) : (b))
- #endif
-
- #ifndef min
- #define min(a,b) (((a) < (b)) ? (a) : (b))
- #endif
-
- #endif /* NOMINMAX && __cplusplus */
-
- #define MAKEWORD(a, b) ((WORD)(((BYTE)(a)) | (((WORD)((BYTE)(b))) << 8)))
- #define MAKELONG(a, b) ((LONG)(((WORD)(a)) | (((DWORD)((WORD)(b))) << 16)))
- #define LOWORD(l) ((WORD)(l))
- #define HIWORD(l) ((WORD)(((DWORD)(l) >> 16) & 0xFFFF))
- #define LOBYTE(w) ((BYTE)(w))
- #define HIBYTE(w) ((BYTE)(((WORD)(w) >> 8) & 0xFF))
-
-
- #ifndef WIN_INTERNAL
- 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 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
- {
- LONG left;
- LONG top;
- LONG right;
- LONG bottom;
- } RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;
-
- typedef struct _RECTL /* rcl */
- {
- LONG left;
- LONG top;
- LONG right;
- LONG bottom;
- } RECTL, *PRECTL;
-
- typedef struct tagPOINT
- {
- LONG x;
- LONG y;
- } POINT, *PPOINT, NEAR *NPPOINT, FAR *LPPOINT;
-
- typedef struct _POINTL /* ptl */
- {
- LONG x;
- LONG y;
- } POINTL, *PPOINTL;
-
- typedef struct tagSIZE
- {
- LONG cx;
- LONG cy;
- } SIZE, *PSIZE, *LPSIZE;
-
- typedef SIZE SIZEL;
- typedef SIZE *PSIZEL;
-
- typedef struct tagPOINTS
- {
- SHORT x;
- SHORT y;
- } POINTS, *PPOINTS, *LPPOINTS;
-
- /* mode selections for the device mode function */
- #define DM_UPDATE 1
- #define DM_COPY 2
- #define DM_PROMPT 4
- #define DM_MODIFY 8
-
- #define DM_IN_BUFFER DM_MODIFY
- #define DM_IN_PROMPT DM_PROMPT
- #define DM_OUT_BUFFER DM_COPY
- #define DM_OUT_DEFAULT DM_UPDATE
-
- /* device capabilities indices */
- #define DC_FIELDS 1
- #define DC_PAPERS 2
- #define DC_PAPERSIZE 3
- #define DC_MINEXTENT 4
- #define DC_MAXEXTENT 5
- #define DC_BINS 6
- #define DC_DUPLEX 7
- #define DC_SIZE 8
- #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_ */