source: 2.19_branch/Sibyl/RTL/OS2DEF.PAS@ 376

Last change on this file since 376 was 8, checked in by RBRi, 19 years ago

+ rest of sibyl stuff

  • Property svn:eol-style set to native
File size: 9.9 KB
Line 
1UNIT Os2Def;
2
3{****************************** Module Header ******************************
4 * *
5 * Module Name: OS2DEF.PAS *
6 * *
7 * OS/2 Common Definitions file *
8 * *
9 * *
10 ***************************************************************************}
11
12
13INTERFACE
14
15{Note: An ARRAY [0..x] OF CHAR is equal to a CSTRING[x] !
16 CString and PSZ are null terminated strings
17 PSZ is changed to PChar (^CString) in records}
18
19
20TYPE
21 ULONG =LONGWORD;
22 LONG =LONGINT;
23 USHORT =WORD;
24 SHORT =INTEGER;
25 UINT =LONGWORD;
26 PUCHAR =^UCHAR;
27 UCHAR =BYTE;
28 SEL =WORD;
29
30 PSZ =CSTRING;
31
32 LHANDLE =LONGWORD;
33 HMODULE =LONGWORD;
34 PID =LONGWORD;
35 TID =LONGWORD;
36 SGID =USHORT;
37 PVOID =POINTER;
38 PBYTE =^BYTE;
39 PUSHORT =^USHORT;
40 PSHORT =^SHORT;
41 PULONG =^ULONG;
42 PLONG =^LONG;
43 ERRORID =ULONG;
44
45TYPE
46 MPARAM =ULONG;
47 MRESULT =ULONG;
48
49 HPS =LHANDLE;
50 HPAL =LHANDLE;
51 HMF =LHANDLE;
52 COLOR =LONGINT;
53
54 PPOINTL=^POINTL;
55 POINTL=RECORD
56 x:LONGINT;
57 y:LONGINT;
58 END;
59
60 PPOINTS=^POINTS;
61 POINTS=RECORD
62 x:INTEGER;
63 y:INTEGER;
64 END;
65
66 PRECTL=^RECTL;
67 RECTL=RECORD
68 xLeft:LONGINT;
69 yBottom:LONGINT;
70 xRight:LONGINT;
71 yTop:LONGINT;
72 END;
73
74 www=Pchar;
75
76 HWND=LHANDLE;
77 HMQ=LHANDLE;
78 HBITMAP=LHANDLE;
79 HAB=LHANDLE;
80 WRECT=RECTL;
81 WPOINT=POINTL;
82 BOOL=LONGBOOL;
83 HDC=LHANDLE;
84 HRGN=LHANDLE;
85 APIRET=LONGWORD;
86 HPOINTER=LHANDLE;
87
88 PSWP=^SWP;
89 SWP=RECORD
90 fl:ULONG;
91 cy:LONG;
92 cx:LONG;
93 y:LONG;
94 x:LONG;
95 hwndInsertBehind:HWND;
96 hwnd:HWND;
97 ulReserved1:ULONG;
98 ulReserved2:ULONG;
99 END;
100
101 PSWPBUF=^TSWPBUF;
102 TSWPBUF=ARRAY[0..20] OF SWP;
103
104
105 PLONGBUF=^TLONGBUF;
106 TLONGBUF=ARRAY[0..65530] OF LONGWORD;
107
108 PQMSG=^QMSG;
109 QMSG=RECORD
110 hwnd:HWND;
111 msg:LONGWORD;
112 mp1:ULONG;
113 mp2:ULONG;
114 time:LONGWORD;
115 ptl:POINTL;
116 reserved:LONGWORD;
117 END;
118
119 MOUSEMSG=^TMOUSEMSG;
120 TMOUSEMSG=RECORD
121 msg:ULONG;
122 x,y:INTEGER;
123 codeHitTest:WORD;
124 fsInp:WORD;
125 END;
126
127 CHARMSG=^TCHARMSG;
128 TCHARMSG=RECORD
129 msg:ULONG;
130 fs:WORD;
131 cRepeat:BYTE;
132 ScanCode:BYTE;
133 chr:WORD;
134 vkey:WORD;
135 END;
136
137 COMMANDMSG=^TCOMMANDMSG;
138 TCOMMANDMSG=RECORD
139 msg:ULONG;
140 cmd:WORD; /* mp1 */
141 unused:WORD;
142 source:WORD; /* mp2 */
143 fMouse:WORD;
144 END;
145
146
147 PFNWP = FUNCTION(ahwnd:HWND;msg:ULONG;mp1,mp2:MPARAM):MRESULT;CDECL;
148
149
150
151CONST
152 NULLSHANDLE =0;
153
154 { Severity codes }
155CONST
156 SEVERITY_NOERROR =$0000;
157 SEVERITY_WARNING =$0004;
158 SEVERITY_ERROR =$0008;
159 SEVERITY_SEVERE =$000C;
160 SEVERITY_UNRECOVERABLE =$0010;
161
162 { Base component error values }
163
164 WINERR_BASE =$1000; { Window Manager }
165 GPIERR_BASE =$2000; { Graphics Presentation Interface }
166 DEVERR_BASE =$3000; { Device Manager }
167 SPLERR_BASE =$4000; { Spooler }
168
169
170TYPE
171 PCH=POINTER;
172
173 { structure for Device Driver data }
174
175TYPE
176 PDRIVDATA=^DRIVDATA;
177 DRIVDATA=RECORD
178 cb:LONGINT;
179 lVersion:LONGINT;
180 szDeviceName:CSTRING[31];
181 abGeneralData:CHAR;
182 END;
183
184 {array indices for array parameter for DevOpenDC,SplQmOpen or SplQpOpen}
185
186CONST
187 ADDRESS =0;
188 DRIVER_NAME =1;
189 DRIVER_DATA =2;
190 DATA_TYPE =3;
191 COMMENT =4;
192 PROC_NAME =5;
193 PROC_PARAMS =6;
194 SPL_PARAMS =7;
195 NETWORK_PARAMS =8;
196
197 { structure definition as an alternative of the array parameter }
198
199TYPE
200 DEVOPENSTRUC=RECORD
201 pszLogAddress:PChar;
202 pszDriverName:PChar;
203 pdriv:PDRIVDATA;
204 pszDataType:PChar;
205 pszComment:PChar;
206 pszQueueProcName:PChar;
207 pszQueueProcParams:PChar;
208 pszSpoolerParams:PChar;
209 pszNetworkParams:PChar;
210 END;
211
212 { common PMWP object and PMSTDDLG drag data }
213
214TYPE
215 PDEVOPENDATA=^PChar;
216
217 PRINTDEST=RECORD
218 cb:ULONG;
219 lType:LONG;
220 pszToken:PChar;
221 lCount:LONG;
222 pdopData:PDEVOPENDATA;
223 fl:ULONG;
224 pszPrinter:PChar;
225 END;
226
227CONST
228 PD_JOB_PROPERTY =$0001; { Flags for .fl field }
229
230 { common AVIO/GPI types }
231
232CONST
233 { values of fsSelection field of FATTRS structure }
234 FATTR_SEL_ITALIC =$0001;
235 FATTR_SEL_UNDERSCORE =$0002;
236 FATTR_SEL_OUTLINE =$0008;
237 FATTR_SEL_STRIKEOUT =$0010;
238 FATTR_SEL_BOLD =$0020;
239
240 { values of fsType field of FATTRS structure }
241 FATTR_TYPE_KERNING =$0004;
242 FATTR_TYPE_MBCS =$0008;
243 FATTR_TYPE_DBCS =$0010;
244 FATTR_TYPE_ANTIALIASED =$0020;
245
246 { values of fsFontUse field of FATTRS structure }
247 FATTR_FONTUSE_NOMIX =$0002;
248 FATTR_FONTUSE_OUTLINE =$0004;
249 FATTR_FONTUSE_TRANSFORMABLE =$0008;
250
251 { values of fsType field of FONTMETRICS structure }
252CONST
253 FM_TYPE_FIXED =$0001;
254 FM_TYPE_LICENSED =$0002;
255 FM_TYPE_KERNING =$0004;
256 FM_TYPE_DBCS =$0010;
257 FM_TYPE_MBCS =$0018;
258 FM_TYPE_64K =$8000;
259 FM_TYPE_ATOMS =$4000;
260 FM_TYPE_FAMTRUNC =$2000;
261 FM_TYPE_FACETRUNC =$1000;
262
263 { values of fsDefn field of FONTMETRICS structure }
264 FM_DEFN_OUTLINE =$0001;
265 FM_DEFN_IFI =$0002;
266 FM_DEFN_WIN =$0004;
267 FM_DEFN_GENERIC =$8000;
268
269 { values of fsSelection field of FONTMETRICS structure }
270 FM_SEL_ITALIC =$0001;
271 FM_SEL_UNDERSCORE =$0002;
272 FM_SEL_NEGATIVE =$0004;
273 FM_SEL_OUTLINE =$0008; /* Hollow Outline Font */
274 FM_SEL_STRIKEOUT =$0010;
275 FM_SEL_BOLD =$0020;
276 FM_SEL_ISO9241_TESTED =$0040;
277
278 { values of fbPassed/FailedISO field in the PANOSE structure }
279 FM_ISO_9518_640 =$01;
280 FM_ISO_9515_640 =$02;
281 FM_ISO_9515_1024 =$04;
282 FM_ISO_9517_640 =$08;
283 FM_ISO_9517_1024 =$10;
284
285 { values of fsCapabilities field of FONTMETRICS structure }
286 FM_CAP_NOMIX =$0001;
287
288
289TYPE
290 ICONINFO=RECORD
291 cb:ULONG; { size of ICONINFO structure }
292 fFormat:ULONG;
293 pszFileName:PChar;{ use when fFormat = ICON_FILE }
294 hmod:HMODULE; { use when fFormat = ICON_RESOURCE }
295 resid:ULONG; { use when fFormat = ICON_RESOURCE }
296 cbIconData:ULONG; { use when fFormat = ICON_DATA }
297 pIconData:PVOID; { use when fFormat = ICON_DATA }
298 END;
299
300CONST
301 ICON_FILE =1; /* flags for fFormat */
302 ICON_RESOURCE =2;
303 ICON_DATA =3;
304 ICON_CLEAR =4;
305
306
307FUNCTION MAKEP(sel,off:LONGWORD):POINTER;
308FUNCTION MAKEULONG(l,h:WORD):ULONG;
309FUNCTION MAKELONG(l,h:WORD):LONG;
310FUNCTION MAKEUSHORT(l,h:BYTE):WORD;
311FUNCTION MAKESHORT(l,h:BYTE):INTEGER;
312FUNCTION LOBYTE(w:WORD):BYTE;
313FUNCTION HIBYTE(w:WORD):BYTE;
314FUNCTION LOUCHAR(w:WORD):BYTE;
315FUNCTION HIUCHAR(w:WORD):BYTE;
316FUNCTION LOUSHORT(w:LONGWORD):WORD;
317FUNCTION HIUSHORT(w:LONGWORD):WORD;
318FUNCTION MAKEERRORID(sev,error:WORD):ERRORID;
319FUNCTION ERRORIDERROR(errid:ERRORID):WORD;
320FUNCTION ERRORIDSEV(errid:ERRORID):WORD;
321
322
323IMPLEMENTATION
324
325FUNCTION MAKEP(sel,off:LONGWORD):POINTER;
326BEGIN
327 MAKEP:=POINTER((sel SHR 16) OR off);
328END;
329
330FUNCTION MAKEULONG(l,h:WORD):ULONG;
331BEGIN
332 MAKEULONG:=l OR (LONGWORD(h) SHL 16);
333END;
334
335FUNCTION MAKELONG(l,h:WORD):LONG;
336BEGIN
337 MAKELONG:=l OR (LONGWORD(h) SHL 16);
338END;
339
340
341FUNCTION MAKEUSHORT(l,h:BYTE):WORD;
342BEGIN
343 MAKEUSHORT:=l OR (WORD(h) SHL 8);
344END;
345
346FUNCTION MAKESHORT(l,h:BYTE):INTEGER;
347BEGIN
348 MAKESHORT:=l OR (WORD(h) SHL 8);
349END;
350
351FUNCTION LOBYTE(w:WORD):BYTE;
352BEGIN
353 LOBYTE:=Lo(w);
354END;
355
356FUNCTION HIBYTE(w:WORD):BYTE;
357BEGIN
358 HIBYTE:=Hi(w);
359END;
360
361
362FUNCTION LOUCHAR(w:WORD):BYTE;
363BEGIN
364 LOUCHAR:=Lo(w);
365END;
366
367FUNCTION HIUCHAR(w:WORD):BYTE;
368BEGIN
369 HIUCHAR:=Hi(w);
370END;
371
372FUNCTION LOUSHORT(w:LONGWORD):WORD;
373BEGIN
374 LOUSHORT:=Lo(w);
375END;
376
377FUNCTION HIUSHORT(w:LONGWORD):WORD;
378BEGIN
379 HIUSHORT:=Hi(w);
380END;
381
382
383FUNCTION MAKEERRORID(sev,error:WORD):ERRORID;
384BEGIN
385 MAKEERRORID:=MAKEULONG(Error,Sev);
386END;
387
388
389FUNCTION ERRORIDERROR(errid:ERRORID):WORD;
390BEGIN
391 ERRORIDERROR:=LOUSHORT(errid);
392END;
393
394FUNCTION ERRORIDSEV(errid:ERRORID):WORD;
395BEGIN
396 ERRORIDSEV:=HIUSHORT(errid);
397END;
398
399
400BEGIN
401END.
Note: See TracBrowser for help on using the repository browser.