Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// do not edit: generated from system headerfile
// basic type and macro definitions elided; see lmuitype.h
#ifndef NOBASICTYPES
/***************************************************************************\
* * Module Name: OS2DEF.H * * OS/2 Common Definitions file * * Copyright (c) 1987-1990, Microsoft Corporation. All rights reserved. * \***************************************************************************/
#define OS2DEF_INCLUDED
/* XLATOFF */ #define PASCAL pascal
#define FAR far
#define NEAR near
#define VOID void
/* XLATON */
typedef unsigned short SHANDLE; typedef void far *LHANDLE;
/* XLATOFF */ #define EXPENTRY pascal far _loadds
#define APIENTRY pascal far
/* Backwards compatability with 1.1 */ #define CALLBACK pascal far _loadds
#define CHAR char /* ch */
#define SHORT short /* s */
#define LONG long /* l */
#ifndef INCL_SAADEFS
#define INT int /* i */
#endif /* !INCL_SAADEFS */
/* XLATON */
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 (_MSC_VER >= 600)
#define NULL ((void *)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 SHANDLE HFILE; /* hf */ typedef HFILE far *PHFILE;
typedef unsigned char far *PSZ; typedef unsigned char near *NPSZ;
typedef unsigned char far *PCH; typedef unsigned char near *NPCH;
typedef int (pascal far *PFN)(); typedef int (pascal near *NPFN)(); typedef PFN far *PPFN;
typedef BYTE FAR *PBYTE; 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;
typedef unsigned short BOOL; /* f */ typedef BOOL FAR *PBOOL;
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
#ifndef INCL_SAADEFS
typedef unsigned short SEL; /* sel */ typedef SEL FAR *PSEL;
/*** Useful Helper Macros */
/* Create untyped far pointer from selector and offset */ #define MAKEP(sel, off) ((PVOID)MAKEULONG(off, sel))
/* Extract selector or offset from far pointer */ #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))
/* Calculate the byte offset of a field in a structure of type type. */ #define FIELDOFFSET(type, field) ((SHORT)&(((type *)0)->field))
/* Combine l & h to form a 32 bit quantity. */ #define MAKEULONG(l, h) ((ULONG)(((USHORT)(l)) | ((ULONG)((USHORT)(h))) << 16))
#define MAKELONG(l, h) ((LONG)MAKEULONG(l, h))
/* Combine l & h to form a 16 bit quantity. */ #define MAKEUSHORT(l, h) (((USHORT)(l)) | ((USHORT)(h)) << 8)
#define MAKESHORT(l, h) ((SHORT)MAKEUSHORT(l, h))
/* Extract high and low order parts of 16 and 32 bit quantity */ #define LOBYTE(w) LOUCHAR(w)
#define HIBYTE(w) HIUCHAR(w)
#define LOUCHAR(w) ((UCHAR)(USHORT)(w))
#define HIUCHAR(w) ((UCHAR)(((USHORT)(w) >> 8) & 0xff))
#define LOUSHORT(l) ((USHORT)(ULONG)(l))
#define HIUSHORT(l) ((USHORT)(((ULONG)(l) >> 16) & 0xffff))
#endif // NOBASICTYPES
/*** Common Error definitions ****/
typedef ULONG ERRORID; /* errid */ 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
#define SEVERITY_WARNING 0x0004
#define SEVERITY_ERROR 0x0008
#define SEVERITY_SEVERE 0x000C
#define SEVERITY_UNRECOVERABLE 0x0010
/* Base component error values */
#define WINERR_BASE 0x1000 /* Window Manager */
#define GPIERR_BASE 0x2000 /* Graphics Presentation Interface */
#define DEVERR_BASE 0x3000 /* Device Manager */
#define SPLERR_BASE 0x4000 /* Spooler */
/*** Common types used across components */
/*** Common DOS types */
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;
typedef VOID FAR *HSEM; /* hsem */ typedef HSEM FAR *PHSEM; #endif /* !INCL_SAADEFS */
/*** Common SUP types */
typedef LHANDLE HAB; /* hab */ typedef HAB FAR *PHAB;
/*** Common GPI/DEV types */
typedef LHANDLE HPS; /* hps */ typedef HPS FAR *PHPS;
typedef LHANDLE HDC; /* hdc */ typedef HDC FAR *PHDC;
typedef LHANDLE HRGN; /* hrgn */ typedef HRGN FAR *PHRGN;
typedef LHANDLE HBITMAP; /* hbm */ typedef HBITMAP FAR *PHBITMAP;
typedef LHANDLE HMF; /* hmf */ typedef HMF FAR *PHMF;
typedef LONG COLOR; /* clr */ typedef COLOR FAR *PCOLOR;
typedef struct _POINTL { /* ptl */ LONG x; LONG y; } 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; LONG xRight; LONG yTop; } RECTL; typedef RECTL FAR *PRECTL; typedef RECTL near *NPRECTL;
typedef CHAR STR8[8]; /* str8 */ typedef STR8 FAR *PSTR8;
/*** common DEV/SPL types */
/* structure for Device Driver data */
typedef struct _DRIVDATA { /* driv */ LONG cb; LONG lVersion; CHAR szDeviceName[32]; CHAR abGeneralData[1]; } DRIVDATA; typedef DRIVDATA far *PDRIVDATA;
/* array indices for array parameter for DevOpenDC, SplQmOpen or SplQpOpen */
#define ADDRESS 0
#ifndef INCL_SAADEFS
#define DRIVER_NAME 1
#define DRIVER_DATA 2
#define DATA_TYPE 3
#define COMMENT 4
#define PROC_NAME 5
#define PROC_PARAMS 6
#define SPL_PARAMS 7
#define NETWORK_PARAMS 8
#endif /* !INCL_SAADEFS */
/* structure definition as an alternative of the array parameter */
typedef struct _DEVOPENSTRUC { /* dop */ PSZ pszLogAddress; PSZ pszDriverName; PDRIVDATA pdriv; PSZ pszDataType; PSZ pszComment; PSZ pszQueueProcName; PSZ pszQueueProcParams; PSZ pszSpoolerParams; PSZ pszNetworkParams; } DEVOPENSTRUC; typedef DEVOPENSTRUC FAR *PDEVOPENSTRUC;
/*** common AVIO/GPI types */
/* values of fsSelection field of FATTRS structure */ #define FATTR_SEL_ITALIC 0x0001
#define FATTR_SEL_UNDERSCORE 0x0002
#define FATTR_SEL_OUTLINE 0x0008 /* Hollow Outline Font */
#define FATTR_SEL_STRIKEOUT 0x0010
#define FATTR_SEL_BOLD 0x0020
/* values of fsType field of FATTRS structure */ #define FATTR_TYPE_KERNING 0x0004
#define FATTR_TYPE_MBCS 0x0008
#define FATTR_TYPE_DBCS 0x0010
#define FATTR_TYPE_ANTIALIASED 0x0020
/* values of fsFontUse field of FATTRS structure */ #define FATTR_FONTUSE_NOMIX 0x0002
#define FATTR_FONTUSE_OUTLINE 0x0004
#define FATTR_FONTUSE_TRANSFORMABLE 0x0008
/* size for fields in the font structures */
#define FACESIZE 32
/* font struct for Vio/GpiCreateLogFont */
typedef struct _FATTRS { /* fat */ USHORT usRecordLength; USHORT fsSelection; LONG lMatch; CHAR szFacename[FACESIZE]; USHORT idRegistry; USHORT usCodePage; LONG lMaxBaselineExt; LONG lAveCharWidth; USHORT fsType; USHORT fsFontUse; } FATTRS; typedef FATTRS far *PFATTRS;
/* values of fsType field of FONTMETRICS structure */ #define FM_TYPE_FIXED 0x0001
#define FM_TYPE_LICENSED 0x0002
#define FM_TYPE_KERNING 0x0004
#define FM_TYPE_DBCS 0x0010
#define FM_TYPE_MBCS 0x0018
#define FM_TYPE_64K 0x8000
/* values of fsDefn field of FONTMETRICS structure */ #define FM_DEFN_OUTLINE 0x0001
#define FM_DEFN_GENERIC 0x8000
/* values of fsSelection field of FONTMETRICS structure */ #define FM_SEL_ITALIC 0x0001
#define FM_SEL_UNDERSCORE 0x0002
#define FM_SEL_NEGATIVE 0x0004
#define FM_SEL_OUTLINE 0x0008 /* Hollow Outline Font */
#define FM_SEL_STRIKEOUT 0x0010
#define FM_SEL_BOLD 0x0020
/* values of fsCapabilities field of FONTMETRICS structure */ #define FM_CAP_NOMIX 0x0001
/* font metrics returned by GpiQueryFonts and others */
typedef struct _FONTMETRICS { /* fm */ CHAR szFamilyname[FACESIZE]; CHAR szFacename[FACESIZE]; USHORT idRegistry; USHORT usCodePage; LONG lEmHeight; LONG lXHeight; LONG lMaxAscender; LONG lMaxDescender; LONG lLowerCaseAscent; LONG lLowerCaseDescent; LONG lInternalLeading; LONG lExternalLeading; LONG lAveCharWidth; LONG lMaxCharInc; LONG lEmInc; LONG lMaxBaselineExt; SHORT sCharSlope; SHORT sInlineDir; SHORT sCharRot; USHORT usWeightClass; USHORT usWidthClass; SHORT sXDeviceRes; SHORT sYDeviceRes; SHORT sFirstChar; SHORT sLastChar; SHORT sDefaultChar; SHORT sBreakChar; SHORT sNominalPointSize; SHORT sMinimumPointSize; SHORT sMaximumPointSize; USHORT fsType; USHORT fsDefn; USHORT fsSelection; USHORT fsCapabilities; LONG lSubscriptXSize; LONG lSubscriptYSize; LONG lSubscriptXOffset; LONG lSubscriptYOffset; LONG lSuperscriptXSize; LONG lSuperscriptYSize; LONG lSuperscriptXOffset; LONG lSuperscriptYOffset; LONG lUnderscoreSize; LONG lUnderscorePosition; LONG lStrikeoutSize; LONG lStrikeoutPosition; SHORT sKerningPairs; SHORT sFamilyClass; LONG lMatch; } FONTMETRICS; typedef FONTMETRICS far *PFONTMETRICS;
/*** Common WIN types */
typedef LHANDLE HWND; /* hwnd */ typedef HWND FAR *PHWND;
typedef struct _WRECT { /* wrc */ SHORT xLeft; SHORT dummy1; SHORT yBottom; SHORT dummy2; SHORT xRight; SHORT dummy3; SHORT yTop; SHORT dummy4; } WRECT; typedef WRECT FAR *PWRECT; typedef WRECT near *NPWRECT;
typedef struct _WPOINT { /* wpt */ SHORT x; SHORT dummy1; SHORT y; SHORT dummy2; } WPOINT; typedef WPOINT FAR *PWPOINT; typedef WPOINT near *NPWPOINT;
|