mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-05-09 17:32:32 +02:00
355 lines
8.3 KiB
ObjectPascal
355 lines
8.3 KiB
ObjectPascal
{****************************************************************************
|
|
|
|
Copyright (c) 1993,94 by Florian Kl„mpfl
|
|
|
|
****************************************************************************}
|
|
unit os2def;
|
|
|
|
interface
|
|
|
|
type
|
|
APIRET = longint;
|
|
APIRET16 = word;
|
|
APIRET32 = longint;
|
|
|
|
SHANDLE = word;
|
|
LHANDLE = longint;
|
|
|
|
CHAR = char;
|
|
SHORT = integer;
|
|
LONG = longint;
|
|
INT = longint;
|
|
UCHAR = char;
|
|
USHORT = word;
|
|
ULONG = longint;
|
|
UINT = longint;
|
|
|
|
{!!!!!!! typedef UCHAR * _Seg16 PUCHAR16;
|
|
typedef CHAR * _Seg16 PCHAR16; }
|
|
|
|
BYTE = byte;
|
|
PSZ = ^char;
|
|
NPSZ = ^char;
|
|
PCH = ^char;
|
|
NPCH = ^char;
|
|
{ typedef int ( APIENTRY _PFN) ();
|
|
typedef _PFN *PFN;
|
|
typedef int ( APIENTRY _NPFN) ();
|
|
typedef _NPFN *NPFN; }
|
|
|
|
PBYTE = ^BYTE;
|
|
NPBYTE = ^BYTE;
|
|
PCHAR = ^CHAR;
|
|
PSHORT = ^SHORT;
|
|
PLONG = ^LONG;
|
|
PINT = ^INT;
|
|
PUCHAR = ^UCHAR;
|
|
PUSHORT = ^USHORT;
|
|
PULONG = ^ULONG;
|
|
PUINT = ^UINT;
|
|
|
|
PVOID = pointer;
|
|
PPVOID = ^PVOID;
|
|
|
|
{ typedef VOID * _Seg16 PVOID16; }
|
|
|
|
BOOL = longint;
|
|
PBOOL = ^BOOL;
|
|
|
|
BOOL16 = word;
|
|
{ typedef BOOL16 * _Seg16 PBOOL16; }
|
|
|
|
BOOL32 = BOOL;
|
|
PBOOL32 = PBOOL;
|
|
|
|
QWORD = record
|
|
ulLo : ULONG;
|
|
ulHi : ULONG;
|
|
end;
|
|
|
|
PQWORD = ^QWORD;
|
|
|
|
SEL = WORD;
|
|
PSEL = ^SEL;
|
|
|
|
ERRORID = ULONG;
|
|
PERRORID = ^ERRORID;
|
|
|
|
const
|
|
SEVERITY_NOERROR = $0;
|
|
SEVERITY_WARNING = $4;
|
|
SEVERITY_ERROR = $8;
|
|
SEVERITY_SEVERE = $c;
|
|
SEVERITY_UNRECOVERABLE = $10;
|
|
|
|
WINERR_BASE = $1000;
|
|
GPIERR_BASE = $2000;
|
|
DEVERR_BASE = $3000;
|
|
SPLERR_BASE = $4000;
|
|
|
|
type
|
|
HMODULE = LHANDLE;
|
|
PID = LHANDLE;
|
|
TID = LHANDLE;
|
|
|
|
SGID = USHORT;
|
|
|
|
PHMODULE = ^HMODULE;
|
|
PPID = ^PID;
|
|
PTID = ^TID;
|
|
|
|
HSEM = pointer;
|
|
PHSEM = ^HSEM;
|
|
|
|
HAB = LHANDLE;
|
|
PHAB = ^HAB;
|
|
|
|
HPS = LHANDLE;
|
|
PHPS = ^HPS;
|
|
|
|
HDC = LHANDLE;
|
|
PHDC = ^HDC;
|
|
|
|
HRGN = LHANDLE;
|
|
PHRGN = ^HRGN;
|
|
|
|
HBITMAP = LHANDLE;
|
|
PHBITMAP = ^HBITMAP;
|
|
|
|
HMF = LHANDLE;
|
|
PHMF = ^HMF;
|
|
|
|
HPAL = LHANDLE;
|
|
PHPAL = HPAL;
|
|
|
|
COLOR = LONG;
|
|
PCOLOR = ^COLOR;
|
|
|
|
POINTL = record
|
|
x : LONG;
|
|
y : LONG;
|
|
end;
|
|
|
|
PPOINTL = ^POINTL;
|
|
NPPOINTL = ^POINTL;
|
|
|
|
POINTS = record
|
|
x : SHORT;
|
|
y : SHORT;
|
|
end;
|
|
|
|
PPOINTS = ^POINTS;
|
|
|
|
RECTL = record
|
|
xLeft : LONG;
|
|
yBottom : LONG;
|
|
xRight : LONG;
|
|
yTop : LONG;
|
|
end;
|
|
|
|
PRECTL = ^RECTL;
|
|
|
|
NPRECTL = ^RECTL;
|
|
|
|
STR8 = array[0..7] of CHAR;
|
|
|
|
PSTR8 = ^STR8;
|
|
|
|
DRIVDATA = record
|
|
cb : LONG;
|
|
lVersion : LONG;
|
|
szDeviceName : array[0..32-1] of CHAR;
|
|
abGeneralData : array[0..1-1] of CHAR;
|
|
end;
|
|
|
|
PDRIVDATA = ^DRIVDATA;
|
|
|
|
PDEVOPENDATA = ^PSZ;
|
|
|
|
const
|
|
ADDRESS = 0;
|
|
DRIVER_NAME = 1;
|
|
DRIVER_DATA = 2;
|
|
DATA_TYPE = 3;
|
|
COMMENT = 4;
|
|
PROC_NAME = 5;
|
|
PROC_PARAMS = 6;
|
|
SPL_PARAMS = 7;
|
|
NETWORK_PARAMS = 8;
|
|
|
|
type
|
|
DEVOPENSTRUC = record
|
|
pszLogAddress : PSZ;
|
|
pszDriverName : PSZ;
|
|
pdriv : PDRIVDATA;
|
|
pszDataType : PSZ;
|
|
pszComment : PSZ;
|
|
pszQueueProcName : PSZ;
|
|
pszQueueProcParams : PSZ;
|
|
pszSpoolerParams : PSZ;
|
|
pszNetworkParams : PSZ;
|
|
end;
|
|
|
|
PDEVOPENSTRUC = ^DEVOPENSTRUC;
|
|
|
|
PRINTDEST = record
|
|
cb : ULONG;
|
|
lType : LONG;
|
|
pszToken : PSZ;
|
|
lCount : LONG;
|
|
pdopData : PDEVOPENDATA;
|
|
fl : ULONG;
|
|
pszPrinter : PSZ;
|
|
end;
|
|
|
|
PPRINTDEST = ^PRINTDEST;
|
|
|
|
const
|
|
PD_JOB_PROPERTY = $0001;
|
|
FATTR_SEL_ITALIC = $0001;
|
|
FATTR_SEL_UNDERSCORE = $0002;
|
|
FATTR_SEL_OUTLINE = $0008;
|
|
FATTR_SEL_STRIKEOUT = $0010;
|
|
FATTR_SEL_BOLD = $0020;
|
|
FATTR_TYPE_KERNING = $0004;
|
|
FATTR_TYPE_MBCS = $0008;
|
|
FATTR_TYPE_DBCS = $0010;
|
|
FATTR_TYPE_ANTIALIASED = $0020;
|
|
FATTR_FONTUSE_NOMIX = $0002;
|
|
FATTR_FONTUSE_OUTLINE = $0004;
|
|
FATTR_FONTUSE_TRANSFORMABLE = $0008;
|
|
FACESIZE = 32;
|
|
|
|
type
|
|
FATTRS = record
|
|
usRecordLength : USHORT;
|
|
fsSelection : USHORT;
|
|
lMatch : LONG;
|
|
szFacename : array[0..FACESIZE-1] of CHAR;
|
|
idRegistry : USHORT;
|
|
usCodePage : USHORT;
|
|
lMaxBaselineExt : LONG;
|
|
lAveCharWidth : LONG;
|
|
fsType : USHORT;
|
|
fsFontUse : USHORT;
|
|
end;
|
|
|
|
PFATTRS = ^FATTRS;
|
|
|
|
const
|
|
FM_TYPE_FIXED = $0001;
|
|
FM_TYPE_LICENSED = $0002;
|
|
FM_TYPE_KERNING = $0004;
|
|
FM_TYPE_DBCS = $0010;
|
|
FM_TYPE_MBCS = $0018;
|
|
FM_TYPE_64K = $8000;
|
|
FM_TYPE_ATOMS = $4000;
|
|
FM_TYPE_FAMTRUNC = $2000;
|
|
FM_TYPE_FACETRUNC = $1000;
|
|
FM_DEFN_OUTLINE = $0001;
|
|
FM_DEFN_IFI = $0002;
|
|
FM_DEFN_WIN = $0004;
|
|
FM_DEFN_GENERIC = $8000;
|
|
FM_SEL_ITALIC = $0001;
|
|
FM_SEL_UNDERSCORE = $0002;
|
|
FM_SEL_NEGATIVE = $0004;
|
|
FM_SEL_OUTLINE = $0008;
|
|
FM_SEL_STRIKEOUT = $0010;
|
|
FM_SEL_BOLD = $0020;
|
|
FM_CAP_NOMIX = $0001;
|
|
|
|
type
|
|
PANOSE = record
|
|
bFamilyType : BYTE;
|
|
bSerifStyle : BYTE;
|
|
bWeight : BYTE;
|
|
bProportion : BYTE;
|
|
bContrast : BYTE;
|
|
bStrokeVariation : BYTE;
|
|
bArmStyle : BYTE;
|
|
bLetterform : BYTE;
|
|
bMidline : BYTE;
|
|
bXHeight : BYTE;
|
|
abReserved : array[0..2-1] of BYTE;
|
|
end;
|
|
|
|
FONTMETRICS = record
|
|
szFamilyname : array[0..FACESIZE-1] of CHAR;
|
|
szFacename : array[0..FACESIZE-1] of CHAR;
|
|
idRegistry : USHORT;
|
|
usCodePage : USHORT;
|
|
lEmHeight : LONG;
|
|
lXHeight : LONG;
|
|
lMaxAscender : LONG;
|
|
lMaxDescender : LONG;
|
|
lLowerCaseAscent : LONG;
|
|
lLowerCaseDescent : LONG;
|
|
lInternalLeading : LONG;
|
|
lExternalLeading : LONG;
|
|
lAveCharWidth : LONG;
|
|
lMaxCharInc : LONG;
|
|
lEmInc : LONG;
|
|
lMaxBaselineExt : LONG;
|
|
sCharSlope : SHORT;
|
|
sInlineDir : SHORT;
|
|
sCharRot : SHORT;
|
|
usWeightClass : USHORT;
|
|
usWidthClass : USHORT;
|
|
sXDeviceRes : SHORT;
|
|
sYDeviceRes : SHORT;
|
|
sFirstChar : SHORT;
|
|
sLastChar : SHORT;
|
|
sDefaultChar : SHORT;
|
|
sBreakChar : SHORT;
|
|
sNominalPointSize : SHORT;
|
|
sMinimumPointSize : SHORT;
|
|
sMaximumPointSize : SHORT;
|
|
fsType : USHORT;
|
|
fsDefn : USHORT;
|
|
fsSelection : USHORT;
|
|
fsCapabilities : USHORT;
|
|
lSubscriptXSize : LONG;
|
|
lSubscriptYSize : LONG;
|
|
lSubscriptXOffset : LONG;
|
|
lSubscriptYOffset : LONG;
|
|
lSuperscriptXSize : LONG;
|
|
lSuperscriptYSize : LONG;
|
|
lSuperscriptXOffset : LONG;
|
|
lSuperscriptYOffset : LONG;
|
|
lUnderscoreSize : LONG;
|
|
lUnderscorePosition : LONG;
|
|
lStrikeoutSize : LONG;
|
|
lStrikeoutPosition : LONG;
|
|
sKerningPairs : SHORT;
|
|
sFamilyClass : SHORT;
|
|
lMatch : LONG;
|
|
FamilyNameAtom : LONG;
|
|
FaceNameAtom : LONG;
|
|
panose : PANOSE;
|
|
end;
|
|
|
|
PFONTMETRICS = ^FONTMETRICS;
|
|
|
|
HWND = LHANDLE;
|
|
HMQ = LHANDLE;
|
|
PHWND = ^HWND;
|
|
PHMQ = ^LHANDLE;
|
|
|
|
WRECTL = RECTL;
|
|
PWRECT = PRECTL;
|
|
NPWRECT = NPRECTL;
|
|
WPOINT = POINTL;
|
|
PWPOINT = PPOINTL;
|
|
NPWPOINT = NPPOINTL;
|
|
|
|
{ Nun folgen einige FPKPascal-spezifische Typen: }
|
|
|
|
{ null. term. Strings sind in den Header Dateien oft als }
|
|
{ array[0..0] of byte deklariert, der folgende Typ er- }
|
|
{ m”glich eine Typkonvertierung }
|
|
CHARARRAY = array[0..0] of char;
|
|
|
|
implementation
|
|
|
|
end.
|