1 | /*
|
---|
2 |
|
---|
3 | Copyright 1990, 1991, 1998 The Open Group
|
---|
4 |
|
---|
5 | Permission to use, copy, modify, distribute, and sell this software and its
|
---|
6 | documentation for any purpose is hereby granted without fee, provided that
|
---|
7 | the above copyright notice appear in all copies and that both that
|
---|
8 | copyright notice and this permission notice appear in supporting
|
---|
9 | documentation.
|
---|
10 |
|
---|
11 | The above copyright notice and this permission notice shall be included in
|
---|
12 | all copies or substantial portions of the Software.
|
---|
13 |
|
---|
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
---|
15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
---|
16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
---|
17 | OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
---|
18 | AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
---|
19 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
---|
20 |
|
---|
21 | Except as contained in this notice, the name of The Open Group shall not be
|
---|
22 | used in advertising or otherwise to promote the sale, use or other dealings
|
---|
23 | in this Software without prior written authorization from The Open Group.
|
---|
24 |
|
---|
25 | * Copyright 1990, 1991 Network Computing Devices;
|
---|
26 | * Portions Copyright 1987 by Digital Equipment Corporation
|
---|
27 | *
|
---|
28 | * Permission to use, copy, modify, distribute, and sell this software and
|
---|
29 | * its documentation for any purpose is hereby granted without fee, provided
|
---|
30 | * that the above copyright notice appear in all copies and that both that
|
---|
31 | * copyright notice and this permission notice appear in supporting
|
---|
32 | * documentation, and that the names of Network Computing Devices, or Digital
|
---|
33 | * not be used in advertising or publicity pertaining to distribution
|
---|
34 | * of the software without specific, written prior permission.
|
---|
35 | *
|
---|
36 | * NETWORK COMPUTING DEVICES, AND DIGITAL DISCLAIM ALL WARRANTIES WITH
|
---|
37 | * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
|
---|
38 | * MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES,
|
---|
39 | * OR DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
|
---|
40 | * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
---|
41 | * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
|
---|
42 | * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
|
---|
43 | * THIS SOFTWARE.
|
---|
44 | */
|
---|
45 |
|
---|
46 | #ifndef _FS_PROTO_H_
|
---|
47 | #define _FS_PROTO_H_
|
---|
48 |
|
---|
49 | #include <X11/fonts/FS.h>
|
---|
50 |
|
---|
51 | #define sz_fsPropOffset 20
|
---|
52 | #define sz_fsPropInfo 8
|
---|
53 | #define sz_fsResolution 6
|
---|
54 |
|
---|
55 | #define sz_fsChar2b 2
|
---|
56 | #define sz_fsChar2b_version1 2
|
---|
57 | #define sz_fsOffset32 8
|
---|
58 | #define sz_fsRange 4
|
---|
59 |
|
---|
60 | #define sz_fsXCharInfo 12
|
---|
61 | #define sz_fsXFontInfoHeader 40
|
---|
62 |
|
---|
63 | #define sz_fsConnClientPrefix 8
|
---|
64 | #define sz_fsConnSetup 12
|
---|
65 | #define sz_fsConnSetupExtra 8
|
---|
66 | #define sz_fsConnSetupAccept 12
|
---|
67 |
|
---|
68 | /* request sizes */
|
---|
69 | #define sz_fsReq 4
|
---|
70 | #define sz_fsListExtensionsReq 4
|
---|
71 | #define sz_fsResourceReq 8
|
---|
72 |
|
---|
73 | #define sz_fsNoopReq 4
|
---|
74 | #define sz_fsListExtensionReq 4
|
---|
75 | #define sz_fsQueryExtensionReq 4
|
---|
76 | #define sz_fsListCataloguesReq 12
|
---|
77 | #define sz_fsSetCataloguesReq 4
|
---|
78 | #define sz_fsGetCataloguesReq 4
|
---|
79 | #define sz_fsSetEventMaskReq 8
|
---|
80 | #define sz_fsGetEventMaskReq 4
|
---|
81 | #define sz_fsCreateACReq 8
|
---|
82 | #define sz_fsFreeACReq 8
|
---|
83 | #define sz_fsSetAuthorizationReq 8
|
---|
84 | #define sz_fsSetResolutionReq 4
|
---|
85 | #define sz_fsGetResolutionReq 4
|
---|
86 | #define sz_fsListFontsReq 12
|
---|
87 | #define sz_fsListFontsWithXInfoReq 12
|
---|
88 | #define sz_fsOpenBitmapFontReq 16
|
---|
89 | #define sz_fsQueryXInfoReq 8
|
---|
90 | #define sz_fsQueryXExtents8Req 12
|
---|
91 | #define sz_fsQueryXExtents16Req 12
|
---|
92 | #define sz_fsQueryXBitmaps8Req 16
|
---|
93 | #define sz_fsQueryXBitmaps16Req 16
|
---|
94 | #define sz_fsCloseReq 8
|
---|
95 |
|
---|
96 | /* reply sizes */
|
---|
97 | #define sz_fsReply 8
|
---|
98 | #define sz_fsGenericReply 8
|
---|
99 |
|
---|
100 | #define sz_fsListExtensionsReply 8
|
---|
101 | #define sz_fsQueryExtensionReply 20
|
---|
102 | #define sz_fsListCataloguesReply 16
|
---|
103 | #define sz_fsGetCataloguesReply 8
|
---|
104 | #define sz_fsGetEventMaskReply 12
|
---|
105 | #define sz_fsCreateACReply 12
|
---|
106 | #define sz_fsGetResolutionReply 8
|
---|
107 | #define sz_fsListFontsReply 16
|
---|
108 | #define sz_fsListFontsWithXInfoReply (12 + sz_fsXFontInfoHeader)
|
---|
109 | #define sz_fsOpenBitmapFontReply 16
|
---|
110 | #define sz_fsQueryXInfoReply (8 + sz_fsXFontInfoHeader)
|
---|
111 | #define sz_fsQueryXExtents8Reply 12
|
---|
112 | #define sz_fsQueryXExtents16Reply 12
|
---|
113 | #define sz_fsQueryXBitmaps8Reply 20
|
---|
114 | #define sz_fsQueryXBitmaps16Reply 20
|
---|
115 |
|
---|
116 | #define sz_fsError 16
|
---|
117 | #define sz_fsEvent 12
|
---|
118 | #define sz_fsKeepAliveEvent 12
|
---|
119 |
|
---|
120 | #define fsTrue 1
|
---|
121 | #define fsFalse 0
|
---|
122 |
|
---|
123 | /* temp decls */
|
---|
124 | #define Mask CARD32
|
---|
125 | #define Font CARD32
|
---|
126 | #define AccContext CARD32
|
---|
127 |
|
---|
128 | typedef CARD32 fsTimestamp;
|
---|
129 |
|
---|
130 | #ifdef NOTDEF /* in fsmasks.h */
|
---|
131 | typedef CARD32 fsBitmapFormat;
|
---|
132 | typedef CARD32 fsBitmapFormatMask;
|
---|
133 | #endif
|
---|
134 |
|
---|
135 | #define sz_fsBitmapFormat 4
|
---|
136 |
|
---|
137 | typedef struct {
|
---|
138 | INT16 left B16,
|
---|
139 | right B16;
|
---|
140 | INT16 width B16;
|
---|
141 | INT16 ascent B16,
|
---|
142 | descent B16;
|
---|
143 | CARD16 attributes B16;
|
---|
144 | } fsXCharInfo;
|
---|
145 |
|
---|
146 | typedef struct {
|
---|
147 | CARD8 high;
|
---|
148 | CARD8 low;
|
---|
149 | } fsChar2b;
|
---|
150 |
|
---|
151 | typedef struct {
|
---|
152 | CARD8 low;
|
---|
153 | CARD8 high;
|
---|
154 | } fsChar2b_version1;
|
---|
155 |
|
---|
156 | typedef struct {
|
---|
157 | CARD8 min_char_high;
|
---|
158 | CARD8 min_char_low;
|
---|
159 | CARD8 max_char_high;
|
---|
160 | CARD8 max_char_low;
|
---|
161 | } fsRange;
|
---|
162 |
|
---|
163 | typedef struct {
|
---|
164 | CARD32 position B32;
|
---|
165 | CARD32 length B32;
|
---|
166 | } fsOffset32;
|
---|
167 |
|
---|
168 | typedef struct {
|
---|
169 | fsOffset32 name;
|
---|
170 | fsOffset32 value;
|
---|
171 | CARD8 type;
|
---|
172 | BYTE pad0;
|
---|
173 | CARD16 pad1 B16;
|
---|
174 | } fsPropOffset;
|
---|
175 |
|
---|
176 | typedef struct {
|
---|
177 | CARD32 num_offsets B32;
|
---|
178 | CARD32 data_len B32;
|
---|
179 | /* offsets */
|
---|
180 | /* data */
|
---|
181 | } fsPropInfo;
|
---|
182 |
|
---|
183 | typedef struct {
|
---|
184 | CARD16 x_resolution B16;
|
---|
185 | CARD16 y_resolution B16;
|
---|
186 | CARD16 point_size B16;
|
---|
187 | } fsResolution;
|
---|
188 |
|
---|
189 |
|
---|
190 | typedef struct {
|
---|
191 | CARD32 flags B32;
|
---|
192 | CARD8 char_range_min_char_high;
|
---|
193 | CARD8 char_range_min_char_low;
|
---|
194 | CARD8 char_range_max_char_high;
|
---|
195 | CARD8 char_range_max_char_low;
|
---|
196 |
|
---|
197 | CARD8 draw_direction;
|
---|
198 | CARD8 pad;
|
---|
199 | CARD8 default_char_high;
|
---|
200 | CARD8 default_char_low;
|
---|
201 | INT16 min_bounds_left B16;
|
---|
202 | INT16 min_bounds_right B16;
|
---|
203 |
|
---|
204 | INT16 min_bounds_width B16;
|
---|
205 | INT16 min_bounds_ascent B16;
|
---|
206 | INT16 min_bounds_descent B16;
|
---|
207 | CARD16 min_bounds_attributes B16;
|
---|
208 |
|
---|
209 | INT16 max_bounds_left B16;
|
---|
210 | INT16 max_bounds_right B16;
|
---|
211 | INT16 max_bounds_width B16;
|
---|
212 | INT16 max_bounds_ascent B16;
|
---|
213 |
|
---|
214 | INT16 max_bounds_descent B16;
|
---|
215 | CARD16 max_bounds_attributes B16;
|
---|
216 | INT16 font_ascent B16;
|
---|
217 | INT16 font_descent B16;
|
---|
218 | /* propinfo */
|
---|
219 | } fsXFontInfoHeader;
|
---|
220 |
|
---|
221 |
|
---|
222 | /* requests */
|
---|
223 |
|
---|
224 | typedef struct {
|
---|
225 | BYTE byteOrder;
|
---|
226 | CARD8 num_auths;
|
---|
227 | CARD16 major_version B16;
|
---|
228 | CARD16 minor_version B16;
|
---|
229 | CARD16 auth_len B16;
|
---|
230 | /* auth data */
|
---|
231 | } fsConnClientPrefix;
|
---|
232 |
|
---|
233 | typedef struct {
|
---|
234 | CARD16 status B16;
|
---|
235 | CARD16 major_version B16;
|
---|
236 | CARD16 minor_version B16;
|
---|
237 | CARD8 num_alternates;
|
---|
238 | CARD8 auth_index;
|
---|
239 | CARD16 alternate_len B16;
|
---|
240 | CARD16 auth_len B16;
|
---|
241 | /* alternates */
|
---|
242 | /* auth data */
|
---|
243 | } fsConnSetup;
|
---|
244 |
|
---|
245 | typedef struct {
|
---|
246 | CARD32 length B32;
|
---|
247 | CARD16 status B16;
|
---|
248 | CARD16 pad B16;
|
---|
249 | /* more auth data */
|
---|
250 | } fsConnSetupExtra;
|
---|
251 |
|
---|
252 | typedef struct {
|
---|
253 | CARD32 length B32;
|
---|
254 | CARD16 max_request_len B16;
|
---|
255 | CARD16 vendor_len B16;
|
---|
256 | CARD32 release_number B32;
|
---|
257 | /* vendor string */
|
---|
258 | } fsConnSetupAccept;
|
---|
259 |
|
---|
260 | typedef struct {
|
---|
261 | CARD8 reqType;
|
---|
262 | CARD8 data;
|
---|
263 | CARD16 length B16;
|
---|
264 | } fsReq;
|
---|
265 |
|
---|
266 | /*
|
---|
267 | * The fsFakeReq structure is never used in the protocol; it is prepended
|
---|
268 | * to incoming packets when setting up a connection so we can index
|
---|
269 | * through InitialVector. To avoid alignment problems, it is padded
|
---|
270 | * to the size of a word on the largest machine this code runs on.
|
---|
271 | * Hence no sz_fsFakeReq constant is necessary.
|
---|
272 | */
|
---|
273 | typedef struct {
|
---|
274 | CARD8 reqType;
|
---|
275 | CARD8 data;
|
---|
276 | CARD16 length B16;
|
---|
277 | CARD32 pad B32; /* to fill out to multiple of 64 bits */
|
---|
278 | } fsFakeReq;
|
---|
279 |
|
---|
280 | typedef struct {
|
---|
281 | CARD8 reqType;
|
---|
282 | BYTE pad;
|
---|
283 | CARD16 length B16;
|
---|
284 | Font id B32;
|
---|
285 | } fsResourceReq;
|
---|
286 |
|
---|
287 | typedef fsReq fsNoopReq;
|
---|
288 | typedef fsReq fsListExtensionsReq;
|
---|
289 |
|
---|
290 | typedef struct {
|
---|
291 | CARD8 reqType;
|
---|
292 | BYTE nbytes;
|
---|
293 | CARD16 length B16;
|
---|
294 | /* name */
|
---|
295 | } fsQueryExtensionReq;
|
---|
296 |
|
---|
297 | typedef struct {
|
---|
298 | CARD8 reqType;
|
---|
299 | CARD8 data;
|
---|
300 | CARD16 length B16;
|
---|
301 | CARD32 maxNames B32;
|
---|
302 | CARD16 nbytes B16;
|
---|
303 | CARD16 pad2 B16;
|
---|
304 | /* pattern */
|
---|
305 | } fsListCataloguesReq;
|
---|
306 |
|
---|
307 | typedef struct {
|
---|
308 | CARD8 reqType;
|
---|
309 | BYTE num_catalogues;
|
---|
310 | CARD16 length B16;
|
---|
311 | /* catalogues */
|
---|
312 | } fsSetCataloguesReq;
|
---|
313 |
|
---|
314 | typedef fsReq fsGetCataloguesReq;
|
---|
315 |
|
---|
316 | typedef struct {
|
---|
317 | CARD8 reqType;
|
---|
318 | CARD8 ext_opcode;
|
---|
319 | CARD16 length B16;
|
---|
320 | Mask event_mask;
|
---|
321 | } fsSetEventMaskReq;
|
---|
322 |
|
---|
323 | typedef struct {
|
---|
324 | CARD8 reqType;
|
---|
325 | CARD8 ext_opcode;
|
---|
326 | CARD16 length B16;
|
---|
327 | } fsGetEventMaskReq;
|
---|
328 |
|
---|
329 | typedef struct {
|
---|
330 | CARD8 reqType;
|
---|
331 | BYTE num_auths;
|
---|
332 | CARD16 length B16;
|
---|
333 | AccContext acid B32;
|
---|
334 | /* auth protocols */
|
---|
335 | } fsCreateACReq;
|
---|
336 |
|
---|
337 | typedef fsResourceReq fsFreeACReq;
|
---|
338 | typedef fsResourceReq fsSetAuthorizationReq;
|
---|
339 |
|
---|
340 | typedef struct {
|
---|
341 | CARD8 reqType;
|
---|
342 | BYTE num_resolutions;
|
---|
343 | CARD16 length B16;
|
---|
344 | /* resolutions */
|
---|
345 | } fsSetResolutionReq;
|
---|
346 |
|
---|
347 | typedef fsReq fsGetResolutionReq;
|
---|
348 |
|
---|
349 | typedef struct {
|
---|
350 | CARD8 reqType;
|
---|
351 | BYTE pad;
|
---|
352 | CARD16 length B16;
|
---|
353 | CARD32 maxNames B32;
|
---|
354 | CARD16 nbytes B16;
|
---|
355 | CARD16 pad2 B16;
|
---|
356 | /* pattern */
|
---|
357 | } fsListFontsReq;
|
---|
358 |
|
---|
359 | typedef fsListFontsReq fsListFontsWithXInfoReq;
|
---|
360 |
|
---|
361 | typedef struct {
|
---|
362 | CARD8 reqType;
|
---|
363 | BYTE pad;
|
---|
364 | CARD16 length B16;
|
---|
365 | Font fid B32;
|
---|
366 | fsBitmapFormatMask format_mask B32;
|
---|
367 | fsBitmapFormat format_hint B32;
|
---|
368 | /* pattern */
|
---|
369 | } fsOpenBitmapFontReq;
|
---|
370 |
|
---|
371 | typedef fsResourceReq fsQueryXInfoReq;
|
---|
372 |
|
---|
373 | typedef struct {
|
---|
374 | CARD8 reqType;
|
---|
375 | BOOL range;
|
---|
376 | CARD16 length B16;
|
---|
377 | Font fid B32;
|
---|
378 | CARD32 num_ranges B32;
|
---|
379 | /* list of chars */
|
---|
380 | } fsQueryXExtents8Req;
|
---|
381 |
|
---|
382 | typedef fsQueryXExtents8Req fsQueryXExtents16Req;
|
---|
383 |
|
---|
384 | typedef struct {
|
---|
385 | CARD8 reqType;
|
---|
386 | BOOL range;
|
---|
387 | CARD16 length B16;
|
---|
388 | Font fid B32;
|
---|
389 | fsBitmapFormat format B32;
|
---|
390 | CARD32 num_ranges B32;
|
---|
391 | /* list of chars */
|
---|
392 | } fsQueryXBitmaps8Req;
|
---|
393 |
|
---|
394 | typedef fsQueryXBitmaps8Req fsQueryXBitmaps16Req;
|
---|
395 |
|
---|
396 | typedef fsResourceReq fsCloseReq;
|
---|
397 |
|
---|
398 |
|
---|
399 | /* replies */
|
---|
400 | typedef struct {
|
---|
401 | BYTE type;
|
---|
402 | BYTE data1;
|
---|
403 | CARD16 sequenceNumber B16;
|
---|
404 | CARD32 length B32;
|
---|
405 | } fsGenericReply;
|
---|
406 |
|
---|
407 | typedef struct {
|
---|
408 | BYTE type;
|
---|
409 | CARD8 nExtensions;
|
---|
410 | CARD16 sequenceNumber B16;
|
---|
411 | CARD32 length B32;
|
---|
412 | /* extension names */
|
---|
413 | } fsListExtensionsReply;
|
---|
414 |
|
---|
415 | typedef struct {
|
---|
416 | BYTE type;
|
---|
417 | CARD8 present;
|
---|
418 | CARD16 sequenceNumber B16;
|
---|
419 | CARD32 length B32;
|
---|
420 | CARD16 major_version B16;
|
---|
421 | CARD16 minor_version B16;
|
---|
422 | CARD8 major_opcode;
|
---|
423 | CARD8 first_event;
|
---|
424 | CARD8 num_events;
|
---|
425 | CARD8 first_error;
|
---|
426 | CARD8 num_errors;
|
---|
427 | CARD8 pad1;
|
---|
428 | CARD16 pad2 B16;
|
---|
429 | } fsQueryExtensionReply;
|
---|
430 |
|
---|
431 | typedef struct {
|
---|
432 | BYTE type;
|
---|
433 | BYTE pad;
|
---|
434 | CARD16 sequenceNumber B16;
|
---|
435 | CARD32 length B32;
|
---|
436 | CARD32 num_replies B32;
|
---|
437 | CARD32 num_catalogues B32;
|
---|
438 | /* catalog names */
|
---|
439 | } fsListCataloguesReply;
|
---|
440 |
|
---|
441 | typedef struct {
|
---|
442 | BYTE type;
|
---|
443 | CARD8 num_catalogues;
|
---|
444 | CARD16 sequenceNumber B16;
|
---|
445 | CARD32 length B32;
|
---|
446 | /* catalogue names */
|
---|
447 | } fsGetCataloguesReply;
|
---|
448 |
|
---|
449 | typedef struct {
|
---|
450 | BYTE type;
|
---|
451 | BYTE pad1;
|
---|
452 | CARD16 sequenceNumber B16;
|
---|
453 | CARD32 length B32;
|
---|
454 | CARD32 event_mask B32;
|
---|
455 | } fsGetEventMaskReply;
|
---|
456 |
|
---|
457 | typedef struct {
|
---|
458 | BYTE type;
|
---|
459 | CARD8 auth_index;
|
---|
460 | CARD16 sequenceNumber B16;
|
---|
461 | CARD32 length B32;
|
---|
462 | CARD16 status B16;
|
---|
463 | CARD16 pad B16;
|
---|
464 | /* auth data */
|
---|
465 | } fsCreateACReply;
|
---|
466 |
|
---|
467 | typedef struct {
|
---|
468 | CARD32 length B32;
|
---|
469 | CARD16 status B16;
|
---|
470 | CARD16 pad B16;
|
---|
471 | /* auth data */
|
---|
472 | } fsCreateACExtraReply;
|
---|
473 |
|
---|
474 | typedef struct {
|
---|
475 | BYTE type;
|
---|
476 | CARD8 num_resolutions;
|
---|
477 | CARD16 sequenceNumber B16;
|
---|
478 | CARD32 length B32;
|
---|
479 | /* resolutions */
|
---|
480 | } fsGetResolutionReply;
|
---|
481 |
|
---|
482 | typedef struct {
|
---|
483 | BYTE type;
|
---|
484 | BYTE pad1;
|
---|
485 | CARD16 sequenceNumber B16;
|
---|
486 | CARD32 length B32;
|
---|
487 | CARD32 following B32;
|
---|
488 | CARD32 nFonts B32;
|
---|
489 | /* font names */
|
---|
490 | } fsListFontsReply;
|
---|
491 |
|
---|
492 | /*
|
---|
493 | * this one is messy. the reply itself is variable length (unknown
|
---|
494 | * number of replies) and the contents of each is variable (unknown
|
---|
495 | * number of properties)
|
---|
496 | *
|
---|
497 | */
|
---|
498 |
|
---|
499 | typedef struct {
|
---|
500 | BYTE type;
|
---|
501 | CARD8 nameLength; /* 0 is end-of-reply */
|
---|
502 | CARD16 sequenceNumber B16;
|
---|
503 | CARD32 length B32;
|
---|
504 | CARD32 nReplies B32;
|
---|
505 | CARD32 font_header_flags B32;
|
---|
506 | CARD8 font_hdr_char_range_min_char_high;
|
---|
507 | CARD8 font_hdr_char_range_min_char_low;
|
---|
508 | CARD8 font_hdr_char_range_max_char_high;
|
---|
509 | CARD8 font_hdr_char_range_max_char_low;
|
---|
510 | CARD8 font_header_draw_direction;
|
---|
511 | CARD8 font_header_pad;
|
---|
512 | CARD8 font_header_default_char_high;
|
---|
513 | CARD8 font_header_default_char_low;
|
---|
514 | INT16 font_header_min_bounds_left B16;
|
---|
515 | INT16 font_header_min_bounds_right B16;
|
---|
516 | INT16 font_header_min_bounds_width B16;
|
---|
517 | INT16 font_header_min_bounds_ascent B16;
|
---|
518 | INT16 font_header_min_bounds_descent B16;
|
---|
519 | CARD16 font_header_min_bounds_attributes B16;
|
---|
520 | INT16 font_header_max_bounds_left B16;
|
---|
521 | INT16 font_header_max_bounds_right B16;
|
---|
522 | INT16 font_header_max_bounds_width B16;
|
---|
523 | INT16 font_header_max_bounds_ascent B16;
|
---|
524 | INT16 font_header_max_bounds_descent B16;
|
---|
525 | CARD16 font_header_max_bounds_attributes B16;
|
---|
526 | INT16 font_header_font_ascent B16;
|
---|
527 | INT16 font_header_font_descent B16;
|
---|
528 | /* propinfo */
|
---|
529 | /* name */
|
---|
530 | } fsListFontsWithXInfoReply;
|
---|
531 |
|
---|
532 | typedef struct {
|
---|
533 | BYTE type;
|
---|
534 | CARD8 otherid_valid;
|
---|
535 | CARD16 sequenceNumber B16;
|
---|
536 | CARD32 length B32;
|
---|
537 | CARD32 otherid B32;
|
---|
538 | BYTE cachable;
|
---|
539 | BYTE pad1;
|
---|
540 | CARD16 pad2 B16;
|
---|
541 | } fsOpenBitmapFontReply;
|
---|
542 |
|
---|
543 | typedef struct {
|
---|
544 | BYTE type;
|
---|
545 | CARD8 pad0;
|
---|
546 | CARD16 sequenceNumber B16;
|
---|
547 | CARD32 length B32;
|
---|
548 | CARD32 font_header_flags B32;
|
---|
549 | CARD8 font_hdr_char_range_min_char_high;
|
---|
550 | CARD8 font_hdr_char_range_min_char_low;
|
---|
551 | CARD8 font_hdr_char_range_max_char_high;
|
---|
552 | CARD8 font_hdr_char_range_max_char_low;
|
---|
553 | CARD8 font_header_draw_direction;
|
---|
554 | CARD8 font_header_pad;
|
---|
555 | CARD8 font_header_default_char_high;
|
---|
556 | CARD8 font_header_default_char_low;
|
---|
557 | INT16 font_header_min_bounds_left B16;
|
---|
558 | INT16 font_header_min_bounds_right B16;
|
---|
559 | INT16 font_header_min_bounds_width B16;
|
---|
560 | INT16 font_header_min_bounds_ascent B16;
|
---|
561 | INT16 font_header_min_bounds_descent B16;
|
---|
562 | CARD16 font_header_min_bounds_attributes B16;
|
---|
563 | INT16 font_header_max_bounds_left B16;
|
---|
564 | INT16 font_header_max_bounds_right B16;
|
---|
565 | INT16 font_header_max_bounds_width B16;
|
---|
566 | INT16 font_header_max_bounds_ascent B16;
|
---|
567 | INT16 font_header_max_bounds_descent B16;
|
---|
568 | CARD16 font_header_max_bounds_attributes B16;
|
---|
569 | INT16 font_header_font_ascent B16;
|
---|
570 | INT16 font_header_font_descent B16;
|
---|
571 | /* propinfo */
|
---|
572 | } fsQueryXInfoReply;
|
---|
573 |
|
---|
574 | typedef struct {
|
---|
575 | BYTE type;
|
---|
576 | CARD8 pad0;
|
---|
577 | CARD16 sequenceNumber B16;
|
---|
578 | CARD32 length B32;
|
---|
579 | CARD32 num_extents B32;
|
---|
580 | /* extents */
|
---|
581 | } fsQueryXExtents8Reply;
|
---|
582 |
|
---|
583 | typedef fsQueryXExtents8Reply fsQueryXExtents16Reply;
|
---|
584 |
|
---|
585 | typedef struct {
|
---|
586 | BYTE type;
|
---|
587 | CARD8 pad0;
|
---|
588 | CARD16 sequenceNumber B16;
|
---|
589 | CARD32 length B32;
|
---|
590 | CARD32 replies_hint B32;
|
---|
591 | CARD32 num_chars B32;
|
---|
592 | CARD32 nbytes B32;
|
---|
593 | /* offsets */
|
---|
594 | /* glyphs */
|
---|
595 | } fsQueryXBitmaps8Reply;
|
---|
596 |
|
---|
597 | typedef fsQueryXBitmaps8Reply fsQueryXBitmaps16Reply;
|
---|
598 |
|
---|
599 | typedef union {
|
---|
600 | fsGenericReply generic;
|
---|
601 | fsListExtensionsReply extensions;
|
---|
602 | fsGetResolutionReply getres;
|
---|
603 | } fsReply;
|
---|
604 |
|
---|
605 | /* errors */
|
---|
606 | typedef struct {
|
---|
607 | BYTE type;
|
---|
608 | BYTE request;
|
---|
609 | CARD16 sequenceNumber B16;
|
---|
610 | CARD32 length B32;
|
---|
611 | fsTimestamp timestamp;
|
---|
612 | CARD8 major_opcode;
|
---|
613 | CARD8 minor_opcode;
|
---|
614 | CARD16 pad B16;
|
---|
615 | } fsError;
|
---|
616 |
|
---|
617 | typedef struct {
|
---|
618 | BYTE type;
|
---|
619 | BYTE request;
|
---|
620 | CARD16 sequenceNumber B16;
|
---|
621 | CARD32 length B32;
|
---|
622 | fsTimestamp timestamp;
|
---|
623 | CARD8 major_opcode;
|
---|
624 | CARD8 minor_opcode;
|
---|
625 | CARD16 pad B16;
|
---|
626 | } fsRequestError;
|
---|
627 |
|
---|
628 | typedef struct {
|
---|
629 | BYTE type;
|
---|
630 | BYTE request;
|
---|
631 | CARD16 sequenceNumber B16;
|
---|
632 | CARD32 length B32;
|
---|
633 | fsTimestamp timestamp;
|
---|
634 | CARD8 major_opcode;
|
---|
635 | CARD8 minor_opcode;
|
---|
636 | CARD16 pad B16;
|
---|
637 | fsBitmapFormat format B32;
|
---|
638 | } fsFormatError;
|
---|
639 |
|
---|
640 | typedef struct {
|
---|
641 | BYTE type;
|
---|
642 | BYTE request;
|
---|
643 | CARD16 sequenceNumber B16;
|
---|
644 | CARD32 length B32;
|
---|
645 | fsTimestamp timestamp;
|
---|
646 | CARD8 major_opcode;
|
---|
647 | CARD8 minor_opcode;
|
---|
648 | CARD16 pad B16;
|
---|
649 | Font fontid;
|
---|
650 | } fsFontError;
|
---|
651 |
|
---|
652 | typedef struct {
|
---|
653 | BYTE type;
|
---|
654 | BYTE request;
|
---|
655 | CARD16 sequenceNumber B16;
|
---|
656 | CARD32 length B32;
|
---|
657 | fsTimestamp timestamp;
|
---|
658 | CARD8 major_opcode;
|
---|
659 | CARD8 minor_opcode;
|
---|
660 | CARD16 pad B16;
|
---|
661 | fsRange range;
|
---|
662 | } fsRangeError;
|
---|
663 |
|
---|
664 | typedef struct {
|
---|
665 | BYTE type;
|
---|
666 | BYTE request;
|
---|
667 | CARD16 sequenceNumber B16;
|
---|
668 | CARD32 length B32;
|
---|
669 | fsTimestamp timestamp;
|
---|
670 | CARD8 major_opcode;
|
---|
671 | CARD8 minor_opcode;
|
---|
672 | CARD16 pad B16;
|
---|
673 | Mask event_mask;
|
---|
674 | } fsEventMaskError;
|
---|
675 |
|
---|
676 | typedef struct {
|
---|
677 | BYTE type;
|
---|
678 | BYTE request;
|
---|
679 | CARD16 sequenceNumber B16;
|
---|
680 | CARD32 length B32;
|
---|
681 | fsTimestamp timestamp;
|
---|
682 | CARD8 major_opcode;
|
---|
683 | CARD8 minor_opcode;
|
---|
684 | CARD16 pad B16;
|
---|
685 | AccContext acid;
|
---|
686 | } fsAccessContextError;
|
---|
687 |
|
---|
688 | typedef struct {
|
---|
689 | BYTE type;
|
---|
690 | BYTE request;
|
---|
691 | CARD16 sequenceNumber B16;
|
---|
692 | CARD32 length B32;
|
---|
693 | fsTimestamp timestamp;
|
---|
694 | CARD8 major_opcode;
|
---|
695 | CARD8 minor_opcode;
|
---|
696 | CARD16 pad B16;
|
---|
697 | Font fontid;
|
---|
698 | } fsIDChoiceError;
|
---|
699 |
|
---|
700 | typedef struct {
|
---|
701 | BYTE type;
|
---|
702 | BYTE request;
|
---|
703 | CARD16 sequenceNumber B16;
|
---|
704 | CARD32 length B32;
|
---|
705 | fsTimestamp timestamp;
|
---|
706 | CARD8 major_opcode;
|
---|
707 | CARD8 minor_opcode;
|
---|
708 | CARD16 pad B16;
|
---|
709 | } fsNameError;
|
---|
710 |
|
---|
711 | typedef struct {
|
---|
712 | BYTE type;
|
---|
713 | BYTE request;
|
---|
714 | CARD16 sequenceNumber B16;
|
---|
715 | CARD32 length B32;
|
---|
716 | fsTimestamp timestamp;
|
---|
717 | CARD8 major_opcode;
|
---|
718 | CARD8 minor_opcode;
|
---|
719 | fsResolution resolution;
|
---|
720 | } fsResolutionError;
|
---|
721 |
|
---|
722 | typedef struct {
|
---|
723 | BYTE type;
|
---|
724 | BYTE request;
|
---|
725 | CARD16 sequenceNumber B16;
|
---|
726 | CARD32 length B32;
|
---|
727 | fsTimestamp timestamp;
|
---|
728 | CARD8 major_opcode;
|
---|
729 | CARD8 minor_opcode;
|
---|
730 | CARD16 pad B16;
|
---|
731 | } fsAllocError;
|
---|
732 |
|
---|
733 | typedef struct {
|
---|
734 | BYTE type;
|
---|
735 | BYTE request;
|
---|
736 | CARD16 sequenceNumber B16;
|
---|
737 | CARD32 length B32;
|
---|
738 | fsTimestamp timestamp;
|
---|
739 | CARD8 major_opcode;
|
---|
740 | CARD8 minor_opcode;
|
---|
741 | CARD16 pad B16;
|
---|
742 | CARD32 bad_length B32;
|
---|
743 | } fsLengthError;
|
---|
744 |
|
---|
745 | typedef struct {
|
---|
746 | BYTE type;
|
---|
747 | BYTE request;
|
---|
748 | CARD16 sequenceNumber B16;
|
---|
749 | CARD32 length B32;
|
---|
750 | fsTimestamp timestamp;
|
---|
751 | CARD8 major_opcode;
|
---|
752 | CARD8 minor_opcode;
|
---|
753 | CARD16 pad B16;
|
---|
754 | } fsImplementationError;
|
---|
755 |
|
---|
756 | /* events */
|
---|
757 | typedef struct {
|
---|
758 | BYTE type;
|
---|
759 | BYTE event_code;
|
---|
760 | CARD16 sequenceNumber B16;
|
---|
761 | CARD32 length B32;
|
---|
762 | fsTimestamp timestamp;
|
---|
763 | } fsKeepAliveEvent;
|
---|
764 |
|
---|
765 | typedef struct {
|
---|
766 | BYTE type;
|
---|
767 | BYTE event_code;
|
---|
768 | CARD16 sequenceNumber B16;
|
---|
769 | CARD32 length B32;
|
---|
770 | fsTimestamp timestamp;
|
---|
771 | BOOL added;
|
---|
772 | BOOL deleted;
|
---|
773 | CARD16 pad B16;
|
---|
774 | } fsCatalogueChangeNotifyEvent;
|
---|
775 |
|
---|
776 | typedef fsCatalogueChangeNotifyEvent fsFontChangeNotifyEvent;
|
---|
777 |
|
---|
778 | typedef fsCatalogueChangeNotifyEvent fsEvent;
|
---|
779 |
|
---|
780 | /* reply codes */
|
---|
781 | #define FS_Reply 0 /* normal reply */
|
---|
782 | #define FS_Error 1 /* error */
|
---|
783 | #define FS_Event 2
|
---|
784 |
|
---|
785 | /* request codes */
|
---|
786 | #define FS_Noop 0
|
---|
787 | #define FS_ListExtensions 1
|
---|
788 | #define FS_QueryExtension 2
|
---|
789 | #define FS_ListCatalogues 3
|
---|
790 | #define FS_SetCatalogues 4
|
---|
791 | #define FS_GetCatalogues 5
|
---|
792 | #define FS_SetEventMask 6
|
---|
793 | #define FS_GetEventMask 7
|
---|
794 | #define FS_CreateAC 8
|
---|
795 | #define FS_FreeAC 9
|
---|
796 | #define FS_SetAuthorization 10
|
---|
797 | #define FS_SetResolution 11
|
---|
798 | #define FS_GetResolution 12
|
---|
799 | #define FS_ListFonts 13
|
---|
800 | #define FS_ListFontsWithXInfo 14
|
---|
801 | #define FS_OpenBitmapFont 15
|
---|
802 | #define FS_QueryXInfo 16
|
---|
803 | #define FS_QueryXExtents8 17
|
---|
804 | #define FS_QueryXExtents16 18
|
---|
805 | #define FS_QueryXBitmaps8 19
|
---|
806 | #define FS_QueryXBitmaps16 20
|
---|
807 | #define FS_CloseFont 21
|
---|
808 |
|
---|
809 | /* restore decls */
|
---|
810 | #undef Mask
|
---|
811 | #undef Font
|
---|
812 | #undef AccContext
|
---|
813 |
|
---|
814 | #endif /* _FS_PROTO_H_ */
|
---|