--- pmsdk/include/os2def.h 2018/08/09 12:28:13 1.1.1.1 +++ pmsdk/include/os2def.h 2018/08/09 12:28:35 1.1.1.2 @@ -4,8 +4,7 @@ * * OS/2 Common Definitions file * -* Copyright (c) 1987 IBM Corporation -* Copyright (c) 1987 Microsoft Corporation +* Copyright (c) 1987,1989 Microsoft Corporation * \***************************************************************************/ @@ -19,27 +18,37 @@ typedef void far *LHANDLE; #define EXPENTRY pascal far #define APIENTRY pascal far +#define CALLBACK pascal far _loadds _export #define CHAR char /* ch */ #define SHORT short /* s */ #define LONG long /* l */ +#ifndef INCL_SAADEFS #define INT int /* i */ - -#ifndef NULL -#ifdef M_I86L -#define NULL 0L -#else -#define NULL 0 -#endif -#endif +#endif /* !INCL_SAADEFS */ typedef unsigned char UCHAR; /* uch */ typedef unsigned short USHORT; /* us */ typedef unsigned long ULONG; /* ul */ +#ifndef INCL_SAADEFS typedef unsigned int UINT; /* ui */ +#endif /* !INCL_SAADEFS */ typedef unsigned char BYTE; /* b */ +/* define NULL pointer value */ +/* Echo the format of the ifdefs that stdio.h uses */ + +#if (defined(M_I86SM) || defined(M_I86MM)) +#define NULL 0 +#else +#if (defined(M_I86L) || defined(M_I86CM) || defined(M_I86LM) || defined(M_I86HM)) +#define NULL 0L +#else +#define NULL 0 +#endif +#endif + typedef char far *PSZ; typedef char near *NPSZ; @@ -48,7 +57,7 @@ typedef char near *NPCH; typedef int (pascal far *PFN)(); typedef int (pascal near *NPFN)(); -typedef PFN far *PPFN; +typedef PFN FAR *PPFN; typedef BYTE FAR *PBYTE; typedef BYTE near *NPBYTE; @@ -56,12 +65,16 @@ typedef BYTE near *NPBYTE; typedef CHAR FAR *PCHAR; typedef SHORT FAR *PSHORT; typedef LONG FAR *PLONG; +#ifndef INCL_SAADEFS typedef INT FAR *PINT; +#endif /* !INCL_SAADEFS */ typedef UCHAR FAR *PUCHAR; typedef USHORT FAR *PUSHORT; typedef ULONG FAR *PULONG; +#ifndef INCL_SAADEFS typedef UINT FAR *PUINT; +#endif /* !INCL_SAADEFS */ typedef VOID FAR *PVOID; @@ -84,7 +97,7 @@ typedef SEL FAR *PSEL; #define SELECTOROF(p) (((PUSHORT)&(p))[1]) #define OFFSETOF(p) (((PUSHORT)&(p))[0]) #endif /* !INCL_SAADEFS */ - + /* Cast any variable to an instance of the specified type. */ #define MAKETYPE(v, type) (*((type far *)&v)) @@ -114,6 +127,10 @@ typedef ERRORID FAR *PERRORID; /* Combine severity and error code to produce ERRORID */ #define MAKEERRORID(sev, error) (ERRORID)(MAKEULONG((error), (sev))) +/* Extract error number from an errorid */ +#define ERRORIDERROR(errid) (LOUSHORT(errid)) +/* Extract severity from an errorid */ +#define ERRORIDSEV(errid) (HIUSHORT(errid)) /* Severity codes */ #define SEVERITY_NOERROR 0x0000 @@ -136,13 +153,13 @@ typedef ERRORID FAR *PERRORID; typedef USHORT HMODULE; /* hmod */ typedef HMODULE FAR *PHMODULE; -#ifndef INCL_SAADEFS typedef USHORT PID; /* pid */ typedef PID FAR *PPID; typedef USHORT TID; /* tid */ typedef TID FAR *PTID; +#ifndef INCL_SAADEFS typedef VOID FAR *HSEM; /* hsem */ typedef HSEM FAR *PHSEM; #endif /* !INCL_SAADEFS */ @@ -163,10 +180,8 @@ typedef HDC FAR *PHDC; typedef LHANDLE HRGN; /* hrgn */ typedef HRGN FAR *PHRGN; -#ifndef INCL_SAADEFS typedef LHANDLE HBITMAP; /* hbm */ typedef HBITMAP FAR *PHBITMAP; -#endif /* !INCL_SAADEFS */ typedef LHANDLE HMF; /* hmf */ typedef HMF FAR *PHMF; @@ -180,7 +195,13 @@ typedef struct _POINTL { /* ptl */ } POINTL; typedef POINTL FAR *PPOINTL; typedef POINTL near *NPPOINTL; - + +typedef struct _POINTS { /* pts */ + SHORT x; + SHORT y; +} POINTS; +typedef POINTS FAR *PPOINTS; + typedef struct _RECTL { /* rcl */ LONG xLeft; LONG yBottom; @@ -190,7 +211,7 @@ typedef struct _RECTL { /* rcl */ typedef RECTL FAR *PRECTL; typedef RECTL near *NPRECTL; -typedef CHAR STR8[8]; /* str8 */ +typedef CHAR STR8[8]; /* str8 */ typedef STR8 FAR *PSTR8; #ifndef INCL_SAADEFS @@ -276,16 +297,11 @@ typedef DEVOPENSTRUC FAR *PDEVOPENSTRUC; #define FATTR_SEL_UNDERSCORE 0x0002 #define FATTR_SEL_STRIKEOUT 0x0010 #define FATTR_SEL_BOLD 0x0020 - + /* values of fsType field of FATTRS structure */ #define FATTR_TYPE_FIXED 0x0002 #define FATTR_TYPE_KERNING 0x0004 - -/* values of sQuality field of FATTRS structure */ -#define FATTR_QUALITY_DEFAULT 0 -#define FATTR_QUALITY_DRAFT 1 -#define FATTR_QUALITY_PROOF 2 - + /* values of fsFontUse field of FATTRS structure */ #define FATTR_FONTUSE_NOMIX 0x0002 #define FATTR_FONTUSE_OUTLINE 0x0004 @@ -300,13 +316,12 @@ typedef struct _FATTRS { /* fat USHORT usRecordLength; USHORT fsSelection; LONG lMatch; - CHAR szFaceName[FACESIZE]; + CHAR szFacename[FACESIZE]; USHORT idRegistry; USHORT usCodePage; LONG lMaxBaselineExt; LONG lAveCharWidth; USHORT fsType; - SHORT sQuality; USHORT fsFontUse; } FATTRS; typedef FATTRS far *PFATTRS; @@ -316,8 +331,8 @@ typedef FATTRS far *PFATTRS; typedef struct _FONTMETRICS { /* fm */ CHAR szFamilyname[FACESIZE]; CHAR szFacename[FACESIZE]; - SHORT idRegistry; - SHORT usCodePage; + USHORT idRegistry; + USHORT usCodePage; LONG lEmHeight; LONG lXHeight; LONG lMaxAscender;