|
|
1.1 ! root 1: /*++ BUILD Version: 0001 // Increment this if a change has global effects ! 2: ! 3: Copyright (c) 1985-91, Microsoft Corporation ! 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: ! 18: // BASETYPES is defined in ntdef.h if these types are already defined ! 19: ! 20: #ifndef BASETYPES ! 21: #define BASETYPES ! 22: typedef unsigned long ULONG; ! 23: typedef ULONG *PULONG; ! 24: typedef unsigned short USHORT; ! 25: typedef USHORT *PUSHORT; ! 26: typedef unsigned char UCHAR; ! 27: typedef UCHAR *PUCHAR; ! 28: typedef char *PSZ; ! 29: typedef char *PCHAR; ! 30: ! 31: #ifndef THANKS ! 32: #define IN ! 33: #define OUT ! 34: #define OPTIONAL ! 35: #endif // !THANKS ! 36: ! 37: #endif // !BASETYPES ! 38: ! 39: #ifndef THANKS ! 40: #define CRITICAL ! 41: #define XXX ! 42: #define NEXTCOUNT ! 43: #define PREVCOUNT ! 44: #define BATCH ! 45: #define CHUNKY ! 46: #define BREAK ! 47: #endif // !THANKS ! 48: ! 49: #define MAX_PATH 260 ! 50: ! 51: #ifndef NULL ! 52: #define NULL 0 ! 53: #endif ! 54: ! 55: #ifndef FALSE ! 56: #define FALSE 0 ! 57: #endif ! 58: ! 59: #ifndef TRUE ! 60: #define TRUE 1 ! 61: #endif ! 62: ! 63: #define far ! 64: #define near ! 65: #define pascal ! 66: #ifdef DOSWIN32 ! 67: #define cdecl _cdecl ! 68: #else ! 69: #define cdecl ! 70: #endif ! 71: #define APIENTRY ! 72: #define APIPRIVATE ! 73: ! 74: #define FAR far ! 75: #define NEAR near ! 76: #define PASCAL pascal ! 77: ! 78: typedef unsigned long DWORD; ! 79: typedef int BOOL; ! 80: typedef unsigned char BYTE; ! 81: typedef unsigned short WORD; ! 82: typedef float FLOAT; ! 83: typedef FLOAT *PFLOAT; ! 84: typedef BOOL near *PBOOL; ! 85: typedef BOOL far *LPBOOL; ! 86: typedef char near *PSTR; ! 87: typedef char near *NPSTR; ! 88: typedef char far *LPSTR; ! 89: typedef BYTE near *PBYTE; ! 90: typedef BYTE far *LPBYTE; ! 91: typedef int near *PINT; ! 92: typedef int far *LPINT; ! 93: typedef WORD near *PWORD; ! 94: typedef WORD far *LPWORD; ! 95: typedef long far *LPLONG; ! 96: typedef DWORD near *PDWORD; ! 97: typedef DWORD far *LPDWORD; ! 98: typedef void far *LPVOID; ! 99: ! 100: typedef int INT; ! 101: typedef unsigned int UINT; ! 102: typedef unsigned int *PUINT; ! 103: ! 104: #ifndef NT_INCLUDED ! 105: #include <winnt.h> ! 106: #endif // NT_INCLUDED ! 107: ! 108: #ifndef NOMINMAX ! 109: ! 110: #ifndef max ! 111: #define max(a,b) (((a) > (b)) ? (a) : (b)) ! 112: #endif ! 113: ! 114: #ifndef min ! 115: #define min(a,b) (((a) < (b)) ? (a) : (b)) ! 116: #endif ! 117: ! 118: #endif /* NOMINMAX */ ! 119: ! 120: #define MAKEWORD(a, b) ((WORD)(((BYTE)(a)) | ((WORD)((BYTE)(b))) << 8)) ! 121: #define MAKELONG(a, b) ((LONG)(((WORD)(a)) | ((DWORD)((WORD)(b))) << 16)) ! 122: #define LOWORD(l) ((WORD)(l)) ! 123: #define HIWORD(l) ((WORD)(((DWORD)(l) >> 16) & 0xFFFF)) ! 124: #define LOBYTE(w) ((BYTE)(w)) ! 125: #define HIBYTE(w) ((BYTE)(((WORD)(w) >> 8) & 0xFF)) ! 126: ! 127: ! 128: #ifndef WIN_INTERNAL ! 129: typedef HANDLE HWND; ! 130: typedef HANDLE HHOOK; ! 131: #endif ! 132: ! 133: typedef WORD ATOM; ! 134: ! 135: typedef HANDLE NEAR *SPHANDLE; ! 136: typedef HANDLE FAR *LPHANDLE; ! 137: typedef HANDLE GLOBALHANDLE; ! 138: typedef HANDLE LOCALHANDLE; ! 139: typedef int (FAR APIENTRY *FARPROC)(); // should be removed some day!!! ! 140: typedef int (NEAR APIENTRY *NEARPROC)(); ! 141: typedef int (APIENTRY *PROC)(); // new 32-bit version ! 142: ! 143: typedef HANDLE HSTR; ! 144: typedef HANDLE HICON; ! 145: typedef HANDLE HDC; ! 146: typedef HANDLE HWINSTA; ! 147: typedef HANDLE HDESK; ! 148: typedef HANDLE HMENU; ! 149: typedef HANDLE HPEN; ! 150: typedef HANDLE HFONT; ! 151: typedef HANDLE HBRUSH; ! 152: typedef HANDLE HBITMAP; ! 153: typedef HANDLE HCURSOR; ! 154: typedef HANDLE HRGN; ! 155: typedef HANDLE HPALETTE; ! 156: typedef HANDLE HMODULE; ! 157: typedef HANDLE HMF; ! 158: ! 159: typedef DWORD COLORREF; ! 160: ! 161: typedef struct tagRECT ! 162: { ! 163: LONG left; ! 164: LONG top; ! 165: LONG right; ! 166: LONG bottom; ! 167: } RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT; ! 168: ! 169: typedef struct _RECTL /* rcl */ ! 170: { ! 171: LONG left; ! 172: LONG top; ! 173: LONG right; ! 174: LONG bottom; ! 175: } RECTL, *PRECTL; ! 176: ! 177: typedef struct tagPOINT ! 178: { ! 179: LONG x; ! 180: LONG y; ! 181: } POINT, *PPOINT, NEAR *NPPOINT, FAR *LPPOINT; ! 182: ! 183: typedef struct _POINTL /* ptl */ ! 184: { ! 185: LONG x; ! 186: LONG y; ! 187: } POINTL, *PPOINTL; ! 188: ! 189: typedef struct tagSIZE ! 190: { ! 191: LONG cx; ! 192: LONG cy; ! 193: } SIZE, *PSIZE, *LPSIZE; ! 194: ! 195: typedef SIZE SIZEL; ! 196: typedef SIZE *PSIZEL; ! 197: ! 198: typedef struct tagPOINTS ! 199: { ! 200: SHORT x; ! 201: SHORT y; ! 202: } POINTS, *PPOINTS, *LPPOINTS; ! 203: ! 204: /* mode selections for the device mode function */ ! 205: #define DM_UPDATE 1 ! 206: #define DM_COPY 2 ! 207: #define DM_PROMPT 4 ! 208: #define DM_MODIFY 8 ! 209: ! 210: #define DM_IN_BUFFER DM_MODIFY ! 211: #define DM_IN_PROMPT DM_PROMPT ! 212: #define DM_OUT_BUFFER DM_COPY ! 213: #define DM_OUT_DEFAULT DM_UPDATE ! 214: ! 215: /* device capabilities indices */ ! 216: #define DC_FIELDS 1 ! 217: #define DC_PAPERS 2 ! 218: #define DC_PAPERSIZE 3 ! 219: #define DC_MINEXTENT 4 ! 220: #define DC_MAXEXTENT 5 ! 221: #define DC_BINS 6 ! 222: #define DC_DUPLEX 7 ! 223: #define DC_SIZE 8 ! 224: #define DC_EXTRA 9 ! 225: #define DC_VERSION 10 ! 226: #define DC_DRIVER 11 ! 227: ! 228: ! 229: #endif // _WINDEF_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.