|
|
1.1.1.4 ! root 1: /*++ BUILD Version: 0001 Increment this if a change has global effects 1.1 root 2: 1.1.1.4 ! root 3: Copyright (c) 1985-1993, Microsoft Corporation 1.1 root 4: 5: Module Name: 6: 7: windef.h 8: 9: Abstract: 10: 11: Type definitions for Windows' basic types. 12: 13: --*/ 14: 15: #ifndef _WINDEF_ 16: #define _WINDEF_ 17: 1.1.1.3 root 18: #ifdef __cplusplus 19: extern "C" { 20: #endif 21: 1.1.1.4 ! root 22: /* ! 23: * BASETYPES is defined in ntdef.h if these types are already defined ! 24: */ 1.1 root 25: 26: #ifndef BASETYPES 27: #define BASETYPES 1.1.1.4 ! root 28: typedef unsigned long ULONG; ! 29: typedef ULONG *PULONG; 1.1 root 30: typedef unsigned short USHORT; 31: typedef USHORT *PUSHORT; 32: typedef unsigned char UCHAR; 33: typedef UCHAR *PUCHAR; 34: typedef char *PSZ; 1.1.1.4 ! root 35: #endif /* !BASETYPES */ 1.1 root 36: 37: #define MAX_PATH 260 38: 39: #ifndef NULL 1.1.1.4 ! root 40: #ifdef __cplusplus ! 41: #define NULL 0 ! 42: #else ! 43: #define NULL ((void *)0) ! 44: #endif 1.1 root 45: #endif 46: 47: #ifndef FALSE 48: #define FALSE 0 49: #endif 50: 51: #ifndef TRUE 52: #define TRUE 1 53: #endif 54: 1.1.1.2 root 55: #ifndef IN 56: #define IN 57: #endif 58: 59: #ifndef OUT 60: #define OUT 61: #endif 62: 63: #ifndef OPTIONAL 64: #define OPTIONAL 65: #endif 66: 1.1.1.4 ! root 67: #undef far ! 68: #undef near ! 69: #undef pascal ! 70: 1.1 root 71: #define far 72: #define near 1.1.1.4 ! root 73: #if (_MSC_VER >= 800) ! 74: #define pascal __stdcall ! 75: #else 1.1 root 76: #define pascal 1.1.1.4 ! root 77: #endif ! 78: 1.1 root 79: #ifdef DOSWIN32 80: #define cdecl _cdecl 1.1.1.2 root 81: #ifndef CDECL 82: #define CDECL _cdecl 83: #endif 1.1 root 84: #else 85: #define cdecl 1.1.1.2 root 86: #ifndef CDECL 87: #define CDECL 1.1 root 88: #endif 1.1.1.2 root 89: #endif 1.1.1.3 root 90: 1.1.1.4 ! root 91: #if (_MSC_VER >= 800) 1.1.1.3 root 92: #define CALLBACK __stdcall 93: #define WINAPI __stdcall 1.1.1.4 ! root 94: #define WINAPIV __cdecl 1.1.1.3 root 95: #define APIENTRY WINAPI 96: #define APIPRIVATE __stdcall 97: #define PASCAL __stdcall 98: #else 1.1.1.2 root 99: #define CALLBACK 100: #define WINAPI 1.1.1.4 ! root 101: #define WINAPIV 1.1.1.2 root 102: #define APIENTRY WINAPI 1.1 root 103: #define APIPRIVATE 1.1.1.4 ! root 104: #define PASCAL pascal 1.1.1.3 root 105: #endif 1.1 root 106: 107: #define FAR far 108: #define NEAR near 1.1.1.2 root 109: #ifndef CONST 110: #define CONST const 111: #endif 1.1 root 112: 113: typedef unsigned long DWORD; 114: typedef int BOOL; 115: typedef unsigned char BYTE; 116: typedef unsigned short WORD; 117: typedef float FLOAT; 118: typedef FLOAT *PFLOAT; 119: typedef BOOL near *PBOOL; 120: typedef BOOL far *LPBOOL; 121: typedef BYTE near *PBYTE; 122: typedef BYTE far *LPBYTE; 123: typedef int near *PINT; 124: typedef int far *LPINT; 125: typedef WORD near *PWORD; 126: typedef WORD far *LPWORD; 127: typedef long far *LPLONG; 128: typedef DWORD near *PDWORD; 129: typedef DWORD far *LPDWORD; 130: typedef void far *LPVOID; 1.1.1.4 ! root 131: typedef CONST void far *LPCVOID; 1.1 root 132: 133: typedef int INT; 134: typedef unsigned int UINT; 135: typedef unsigned int *PUINT; 136: 137: #ifndef NT_INCLUDED 138: #include <winnt.h> 1.1.1.4 ! root 139: #endif /* NT_INCLUDED */ 1.1 root 140: 1.1.1.2 root 141: /* Types use for passing & returning polymorphic values */ 142: typedef UINT WPARAM; 143: typedef LONG LPARAM; 144: typedef LONG LRESULT; 145: 1.1 root 146: #ifndef NOMINMAX 147: 148: #ifndef max 149: #define max(a,b) (((a) > (b)) ? (a) : (b)) 150: #endif 151: 152: #ifndef min 153: #define min(a,b) (((a) < (b)) ? (a) : (b)) 154: #endif 155: 156: #endif /* NOMINMAX */ 157: 158: #define MAKEWORD(a, b) ((WORD)(((BYTE)(a)) | ((WORD)((BYTE)(b))) << 8)) 159: #define MAKELONG(a, b) ((LONG)(((WORD)(a)) | ((DWORD)((WORD)(b))) << 16)) 160: #define LOWORD(l) ((WORD)(l)) 161: #define HIWORD(l) ((WORD)(((DWORD)(l) >> 16) & 0xFFFF)) 162: #define LOBYTE(w) ((BYTE)(w)) 163: #define HIBYTE(w) ((BYTE)(((WORD)(w) >> 8) & 0xFF)) 164: 165: 166: #ifndef WIN_INTERNAL 1.1.1.2 root 167: DECLARE_HANDLE (HWND); 168: DECLARE_HANDLE (HHOOK); 1.1 root 169: #endif 170: 171: typedef WORD ATOM; 172: 173: typedef HANDLE NEAR *SPHANDLE; 174: typedef HANDLE FAR *LPHANDLE; 1.1.1.2 root 175: typedef HANDLE HGLOBAL; 176: typedef HANDLE HLOCAL; 1.1.1.3 root 177: typedef HANDLE GLOBALHANDLE; 178: typedef HANDLE LOCALHANDLE; 1.1.1.4 ! root 179: typedef int (FAR WINAPI *FARPROC)(); 1.1.1.2 root 180: typedef int (NEAR WINAPI *NEARPROC)(); 1.1.1.4 ! root 181: typedef int (WINAPI *PROC)(); 1.1.1.2 root 182: 183: #ifdef STRICT 1.1.1.4 ! root 184: typedef void NEAR* HGDIOBJ; 1.1.1.2 root 185: #else 186: DECLARE_HANDLE(HGDIOBJ); 187: #endif 188: 189: DECLARE_HANDLE(HACCEL); 190: DECLARE_HANDLE(HBITMAP); 191: DECLARE_HANDLE(HBRUSH); 192: DECLARE_HANDLE(HDC); 193: DECLARE_HANDLE(HDESK); 194: DECLARE_HANDLE(HENHMETAFILE); 195: DECLARE_HANDLE(HFONT); 196: DECLARE_HANDLE(HICON); 197: DECLARE_HANDLE(HMENU); 198: DECLARE_HANDLE(HMETAFILE); 1.1.1.3 root 199: DECLARE_HANDLE(HINSTANCE); 200: typedef HINSTANCE HMODULE; /* HMODULEs can be used in place of HINSTANCEs */ 1.1.1.2 root 201: DECLARE_HANDLE(HPALETTE); 202: DECLARE_HANDLE(HPEN); 203: DECLARE_HANDLE(HRGN); 204: DECLARE_HANDLE(HRSRC); 205: DECLARE_HANDLE(HSTR); 206: DECLARE_HANDLE(HWINSTA); 207: DECLARE_HANDLE(HKL); 208: 209: typedef int HFILE; /* Polymorphic with C runtime file handle type */ 1.1.1.3 root 210: typedef HICON HCURSOR; /* HICONs & HCURSORs are polymorphic */ 1.1 root 211: 212: typedef DWORD COLORREF; 1.1.1.2 root 213: typedef DWORD *LPCOLORREF; 214: 215: #define HFILE_ERROR ((HFILE)-1) 1.1 root 216: 217: typedef struct tagRECT 218: { 219: LONG left; 220: LONG top; 221: LONG right; 222: LONG bottom; 223: } RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT; 224: 1.1.1.2 root 225: typedef struct _RECTL /* rcl */ 1.1 root 226: { 227: LONG left; 228: LONG top; 229: LONG right; 230: LONG bottom; 231: } RECTL, *PRECTL; 232: 233: typedef struct tagPOINT 234: { 235: LONG x; 236: LONG y; 237: } POINT, *PPOINT, NEAR *NPPOINT, FAR *LPPOINT; 238: 239: typedef struct _POINTL /* ptl */ 240: { 241: LONG x; 242: LONG y; 243: } POINTL, *PPOINTL; 244: 245: typedef struct tagSIZE 246: { 247: LONG cx; 248: LONG cy; 249: } SIZE, *PSIZE, *LPSIZE; 250: 251: typedef SIZE SIZEL; 252: typedef SIZE *PSIZEL; 253: 254: typedef struct tagPOINTS 255: { 256: SHORT x; 257: SHORT y; 258: } POINTS, *PPOINTS, *LPPOINTS; 259: 260: /* mode selections for the device mode function */ 261: #define DM_UPDATE 1 262: #define DM_COPY 2 263: #define DM_PROMPT 4 264: #define DM_MODIFY 8 265: 266: #define DM_IN_BUFFER DM_MODIFY 267: #define DM_IN_PROMPT DM_PROMPT 268: #define DM_OUT_BUFFER DM_COPY 269: #define DM_OUT_DEFAULT DM_UPDATE 270: 271: /* device capabilities indices */ 272: #define DC_FIELDS 1 273: #define DC_PAPERS 2 274: #define DC_PAPERSIZE 3 275: #define DC_MINEXTENT 4 276: #define DC_MAXEXTENT 5 277: #define DC_BINS 6 278: #define DC_DUPLEX 7 279: #define DC_SIZE 8 280: #define DC_EXTRA 9 281: #define DC_VERSION 10 282: #define DC_DRIVER 11 1.1.1.2 root 283: #define DC_BINNAMES 12 284: #define DC_ENUMRESOLUTIONS 13 285: #define DC_FILEDEPENDENCIES 14 286: #define DC_TRUETYPE 15 287: #define DC_PAPERNAMES 16 288: #define DC_ORIENTATION 17 289: #define DC_COPIES 18 1.1 root 290: 1.1.1.3 root 291: #ifdef __cplusplus 292: } 293: #endif 1.1 root 294: 1.1.1.4 ! root 295: #endif /* _WINDEF_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.