1 /* $XConsortium: FSproto.h,v 1.11 94/04/17 20:11:05 gildea Exp $ */
4 Copyright (c) 1990, 1991 X Consortium
6 Permission is hereby granted, free of charge, to any person obtaining a copy
7 of this software and associated documentation files (the "Software"), to deal
8 in the Software without restriction, including without limitation the rights
9 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 copies of the Software, and to permit persons to whom the Software is
11 furnished to do so, subject to the following conditions:
13 The above copyright notice and this permission notice shall be included in
14 all copies or substantial portions of the Software.
16 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
20 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 Except as contained in this notice, the name of the X Consortium shall not be
24 used in advertising or otherwise to promote the sale, use or other dealings
25 in this Software without prior written authorization from the X Consortium.
27 * Copyright 1990, 1991 Network Computing Devices;
28 * Portions Copyright 1987 by Digital Equipment Corporation
30 * Permission to use, copy, modify, distribute, and sell this software and
31 * its documentation for any purpose is hereby granted without fee, provided
32 * that the above copyright notice appear in all copies and that both that
33 * copyright notice and this permission notice appear in supporting
34 * documentation, and that the names of Network Computing Devices, or Digital
35 * not be used in advertising or publicity pertaining to distribution
36 * of the software without specific, written prior permission.
38 * NETWORK COMPUTING DEVICES, AND DIGITAL DISCLAIM ALL WARRANTIES WITH
39 * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
40 * MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES,
41 * OR DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
42 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
43 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
44 * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
53 #define sz_fsPropOffset 20
54 #define sz_fsPropInfo 8
55 #define sz_fsResolution 6
58 #define sz_fsChar2b_version1 2
59 #define sz_fsOffset32 8
62 #define sz_fsXCharInfo 12
63 #define sz_fsXFontInfoHeader 40
65 #define sz_fsConnClientPrefix 8
66 #define sz_fsConnSetup 12
67 #define sz_fsConnSetupExtra 8
68 #define sz_fsConnSetupAccept 12
72 #define sz_fsListExtensionsReq 4
73 #define sz_fsResourceReq 8
75 #define sz_fsNoopReq 4
76 #define sz_fsListExtensionReq 4
77 #define sz_fsQueryExtensionReq 4
78 #define sz_fsListCataloguesReq 12
79 #define sz_fsSetCataloguesReq 4
80 #define sz_fsGetCataloguesReq 4
81 #define sz_fsSetEventMaskReq 8
82 #define sz_fsGetEventMaskReq 4
83 #define sz_fsCreateACReq 8
84 #define sz_fsFreeACReq 8
85 #define sz_fsSetAuthorizationReq 8
86 #define sz_fsSetResolutionReq 4
87 #define sz_fsGetResolutionReq 4
88 #define sz_fsListFontsReq 12
89 #define sz_fsListFontsWithXInfoReq 12
90 #define sz_fsOpenBitmapFontReq 16
91 #define sz_fsQueryXInfoReq 8
92 #define sz_fsQueryXExtents8Req 12
93 #define sz_fsQueryXExtents16Req 12
94 #define sz_fsQueryXBitmaps8Req 16
95 #define sz_fsQueryXBitmaps16Req 16
96 #define sz_fsCloseReq 8
100 #define sz_fsGenericReply 8
102 #define sz_fsListExtensionsReply 8
103 #define sz_fsQueryExtensionReply 20
104 #define sz_fsListCataloguesReply 16
105 #define sz_fsGetCataloguesReply 8
106 #define sz_fsGetEventMaskReply 12
107 #define sz_fsCreateACReply 12
108 #define sz_fsGetResolutionReply 8
109 #define sz_fsListFontsReply 16
110 #define sz_fsListFontsWithXInfoReply (12 + sz_fsXFontInfoHeader)
111 #define sz_fsOpenBitmapFontReply 16
112 #define sz_fsQueryXInfoReply (8 + sz_fsXFontInfoHeader)
113 #define sz_fsQueryXExtents8Reply 12
114 #define sz_fsQueryXExtents16Reply 12
115 #define sz_fsQueryXBitmaps8Reply 20
116 #define sz_fsQueryXBitmaps16Reply 20
118 #define sz_fsError 16
119 #define sz_fsEvent 12
120 #define sz_fsKeepAliveEvent 12
128 #define AccContext CARD32
130 typedef CARD32 fsTimestamp;
132 #ifdef NOTDEF /* in fsmasks.h */
133 typedef CARD32 fsBitmapFormat;
134 typedef CARD32 fsBitmapFormatMask;
137 #define sz_fsBitmapFormat 4
145 CARD16 attributes B16;
179 CARD32 num_offsets B32;
186 CARD16 x_resolution B16;
187 CARD16 y_resolution B16;
188 CARD16 point_size B16;
194 CARD8 char_range_min_char_high;
195 CARD8 char_range_min_char_low;
196 CARD8 char_range_max_char_high;
197 CARD8 char_range_max_char_low;
199 CARD8 draw_direction;
201 CARD8 default_char_high;
202 CARD8 default_char_low;
203 INT16 min_bounds_left B16;
204 INT16 min_bounds_right B16;
206 INT16 min_bounds_width B16;
207 INT16 min_bounds_ascent B16;
208 INT16 min_bounds_descent B16;
209 CARD16 min_bounds_attributes B16;
211 INT16 max_bounds_left B16;
212 INT16 max_bounds_right B16;
213 INT16 max_bounds_width B16;
214 INT16 max_bounds_ascent B16;
216 INT16 max_bounds_descent B16;
217 CARD16 max_bounds_attributes B16;
218 INT16 font_ascent B16;
219 INT16 font_descent B16;
229 CARD16 major_version B16;
230 CARD16 minor_version B16;
233 } fsConnClientPrefix;
237 CARD16 major_version B16;
238 CARD16 minor_version B16;
239 CARD8 num_alternates;
241 CARD16 alternate_len B16;
256 CARD16 max_request_len B16;
257 CARD16 vendor_len B16;
258 CARD32 release_number B32;
269 * The fsFakeReq structure is never used in the protocol; it is prepended
270 * to incoming packets when setting up a connection so we can index
271 * through InitialVector. To avoid alignment problems, it is padded
272 * to the size of a word on the largest machine this code runs on.
273 * Hence no sz_fsFakeReq constant is necessary.
279 CARD32 pad B32; /* to fill out to multiple of 64 bits */
289 typedef fsReq fsNoopReq;
290 typedef fsReq fsListExtensionsReq;
297 } fsQueryExtensionReq;
307 } fsListCataloguesReq;
314 } fsSetCataloguesReq;
316 typedef fsReq fsGetCataloguesReq;
339 typedef fsResourceReq fsFreeACReq;
340 typedef fsResourceReq fsSetAuthorizationReq;
344 BYTE num_resolutions;
347 } fsSetResolutionReq;
349 typedef fsReq fsGetResolutionReq;
361 typedef fsListFontsReq fsListFontsWithXInfoReq;
368 fsBitmapFormatMask format_mask B32;
369 fsBitmapFormat format_hint B32;
371 } fsOpenBitmapFontReq;
373 typedef fsResourceReq fsQueryXInfoReq;
380 CARD32 num_ranges B32;
382 } fsQueryXExtents8Req;
384 typedef fsQueryXExtents8Req fsQueryXExtents16Req;
391 fsBitmapFormat format B32;
392 CARD32 num_ranges B32;
394 } fsQueryXBitmaps8Req;
396 typedef fsQueryXBitmaps8Req fsQueryXBitmaps16Req;
398 typedef fsResourceReq fsCloseReq;
405 CARD16 sequenceNumber B16;
412 CARD16 sequenceNumber B16;
414 /* extension names */
415 } fsListExtensionsReply;
420 CARD16 sequenceNumber B16;
422 CARD16 major_version B16;
423 CARD16 minor_version B16;
431 } fsQueryExtensionReply;
436 CARD16 sequenceNumber B16;
438 CARD32 num_replies B32;
439 CARD32 num_catalogues B32;
441 } fsListCataloguesReply;
445 CARD8 num_catalogues;
446 CARD16 sequenceNumber B16;
448 /* catalogue names */
449 } fsGetCataloguesReply;
454 CARD16 sequenceNumber B16;
456 CARD32 event_mask B32;
457 } fsGetEventMaskReply;
462 CARD16 sequenceNumber B16;
474 } fsCreateACExtraReply;
478 CARD8 num_resolutions;
479 CARD16 sequenceNumber B16;
482 } fsGetResolutionReply;
487 CARD16 sequenceNumber B16;
489 CARD32 following B32;
495 * this one is messy. the reply itself is variable length (unknown
496 * number of replies) and the contents of each is variable (unknown
497 * number of properties)
503 CARD8 nameLength; /* 0 is end-of-reply */
504 CARD16 sequenceNumber B16;
507 CARD32 font_header_flags B32;
508 CARD8 font_hdr_char_range_min_char_high;
509 CARD8 font_hdr_char_range_min_char_low;
510 CARD8 font_hdr_char_range_max_char_high;
511 CARD8 font_hdr_char_range_max_char_low;
512 CARD8 font_header_draw_direction;
513 CARD8 font_header_pad;
514 CARD8 font_header_default_char_high;
515 CARD8 font_header_default_char_low;
516 INT16 font_header_min_bounds_left B16;
517 INT16 font_header_min_bounds_right B16;
518 INT16 font_header_min_bounds_width B16;
519 INT16 font_header_min_bounds_ascent B16;
520 INT16 font_header_min_bounds_descent B16;
521 CARD16 font_header_min_bounds_attributes B16;
522 INT16 font_header_max_bounds_left B16;
523 INT16 font_header_max_bounds_right B16;
524 INT16 font_header_max_bounds_width B16;
525 INT16 font_header_max_bounds_ascent B16;
526 INT16 font_header_max_bounds_descent B16;
527 CARD16 font_header_max_bounds_attributes B16;
528 INT16 font_header_font_ascent B16;
529 INT16 font_header_font_descent B16;
532 } fsListFontsWithXInfoReply;
537 CARD16 sequenceNumber B16;
543 } fsOpenBitmapFontReply;
548 CARD16 sequenceNumber B16;
550 CARD32 font_header_flags B32;
551 CARD8 font_hdr_char_range_min_char_high;
552 CARD8 font_hdr_char_range_min_char_low;
553 CARD8 font_hdr_char_range_max_char_high;
554 CARD8 font_hdr_char_range_max_char_low;
555 CARD8 font_header_draw_direction;
556 CARD8 font_header_pad;
557 CARD8 font_header_default_char_high;
558 CARD8 font_header_default_char_low;
559 INT16 font_header_min_bounds_left B16;
560 INT16 font_header_min_bounds_right B16;
561 INT16 font_header_min_bounds_width B16;
562 INT16 font_header_min_bounds_ascent B16;
563 INT16 font_header_min_bounds_descent B16;
564 CARD16 font_header_min_bounds_attributes B16;
565 INT16 font_header_max_bounds_left B16;
566 INT16 font_header_max_bounds_right B16;
567 INT16 font_header_max_bounds_width B16;
568 INT16 font_header_max_bounds_ascent B16;
569 INT16 font_header_max_bounds_descent B16;
570 CARD16 font_header_max_bounds_attributes B16;
571 INT16 font_header_font_ascent B16;
572 INT16 font_header_font_descent B16;
579 CARD16 sequenceNumber B16;
581 CARD32 num_extents B32;
583 } fsQueryXExtents8Reply;
585 typedef fsQueryXExtents8Reply fsQueryXExtents16Reply;
590 CARD16 sequenceNumber B16;
592 CARD32 replies_hint B32;
593 CARD32 num_chars B32;
597 } fsQueryXBitmaps8Reply;
599 typedef fsQueryXBitmaps8Reply fsQueryXBitmaps16Reply;
602 fsGenericReply generic;
603 fsListExtensionsReply extensions;
604 fsGetResolutionReply getres;
611 CARD16 sequenceNumber B16;
613 fsTimestamp timestamp;
622 CARD16 sequenceNumber B16;
624 fsTimestamp timestamp;
633 CARD16 sequenceNumber B16;
635 fsTimestamp timestamp;
639 fsBitmapFormat format B32;
645 CARD16 sequenceNumber B16;
647 fsTimestamp timestamp;
657 CARD16 sequenceNumber B16;
659 fsTimestamp timestamp;
669 CARD16 sequenceNumber B16;
671 fsTimestamp timestamp;
681 CARD16 sequenceNumber B16;
683 fsTimestamp timestamp;
688 } fsAccessContextError;
693 CARD16 sequenceNumber B16;
695 fsTimestamp timestamp;
705 CARD16 sequenceNumber B16;
707 fsTimestamp timestamp;
716 CARD16 sequenceNumber B16;
718 fsTimestamp timestamp;
721 fsResolution resolution;
727 CARD16 sequenceNumber B16;
729 fsTimestamp timestamp;
738 CARD16 sequenceNumber B16;
740 fsTimestamp timestamp;
744 CARD32 bad_length B32;
750 CARD16 sequenceNumber B16;
752 fsTimestamp timestamp;
756 } fsImplementationError;
762 CARD16 sequenceNumber B16;
764 fsTimestamp timestamp;
770 CARD16 sequenceNumber B16;
772 fsTimestamp timestamp;
776 } fsCatalogueChangeNotifyEvent;
778 typedef fsCatalogueChangeNotifyEvent fsFontChangeNotifyEvent;
780 typedef fsCatalogueChangeNotifyEvent fsEvent;
783 #define FS_Reply 0 /* normal reply */
784 #define FS_Error 1 /* error */
789 #define FS_ListExtensions 1
790 #define FS_QueryExtension 2
791 #define FS_ListCatalogues 3
792 #define FS_SetCatalogues 4
793 #define FS_GetCatalogues 5
794 #define FS_SetEventMask 6
795 #define FS_GetEventMask 7
796 #define FS_CreateAC 8
798 #define FS_SetAuthorization 10
799 #define FS_SetResolution 11
800 #define FS_GetResolution 12
801 #define FS_ListFonts 13
802 #define FS_ListFontsWithXInfo 14
803 #define FS_OpenBitmapFont 15
804 #define FS_QueryXInfo 16
805 #define FS_QueryXExtents8 17
806 #define FS_QueryXExtents16 18
807 #define FS_QueryXBitmaps8 19
808 #define FS_QueryXBitmaps16 20
809 #define FS_CloseFont 21
816 #endif /* _FS_PROTO_H_ */