4 #if defined(__cplusplus)
9 // WINEXT.H - additional windows definitions
11 // Version 1.0 03/21/89 Copyright (C) 1989,90,91 Lantern Coroporation.
12 // Author: Edward Hutchins
15 // 06/06/90 modified HUGE to LARGE to preserve compatibility with math.h
16 // also nested windows.h include to prevent modifications on the
17 // actual source file - Ed.
18 // 10/01/90 added CONST and CONSTP,NP,LP,HP and a few comments - Ed.
19 // 08/28/91 added EXPORT and SEGMENT - Ed.
20 // 10/28/91 added DLLEXP - Ed.
21 // 11/02/91 posted on Compuserve - Ed.
25 // include WINDOWS.H, if needed
28 #if !defined(WINDOWS_H)
40 // extra data types and defines
52 typedef double DOUBLE
;
53 typedef long double LDOUBLE
;
55 // extend the string type
56 typedef CHAR LARGE
*HPSTR
;
58 // useful macros for typedefing pointers to objects //
59 #define npointerdef(o) typedef o NEAR * NP ## o
60 #define lpointerdef(o) typedef o FAR * LP ## o
61 #define hpointerdef(o) typedef o LARGE * HP ## o
62 #define pointerdef(o) npointerdef(o); lpointerdef(o); hpointerdef(o)
64 // define the different kinds of pointers to things //
66 npointerdef( BYTE
); hptrdef( BYTE
);
68 npointerdef( INT
); hpointerdef( INT
);
69 npointerdef( WORD
); hpointerdef( WORD
);
70 npointerdef( LONG
); hpointerdef( LONG
);
71 npointerdef( DWORD
); hpointerdef( DWORD
);
74 pointerdef( LDOUBLE
);
75 npointerdef( HANDLE
); hpointerdef( HANDLE
);
76 npointerdef( VOID
); hpointerdef( VOID
);
78 // these are here for compatibility - use NPVOID etc...
79 typedef VOID NEAR
*NPMEM
;
80 typedef VOID FAR
*LPMEM
;
82 // window proc function pointer
83 typedef LONG (FAR PASCAL
*WNDPROC
)( HWND
, unsigned, WORD
, LONG
);
86 // scope protocol definitions
89 #define GLOBAL // GLOBAL
92 #define FROM(where) // FROM where
93 #define PROTO // PROTOTYPE
95 #define EXPORT _export
96 #define SEGMENT _segment
98 #if defined(__cplusplus)
100 #endif // __cplusplus
102 // c++ class export type
104 #define DLLEXP EXPORT