3 Copyright 1990, 1991, 1998 The Open Group
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
11 The above copyright notice and this permission notice shall be included in
12 all copies or substantial portions of the Software.
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.
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.
25 * Copyright 1990, 1991 Network Computing Devices;
26 * Portions Copyright 1987 by Digital Equipment Corporation
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.
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
49 #include <X11/fonts/FS.h>
51 #define sz_fsPropOffset 20
52 #define sz_fsPropInfo 8
53 #define sz_fsResolution 6
56 #define sz_fsChar2b_version1 2
57 #define sz_fsOffset32 8
60 #define sz_fsXCharInfo 12
61 #define sz_fsXFontInfoHeader 40
63 #define sz_fsConnClientPrefix 8
64 #define sz_fsConnSetup 12
65 #define sz_fsConnSetupExtra 8
66 #define sz_fsConnSetupAccept 12
70 #define sz_fsListExtensionsReq 4
71 #define sz_fsResourceReq 8
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
98 #define sz_fsGenericReply 8
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
116 #define sz_fsError 16
117 #define sz_fsEvent 12
118 #define sz_fsKeepAliveEvent 12
126 #define AccContext CARD32
128 typedef CARD32 fsTimestamp;
130 #ifdef NOTDEF /* in fsmasks.h */
131 typedef CARD32 fsBitmapFormat;
132 typedef CARD32 fsBitmapFormatMask;
135 #define sz_fsBitmapFormat 4
143 CARD16 attributes B16;
177 CARD32 num_offsets B32;
184 CARD16 x_resolution B16;
185 CARD16 y_resolution B16;
186 CARD16 point_size B16;
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;
197 CARD8 draw_direction;
199 CARD8 default_char_high;
200 CARD8 default_char_low;
201 INT16 min_bounds_left B16;
202 INT16 min_bounds_right B16;
204 INT16 min_bounds_width B16;
205 INT16 min_bounds_ascent B16;
206 INT16 min_bounds_descent B16;
207 CARD16 min_bounds_attributes B16;
209 INT16 max_bounds_left B16;
210 INT16 max_bounds_right B16;
211 INT16 max_bounds_width B16;
212 INT16 max_bounds_ascent B16;
214 INT16 max_bounds_descent B16;
215 CARD16 max_bounds_attributes B16;
216 INT16 font_ascent B16;
217 INT16 font_descent B16;
227 CARD16 major_version B16;
228 CARD16 minor_version B16;
231 } fsConnClientPrefix;
235 CARD16 major_version B16;
236 CARD16 minor_version B16;
237 CARD8 num_alternates;
239 CARD16 alternate_len B16;
254 CARD16 max_request_len B16;
255 CARD16 vendor_len B16;
256 CARD32 release_number B32;
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.
277 CARD32 pad B32; /* to fill out to multiple of 64 bits */
287 typedef fsReq fsNoopReq;
288 typedef fsReq fsListExtensionsReq;
295 } fsQueryExtensionReq;
305 } fsListCataloguesReq;
312 } fsSetCataloguesReq;
314 typedef fsReq fsGetCataloguesReq;
337 typedef fsResourceReq fsFreeACReq;
338 typedef fsResourceReq fsSetAuthorizationReq;
342 BYTE num_resolutions;
345 } fsSetResolutionReq;
347 typedef fsReq fsGetResolutionReq;
359 typedef fsListFontsReq fsListFontsWithXInfoReq;
366 fsBitmapFormatMask format_mask B32;
367 fsBitmapFormat format_hint B32;
369 } fsOpenBitmapFontReq;
371 typedef fsResourceReq fsQueryXInfoReq;
378 CARD32 num_ranges B32;
380 } fsQueryXExtents8Req;
382 typedef fsQueryXExtents8Req fsQueryXExtents16Req;
389 fsBitmapFormat format B32;
390 CARD32 num_ranges B32;
392 } fsQueryXBitmaps8Req;
394 typedef fsQueryXBitmaps8Req fsQueryXBitmaps16Req;
396 typedef fsResourceReq fsCloseReq;
403 CARD16 sequenceNumber B16;
410 CARD16 sequenceNumber B16;
412 /* extension names */
413 } fsListExtensionsReply;
418 CARD16 sequenceNumber B16;
420 CARD16 major_version B16;
421 CARD16 minor_version B16;
429 } fsQueryExtensionReply;
434 CARD16 sequenceNumber B16;
436 CARD32 num_replies B32;
437 CARD32 num_catalogues B32;
439 } fsListCataloguesReply;
443 CARD8 num_catalogues;
444 CARD16 sequenceNumber B16;
446 /* catalogue names */
447 } fsGetCataloguesReply;
452 CARD16 sequenceNumber B16;
454 CARD32 event_mask B32;
455 } fsGetEventMaskReply;
460 CARD16 sequenceNumber B16;
472 } fsCreateACExtraReply;
476 CARD8 num_resolutions;
477 CARD16 sequenceNumber B16;
480 } fsGetResolutionReply;
485 CARD16 sequenceNumber B16;
487 CARD32 following B32;
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)
501 CARD8 nameLength; /* 0 is end-of-reply */
502 CARD16 sequenceNumber B16;
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;
530 } fsListFontsWithXInfoReply;
535 CARD16 sequenceNumber B16;
541 } fsOpenBitmapFontReply;
546 CARD16 sequenceNumber B16;
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;
577 CARD16 sequenceNumber B16;
579 CARD32 num_extents B32;
581 } fsQueryXExtents8Reply;
583 typedef fsQueryXExtents8Reply fsQueryXExtents16Reply;
588 CARD16 sequenceNumber B16;
590 CARD32 replies_hint B32;
591 CARD32 num_chars B32;
595 } fsQueryXBitmaps8Reply;
597 typedef fsQueryXBitmaps8Reply fsQueryXBitmaps16Reply;
600 fsGenericReply generic;
601 fsListExtensionsReply extensions;
602 fsGetResolutionReply getres;
609 CARD16 sequenceNumber B16;
611 fsTimestamp timestamp;
620 CARD16 sequenceNumber B16;
622 fsTimestamp timestamp;
631 CARD16 sequenceNumber B16;
633 fsTimestamp timestamp;
637 fsBitmapFormat format B32;
643 CARD16 sequenceNumber B16;
645 fsTimestamp timestamp;
655 CARD16 sequenceNumber B16;
657 fsTimestamp timestamp;
667 CARD16 sequenceNumber B16;
669 fsTimestamp timestamp;
679 CARD16 sequenceNumber B16;
681 fsTimestamp timestamp;
686 } fsAccessContextError;
691 CARD16 sequenceNumber B16;
693 fsTimestamp timestamp;
703 CARD16 sequenceNumber B16;
705 fsTimestamp timestamp;
714 CARD16 sequenceNumber B16;
716 fsTimestamp timestamp;
719 fsResolution resolution;
725 CARD16 sequenceNumber B16;
727 fsTimestamp timestamp;
736 CARD16 sequenceNumber B16;
738 fsTimestamp timestamp;
742 CARD32 bad_length B32;
748 CARD16 sequenceNumber B16;
750 fsTimestamp timestamp;
754 } fsImplementationError;
760 CARD16 sequenceNumber B16;
762 fsTimestamp timestamp;
768 CARD16 sequenceNumber B16;
770 fsTimestamp timestamp;
774 } fsCatalogueChangeNotifyEvent;
776 typedef fsCatalogueChangeNotifyEvent fsFontChangeNotifyEvent;
778 typedef fsCatalogueChangeNotifyEvent fsEvent;
781 #define FS_Reply 0 /* normal reply */
782 #define FS_Error 1 /* error */
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
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
814 #endif /* _FS_PROTO_H_ */