source: trunk/src/win16ldr/msc60win.h@ 10367

Last change on this file since 10367 was 5979, checked in by bird, 24 years ago

It now COMPILES with msc60, but can't link it due to missing library files...

File size: 10.7 KB
Line 
1
2
3
4/*******************************************************************************
5* Defined Constants And Macros *
6*******************************************************************************/
7#define PASCAL _pascal
8#define CALLBACK _far _pascal
9#define WINAPI _far _pascal
10#define FAR _far
11#define NEAR _near
12
13#define FALSE 0
14#define TRUE 1
15
16#if MSC < 700
17#define __export
18#endif
19
20#ifndef NULL
21#define NULL 0
22#endif
23
24/* Show window */
25#define SW_HIDE 0
26#define SW_SHOWNORMAL 1
27#define SW_NORMAL 1
28#define SW_SHOWMINIMIZED 2
29#define SW_SHOWMAXIMIZED 3
30#define SW_MAXIMIZE 3
31#define SW_SHOWNOACTIVATE 4
32#define SW_SHOW 5
33#define SW_MINIMIZE 6
34#define SW_SHOWMINNOACTIVE 7
35#define SW_SHOWNA 8
36#define SW_RESTORE 9
37
38/* Message box */
39#define MB_OK 0x0000
40#define MB_OKCANCEL 0x0001
41#define MB_ABORTRETRYIGNORE 0x0002
42#define MB_YESNOCANCEL 0x0003
43#define MB_YESNO 0x0004
44#define MB_RETRYCANCEL 0x0005
45#define MB_TYPEMASK 0x000F
46
47#define MB_ICONHAND 0x0010
48#define MB_ICONQUESTION 0x0020
49#define MB_ICONEXCLAMATION 0x0030
50#define MB_ICONASTERISK 0x0040
51#define MB_ICONMASK 0x00F0
52
53#define MB_ICONINFORMATION MB_ICONASTERISK
54#define MB_ICONSTOP MB_ICONHAND
55
56#define MB_DEFBUTTON1 0x0000
57#define MB_DEFBUTTON2 0x0100
58#define MB_DEFBUTTON3 0x0200
59#define MB_DEFMASK 0x0F00
60
61#define MB_APPLMODAL 0x0000
62#define MB_SYSTEMMODAL 0x1000
63#define MB_TASKMODAL 0x2000
64
65#define MB_NOFOCUS 0x8000
66
67
68/* Brush */
69#define WHITE_BRUSH 0
70#define LTGRAY_BRUSH 1
71#define GRAY_BRUSH 2
72#define DKGRAY_BRUSH 3
73#define BLACK_BRUSH 4
74#define NULL_BRUSH 5
75#define HOLLOW_BRUSH NULL_BRUSH
76
77
78/* Window style */
79#define WS_OVERLAPPED 0x00000000L
80#define WS_POPUP 0x80000000L
81#define WS_CHILD 0x40000000L
82
83#define WS_CLIPSIBLINGS 0x04000000L
84#define WS_CLIPCHILDREN 0x02000000L
85
86#define WS_VISIBLE 0x10000000L
87#define WS_DISABLED 0x08000000L
88
89#define WS_MINIMIZE 0x20000000L
90#define WS_MAXIMIZE 0x01000000L
91
92#define WS_CAPTION 0x00C00000L /* WS_BORDER | WS_DLGFRAME */
93#define WS_BORDER 0x00800000L
94#define WS_DLGFRAME 0x00400000L
95#define WS_VSCROLL 0x00200000L
96#define WS_HSCROLL 0x00100000L
97#define WS_SYSMENU 0x00080000L
98#define WS_THICKFRAME 0x00040000L
99#define WS_MINIMIZEBOX 0x00020000L
100#define WS_MAXIMIZEBOX 0x00010000L
101
102#define WS_GROUP 0x00020000L
103#define WS_TABSTOP 0x00010000L
104
105#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
106#define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
107#define WS_CHILDWINDOW (WS_CHILD)
108
109#define WS_EX_DLGMODALFRAME 0x00000001L
110#define WS_EX_NOPARENTNOTIFY 0x00000004L
111
112#define WS_EX_TOPMOST 0x00000008L
113#define WS_EX_ACCEPTFILES 0x00000010L
114#define WS_EX_TRANSPARENT 0x00000020L
115
116#define WS_TILED WS_OVERLAPPED
117#define WS_ICONIC WS_MINIMIZE
118#define WS_SIZEBOX WS_THICKFRAME
119#define WS_TILEDWINDOW WS_OVERLAPPEDWINDOW
120
121
122/* Create window flags */
123#define CW_USEDEFAULT ((short)0x8000)
124
125
126/* Window messages */
127#define WM_CREATE 0x0001
128#define WM_TIMER 0x0113
129#define WM_DESTROY 0x0002
130
131
132/* Misc */
133#define HINSTANCE_ERROR ((HINSTANCE)32)
134#define MAKELP(sel, off) ((void FAR*)MAKELONG((off), (sel)))
135#define SELECTOROF(lp) HIWORD(lp)
136#define OFFSETOF(lp) LOWORD(lp)
137#define FIELDOFFSET(type, field) ((int)(&((type NEAR*)1)->field)-1)
138#define LOBYTE(w) ((BYTE)(w))
139#define HIBYTE(w) ((BYTE)(((UINT)(w) >> 8) & 0xFF))
140#define LOWORD(l) ((WORD)(DWORD)(l))
141#define HIWORD(l) ((WORD)((((DWORD)(l)) >> 16) & 0xFFFF))
142#define MAKELONG(low, high) ((LONG)(((WORD)(low)) | (((DWORD)((WORD)(high))) << 16)))
143
144
145/* Global Memory */
146#define GMEM_FIXED 0x0000
147#define GMEM_MOVEABLE 0x0002
148#define GMEM_NOCOMPACT 0x0010
149#define GMEM_NODISCARD 0x0020
150#define GMEM_ZEROINIT 0x0040
151#define GMEM_MODIFY 0x0080
152#define GMEM_DISCARDABLE 0x0100
153#define GMEM_NOT_BANKED 0x1000
154#define GMEM_SHARE 0x2000
155#define GMEM_DDESHARE 0x2000
156#define GMEM_NOTIFY 0x4000
157#define GMEM_LOWER GMEM_NOT_BANKED
158#define GHND (GMEM_MOVEABLE | GMEM_ZEROINIT)
159#define GPTR (GMEM_FIXED | GMEM_ZEROINIT)
160#define GlobalDiscard(h) GlobalReAlloc(h, 0L, GMEM_MOVEABLE)
161
162
163/* Open file */
164#define OF_READ 0x0000
165#define OF_WRITE 0x0001
166#define OF_READWRITE 0x0002
167#define OF_SHARE_COMPAT 0x0000
168#define OF_SHARE_EXCLUSIVE 0x0010
169#define OF_SHARE_DENY_WRITE 0x0020
170#define OF_SHARE_DENY_READ 0x0030
171#define OF_SHARE_DENY_NONE 0x0040
172#define OF_PARSE 0x0100
173#define OF_DELETE 0x0200
174#define OF_VERIFY 0x0400 /* Used with OF_REOPEN */
175#define OF_SEARCH 0x0400 /* Used without OF_REOPEN */
176#define OF_CANCEL 0x0800
177#define OF_CREATE 0x1000
178#define OF_PROMPT 0x2000
179#define OF_EXIST 0x4000
180#define OF_REOPEN 0x8000
181
182
183/*******************************************************************************
184* Structures and Typedefs *
185*******************************************************************************/
186typedef unsigned char BYTE;
187typedef BYTE NEAR * PBYTE;
188typedef BYTE FAR * LPBYTE;
189
190typedef unsigned short WORD;
191typedef WORD NEAR * LWORD;
192typedef WORD FAR * LPWORD;
193
194typedef unsigned long DWORD;
195typedef DWORD NEAR * PDWORD;
196typedef DWORD FAR * LPDWORD;
197
198typedef signed long LONG;
199typedef LONG NEAR * PLONG;
200typedef LONG FAR * LPLONG;
201typedef unsigned long ULONG;
202typedef ULONG NEAR * PULONG;
203typedef ULONG FAR * LPULONG;
204typedef unsigned short UINT;
205typedef UINT NEAR * PUINT;
206typedef UINT FAR * LPUINT;
207
208typedef char NEAR * PSTR;
209typedef char FAR * LPSTR;
210typedef const char NEAR*PCSTR;
211typedef const char FAR *LPCSTR;
212
213typedef void VOID;
214typedef void NEAR * PVOID;
215typedef void FAR * LPVOID;
216
217typedef int BOOL;
218typedef int NEAR * PBOOL;
219typedef int FAR * LPBOOL;
220
221typedef UINT WPARAM;
222typedef LONG LPARAM;
223typedef LONG LRESULT;
224
225typedef UINT ATOM;
226
227typedef UINT HANDLE;
228typedef UINT HINSTANCE;
229typedef HINSTANCE HMODULE;
230typedef UINT HGLOBAL;
231typedef UINT HWND;
232typedef UINT HICON;
233typedef UINT HBRUSH;
234typedef UINT HCURSOR;
235typedef UINT HGDIOBJ;
236typedef UINT HMENU;
237
238typedef int HFILE;
239
240typedef int (CALLBACK* FARPROC)();
241typedef int (NEAR PASCAL* NEARPROC)();
242typedef FARPROC TIMERPROC;
243typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);
244
245
246typedef struct tagPOINT
247{
248 int x;
249 int y;
250} POINT;
251typedef POINT * PPOINT;
252typedef POINT NEAR * NPPOINT;
253typedef POINT FAR * LPPOINT;
254
255
256typedef struct tagMSG
257{
258 HWND hwnd;
259 UINT message;
260 WPARAM wParam;
261 LPARAM lParam;
262 DWORD time;
263 POINT pt;
264} MSG;
265typedef MSG * PMSG;
266typedef MSG NEAR * NPMSG;
267typedef MSG FAR * LPMSG;
268
269
270typedef struct tagWNDCLASS
271{
272 UINT style;
273 WNDPROC lpfnWndProc;
274 int cbClsExtra;
275 int cbWndExtra;
276 HINSTANCE hInstance;
277 HICON hIcon;
278 HCURSOR hCursor;
279 HBRUSH hbrBackground;
280 LPCSTR lpszMenuName;
281 LPCSTR lpszClassName;
282} WNDCLASS;
283typedef WNDCLASS * PWNDCLASS;
284typedef WNDCLASS NEAR * NPWNDCLASS;
285typedef WNDCLASS FAR * LPWNDCLASS;
286
287
288typedef struct tagOFSTRUCT
289{
290 BYTE cBytes;
291 BYTE fFixedDisk;
292 UINT nErrCode;
293 BYTE reserved[4];
294 char szPathName[128];
295} OFSTRUCT;
296typedef OFSTRUCT * POFSTRUCT;
297typedef OFSTRUCT NEAR * NPOFSTRUCT;
298typedef OFSTRUCT FAR * LPOFSTRUCT;
299
300
301
302
303/*******************************************************************************
304* External Functions *
305*******************************************************************************/
306int WINAPI GetProfileString(LPCSTR, LPCSTR, LPCSTR, LPSTR, int);
307int WINAPI MessageBox(HWND, LPCSTR, LPCSTR, UINT);
308void WINAPI MessageBeep(UINT);
309ATOM WINAPI RegisterClass(const WNDCLASS FAR*);
310BOOL WINAPI UnregisterClass(LPCSTR, HINSTANCE);
311UINT WINAPI SetTimer(HWND, UINT, UINT, TIMERPROC);
312BOOL WINAPI KillTimer(HWND, UINT);
313HINSTANCE WINAPI LoadModule(LPCSTR, LPVOID);
314BOOL WINAPI FreeModule(HINSTANCE);
315HINSTANCE WINAPI LoadLibrary(LPCSTR);
316void WINAPI FreeLibrary(HINSTANCE);
317UINT WINAPI WinExec(LPCSTR, UINT);
318HMODULE WINAPI GetModuleHandle(LPCSTR);
319int WINAPI GetModuleUsage(HINSTANCE);
320int WINAPI GetModuleFileName(HINSTANCE, LPSTR, int);
321FARPROC WINAPI GetProcAddress(HINSTANCE, LPCSTR);
322int WINAPI GetInstanceData(HINSTANCE, BYTE NEAR *, int);
323HGLOBAL WINAPI GetCodeHandle(FARPROC);
324BOOL WINAPI GetMessage(MSG FAR*, HWND, UINT, UINT);
325BOOL WINAPI PeekMessage(MSG FAR*, HWND, UINT, UINT, UINT);
326BOOL WINAPI TranslateMessage(const MSG FAR*);
327LONG WINAPI DispatchMessage(const MSG FAR*);
328BOOL WINAPI PostMessage(HWND, UINT, WPARAM, LPARAM);
329LRESULT WINAPI SendMessage(HWND, UINT, WPARAM, LPARAM);
330DWORD WINAPI GetVersion(void);
331HGLOBAL WINAPI GlobalAlloc(UINT, DWORD);
332HGLOBAL WINAPI GlobalReAlloc(HGLOBAL, DWORD, UINT);
333HGLOBAL WINAPI GlobalFree(HGLOBAL);
334DWORD WINAPI GlobalDosAlloc(DWORD);
335UINT WINAPI GlobalDosFree(UINT);
336char FAR* WINAPI GlobalLock(HGLOBAL);
337BOOL WINAPI GlobalUnlock(HGLOBAL);
338DWORD WINAPI GlobalSize(HGLOBAL);
339DWORD WINAPI GlobalHandle(UINT);
340HFILE WINAPI OpenFile(LPCSTR, OFSTRUCT FAR*, UINT);
341BOOL WINAPI DestroyWindow(HWND);
342HGDIOBJ WINAPI GetStockObject(int);
343HWND WINAPI CreateWindow(LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, void FAR*);
344void WINAPI PostQuitMessage(int);
345LRESULT WINAPI DefWindowProc(HWND, UINT, WPARAM, LPARAM);
346UINT WINAPI AllocSelector(UINT);
347UINT WINAPI FreeSelector(UINT);
348UINT WINAPI AllocDStoCSAlias(UINT);
349UINT WINAPI PrestoChangoSelector(UINT sourceSel, UINT destSel);
350DWORD WINAPI GetSelectorBase(UINT);
351UINT WINAPI SetSelectorBase(UINT, DWORD);
352DWORD WINAPI GetSelectorLimit(UINT);
353UINT WINAPI SetSelectorLimit(UINT, DWORD);
354UINT WINAPI _lread(HFILE, void _huge*, UINT);
355UINT WINAPI _lwrite(HFILE, const void _huge*, UINT);
356HFILE WINAPI _lopen(LPCSTR, int);
357HFILE WINAPI _lcreat(LPCSTR, int);
358HFILE WINAPI _lclose(HFILE);
359LONG WINAPI _llseek(HFILE, LONG, int);
360DWORD WINAPI GetTickCount(void);
361void WINAPI Yield(void);
362
363
364
Note: See TracBrowser for help on using the repository browser.