VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/7.0/X11/extensions/lbxstr.h@ 17236

最後變更 在這個檔案從17236是 17236,由 vboxsync 提交於 16 年 前

Additions/x11/x11include: blast! Reverted r43555 and r43556

  • 屬性 svn:eol-style 設為 native
檔案大小: 24.2 KB
 
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.2 2001/08/01 00:44:35 tsi 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
48typedef 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
57typedef 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
64typedef 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
79typedef 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
86typedef 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
93typedef 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
101typedef 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
109typedef 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
117typedef 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
125typedef 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
133typedef 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
154typedef 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
170typedef 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
178typedef 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
189typedef 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
198typedef 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
208typedef 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
215typedef 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
229typedef 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
239typedef 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
253typedef 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
261typedef 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
269typedef 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
285typedef 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
293typedef 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
327typedef struct {
328 CARD8 reqType; /* always LbxReqCode */
329 CARD8 lbxReqType; /* always X_LbxSync */
330 CARD16 length B16;
331} xLbxSyncReq;
332#define sz_xLbxSyncReq 4
333
334typedef 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
370typedef struct {
371 CARD32 metrics B32;
372} xLbxCharInfo;
373
374/* note that this is identical to xQueryFontReply except for missing
375 * first 2 words
376 */
377typedef 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
397typedef 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
417typedef 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
431typedef 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
445typedef 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
459typedef 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
473typedef 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
483typedef 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
491typedef 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
502typedef 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
517typedef 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
545typedef 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
555typedef xLbxPolyPointReq xLbxPolyLineReq;
556typedef xLbxPolyPointReq xLbxPolySegmentReq;
557typedef xLbxPolyPointReq xLbxPolyRectangleReq;
558typedef xLbxPolyPointReq xLbxPolyArcReq;
559typedef xLbxPolyPointReq xLbxPolyFillRectangleReq;
560typedef 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
569typedef 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
579typedef 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
590typedef 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
602typedef 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
612typedef xLbxPolyTextReq xLbxPolyText8Req;
613typedef xLbxPolyTextReq xLbxPolyText16Req;
614
615#define sz_xLbxPolyTextReq 5
616#define sz_xLbxPolyText8Req 5
617#define sz_xLbxPolyText16Req 5
618
619typedef 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
628typedef xLbxImageTextReq xLbxImageText8Req;
629typedef xLbxImageTextReq xLbxImageText16Req;
630
631#define sz_xLbxImageTextReq 6
632#define sz_xLbxImageText8Req 6
633#define sz_xLbxImageText16Req 6
634
635typedef struct {
636 CARD8 offset;
637 CARD8 diff;
638} xLbxDiffItem;
639#define sz_xLbxDiffItem 2
640
641typedef 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
656typedef 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
664typedef 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
684typedef 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
692typedef 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
700typedef 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
709typedef 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
717typedef 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
731typedef 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
745typedef 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
759typedef 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
773typedef 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
787typedef 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
802typedef 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
916extern 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_ */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette