|
|
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.