diff options
author | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
---|---|---|
committer | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
commit | e611b132f9b8abe35b362e5870b74bce94a1e58e (patch) | |
tree | a5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/os2/ldr/basedef.h | |
download | NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2 NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip |
Diffstat (limited to 'private/os2/ldr/basedef.h')
-rw-r--r-- | private/os2/ldr/basedef.h | 233 |
1 files changed, 233 insertions, 0 deletions
diff --git a/private/os2/ldr/basedef.h b/private/os2/ldr/basedef.h new file mode 100644 index 000000000..15de3ae40 --- /dev/null +++ b/private/os2/ldr/basedef.h @@ -0,0 +1,233 @@ +/*static char *SCCSID = "@(#)basedef.h 6.1 90/11/15";*/ +/*** BASEDEF.H + * + * SCCSID = @(#)basedef.h 13.11 90/07/10 + * + * Basic constants and types + * Copyright (c) 1988,1989 Microsoft Corporation + * + * + * MODIFICATION HISTORY + * 10/10/88 JTP Created. + * 10/11/88 JTP Added more base types. + * + * To control what is included use the following: + * + * INCL_TYPES basic typedefs + */ + + +/*** Basic constants + */ + +//c-begin +#include <os2std.h> +//c-end + +//masm-begin +//NULL equ 0 +//TRUE equ -1 +//FALSE equ 0 +//masm-end + +#define CTRUE 1 + +#define KSIZE 1024 + +#ifdef INCL_PAGE +#define PAGESIZE 4096 +#endif + + +/*** Basic data types + */ + +//c-begin +#define CDECL _cdecl +#define PASCAL _pascal +#define VOID void +#define CONST const +#define VOLATILE volatile + +#ifdef M_I386 +#define FAR _near // p (32-bit pointer) +#define NEAR _near // np (near pointer) +#define FAR32 _far // fp (48-bit pointer, restricted) +#else +#define FAR _far +#define NEAR _near +#endif +//c-end + +//masm-begin +//DefType VOID +//masm-end + +#define CENTRY CDECL FAR // to declare misc. C-based interfaces +#define PRIVENTRY PASCAL FAR // to declare private routines +#define EXPENTRY PASCAL FAR // to declare exported routines +#define API32ENTRY PASCAL FAR // to declare exported API routines +#define DYNENTRY PASCAL FAR _export // to declare exported dynlink routines + +#ifdef INCL_TYPES + +typedef int INT; // i +typedef unsigned int UINT; // u +typedef INT BOOL; // f + +typedef unsigned char BYTE; // b +typedef unsigned short WORD; // w +typedef unsigned long DWORD; // dw + +typedef char CHAR; // ch +typedef unsigned char UCHAR; // uch +typedef short SHORT; // s +typedef unsigned short USHORT; // us +typedef long LONG; // l +typedef unsigned long ULONG; // ul + +typedef UCHAR BBOOL; // bf +typedef USHORT SBOOL; // sf +typedef ULONG LBOOL; // lf + +typedef ULONG FLAGS; // fl +typedef ULONG PORT; // port + + +/*** Basic pointer types + */ +typedef VOID FAR *PVOID; // p +typedef VOID NEAR *NPVOID; // np + + +/*** Basic pointer-to-basic-data types + */ +typedef INT FAR *PINT; // pi +typedef INT NEAR *NPINT; // npi + +typedef UINT FAR *PUINT; // pu +typedef UINT NEAR *NPUINT; // npu + +typedef BYTE FAR *PBYTE; // pb +typedef BYTE NEAR *NPBYTE; // npb + +typedef WORD FAR *PWORD; // pw +typedef WORD NEAR *NPWORD; // npw + +typedef DWORD FAR *PDWORD; // pdw +typedef DWORD NEAR *NPDWORD; // npdw + +typedef CHAR FAR *PCHAR; // pch +typedef CHAR NEAR *NPCHAR; // npch + +typedef SHORT FAR *PSHORT; // ps +typedef SHORT NEAR *NPSHORT; // nps + +typedef LONG FAR *PLONG; // pl +typedef LONG NEAR *NPLONG; // npl + +typedef UCHAR FAR *PUCHAR; // puch +typedef UCHAR NEAR *NPUCHAR; // npuch + +typedef USHORT FAR *PUSHORT; // pus +typedef USHORT NEAR *NPUSHORT; // npus + +typedef ULONG FAR *PULONG; // pul +typedef ULONG NEAR *NPULONG; // npul + +typedef BOOL FAR *PBOOL; // pf +typedef BOOL NEAR *NPBOOL; // npf + +typedef BBOOL FAR *PBBOOL; // pbf +typedef BBOOL NEAR *NPBBOOL; // npbf + +typedef SBOOL FAR *PSBOOL; // psf +typedef SBOOL NEAR *NPSBOOL; // npsf + +typedef LBOOL FAR *PLBOOL; // plf +typedef LBOOL NEAR *NPLBOOL; // nplf + +typedef FLAGS FAR *PFLAGS; // pfl +typedef FLAGS NEAR *NPFLAGS; // npfl + +typedef PVOID FAR *PPVOID; // pp +typedef PVOID NEAR *NPPVOID; // npp + + +/*** Other common types (and their pointers) + */ +typedef BYTE BUF[]; // buf +typedef BUF FAR *PBUF; // pbuf + +typedef CHAR NAM[8]; // nam +typedef CHAR SZ[]; // sz +typedef CHAR FAR *PSZ; // psz +typedef CHAR NEAR *NPSZ; // npsz +typedef CHAR SZZ[]; // szz +typedef CHAR FAR *PSZZ; // pszz +typedef CHAR NEAR *NPSZZ; // npszz + +typedef USHORT SEL; // sel +typedef SEL FAR *PSEL; // psel +typedef SEL NEAR *NPSEL; // npsel + +typedef USHORT SOFFSET; // soff +typedef ULONG OFFSET; // off + +typedef ULONG PPHYS; // pphys + +typedef (PASCAL FAR *PFN)(); // pfn +typedef (PASCAL NEAR *NPFN)(); // npfn +typedef (PASCAL FAR32 *FPFN)(); // fpfn +typedef (PASCAL FAR32 *FPVOID)(); // fp (the only kind of FPVOID allowed) + +typedef PFN FAR *PPFN; // ppfn +typedef PFN NEAR *NPPFN; // nppfn +typedef FPFN FAR *PFPFN; // pfpfn +typedef FPFN NEAR *NPFPFN; // npfpfn + +typedef USHORT SHANDLE; // sh +typedef PVOID HANDLE; // h + +typedef struct _POINTL { // ptl + LONG x; + LONG y; +} POINTL; +typedef POINTL FAR *PPOINTL; + +typedef struct _RECTL { // rcl + LONG xLeft; + LONG yBottom; + LONG xRight; + LONG yTop; +} RECTL; +typedef RECTL FAR *PRECTL; + +typedef struct _RGB { // rgb + BYTE bBlue; + BYTE bGreen; + BYTE bRed; +} RGB; +typedef RGB FAR *PRGB; + + +/*** OS/2-specific types + */ +typedef ULONG ERRCODE; // errc +typedef ULONG RETCODE; // rc +typedef USHORT SRETCODE; // src + +typedef USHORT PID; // pid +typedef USHORT SGID; // sgid +typedef USHORT TID; // tid + +typedef struct _RESULTCODES { // rsc + USHORT codeTerminate; + USHORT codeResult; +} RESULTCODES; +typedef RESULTCODES FAR *PRESULTCODES; + +typedef SHANDLE HFILE; // shf +typedef HFILE FAR *PHFILE; // pshf + +#endif // INCL_TYPES |