{**************************************************************************** $Id$ Copyright (c) 1999-2000 by Florian Klaempfl Copyright (c) 1999-2000 by Ramon Bosque The Free Pascal runtime library is distributed under the Library GNU Public License v2. So is this unit. The Library GNU Public License requires you to distribute the source code of this unit with any product that uses it. Because the EMX library isn't under the LGPL, we grant you an exception to this, and that is, when you compile a program with the Free Pascal compiler, you do not need to ship source code with that program, AS LONG AS YOU ARE USING UNMODIFIED CODE! If you modify this code, you MUST change the next line: Send us your modified files, we can work together if you want! Free Pascal is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Library GNU General Public License for more details. You should have received a copy of the Library GNU General Public License along with Free Pascal; see the file COPYING.LIB. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ****************************************************************************} unit os2def; {Warning: This code is alfa. Future versions of this unit will propably not be compatible.} interface 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; 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; 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; 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 pcardinal = ^cardinal; plongint = ^longint; pinteger = ^integer; pshortint = ^shortint; ppointer = ^pointer; pbyte = ^byte; POINTL = record x : cardinal; y : cardinal; end; PPOINTL = ^POINTL; POINTS = record x : integer; y : integer; end; PPOINTS = ^POINTS; RECTL = record xLeft : longint; yBottom : longint; xRight : longint; yTop : longint; end; PRECTL = ^RECTL; NPRECTL = ^RECTL; STR8 = array[0..7] of CHAR; PSTR8 = ^STR8; DRIVDATA = record cb : longint; lVersion : longint; szDeviceName : array[0..32-1] of CHAR; abGeneralData : array[0..1-1] of CHAR; end; PDRIVDATA = ^DRIVDATA; DEVOPENSTRUC = record pszLogAddress : pchar; pszDriverName : pchar; pdriv : PDRIVDATA; pszDataType : pchar; pszComment : pchar; pszQueueProcName : pchar; pszQueueProcParams : pchar; pszSpoolerParams : pchar; pszNetworkParams : pchar; end; PDEVOPENSTRUC = ^DEVOPENSTRUC; PDEVOPENDATA = PDevOpenStruc; PRINTDEST = record cb : cardinal; lType : longint; pszToken : pchar; lCount : longint; pdopData : PDEVOPENDATA; fl : cardinal; pszPrinter : pchar; end; PPRINTDEST = ^PRINTDEST; FATTRS = record usRecordLength : word; fsSelection : word; lMatch : longint; szFacename : array[0..FACESIZE-1] of CHAR; idRegistry : word; usCodePage : word; lMaxBaselineExt : longint; lAveCharWidth : longint; fsType : word; fsFontUse : word; end; PFATTRS = ^FATTRS; 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 : word; usCodePage : word; lEmHeight : longint; lXHeight : longint; lMaxAscender : longint; lMaxDescender : longint; lLowerCaseAscent : longint; lLowerCaseDescent : longint; lInternalLeading : longint; lExternalLeading : longint; lAveCharWidth : longint; lMaxCharInc : longint; lEmInc : longint; lMaxBaselineExt : longint; sCharSlope : integer; sInlineDir : integer; sCharRot : integer; usWeightClass : word; usWidthClass : word; sXDeviceRes : integer; sYDeviceRes : integer; sFirstChar : integer; sLastChar : integer; sDefaultChar : integer; sBreakChar : integer; sNominalPointSize : integer; sMinimumPointSize : integer; sMaximumPointSize : integer; fsType : word; fsDefn : word; fsSelection : word; fsCapabilities : word; lSubscriptXSize : longint; lSubscriptYSize : longint; lSubscriptXOffset : longint; lSubscriptYOffset : longint; lSuperscriptXSize : longint; lSuperscriptYSize : longint; lSuperscriptXOffset : longint; lSuperscriptYOffset : longint; lUnderscoreSize : longint; lUnderscorePosition : longint; lStrikeoutSize : longint; lStrikeoutPosition : longint; sKerningPairs : integer; sFamilyClass : integer; lMatch : longint; FamilyNameAtom : longint; FaceNameAtom : longint; panose : PANOSE; end; PFONTMETRICS = ^FONTMETRICS; { Nun folgen einige Free Pascal-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; {Names beginning with T for compatibility} TPOINTL = POINTL; TPOINTS = POINTS; TRECTL = RECTL; TSTR8 = STR8; TDRIVDATA = DRIVDATA; TDEVOPENSTRUC = DEVOPENSTRUC; TPRINTDEST = PRINTDEST; TFATTRS = FATTRS; TPANOSE = PANOSE; TFONTMETRICS = FONTMETRICS; TCHARARRAY = CHARARRAY; {Another bunch of compatibility things} HWND = cardinal; HAB = cardinal; HMQ = cardinal; HPS = cardinal; HRGN = cardinal; ULONG = cardinal; MParam = pointer; MResult = pointer; implementation end. { $Log$ Revision 1.2 2000-07-14 10:33:11 michael + Conditionals fixed Revision 1.1 2000/07/13 06:31:06 michael + Initial import }