os2def.pas 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285
  1. {****************************************************************************
  2. $Id$
  3. Copyright (c) 1993,94 by Florian Klaempfl
  4. Copyright (c) 1999 by Ramon Bosque
  5. The Free Pascal runtime library is distributed under the Library GNU Public
  6. License v2. So is this unit. The Library GNU Public License requires you to
  7. distribute the source code of this unit with any product that uses it.
  8. Because the EMX library isn't under the LGPL, we grant you an exception to
  9. this, and that is, when you compile a program with the Free Pascal compiler,
  10. you do not need to ship source code with that program, AS LONG AS YOU ARE
  11. USING UNMODIFIED CODE! If you modify this code, you MUST change the next
  12. line:
  13. <This an official, unmodified FPK Pascal source code file.>
  14. Send us your modified files, we can work together if you want!
  15. FPK-Pascal is distributed in the hope that it will be useful,
  16. but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. Library GNU General Public License for more details.
  19. You should have received a copy of the Library GNU General Public License
  20. along with Free Pascal; see the file COPYING.LIB. If not, write to
  21. the Free Software Foundation, 59 Temple Place - Suite 330,
  22. Boston, MA 02111-1307, USA.
  23. ****************************************************************************}
  24. unit os2def;
  25. {Warning: This code is alfa. Future versions of this unit will propably
  26. not be compatible.}
  27. interface
  28. const
  29. SEVERITY_NOERROR = $0;
  30. SEVERITY_WARNING = $4;
  31. SEVERITY_ERROR = $8;
  32. SEVERITY_SEVERE = $c;
  33. SEVERITY_UNRECOVERABLE = $10;
  34. WINERR_BASE = $1000;
  35. GPIERR_BASE = $2000;
  36. DEVERR_BASE = $3000;
  37. SPLERR_BASE = $4000;
  38. ADDRESS = 0;
  39. DRIVER_NAME = 1;
  40. DRIVER_DATA = 2;
  41. DATA_TYPE = 3;
  42. COMMENT = 4;
  43. PROC_NAME = 5;
  44. PROC_PARAMS = 6;
  45. SPL_PARAMS = 7;
  46. NETWORK_PARAMS = 8;
  47. PD_JOB_PROPERTY = $0001;
  48. FATTR_SEL_ITALIC = $0001;
  49. FATTR_SEL_UNDERSCORE = $0002;
  50. FATTR_SEL_OUTLINE = $0008;
  51. FATTR_SEL_STRIKEOUT = $0010;
  52. FATTR_SEL_BOLD = $0020;
  53. FATTR_TYPE_KERNING = $0004;
  54. FATTR_TYPE_MBCS = $0008;
  55. FATTR_TYPE_DBCS = $0010;
  56. FATTR_TYPE_ANTIALIASED = $0020;
  57. FATTR_FONTUSE_NOMIX = $0002;
  58. FATTR_FONTUSE_OUTLINE = $0004;
  59. FATTR_FONTUSE_TRANSFORMABLE = $0008;
  60. FACESIZE = 32;
  61. FM_TYPE_FIXED = $0001;
  62. FM_TYPE_LICENSED = $0002;
  63. FM_TYPE_KERNING = $0004;
  64. FM_TYPE_DBCS = $0010;
  65. FM_TYPE_MBCS = $0018;
  66. FM_TYPE_64K = $8000;
  67. FM_TYPE_ATOMS = $4000;
  68. FM_TYPE_FAMTRUNC = $2000;
  69. FM_TYPE_FACETRUNC = $1000;
  70. FM_DEFN_OUTLINE = $0001;
  71. FM_DEFN_IFI = $0002;
  72. FM_DEFN_WIN = $0004;
  73. FM_DEFN_GENERIC = $8000;
  74. FM_SEL_ITALIC = $0001;
  75. FM_SEL_UNDERSCORE = $0002;
  76. FM_SEL_NEGATIVE = $0004;
  77. FM_SEL_OUTLINE = $0008;
  78. FM_SEL_STRIKEOUT = $0010;
  79. FM_SEL_BOLD = $0020;
  80. FM_CAP_NOMIX = $0001;
  81. type
  82. pcardinal = ^cardinal;
  83. plongint = ^longint;
  84. pinteger = ^integer;
  85. pshortint = ^shortint;
  86. ppointer = ^pointer;
  87. pbyte = ^byte;
  88. POINTL = record
  89. x : cardinal;
  90. y : cardinal;
  91. end;
  92. PPOINTL = ^POINTL;
  93. POINTS = record
  94. x : integer;
  95. y : integer;
  96. end;
  97. PPOINTS = ^POINTS;
  98. RECTL = record
  99. xLeft : longint;
  100. yBottom : longint;
  101. xRight : longint;
  102. yTop : longint;
  103. end;
  104. PRECTL = ^RECTL;
  105. NPRECTL = ^RECTL;
  106. STR8 = array[0..7] of CHAR;
  107. PSTR8 = ^STR8;
  108. DRIVDATA = record
  109. cb : longint;
  110. lVersion : longint;
  111. szDeviceName : array[0..32-1] of CHAR;
  112. abGeneralData : array[0..1-1] of CHAR;
  113. end;
  114. PDRIVDATA = ^DRIVDATA;
  115. DEVOPENSTRUC = record
  116. pszLogAddress : pchar;
  117. pszDriverName : pchar;
  118. pdriv : PDRIVDATA;
  119. pszDataType : pchar;
  120. pszComment : pchar;
  121. pszQueueProcName : pchar;
  122. pszQueueProcParams : pchar;
  123. pszSpoolerParams : pchar;
  124. pszNetworkParams : pchar;
  125. end;
  126. PDEVOPENSTRUC = ^DEVOPENSTRUC;
  127. PDEVOPENDATA = PDevOpenStruc;
  128. PRINTDEST = record
  129. cb : cardinal;
  130. lType : longint;
  131. pszToken : pchar;
  132. lCount : longint;
  133. pdopData : PDEVOPENDATA;
  134. fl : cardinal;
  135. pszPrinter : pchar;
  136. end;
  137. PPRINTDEST = ^PRINTDEST;
  138. FATTRS = record
  139. usRecordLength : word;
  140. fsSelection : word;
  141. lMatch : longint;
  142. szFacename : array[0..FACESIZE-1] of CHAR;
  143. idRegistry : word;
  144. usCodePage : word;
  145. lMaxBaselineExt : longint;
  146. lAveCharWidth : longint;
  147. fsType : word;
  148. fsFontUse : word;
  149. end;
  150. PFATTRS = ^FATTRS;
  151. PANOSE = record
  152. bFamilyType : BYTE;
  153. bSerifStyle : BYTE;
  154. bWeight : BYTE;
  155. bProportion : BYTE;
  156. bContrast : BYTE;
  157. bStrokeVariation : BYTE;
  158. bArmStyle : BYTE;
  159. bLetterform : BYTE;
  160. bMidline : BYTE;
  161. bXHeight : BYTE;
  162. abReserved : array[0..2-1] of BYTE;
  163. end;
  164. FONTMETRICS = record
  165. szFamilyname : array[0..FACESIZE-1] of CHAR;
  166. szFacename : array[0..FACESIZE-1] of CHAR;
  167. idRegistry : word;
  168. usCodePage : word;
  169. lEmHeight : longint;
  170. lXHeight : longint;
  171. lMaxAscender : longint;
  172. lMaxDescender : longint;
  173. lLowerCaseAscent : longint;
  174. lLowerCaseDescent : longint;
  175. lInternalLeading : longint;
  176. lExternalLeading : longint;
  177. lAveCharWidth : longint;
  178. lMaxCharInc : longint;
  179. lEmInc : longint;
  180. lMaxBaselineExt : longint;
  181. sCharSlope : integer;
  182. sInlineDir : integer;
  183. sCharRot : integer;
  184. usWeightClass : word;
  185. usWidthClass : word;
  186. sXDeviceRes : integer;
  187. sYDeviceRes : integer;
  188. sFirstChar : integer;
  189. sLastChar : integer;
  190. sDefaultChar : integer;
  191. sBreakChar : integer;
  192. sNominalPointSize : integer;
  193. sMinimumPointSize : integer;
  194. sMaximumPointSize : integer;
  195. fsType : word;
  196. fsDefn : word;
  197. fsSelection : word;
  198. fsCapabilities : word;
  199. lSubscriptXSize : longint;
  200. lSubscriptYSize : longint;
  201. lSubscriptXOffset : longint;
  202. lSubscriptYOffset : longint;
  203. lSuperscriptXSize : longint;
  204. lSuperscriptYSize : longint;
  205. lSuperscriptXOffset : longint;
  206. lSuperscriptYOffset : longint;
  207. lUnderscoreSize : longint;
  208. lUnderscorePosition : longint;
  209. lStrikeoutSize : longint;
  210. lStrikeoutPosition : longint;
  211. sKerningPairs : integer;
  212. sFamilyClass : integer;
  213. lMatch : longint;
  214. FamilyNameAtom : longint;
  215. FaceNameAtom : longint;
  216. panose : PANOSE;
  217. end;
  218. PFONTMETRICS = ^FONTMETRICS;
  219. { Nun folgen einige FPKPascal-spezifische Typen: }
  220. { null. term. Strings sind in den Header Dateien oft als }
  221. { array[0..0] of byte deklariert, der folgende Typ er- }
  222. { m”glich eine Typkonvertierung }
  223. CHARARRAY = array[0..0] of char;
  224. {Names beginning with T for compatibility}
  225. TPOINTL = POINTL;
  226. TPOINTS = POINTS;
  227. TRECTL = RECTL;
  228. TSTR8 = STR8;
  229. TDRIVDATA = DRIVDATA;
  230. TDEVOPENSTRUC = DEVOPENSTRUC;
  231. TPRINTDEST = PRINTDEST;
  232. TFATTRS = FATTRS;
  233. TPANOSE = PANOSE;
  234. TFONTMETRICS = FONTMETRICS;
  235. TCHARARRAY = CHARARRAY;
  236. implementation
  237. end.
  238. {
  239. $Log$
  240. Revision 1.6 1999-08-05 07:37:27 hajny
  241. * 'solution' for a compiler problem
  242. }