~ubuntu-branches/ubuntu/gutsy/vnc4/gutsy

« back to all changes in this revision

Viewing changes to unix/xc/include/fonts/FSproto.h

  • Committer: Bazaar Package Importer
  • Author(s): Ola Lundqvist
  • Date: 2006-05-15 20:35:17 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20060515203517-l4lre1ku942mn26k
Tags: 4.1.1+X4.3.0-10
* Correction of critical security issue. Thanks to Martin Kogler
  <e9925248@student.tuwien.ac.at> that informed me about the issue,
  and provided the patch.
  This flaw was originally found by Steve Wiseman of intelliadmin.com.
* Applied patch from Javier Kohen <jkohen@users.sourceforge.net> that
  inform the user that only 8 first characters of the password will
  actually be used when typing more than 8 characters, closes:
  #355619.

Show diffs side-by-side

added added

removed removed

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