pmord.pas 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725
  1. {****************************************************************************
  2. Copyright (c) 1993,94 by Florian Kl„mpfl
  3. ****************************************************************************}
  4. unit pmord;
  5. interface
  6. uses
  7. os2def,pmgpi;
  8. {$PACKRECORDS 1}
  9. type
  10. RECT1S = record
  11. xLeft : SHORT;
  12. yBottom : SHORT;
  13. xRight : SHORT;
  14. yTop : SHORT;
  15. end;
  16. ODPOINT = record
  17. dx : CHAR;
  18. dy : CHAR;
  19. end;
  20. SIZES = record
  21. cx : SHORT;
  22. cy : SHORT;
  23. end;
  24. SWPUSHORT = record
  25. HiByte : UCHAR;
  26. LoByte : UCHAR;
  27. end;
  28. const
  29. OCODE_GNOP1 = $00;
  30. OCODE_GESD = $FF;
  31. OCODE2_1 = $80;
  32. OCODE2_2 = $88;
  33. type
  34. ORDER = record
  35. idCode : UCHAR;
  36. uchData : UCHAR;
  37. end;
  38. const
  39. OCODE_GBAR = $68;
  40. OCODE_GCFIG = $7D;
  41. OCODE_GEEL = $49;
  42. OCODE_GEPTH = $7F;
  43. OCODE_GEPROL = $3E;
  44. OCODE_GPOP = $3F;
  45. OCODE_GSBMX = $0D;
  46. OCODE_GPSBMX = $4D;
  47. OCODE_GSCD = $3A;
  48. OCODE_GPSCD = $7A;
  49. OCODE_GSCR = $39;
  50. OCODE_GPSCR = $79;
  51. OCODE_GSCS = $38;
  52. OCODE_GPSCS = $78;
  53. OCODE_GSCOL = $0A;
  54. OCODE_GPSCOL = $4A;
  55. OCODE_GSLE = $1A;
  56. OCODE_GPSLE = $5A;
  57. OCODE_GSLJ = $1B;
  58. OCODE_GPSLJ = $5B;
  59. OCODE_GSLT = $18;
  60. OCODE_GPSLT = $58;
  61. OCODE_GSLW = $19;
  62. OCODE_GPSLW = $59;
  63. OCODE_GSMP = $3B;
  64. OCODE_GPSMP = $7B;
  65. OCODE_GSMS = $3C;
  66. OCODE_GPSMS = $7C;
  67. OCODE_GSMT = $29;
  68. OCODE_GPSMT = $69;
  69. OCODE_GSMX = $0C;
  70. OCODE_GPSMX = $4C;
  71. OCODE_GSPS = $08;
  72. OCODE_GPSPS = $48;
  73. OCODE_GSPT = $28;
  74. OCODE_GPSPT = $09;
  75. GBAR_RESERVED = $80;
  76. GBAR_BOUNDARY = $C0;
  77. GBAR_NOBOUNDARY = $80;
  78. GBAR_WINDING = $A0;
  79. GBAR_ALTERNATE = $80;
  80. GSCR_PRECISION = $0F;
  81. OCODE_VLONG = $FE;
  82. LORDER_ML = 253;
  83. type
  84. LORDER = record
  85. idCode : UCHAR;
  86. uchLength : UCHAR;
  87. uchData : array[0..LORDER_ML-1] of UCHAR;
  88. end;
  89. const
  90. OCODE_GEAR = $60;
  91. OCODE_GEIMG = $93;
  92. OCODE_GCCHST = $83;
  93. GCCHST_MC = 255;
  94. OCODE_GCHST = $C3;
  95. GCHST_SMC = 251;
  96. GCHST_LMC = 247;
  97. OCODE_GCCHSTM = $B1;
  98. GCCHSTM_MC = 255;
  99. OCODE_GCHSTM = $F1;
  100. GCHSTM_SMC = 251;
  101. GCHSTM_LMC = 247;
  102. OCODE_GCOMT = $01;
  103. GCOMT_ML = 255;
  104. OCODE_GIMD = $92;
  105. GIMD_ML = 255;
  106. OCODE_GCFARC = $87;
  107. OCODE_GFARC = $C7;
  108. OCODE_GLABL = $D3;
  109. OCODE_GSCP = $21;
  110. OCODE_GPSCP = $61;
  111. OCODE_GCBEZ = $A5;
  112. GCBEZ_SMB = 21;
  113. GCBEZ_LMB = 10;
  114. OCODE_GBEZ = $E5;
  115. GBEZ_SMB = 20;
  116. GBEZ_LMB = 10;
  117. OCODE_GCFLT = $85;
  118. GCFLT_SMP = 63;
  119. GCFLT_LMP = 31;
  120. OCODE_GFLT = $C5;
  121. GFLT_SMP = 62;
  122. GFLT_LMP = 30;
  123. OCODE_GCLINE = $81;
  124. GCLINE_SMP = 63;
  125. GCLINE_LMP = 31;
  126. OCODE_GLINE = $C1;
  127. GLINE_SMP = 62;
  128. GLINE_LMP = 30;
  129. OCODE_GCMRK = $82;
  130. GCMRK_SMP = 63;
  131. GCMRK_LMP = 31;
  132. OCODE_GMRK = $C2;
  133. GMRK_SMP = 62;
  134. GMRK_LMP = 30;
  135. OCODE_GCRLINE = $A1;
  136. GCRLINE_MP = 127;
  137. OCODE_GRLINE = $E1;
  138. GRLINE_SMP = 125;
  139. GRLINE_LMP = 123;
  140. OCODE_GSBCOL = $25;
  141. OCODE_GPSBCOL = $65;
  142. OCODE_GSECOL = $26;
  143. OCODE_GPSECOL = $66;
  144. SECOL_DEFAULT0 = $0000;
  145. SECOL_DEFAULT1 = $FF00;
  146. SECOL_NEUTRAL = $FF07;
  147. SECOL_RESET = $FF08;
  148. OCODE_GSCA = $34;
  149. OCODE_GPSCA = $74;
  150. OCODE_GSCH = $35;
  151. OCODE_GPSCH = $75;
  152. OCODE_GSFLW = $11;
  153. OCODE_GPSFLW = $51;
  154. OCODE_GSPIK = $43;
  155. OCODE_GPSPIK = $23;
  156. OCODE_GCARC = $86;
  157. OCODE_GARC = $C6;
  158. type
  159. ORDERS_GCARC = record
  160. ptInter : POINTS;
  161. ptEnd : POINTS;
  162. end;
  163. ORDERL_GCARC = record
  164. ptInter : POINTL;
  165. ptEnd : POINTL;
  166. end;
  167. const
  168. OCODE_GBEL = $D2;
  169. GBEL_DL = 251;
  170. type
  171. ORDER_GBEL = record
  172. lElementType : LONG;
  173. achDesc : array[0..GBEL_DL-1] of CHAR;
  174. end;
  175. const
  176. OCODE_GCBIMG = $91;
  177. OCODE_GBIMG = $D1;
  178. type
  179. ORDER_GCBIMG = record
  180. uchFormat : UCHAR;
  181. uchReserved : UCHAR;
  182. cx : SWPUSHORT;
  183. cy : SWPUSHORT;
  184. end;
  185. const
  186. OCODE_GBPTH = $D0;
  187. type
  188. ORDER_GBPTH = record
  189. usReserved : USHORT;
  190. idPath : LONG;
  191. end;
  192. const
  193. OCODE_GCBOX = $80;
  194. OCODE_GBOX = $C0;
  195. type
  196. ORDERS_GCBOX = record
  197. fbFlags : UCHAR;
  198. uchReserved : UCHAR;
  199. ptCorner : POINTS;
  200. hAxis : SHORT;
  201. vAxis : SHORT;
  202. end;
  203. ORDERL_GCBOX = record
  204. fbFlags : UCHAR;
  205. uchReserved : UCHAR;
  206. ptCorner : POINTL;
  207. hAxis : LONG;
  208. vAxis : LONG;
  209. end;
  210. const
  211. GCBOX_FILL = $40;
  212. GCBOX_BOUNDARY = $20;
  213. OCODE_GCALLS = $07;
  214. type
  215. ORDER_GCALLS = record
  216. sReserved : USHORT;
  217. idSegment : LONG;
  218. end;
  219. const
  220. OCODE_GFPTH = $D7;
  221. type
  222. ORDER_GFPTH = record
  223. fbFlags : UCHAR;
  224. uchReserved : UCHAR;
  225. idPath : LONG;
  226. end;
  227. const
  228. GFPTH_ALTERNATE = $00;
  229. GFPTH_WINDING = $40;
  230. GFPTH_MODIFY = $20;
  231. OCODE_GOPTH = $D4;
  232. type
  233. ORDER_GOPTH = record
  234. fbFlags : UCHAR;
  235. uchReserved : UCHAR;
  236. idPath : LONG;
  237. end;
  238. const
  239. OCODE_GMPTH = $D8;
  240. type
  241. ORDER_GMPTH = record
  242. uchMode : UCHAR;
  243. uchReserved : UCHAR;
  244. idPath : LONG;
  245. end;
  246. const
  247. GMPTH_STROKE = $06;
  248. OCODE_GCPARC = $A3;
  249. OCODE_GPARC = $E3;
  250. type
  251. ORDERS_GCPARC = record
  252. ptCenter : POINTS;
  253. ufx88Multiplier : FIXED88;
  254. usStartAngle : LONG;
  255. usSweepAngle : LONG;
  256. end;
  257. ORDERL_GCPARC = record
  258. ptCenter : POINTL;
  259. ufxMultiplier : FIXED;
  260. usStartAngle : LONG;
  261. usSweepAngle : LONG;
  262. end;
  263. const
  264. OCODE_GSCPTH = $B4;
  265. type
  266. ORDER_GSCPTH = record
  267. fbFlags : UCHAR;
  268. uchReserved : UCHAR;
  269. idPath : LONG;
  270. end;
  271. const
  272. GSCPTH_ALTERNATE = $00;
  273. GSCPTH_WINDING = $40;
  274. GSCPTH_RESET = $00;
  275. GSCPTH_INTERSECT = $20;
  276. OCODE_GSAP = $22;
  277. OCODE_GPSAP = $62;
  278. type
  279. ORDERS_GSAP = record
  280. p : SHORT;
  281. q : SHORT;
  282. r : SHORT;
  283. s : SHORT;
  284. end;
  285. ORDERL_GSAP = record
  286. p : LONG;
  287. q : LONG;
  288. r : LONG;
  289. s : LONG;
  290. end;
  291. const
  292. OCODE_GSBICOL = $A7;
  293. OCODE_GPSBICOL = $E7;
  294. OCODE_GSICOL = $A6;
  295. OCODE_GPSICOL = $E6;
  296. type
  297. ORDER_GSBICOL = record
  298. fbFlags : UCHAR;
  299. auchColor : array[0..3-1] of UCHAR;
  300. end;
  301. const
  302. SICOL_SPECIFY = $00;
  303. SICOL_SPECIAL = $40;
  304. SICOL_DEFAULT = $80;
  305. SICOL_BLACK = 1;
  306. SICOL_WHITE = 2;
  307. SICOL_ONES = 4;
  308. SICOL_ZEROES = 5;
  309. OCODE_GSCC = $33;
  310. OCODE_GPSCC = $03;
  311. type
  312. ORDERS_GSCC = record
  313. cxInt : SHORT;
  314. cyInt : SHORT;
  315. cxFract : USHORT;
  316. cyFract : USHORT;
  317. fbFlags : UCHAR;
  318. uchReserved : UCHAR;
  319. end;
  320. ORDERL_GSCC = record
  321. cxInt : LONG;
  322. cyInt : LONG;
  323. cxFract : USHORT;
  324. cyFract : USHORT;
  325. fbFlags : UCHAR;
  326. uchReserved : UCHAR;
  327. end;
  328. const
  329. GSCC_ZERODEF = $00;
  330. GSCC_ZEROZERO = $80;
  331. OCODE_GSMC = $37;
  332. OCODE_GPSMC = $77;
  333. type
  334. ORDERS_GSMC = record
  335. cx : SHORT;
  336. cy : SHORT;
  337. fbFlags : UCHAR;
  338. uchReserved : UCHAR;
  339. end;
  340. ORDERL_GSMC = record
  341. cx : LONG;
  342. cy : LONG;
  343. fbFlags : UCHAR;
  344. uchReserved : UCHAR;
  345. end;
  346. const
  347. GSMC_ZERODEF = $00;
  348. GSMC_ZEROZERO = $80;
  349. OCODE_GSPRP = $A0;
  350. OCODE_GPSPRP = $E0;
  351. type
  352. ORDERS_GSPRP = record
  353. fbFlags : UCHAR;
  354. uchReserved : UCHAR;
  355. ptPos : POINTS;
  356. end;
  357. ORDERL_GSPRP = record
  358. fbFlags : UCHAR;
  359. uchReserved : UCHAR;
  360. ptPos : POINTL;
  361. end;
  362. const
  363. GSPRP_DEFAULT = $80;
  364. GSPRP_SPECIFY = $00;
  365. OCODE_GSIA = $14;
  366. OCODE_GPSIA = $54;
  367. GSIA_VL = 3;
  368. type
  369. ORDER_GSIA = record
  370. uchAttrType : UCHAR;
  371. uchPrimType : UCHAR;
  372. fbFlags : UCHAR;
  373. auchValue : array[0..GSIA_VL-1] of UCHAR;
  374. end;
  375. const
  376. GSIA_COLOR = $01;
  377. GSIA_BCOLOR = $02;
  378. GSIA_MIX = $03;
  379. GSIA_BMIX = $04;
  380. GSIA_LINE = $01;
  381. GSIA_CHAR = $02;
  382. GSIA_MARKER = $03;
  383. GSIA_PATTERN = $04;
  384. GSIA_IMAGE = $05;
  385. GSIA_SPECIFY = $00;
  386. GSIA_SPECIAL = $40;
  387. GSIA_DEFAULT = $80;
  388. GSIA_BLACK = 1;
  389. GSIA_WHITE = 2;
  390. GSIA_ONES = 4;
  391. GSIA_ZEROES = 5;
  392. OCODE_GSTM = $24;
  393. OCODE_GPSTM = $64;
  394. OCODE_GSTV = $31;
  395. GSTM_ML = 16;
  396. type
  397. ORDERS_GSTM = record
  398. uchReserved : UCHAR;
  399. fbFlags : UCHAR;
  400. fsMask : USHORT;
  401. asMatrix : array[0..GSTM_ML-1] of SHORT;
  402. end;
  403. ORDERL_GSTM = record
  404. uchReserved : UCHAR;
  405. fbFlags : UCHAR;
  406. fsMask : USHORT;
  407. alMatrix : array[0..GSTM_ML-1] of LONG;
  408. end;
  409. const
  410. GSTM_M11 = $8000;
  411. GSTM_M12 = $4000;
  412. GSTM_M13 = $2000;
  413. GSTM_M14 = $1000;
  414. GSTM_M21 = $0800;
  415. GSTM_M22 = $0400;
  416. GSTM_M23 = $0200;
  417. GSTM_M24 = $0100;
  418. GSTM_M31 = $0080;
  419. GSTM_M32 = $0040;
  420. GSTM_M33 = $0020;
  421. GSTM_M34 = $0010;
  422. GSTM_M41 = $0008;
  423. GSTM_M42 = $0004;
  424. GSTM_M43 = $0002;
  425. GSTM_M44 = $0001;
  426. GSTM_UNITY = $00;
  427. GSTM_AFTER = $01;
  428. GSTM_BEFORE = $02;
  429. GSTM_OVERWRITE = $03;
  430. GSTV_OVERWRITE = $00;
  431. GSTV_AFTER = $04;
  432. OCODE_GSSB = $32;
  433. OCODE_GSVW = $27;
  434. OCODE_GPSVW = $67;
  435. GSSB_ML = 4;
  436. type
  437. ORDERS_GSSB = record
  438. fbFlags : UCHAR;
  439. fbMask : UCHAR;
  440. alMatrix : array[0..GSSB_ML-1] of SHORT;
  441. end;
  442. ORDERL_GSSB = record
  443. fbFLags : UCHAR;
  444. fbMask : UCHAR;
  445. alMatrix : array[0..GSSB_ML-1] of LONG;
  446. end;
  447. const
  448. GSSB_XLEFT = $20;
  449. GSSB_XRIGHT = $10;
  450. GSSB_YBOTTOM = $08;
  451. GSSB_YTOP = $04;
  452. GSVW_INTERSECT = $00;
  453. GSVW_REPLACE = $80;
  454. OCODE_GSGCH = $04;
  455. GSGCH_ML = 254;
  456. type
  457. ORDER_GSGCH = record
  458. uchIdent : UCHAR;
  459. auchData : array[0..GSGCH_ML-1] of UCHAR;
  460. end;
  461. const
  462. OCODE_GSSLW = $15;
  463. OCODE_GPSSLW = $55;
  464. type
  465. ORDERS_GSSLW = record
  466. fbFlags : UCHAR;
  467. uchReserved : UCHAR;
  468. LineWidth : SHORT;
  469. end;
  470. ORDERL_GSSLW = record
  471. fbFlags : UCHAR;
  472. uchReserved : UCHAR;
  473. LineWidth : LONG;
  474. end;
  475. const
  476. GSSLW_DEFAULT = $80;
  477. GSSLW_SPECIFY = $00;
  478. OCODE_GCSFLT = $A4;
  479. OCODE_GSFLT = $E4;
  480. GCSFLT_SMF = 21;
  481. GSFLT_SMF = 20;
  482. GCSFLT_SMF2 = GCSFLT_SMF*2;
  483. type
  484. ORDERS_GCSFLT = record
  485. apt : array[0..GCSFLT_SMF2-1] of POINTS;
  486. afxSharpness : array[0..GCSFLT_SMF-1] of FIXED;
  487. end;
  488. const
  489. GCSFLT_LMF = 12;
  490. GSFLT_LMF = 12;
  491. GCSFLT_LMF2 = GCSFLT_LMF*2;
  492. type
  493. ORDERL_GCSFLT = record
  494. apt : array[0..GCSFLT_LMF2-1] of POINTL;
  495. afxSharpness : array[0..GCSFLT_LMF-1] of FIXED;
  496. end;
  497. const
  498. OCODE_GBBLT = $D6;
  499. type
  500. ORDERS_GBBLT = record
  501. fsFlags : USHORT;
  502. usMix : USHORT;
  503. hbmSrc : HBITMAP;
  504. lOptions : LONG;
  505. rcsTargetRect : RECT1S;
  506. rclSourceRect : RECTL;
  507. end;
  508. ORDERL_GBBLT = record
  509. fsFlags : USHORT;
  510. usMix : USHORT;
  511. hbmSrc : HBITMAP;
  512. lOptions : LONG;
  513. rclTargetRect : RECTL;
  514. rclSourceRect : RECTL;
  515. end;
  516. const
  517. OCODE_GSCE = $17;
  518. OCODE_GPSCE = $57;
  519. OCODE_GSCBE = $05;
  520. OCODE_GPSCBE = $45;
  521. type
  522. ORDER_GSCBE = record
  523. fbFlags : UCHAR;
  524. uchReserved : UCHAR;
  525. ufxextra : FIXED;
  526. end;
  527. const
  528. OCODE_GESCP = $D5;
  529. GESCP_ML = 253;
  530. type
  531. ORDER_GESCP = record
  532. uchType : UCHAR;
  533. uchIdent : UCHAR;
  534. auchData : array[0..GESCP_ML-1] of UCHAR;
  535. end;
  536. const
  537. GESCP_REG = $80;
  538. GEBB_REGID = $02;
  539. ETYPE_GEBB = $800200D5;
  540. GEBB_LMP = 29;
  541. type
  542. ORDERL_GEBB = record
  543. fbFlags : UCHAR;
  544. usMix : USHORT;
  545. cPoints : UCHAR;
  546. hbmSrc : HBITMAP;
  547. lReserved : LONG;
  548. lOptions : LONG;
  549. aptPoints : array[0..GEBB_LMP-1] of POINTL;
  550. end;
  551. const
  552. GEPEL_REGID = $01;
  553. ETYPE_GEPEL = $800100D5;
  554. GEDB_REGID = $04;
  555. ETYPE_GEDB = $800400D5;
  556. type
  557. ORDERL_GEDB = record
  558. fsFlags : USHORT;
  559. usMix : USHORT;
  560. pBits : PVOID;
  561. pbmi : PBITMAPINFO2;
  562. lOptions : LONG;
  563. rclTargetRect : RECTL;
  564. rclSourceRect : RECTL;
  565. end;
  566. const
  567. GEFF_REGID = $03;
  568. ETYPE_GEFF = $800300D5;
  569. type
  570. ORDERL_GEFF = record
  571. fsFlags : UCHAR;
  572. auchColor : array[0..3-1] of UCHAR;
  573. end;
  574. const
  575. ETYPE_LINEBUNDLE = $0000FD01;
  576. ETYPE_CHARBUNDLE = $0000FD02;
  577. ETYPE_MARKERBUNDLE = $0000FD03;
  578. ETYPE_AREABUNDLE = $0000FD04;
  579. ETYPE_IMAGEBUNDLE = $0000FD05;
  580. VORDER_ML = 65531;
  581. type
  582. VORDER = record
  583. idCode : UCHAR;
  584. uchQualifier : UCHAR;
  585. uchLength : SWPUSHORT;
  586. uchData : array[0..VORDER_ML-1] of UCHAR;
  587. end;
  588. const
  589. OCODEQ_GCCHSTE = $B0;
  590. OCODEQ_GCHSTE = $F0;
  591. ETYPE_GCCHSTE = $0000FEB0;
  592. ETYPE_GCHSTE = $0000FEF0;
  593. type
  594. ORDERS_GCCHSTE = record
  595. fbFlags : UCHAR;
  596. uchReserved : UCHAR;
  597. ptRect : array[0..2-1] of POINTS;
  598. cchString : SWPUSHORT;
  599. achString : array[0..1-1] of CHAR;
  600. adx : array[0..1-1] of SHORT;
  601. end;
  602. ORDERL_GCCHSTE = record
  603. fbFlags : UCHAR;
  604. uchReserved : UCHAR;
  605. ptRect : array[0..2-1] of POINTL;
  606. cchString : SWPUSHORT;
  607. achString : array[0..1-1] of CHAR;
  608. adx : array[0..1-1] of LONG;
  609. end;
  610. const
  611. GCCHSTE_DRAWRECT = $80;
  612. GCCHSTE_NORECT = $00;
  613. GCCHSTE_CLIP = $40;
  614. GCCHSTE_NOCLIP = $00;
  615. GCCHSTE_DEEMPHASIZE = $20;
  616. GCCHSTE_NODEEMPHASIZE = $00;
  617. GCCHSTE_LEAVEPOS = $10;
  618. GCCHSTE_MOVEPOS = $00;
  619. GCCHSTE_UNDERSCORE = $08;
  620. GCCHSTE_NOUNDERSCORE = $00;
  621. GCCHSTE_STRIKEOUT = $04;
  622. GCCHSTE_NOSTRIKEOUT = $00;
  623. OCODEQ_GEESCP = $D5;
  624. GEESCP_ML = 65533;
  625. type
  626. ORDER_GEESCP = record
  627. uchType : UCHAR;
  628. uchIdent : UCHAR;
  629. auchData : array[0..GEESCP_ML-1] of UCHAR;
  630. end;
  631. {$PACKRECORDS NORMAL}
  632. implementation
  633. end.