~ubuntu-branches/ubuntu/karmic/virtualbox-ose/karmic-updates

« back to all changes in this revision

Viewing changes to src/VBox/Additions/x11/x11include/4.2/include/extensions/lbxstr.h

  • Committer: Bazaar Package Importer
  • Author(s): Felix Geyer
  • Date: 2009-09-14 18:25:07 UTC
  • mfrom: (0.4.1 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090914182507-c98g07mq16hjmn6d
Tags: 3.0.6-dfsg-1ubuntu1
* Merge from debian unstable (LP: #429697), remaining changes:
  - Enable DKMS support on virtualbox host and guest modules (LP: #267097)
    - Drop virtualbox-ose{-guest,}-modules-* package templates
    - Recommend *-source instead of *-modules packages
    - Replace error messages related to missing/mismatched
      kernel module accordingly
  - Autoload kernel module
    - LOAD_VBOXDRV_MODULE=1 in virtualbox-ose.default
  - Disable update action
    - patches/u01-disable-update-action.dpatch
  - Virtualbox should go in Accessories, not in System tools (LP: #288590)
    - virtualbox-ose-qt.files/virtualbox-ose.desktop
  - Add apport hook
    - virtualbox-ose.files/source_virtualbox-ose.py
    - virtualbox-ose.install
  - Add launchpad integration
    - control
    - lpi-bug.xpm
    - patches/u02-lp-integration.dpatch
  - virtualbox, virtualbox-* (names of the upstream proprietary packages)
    conflict with virtualbox-ose (LP: #379878)
* Make debug package depend on normal or guest utils package
* Drop patches/22-pulseaudio-stubs.dpatch (applied upstream)
* Rename Ubuntu specific patches to uXX-*.dpatch
* Fix lintian warnings in maintainer scripts

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* $Xorg: lbxstr.h,v 1.4 2001/02/13 20:14:04 pookie Exp $ */
2
 
/*
3
 
 * Copyright 1992 Network Computing Devices
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, and that the name of NCD. not be used in advertising or
10
 
 * publicity pertaining to distribution of the software without specific,
11
 
 * written prior permission.  NCD. makes no representations about the
12
 
 * suitability of this software for any purpose.  It is provided "as is"
13
 
 * without express or implied warranty.
14
 
 *
15
 
 * NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
16
 
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD.
17
 
 * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
18
 
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
19
 
 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 
20
 
 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
21
 
 *
22
 
 */
23
 
/* $XFree86: xc/include/extensions/lbxstr.h,v 1.3 2001/11/23 19:21:30 dawes Exp $ */
24
 
 
25
 
#ifndef _LBXSTR_H_
26
 
#define _LBXSTR_H_
27
 
 
28
 
#include <X11/extensions/XLbx.h>
29
 
 
30
 
#define LBXNAME "LBX"
31
 
 
32
 
#define LBX_MAJOR_VERSION       1
33
 
#define LBX_MINOR_VERSION       0
34
 
 
35
 
/*
36
 
 * Redefine some basic types used by structures defined herein.  This removes
37
 
 * any possibility on 64-bit architectures of one entity viewing communicated
38
 
 * data as 32-bit quantities and another entity viewing the same data as 64-bit
39
 
 * quantities.
40
 
 */
41
 
#define XID CARD32
42
 
#define Atom CARD32
43
 
#define Colormap CARD32
44
 
#define Drawable CARD32
45
 
#define VisualID CARD32
46
 
#define Window CARD32
47
 
 
48
 
typedef struct {
49
 
    BOOL        success;                /* TRUE */
50
 
    BOOL        changeType;
51
 
    CARD16      majorVersion B16,
52
 
                minorVersion B16;
53
 
    CARD16      length B16;             /* 1/4 additional bytes in setup info */
54
 
    CARD32      tag B32;
55
 
} xLbxConnSetupPrefix;
56
 
 
57
 
typedef struct _LbxQueryVersion {
58
 
    CARD8       reqType;                /* always LbxReqCode */
59
 
    CARD8       lbxReqType;             /* always X_LbxQueryVersion */
60
 
    CARD16      length B16;
61
 
} xLbxQueryVersionReq;
62
 
#define sz_xLbxQueryVersionReq  4
63
 
 
64
 
typedef struct {
65
 
    BYTE        type;                   /* X_Reply */
66
 
    CARD8       unused;
67
 
    CARD16      sequenceNumber B16;
68
 
    CARD32      length B32;
69
 
    CARD16      majorVersion B16;       /* major version of LBX protocol */
70
 
    CARD16      minorVersion B16;       /* minor version of LBX protocol */
71
 
    CARD32      pad0 B32;
72
 
    CARD32      pad1 B32;
73
 
    CARD32      pad2 B32;
74
 
    CARD32      pad3 B32;
75
 
    CARD32      pad4 B32;
76
 
} xLbxQueryVersionReply;
77
 
#define sz_xLbxQueryVersionReply        32
78
 
 
79
 
typedef struct _LbxStartProxy {
80
 
    CARD8       reqType;        /* always LbxReqCode */
81
 
    CARD8       lbxReqType;     /* always X_LbxStartProxy */
82
 
    CARD16      length B16;
83
 
} xLbxStartProxyReq;
84
 
#define sz_xLbxStartProxyReq        4
85
 
 
86
 
typedef struct _LbxStopProxy {
87
 
    CARD8       reqType;        /* always LbxReqCode */
88
 
    CARD8       lbxReqType;     /* always X_LbxStopProxy */
89
 
    CARD16      length B16;
90
 
} xLbxStopProxyReq;
91
 
#define sz_xLbxStopProxyReq         4
92
 
 
93
 
typedef struct _LbxSwitch {
94
 
    CARD8       reqType;        /* always LbxReqCode */
95
 
    CARD8       lbxReqType;     /* always X_LbxSwitch */
96
 
    CARD16      length B16;
97
 
    CARD32      client B32;     /* new client */
98
 
} xLbxSwitchReq;
99
 
#define sz_xLbxSwitchReq        8
100
 
 
101
 
typedef struct _LbxNewClient {
102
 
    CARD8       reqType;        /* always LbxReqCode */
103
 
    CARD8       lbxReqType;     /* always X_LbxNewClient */
104
 
    CARD16      length B16;
105
 
    CARD32      client B32;     /* new client */
106
 
} xLbxNewClientReq;
107
 
#define sz_xLbxNewClientReq     8
108
 
 
109
 
typedef struct _LbxCloseClient {
110
 
    CARD8       reqType;        /* always LbxReqCode */
111
 
    CARD8       lbxReqType;     /* always X_LbxCloseClient */
112
 
    CARD16      length B16;
113
 
    CARD32      client B32;     /* new client */
114
 
} xLbxCloseClientReq;
115
 
#define sz_xLbxCloseClientReq   8
116
 
 
117
 
typedef struct _LbxModifySequence {
118
 
    CARD8       reqType;        /* always LbxReqCode */
119
 
    CARD8       lbxReqType;     /* always X_LbxModifySequence */
120
 
    CARD16      length B16;
121
 
    CARD32      adjust B32;
122
 
} xLbxModifySequenceReq;
123
 
#define sz_xLbxModifySequenceReq    8
124
 
    
125
 
typedef struct _LbxAllowMotion {
126
 
    CARD8       reqType;        /* always LbxReqCode */
127
 
    CARD8       lbxReqType;     /* always X_LbxAllowMotion */
128
 
    CARD16      length B16;
129
 
    CARD32      num B32;
130
 
} xLbxAllowMotionReq;
131
 
#define sz_xLbxAllowMotionReq    8
132
 
    
133
 
typedef struct {
134
 
    CARD8       reqType;        /* always LbxReqCode */
135
 
    CARD8       lbxReqType;     /* always X_LbxGrabCmap */
136
 
    CARD16      length B16;
137
 
    Colormap    cmap B32;
138
 
} xLbxGrabCmapReq;    
139
 
#define sz_xLbxGrabCmapReq      8
140
 
 
141
 
#define LBX_SMART_GRAB          0x80
142
 
#define LBX_AUTO_RELEASE        0x40
143
 
#define LBX_3CHANNELS           0x20
144
 
#define LBX_2BYTE_PIXELS        0x10
145
 
#define LBX_RGB_BITS_MASK       0x0f
146
 
 
147
 
#define LBX_LIST_END            0
148
 
#define LBX_PIXEL_PRIVATE       1
149
 
#define LBX_PIXEL_SHARED        2
150
 
#define LBX_PIXEL_RANGE_PRIVATE 3
151
 
#define LBX_PIXEL_RANGE_SHARED  4
152
 
#define LBX_NEXT_CHANNEL        5
153
 
 
154
 
typedef struct {
155
 
    BYTE        type;                   /* X_Reply */
156
 
    CARD8       flags;
157
 
    CARD16      sequenceNumber B16;
158
 
    CARD32      length B32;
159
 
    CARD32      pad0 B16;
160
 
    CARD32      pad1 B32;
161
 
    CARD32      pad2 B32;
162
 
    CARD32      pad3 B32;
163
 
    CARD32      pad4 B32;
164
 
    CARD32      pad5 B16;
165
 
} xLbxGrabCmapReply;
166
 
#define sz_xLbxGrabCmapReply    32
167
 
#define sz_xLbxGrabCmapReplyHdr 8
168
 
 
169
 
 
170
 
typedef struct {
171
 
    CARD8       reqType;        /* always LbxReqCode */
172
 
    CARD8       lbxReqType;     /* always X_LbxReleaseCmap */
173
 
    CARD16      length B16;
174
 
    Colormap    cmap B32;
175
 
} xLbxReleaseCmapReq;    
176
 
#define sz_xLbxReleaseCmapReq   8
177
 
 
178
 
typedef struct {
179
 
    CARD8       reqType;        /* always LbxReqCode */
180
 
    CARD8       lbxReqType;     /* always X_LbxAllocColor */
181
 
    CARD16      length B16;
182
 
    Colormap    cmap B32;
183
 
    CARD32      pixel B32;
184
 
    CARD16      red B16, green B16, blue B16;
185
 
    CARD16      pad B16;
186
 
} xLbxAllocColorReq;    
187
 
#define sz_xLbxAllocColorReq    20
188
 
 
189
 
typedef struct _LbxIncrementPixel {
190
 
    CARD8       reqType;        /* always LbxReqCode */
191
 
    CARD8       lbxReqType;     /* always X_LbxIncrementPixel */
192
 
    CARD16      length B16;
193
 
    CARD32      cmap B32;
194
 
    CARD32      pixel B32;
195
 
} xLbxIncrementPixelReq;
196
 
#define sz_xLbxIncrementPixelReq    12
197
 
 
198
 
typedef struct _LbxDelta {
199
 
    CARD8       reqType;        /* always LbxReqCode */
200
 
    CARD8       lbxReqType;     /* always X_LbxDelta */
201
 
    CARD16      length B16;
202
 
    CARD8       diffs;          /* number of diffs */
203
 
    CARD8       cindex;         /* cache index */
204
 
                                /* list of diffs follows */
205
 
} xLbxDeltaReq;
206
 
#define sz_xLbxDeltaReq    6
207
 
 
208
 
typedef struct _LbxGetModifierMapping {
209
 
    CARD8       reqType;        /* always LbxReqCode */
210
 
    CARD8       lbxReqType;     /* always X_LbxGetModifierMapping */
211
 
    CARD16      length B16;
212
 
} xLbxGetModifierMappingReq;
213
 
#define sz_xLbxGetModifierMappingReq    4
214
 
 
215
 
typedef struct {
216
 
    BYTE        type;                   /* X_Reply */
217
 
    CARD8       keyspermod;
218
 
    CARD16      sequenceNumber B16;
219
 
    CARD32      length B32;
220
 
    CARD32      tag B32;
221
 
    CARD32      pad0 B32;
222
 
    CARD32      pad1 B32;
223
 
    CARD32      pad2 B32;
224
 
    CARD32      pad3 B32;
225
 
    CARD32      pad4 B32;
226
 
} xLbxGetModifierMappingReply;
227
 
#define sz_xLbxGetModifierMappingReply  32
228
 
 
229
 
typedef struct _LbxGetKeyboardMapping {
230
 
    CARD8       reqType;        /* always LbxReqCode */
231
 
    CARD8       lbxReqType;     /* always X_LbxGetKeyboardMapping */
232
 
    CARD16      length B16;
233
 
    KeyCode     firstKeyCode;
234
 
    CARD8       count;
235
 
    CARD16      pad1 B16;
236
 
} xLbxGetKeyboardMappingReq;
237
 
#define sz_xLbxGetKeyboardMappingReq    8
238
 
 
239
 
typedef struct {
240
 
    BYTE        type;                   /* X_Reply */
241
 
    CARD8       keysperkeycode;
242
 
    CARD16      sequenceNumber B16;
243
 
    CARD32      length B32;
244
 
    CARD32      tag B32;
245
 
    CARD32      pad0 B32;
246
 
    CARD32      pad1 B32;
247
 
    CARD32      pad2 B32;
248
 
    CARD32      pad3 B32;
249
 
    CARD32      pad4 B32;
250
 
} xLbxGetKeyboardMappingReply;
251
 
#define sz_xLbxGetKeyboardMappingReply  32
252
 
 
253
 
typedef struct _LbxQueryFont {
254
 
    CARD8       reqType;        /* always LbxReqCode */
255
 
    CARD8       lbxReqType;     /* always X_LbxQueryFont */
256
 
    CARD16      length B16;
257
 
    CARD32      fid B32;
258
 
} xLbxQueryFontReq;
259
 
#define sz_xLbxQueryFontReq     8
260
 
 
261
 
typedef struct _LbxInternAtoms {
262
 
    CARD8       reqType;        /* always LbxReqCode */
263
 
    CARD8       lbxReqType;     /* always X_LbxInternAtoms */
264
 
    CARD16      length B16;
265
 
    CARD16      num B16;
266
 
} xLbxInternAtomsReq;
267
 
#define sz_xLbxInternAtomsReq   6  
268
 
 
269
 
typedef struct {
270
 
    BYTE        type;           /* X_Reply */
271
 
    CARD8       unused;
272
 
    CARD16      sequenceNumber B16;
273
 
    CARD32      length B32;
274
 
    CARD32      atomsStart B32;
275
 
    CARD32      pad0 B32;
276
 
    CARD32      pad1 B32;
277
 
    CARD32      pad2 B32;
278
 
    CARD32      pad3 B32;
279
 
    CARD32      pad4 B32;
280
 
} xLbxInternAtomsReply;
281
 
#define sz_xLbxInternAtomsReply         32
282
 
#define sz_xLbxInternAtomsReplyHdr      8
283
 
 
284
 
 
285
 
typedef struct _LbxGetWinAttrAndGeom {
286
 
    CARD8       reqType;        /* always LbxReqCode */
287
 
    CARD8       lbxReqType;     /* always X_LbxGetWinAttrAndGeom */
288
 
    CARD16      length B16;
289
 
    CARD32      id B32;         /* window id */
290
 
} xLbxGetWinAttrAndGeomReq;
291
 
#define sz_xLbxGetWinAttrAndGeomReq 8
292
 
 
293
 
typedef struct {
294
 
    BYTE type;  /* X_Reply */
295
 
    CARD8 backingStore;
296
 
    CARD16 sequenceNumber B16;
297
 
    CARD32 length B32;  /* NOT 0; this is an extra-large reply */
298
 
    VisualID visualID B32;
299
 
#if defined(__cplusplus) || defined(c_plusplus)
300
 
    CARD16 c_class B16;
301
 
#else
302
 
    CARD16 class B16;
303
 
#endif
304
 
    CARD8 bitGravity;
305
 
    CARD8 winGravity;
306
 
    CARD32 backingBitPlanes B32;
307
 
    CARD32 backingPixel B32;
308
 
    BOOL saveUnder;
309
 
    BOOL mapInstalled;
310
 
    CARD8 mapState;
311
 
    BOOL override;
312
 
    Colormap colormap B32;
313
 
    CARD32 allEventMasks B32;
314
 
    CARD32 yourEventMask B32;
315
 
    CARD16 doNotPropagateMask B16;
316
 
    CARD16 pad1 B16;
317
 
    Window root B32;
318
 
    INT16 x B16, y B16;
319
 
    CARD16 width B16, height B16;
320
 
    CARD16 borderWidth B16;
321
 
    CARD8 depth;
322
 
    CARD8 pad2;
323
 
} xLbxGetWinAttrAndGeomReply;
324
 
#define sz_xLbxGetWinAttrAndGeomReply 60
325
 
 
326
 
 
327
 
typedef struct {
328
 
    CARD8       reqType;        /* always LbxReqCode */
329
 
    CARD8       lbxReqType;     /* always X_LbxSync */
330
 
    CARD16      length B16;
331
 
} xLbxSyncReq;
332
 
#define sz_xLbxSyncReq  4
333
 
 
334
 
typedef struct {
335
 
    BYTE        type;                   /* X_Reply */
336
 
    CARD8       pad0;
337
 
    CARD16      sequenceNumber B16;
338
 
    CARD32      length B32;
339
 
    CARD32      pad1 B32;
340
 
    CARD32      pad2 B32;
341
 
    CARD32      pad3 B32;
342
 
    CARD32      pad4 B32;
343
 
    CARD32      pad5 B32;
344
 
    CARD32      pad6 B32;
345
 
} xLbxSyncReply;
346
 
#define sz_xLbxSyncReply 32
347
 
 
348
 
 
349
 
/* an LBX squished charinfo packs the data in a CARD32 as follows */
350
 
#define LBX_WIDTH_SHIFT         26
351
 
#define LBX_LEFT_SHIFT          20
352
 
#define LBX_RIGHT_SHIFT         13
353
 
#define LBX_ASCENT_SHIFT        7
354
 
#define LBX_DESCENT_SHIFT       0
355
 
 
356
 
#define LBX_WIDTH_BITS          6
357
 
#define LBX_LEFT_BITS           6
358
 
#define LBX_RIGHT_BITS          7
359
 
#define LBX_ASCENT_BITS         6
360
 
#define LBX_DESCENT_BITS        7
361
 
 
362
 
#define LBX_WIDTH_MASK          0xfc000000
363
 
#define LBX_LEFT_MASK           0x03f00000
364
 
#define LBX_RIGHT_MASK          0x000fe000
365
 
#define LBX_ASCENT_MASK         0x00001f80
366
 
#define LBX_DESCENT_MASK        0x0000007f
367
 
 
368
 
#define LBX_MASK_BITS(val, n)   ((unsigned int) ((val) & ((1 << (n)) - 1)))
369
 
 
370
 
typedef struct {
371
 
    CARD32      metrics B32;
372
 
} xLbxCharInfo;
373
 
 
374
 
/* note that this is identical to xQueryFontReply except for missing 
375
 
 * first 2 words
376
 
 */
377
 
typedef struct {
378
 
    xCharInfo minBounds; 
379
 
/* XXX do we need to leave this gunk? */
380
 
#ifndef WORD64
381
 
    CARD32 walign1 B32;
382
 
#endif
383
 
    xCharInfo maxBounds; 
384
 
#ifndef WORD64
385
 
    CARD32 walign2 B32;
386
 
#endif
387
 
    CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
388
 
    CARD16 defaultChar B16;
389
 
    CARD16 nFontProps B16;  /* followed by this many xFontProp structures */
390
 
    CARD8 drawDirection;
391
 
    CARD8 minByte1, maxByte1;
392
 
    BOOL allCharsExist;
393
 
    INT16 fontAscent B16, fontDescent B16;
394
 
    CARD32 nCharInfos B32; /* followed by this many xLbxCharInfo structures */
395
 
} xLbxFontInfo;
396
 
 
397
 
typedef struct {
398
 
    BYTE        type;                   /* X_Reply */
399
 
    CARD8       compression;
400
 
    CARD16      sequenceNumber B16;
401
 
    CARD32      length B32;
402
 
    CARD32      tag B32;
403
 
    CARD32      pad0 B32;
404
 
    CARD32      pad1 B32;
405
 
    CARD32      pad2 B32;
406
 
    CARD32      pad3 B32;
407
 
    CARD32      pad4 B32;
408
 
    /* X_QueryFont sticks much of the data in the base reply packet,
409
 
     * but we hope that it won't be needed, (and it won't fit in 32 bytes
410
 
     * with the tag anyways)
411
 
     *
412
 
     * if any additional data is needed, its sent in a xLbxFontInfo
413
 
     */
414
 
} xLbxQueryFontReply;
415
 
#define sz_xLbxQueryFontReply   32
416
 
 
417
 
typedef struct _LbxChangeProperty {
418
 
    CARD8       reqType;        /* always LbxReqCode */
419
 
    CARD8       lbxReqType;     /* always X_LbxChangeProperty */
420
 
    CARD16      length B16;
421
 
    Window      window B32;
422
 
    Atom        property B32;
423
 
    Atom        type B32;
424
 
    CARD8       format;
425
 
    CARD8       mode;
426
 
    BYTE        pad[2];
427
 
    CARD32      nUnits B32;
428
 
} xLbxChangePropertyReq;
429
 
#define sz_xLbxChangePropertyReq        24
430
 
 
431
 
typedef struct {
432
 
    BYTE        type;                   /* X_Reply */
433
 
    CARD8       pad;
434
 
    CARD16      sequenceNumber B16;
435
 
    CARD32      length B32;
436
 
    CARD32      tag B32;
437
 
    CARD32      pad0 B32;
438
 
    CARD32      pad1 B32;
439
 
    CARD32      pad2 B32;
440
 
    CARD32      pad3 B32;
441
 
    CARD32      pad4 B32;
442
 
} xLbxChangePropertyReply;
443
 
#define sz_xLbxChangePropertyReply      32
444
 
 
445
 
typedef struct _LbxGetProperty {
446
 
    CARD8       reqType;        /* always LbxReqCode */
447
 
    CARD8       lbxReqType;     /* always X_LbxGetProperty */
448
 
    CARD16      length B16;
449
 
    Window      window B32;
450
 
    Atom        property B32;
451
 
    Atom        type B32;
452
 
    CARD8       delete;
453
 
    BYTE        pad[3];
454
 
    CARD32      longOffset B32;
455
 
    CARD32      longLength B32;
456
 
} xLbxGetPropertyReq;
457
 
#define sz_xLbxGetPropertyReq   28
458
 
 
459
 
typedef struct {
460
 
    BYTE        type;                   /* X_Reply */
461
 
    CARD8       format;
462
 
    CARD16      sequenceNumber B16;
463
 
    CARD32      length B32;
464
 
    Atom        propertyType B32;
465
 
    CARD32      bytesAfter B32;
466
 
    CARD32      nItems B32;
467
 
    CARD32      tag B32;
468
 
    CARD32      pad1 B32;
469
 
    CARD32      pad2 B32;
470
 
} xLbxGetPropertyReply;
471
 
#define sz_xLbxGetPropertyReply 32
472
 
 
473
 
typedef struct _LbxTagData {
474
 
    CARD8       reqType;        /* always LbxReqCode */
475
 
    CARD8       lbxReqType;     /* always X_LbxTagData */
476
 
    CARD16      length B16;
477
 
    XID         tag B32;
478
 
    CARD32      real_length B32;
479
 
    /* data */
480
 
} xLbxTagDataReq;
481
 
#define sz_xLbxTagDataReq       12
482
 
 
483
 
typedef struct _LbxInvalidateTag {
484
 
    CARD8       reqType;        /* always LbxReqCode */
485
 
    CARD8       lbxReqType;     /* always X_LbxInvalidateTag */
486
 
    CARD16      length B16;
487
 
    CARD32      tag B32;
488
 
} xLbxInvalidateTagReq;
489
 
#define sz_xLbxInvalidateTagReq 8
490
 
 
491
 
typedef struct _LbxPutImage {
492
 
    CARD8       reqType;        /* always LbxReqCode */
493
 
    CARD8       lbxReqType;     /* always X_LbxPutImage */
494
 
    CARD16      length B16;
495
 
    CARD8       compressionMethod;
496
 
    CARD8       cacheEnts;
497
 
    CARD8       bitPacked;
498
 
    /* rest is variable */
499
 
} xLbxPutImageReq;
500
 
#define sz_xLbxPutImageReq      7
501
 
 
502
 
typedef struct {
503
 
    CARD8       reqType;        /* always LbxReqCode */
504
 
    CARD8       lbxReqType;     /* always X_LbxGetImage */
505
 
    CARD16      length B16;
506
 
    Drawable    drawable B32;
507
 
    INT16       x B16, y B16;
508
 
    CARD16      width B16, height B16;
509
 
    CARD32      planeMask B32;
510
 
    CARD8       format;
511
 
    CARD8       pad1;
512
 
    CARD16      pad2 B16;
513
 
} xLbxGetImageReq;    
514
 
 
515
 
#define sz_xLbxGetImageReq 24
516
 
 
517
 
typedef struct {
518
 
    BYTE type;                  /* X_Reply */
519
 
    CARD8 depth;
520
 
    CARD16 sequenceNumber B16;
521
 
    CARD32 lbxLength B32;
522
 
    CARD32 xLength B32;
523
 
    VisualID visual B32;
524
 
    CARD8 compressionMethod;
525
 
    CARD8 pad1;
526
 
    CARD16 pad2 B16;
527
 
    CARD32 pad3 B32;
528
 
    CARD32 pad4 B32;
529
 
    CARD32 pad5 B32;
530
 
} xLbxGetImageReply;
531
 
 
532
 
#define sz_xLbxGetImageReply 32
533
 
  
534
 
/* Following used for LbxPolyPoint, LbxPolyLine, LbxPolySegment,
535
 
   LbxPolyRectangle, LbxPolyArc, LbxPolyFillRectangle and LbxPolyFillArc */
536
 
 
537
 
#define GFX_CACHE_SIZE  15
538
 
 
539
 
#define GFXdCacheEnt(e)     ((e) & 0xf)
540
 
#define GFXgCacheEnt(e)     (((e) >> 4) & 0xf)
541
 
#define GFXCacheEnts(d,g)   (((d) & 0xf) | (((g) & 0xf) << 4))
542
 
 
543
 
#define GFXCacheNone   0xf
544
 
 
545
 
typedef struct _LbxPolyPoint {
546
 
    CARD8       reqType;        /* always LbxReqCode */
547
 
    CARD8       lbxReqType;
548
 
    CARD16      length B16;
549
 
    CARD8       cacheEnts;
550
 
    CARD8       padBytes;
551
 
} xLbxPolyPointReq;
552
 
 
553
 
#define sz_xLbxPolyPointReq     6
554
 
 
555
 
typedef xLbxPolyPointReq xLbxPolyLineReq;
556
 
typedef xLbxPolyPointReq xLbxPolySegmentReq;
557
 
typedef xLbxPolyPointReq xLbxPolyRectangleReq;
558
 
typedef xLbxPolyPointReq xLbxPolyArcReq;
559
 
typedef xLbxPolyPointReq xLbxPolyFillRectangleReq;
560
 
typedef xLbxPolyPointReq xLbxPolyFillArcReq;
561
 
 
562
 
#define sz_xLbxPolyLineReq              sz_xLbxPolyPointReq
563
 
#define sz_xLbxPolySegmentReq           sz_xLbxPolyPointReq
564
 
#define sz_xLbxPolyRectangleReq         sz_xLbxPolyPointReq
565
 
#define sz_xLbxPolyArcReq               sz_xLbxPolyPointReq
566
 
#define sz_xLbxPolyFillRectangleReq     sz_xLbxPolyPointReq
567
 
#define sz_xLbxPolyFillArc              sz_xLbxPolyPointReq
568
 
 
569
 
typedef struct _LbxFillPoly {
570
 
    CARD8       reqType;        /* always LbxReqCode */
571
 
    CARD8       lbxReqType;
572
 
    CARD16      length B16;
573
 
    CARD8       cacheEnts;
574
 
    BYTE        shape;
575
 
    CARD8       padBytes;
576
 
} xLbxFillPolyReq;
577
 
#define sz_xLbxFillPolyReq      7
578
 
 
579
 
typedef struct _LbxCopyArea {
580
 
    CARD8       reqType;        /* always LbxReqCode */
581
 
    CARD8       lbxReqType;
582
 
    CARD16      length B16;
583
 
    CARD8       srcCache;       /* source drawable */
584
 
    CARD8       cacheEnts;      /* dest drawable and gc */
585
 
    /* followed by encoded src x, src y, dst x, dst y, width, height */
586
 
} xLbxCopyAreaReq;
587
 
    
588
 
#define sz_xLbxCopyAreaReq  6
589
 
 
590
 
typedef struct _LbxCopyPlane {
591
 
    CARD8       reqType;        /* always LbxReqCode */
592
 
    CARD8       lbxReqType;
593
 
    CARD16      length B16;
594
 
    CARD32      bitPlane B32;
595
 
    CARD8       srcCache;       /* source drawable */
596
 
    CARD8       cacheEnts;      /* dest drawable and gc */
597
 
    /* followed by encoded src x, src y, dst x, dst y, width, height */
598
 
} xLbxCopyPlaneReq;
599
 
    
600
 
#define sz_xLbxCopyPlaneReq  10
601
 
 
602
 
typedef struct _LbxPolyText {
603
 
    CARD8       reqType;        /* always LbxReqCode */
604
 
    CARD8       lbxReqType;
605
 
    CARD16      length B16;
606
 
    CARD8       cacheEnts;
607
 
    /* followed by encoded src x, src y coordinates and text elts */
608
 
} xLbxPolyTextReq;
609
 
 
610
 
#define sz_xLbxPolyTextReq  5
611
 
 
612
 
typedef xLbxPolyTextReq xLbxPolyText8Req;
613
 
typedef xLbxPolyTextReq xLbxPolyText16Req;
614
 
    
615
 
#define sz_xLbxPolyTextReq      5
616
 
#define sz_xLbxPolyText8Req     5
617
 
#define sz_xLbxPolyText16Req    5
618
 
 
619
 
typedef struct _LbxImageText {
620
 
    CARD8       reqType;        /* always LbxReqCode */
621
 
    CARD8       lbxReqType;
622
 
    CARD16      length B16;
623
 
    CARD8       cacheEnts;
624
 
    CARD8       nChars;
625
 
    /* followed by encoded src x, src y coordinates and string */
626
 
} xLbxImageTextReq;
627
 
    
628
 
typedef xLbxImageTextReq xLbxImageText8Req;
629
 
typedef xLbxImageTextReq xLbxImageText16Req;
630
 
    
631
 
#define sz_xLbxImageTextReq     6
632
 
#define sz_xLbxImageText8Req    6
633
 
#define sz_xLbxImageText16Req   6
634
 
 
635
 
typedef struct {
636
 
    CARD8       offset;
637
 
    CARD8       diff;
638
 
} xLbxDiffItem;
639
 
#define sz_xLbxDiffItem    2
640
 
 
641
 
typedef struct {
642
 
    BYTE        type;           /* X_Reply */
643
 
    CARD8       nOpts;
644
 
    CARD16      sequenceNumber B16;
645
 
    CARD32      length B32;
646
 
    CARD32      optDataStart B32;
647
 
    CARD32      pad0 B32;
648
 
    CARD32      pad1 B32;
649
 
    CARD32      pad2 B32;
650
 
    CARD32      pad3 B32;
651
 
    CARD32      pad4 B32;
652
 
} xLbxStartReply;
653
 
#define sz_xLbxStartReply       32
654
 
#define sz_xLbxStartReplyHdr    8
655
 
 
656
 
typedef struct _LbxQueryExtension {
657
 
    CARD8       reqType;        /* always LbxReqCode */
658
 
    CARD8       lbxReqType;     /* always X_LbxQueryExtension */
659
 
    CARD16      length B16;
660
 
    CARD32      nbytes B32;
661
 
} xLbxQueryExtensionReq;
662
 
#define sz_xLbxQueryExtensionReq        8
663
 
 
664
 
typedef struct _LbxQueryExtensionReply {
665
 
    BYTE        type;                   /* X_Reply */
666
 
    CARD8       numReqs;
667
 
    CARD16      sequenceNumber B16;
668
 
    CARD32      length B32;
669
 
    BOOL        present;
670
 
    CARD8       major_opcode;
671
 
    CARD8       first_event;
672
 
    CARD8       first_error;
673
 
    CARD32      pad0 B32;
674
 
    CARD32      pad1 B32;
675
 
    CARD32      pad2 B32;
676
 
    CARD32      pad3 B32;
677
 
    CARD32      pad4 B32;
678
 
 
679
 
    /* reply & event generating requests */
680
 
} xLbxQueryExtensionReply;
681
 
#define sz_xLbxQueryExtensionReply      32
682
 
 
683
 
 
684
 
typedef struct _LbxBeginLargeRequest {
685
 
    CARD8       reqType;        /* always LbxReqCode */
686
 
    CARD8       lbxReqType;     /* always X_LbxBeginLargeRequest */
687
 
    CARD16      length B16;
688
 
    CARD32      largeReqLength B32;
689
 
} xLbxBeginLargeRequestReq;
690
 
#define sz_BeginLargeRequestReq 8
691
 
 
692
 
typedef struct _LbxLargeRequestData {
693
 
    CARD8       reqType;        /* always LbxReqCode */
694
 
    CARD8       lbxReqType;     /* always X_LbxLargeRequestData */
695
 
    CARD16      length B16;
696
 
    /* followed by LISTofCARD8 data */
697
 
} xLbxLargeRequestDataReq;
698
 
#define sz_LargeRequestDataReq 4
699
 
 
700
 
typedef struct _LbxEndLargeRequest {
701
 
    CARD8       reqType;        /* always LbxReqCode */
702
 
    CARD8       lbxReqType;     /* always X_LbxEndLargeRequest */
703
 
    CARD16      length B16;
704
 
} xLbxEndLargeRequestReq;
705
 
#define sz_EndLargeRequestReq 4
706
 
 
707
 
 
708
 
 
709
 
typedef struct _LbxSwitchEvent {
710
 
    BYTE        type;           /* always eventBase + LbxEvent */
711
 
    BYTE        lbxType;        /* LbxSwitchEvent */
712
 
    CARD16      pad B16;
713
 
    CARD32      client B32;
714
 
} xLbxSwitchEvent;
715
 
#define sz_xLbxSwitchEvent      8
716
 
 
717
 
typedef struct _LbxCloseEvent {
718
 
    BYTE        type;           /* always eventBase + LbxEvent */
719
 
    BYTE        lbxType;        /* LbxCloseEvent */
720
 
    CARD16      sequenceNumber B16;
721
 
    CARD32      client B32;
722
 
    CARD32      pad1 B32;
723
 
    CARD32      pad2 B32;
724
 
    CARD32      pad3 B32;
725
 
    CARD32      pad4 B32;
726
 
    CARD32      pad5 B32;
727
 
    CARD32      pad6 B32;
728
 
} xLbxCloseEvent;
729
 
#define sz_xLbxCloseEvent       32
730
 
 
731
 
typedef struct _LbxInvalidateTagEvent {
732
 
    BYTE        type;           /* always eventBase + LbxEvent */
733
 
    BYTE        lbxType;        /* LbxInvalidateTagEvent */
734
 
    CARD16      sequenceNumber B16;
735
 
    CARD32      tag B32;
736
 
    CARD32      tagType B32;
737
 
    CARD32      pad1 B32;
738
 
    CARD32      pad2 B32;
739
 
    CARD32      pad3 B32;
740
 
    CARD32      pad4 B32;
741
 
    CARD32      pad5 B32;
742
 
} xLbxInvalidateTagEvent;
743
 
#define sz_xLbxInvalidateTagEvent 32
744
 
 
745
 
typedef struct _LbxSendTagDataEvent {
746
 
    BYTE        type;           /* always eventBase + LbxEvent */
747
 
    BYTE        lbxType;        /* LbxSendTagDataEvent */
748
 
    CARD16      sequenceNumber B16;
749
 
    CARD32      tag B32;
750
 
    CARD32      tagType B32;
751
 
    CARD32      pad1 B32;
752
 
    CARD32      pad2 B32;
753
 
    CARD32      pad3 B32;
754
 
    CARD32      pad4 B32;
755
 
    CARD32      pad5 B32;
756
 
} xLbxSendTagDataEvent;
757
 
#define sz_xLbxSendTagDataEvent 32
758
 
 
759
 
typedef struct _LbxListenToOneEvent {
760
 
    BYTE        type;           /* always eventBase + LbxEvent */
761
 
    BYTE        lbxType;        /* LbxListenToOneEvent */
762
 
    CARD16      sequenceNumber B16;
763
 
    CARD32      client B32;
764
 
    CARD32      pad1 B32;
765
 
    CARD32      pad2 B32;
766
 
    CARD32      pad3 B32;
767
 
    CARD32      pad4 B32;
768
 
    CARD32      pad5 B32;
769
 
    CARD32      pad6 B32;
770
 
} xLbxListenToOneEvent;
771
 
#define sz_xLbxListenToOneEvent 32
772
 
 
773
 
typedef struct _LbxListenToAllEvent {
774
 
    BYTE        type;           /* always eventBase + LbxEvent */
775
 
    BYTE        lbxType;        /* LbxListenToAllEvent */
776
 
    CARD16      sequenceNumber B16;
777
 
    CARD32      pad1 B32;
778
 
    CARD32      pad2 B32;
779
 
    CARD32      pad3 B32;
780
 
    CARD32      pad4 B32;
781
 
    CARD32      pad5 B32;
782
 
    CARD32      pad6 B32;
783
 
    CARD32      pad7 B32;
784
 
} xLbxListenToAllEvent;
785
 
#define sz_xLbxListenToOneEvent 32
786
 
 
787
 
typedef struct _LbxReleaseCmapEvent {
788
 
    BYTE        type;           /* always eventBase + LbxEvent */
789
 
    BYTE        lbxType;        /* LbxReleaseCmapEvent */
790
 
    CARD16      sequenceNumber B16;
791
 
    Colormap    colormap B32;
792
 
    CARD32      pad1 B32;
793
 
    CARD32      pad2 B32;
794
 
    CARD32      pad3 B32;
795
 
    CARD32      pad4 B32;
796
 
    CARD32      pad5 B32;
797
 
    CARD32      pad6 B32;
798
 
} xLbxReleaseCmapEvent;
799
 
#define sz_xLbxReleaseCmapEvent 32
800
 
 
801
 
 
802
 
typedef struct _LbxFreeCellsEvent {
803
 
    BYTE        type;           /* always eventBase + LbxEvent */
804
 
    BYTE        lbxType;        /* LbxFreeCellsEvent */
805
 
    CARD16      sequenceNumber B16;
806
 
    Colormap    colormap B32;
807
 
    CARD32      pixelStart B32;
808
 
    CARD32      pixelEnd B32;
809
 
    CARD32      pad1 B32;
810
 
    CARD32      pad2 B32;
811
 
    CARD32      pad3 B32;
812
 
    CARD32      pad4 B32;
813
 
} xLbxFreeCellsEvent;
814
 
#define sz_xLbxFreeCellsEvent   32
815
 
 
816
 
 
817
 
/*
818
 
 * squished X event sizes.  If these change, be sure to update lbxquish.c
819
 
 * and unsquish.c appropriately
820
 
 *
821
 
 * lbxsz_* is the padded squished length
822
 
 * lbxupsz_* is the unpadded squished length
823
 
 */
824
 
 
825
 
#define   lbxsz_KeyButtonEvent          32
826
 
#define lbxupsz_KeyButtonEvent          31
827
 
 
828
 
#define   lbxsz_EnterLeaveEvent         32
829
 
#define lbxupsz_EnterLeaveEvent         32
830
 
 
831
 
#define   lbxsz_FocusEvent              12
832
 
#define lbxupsz_FocusEvent              9
833
 
 
834
 
#define   lbxsz_KeymapEvent             32
835
 
#define lbxupsz_KeymapEvent             32
836
 
 
837
 
#define   lbxsz_ExposeEvent             20
838
 
#define lbxupsz_ExposeEvent             18
839
 
 
840
 
#define   lbxsz_GfxExposeEvent          24
841
 
#define lbxupsz_GfxExposeEvent          21
842
 
 
843
 
#define   lbxsz_NoExposeEvent           12
844
 
#define lbxupsz_NoExposeEvent           11
845
 
 
846
 
#define   lbxsz_VisibilityEvent         12
847
 
#define lbxupsz_VisibilityEvent         9
848
 
 
849
 
#define   lbxsz_CreateNotifyEvent       24
850
 
#define lbxupsz_CreateNotifyEvent       23
851
 
 
852
 
#define   lbxsz_DestroyNotifyEvent      12
853
 
#define lbxupsz_DestroyNotifyEvent      12
854
 
 
855
 
#define   lbxsz_UnmapNotifyEvent        16
856
 
#define lbxupsz_UnmapNotifyEvent        13
857
 
 
858
 
#define   lbxsz_MapNotifyEvent          16
859
 
#define lbxupsz_MapNotifyEvent          13
860
 
 
861
 
#define   lbxsz_MapRequestEvent         12
862
 
#define lbxupsz_MapRequestEvent         12
863
 
 
864
 
#define   lbxsz_ReparentEvent           24
865
 
#define lbxupsz_ReparentEvent           21
866
 
 
867
 
#define   lbxsz_ConfigureNotifyEvent    28
868
 
#define lbxupsz_ConfigureNotifyEvent    27
869
 
 
870
 
#define   lbxsz_ConfigureRequestEvent   28
871
 
#define lbxupsz_ConfigureRequestEvent   28
872
 
 
873
 
#define   lbxsz_GravityEvent            16
874
 
#define lbxupsz_GravityEvent            16
875
 
 
876
 
#define   lbxsz_ResizeRequestEvent      12
877
 
#define lbxupsz_ResizeRequestEvent      12
878
 
 
879
 
#define   lbxsz_CirculateEvent          20
880
 
#define lbxupsz_CirculateEvent          17
881
 
 
882
 
#define   lbxsz_PropertyEvent           20
883
 
#define lbxupsz_PropertyEvent           17
884
 
 
885
 
#define   lbxsz_SelectionClearEvent     16
886
 
#define lbxupsz_SelectionClearEvent     16
887
 
 
888
 
#define   lbxsz_SelectionRequestEvent   28
889
 
#define lbxupsz_SelectionRequestEvent   28
890
 
 
891
 
#define   lbxsz_SelectionNotifyEvent    24
892
 
#define lbxupsz_SelectionNotifyEvent    24
893
 
 
894
 
#define   lbxsz_ColormapEvent           16
895
 
#define lbxupsz_ColormapEvent           14
896
 
 
897
 
#define   lbxsz_MappingNotifyEvent      8
898
 
#define lbxupsz_MappingNotifyEvent      7
899
 
 
900
 
#define   lbxsz_ClientMessageEvent      32
901
 
#define lbxupsz_ClientMessageEvent      32
902
 
 
903
 
#define lbxsz_UnknownEvent              32
904
 
 
905
 
#ifdef DEBUG
906
 
 
907
 
#define DBG_SWITCH      0x00000001
908
 
#define DBG_CLOSE       0x00000002
909
 
#define DBG_IO          0x00000004
910
 
#define DBG_READ_REQ    0x00000008
911
 
#define DBG_LEN         0x00000010
912
 
#define DBG_BLOCK       0x00000020
913
 
#define DBG_CLIENT      0x00000040
914
 
#define DBG_DELTA       0x00000080
915
 
 
916
 
extern int lbxDebug;
917
 
 
918
 
#define DBG(n,m)    if (lbxDebug & (n)) { fprintf m; } else
919
 
#else
920
 
#define DBG(n,m)
921
 
#endif
922
 
 
923
 
/*
924
 
 * Cancel the previous redefinition of the basic types, thus restoring their
925
 
 * X.h definitions.
926
 
 */
927
 
 
928
 
#undef XID
929
 
#undef Atom
930
 
#undef Colormap
931
 
#undef Drawable
932
 
#undef VisualID
933
 
#undef Window
934
 
 
935
 
#endif  /* _LBXSTR_H_ */