summaryrefslogtreecommitdiffstats
path: root/private/os2/ldr/basedef.h
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/os2/ldr/basedef.h
downloadNT4.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.h233
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