117ca54c3Smrg/*
268872e7fSmrg * Copyright (c) 2006, Oracle and/or its affiliates.
317ca54c3Smrg * Copyright 2010 Red Hat, Inc.
417ca54c3Smrg *
517ca54c3Smrg * Permission is hereby granted, free of charge, to any person obtaining a
617ca54c3Smrg * copy of this software and associated documentation files (the "Software"),
717ca54c3Smrg * to deal in the Software without restriction, including without limitation
817ca54c3Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense,
917ca54c3Smrg * and/or sell copies of the Software, and to permit persons to whom the
1017ca54c3Smrg * Software is furnished to do so, subject to the following conditions:
1117ca54c3Smrg *
1217ca54c3Smrg * The above copyright notice and this permission notice (including the next
1317ca54c3Smrg * paragraph) shall be included in all copies or substantial portions of the
1417ca54c3Smrg * Software.
1517ca54c3Smrg *
1617ca54c3Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1717ca54c3Smrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1817ca54c3Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
1917ca54c3Smrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2017ca54c3Smrg * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2117ca54c3Smrg * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
2217ca54c3Smrg * DEALINGS IN THE SOFTWARE.
2317ca54c3Smrg */
2417ca54c3Smrg/*
2517ca54c3Smrg * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
2617ca54c3Smrg *
2717ca54c3Smrg * Permission to use, copy, modify, distribute, and sell this software and its
2817ca54c3Smrg * documentation for any purpose is hereby granted without fee, provided that
2917ca54c3Smrg * the above copyright notice appear in all copies and that both that
3017ca54c3Smrg * copyright notice and this permission notice appear in supporting
3117ca54c3Smrg * documentation, and that the name of Keith Packard not be used in
3217ca54c3Smrg * advertising or publicity pertaining to distribution of the software without
3317ca54c3Smrg * specific, written prior permission.  Keith Packard makes no
3417ca54c3Smrg * representations about the suitability of this software for any purpose.  It
3517ca54c3Smrg * is provided "as is" without express or implied warranty.
3617ca54c3Smrg *
3717ca54c3Smrg * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
3817ca54c3Smrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
3917ca54c3Smrg * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
4017ca54c3Smrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
4117ca54c3Smrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
4217ca54c3Smrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
4317ca54c3Smrg * PERFORMANCE OF THIS SOFTWARE.
4417ca54c3Smrg */
4517ca54c3Smrg
4617ca54c3Smrg#ifndef _XFIXESPROTO_H_
4717ca54c3Smrg#define _XFIXESPROTO_H_
4817ca54c3Smrg
4917ca54c3Smrg#include <X11/Xmd.h>
5017ca54c3Smrg#include <X11/extensions/xfixeswire.h>
5117ca54c3Smrg#include <X11/extensions/shapeconst.h>
5217ca54c3Smrg
5317ca54c3Smrg#define Window CARD32
5417ca54c3Smrg#define Drawable CARD32
5517ca54c3Smrg#define Font CARD32
5617ca54c3Smrg#define Pixmap CARD32
5717ca54c3Smrg#define Cursor CARD32
5817ca54c3Smrg#define Colormap CARD32
5917ca54c3Smrg#define GContext CARD32
6017ca54c3Smrg#define Atom CARD32
6117ca54c3Smrg#define VisualID CARD32
6217ca54c3Smrg#define Time CARD32
6317ca54c3Smrg#define KeyCode CARD8
6417ca54c3Smrg#define KeySym CARD32
6517ca54c3Smrg#define Picture CARD32
6617ca54c3Smrg
6717ca54c3Smrg/*************** Version 1 ******************/
6817ca54c3Smrg
6917ca54c3Smrgtypedef struct {
7017ca54c3Smrg    CARD8   reqType;
7117ca54c3Smrg    CARD8   xfixesReqType;
72ea1d6981Smrg    CARD16  length;
7317ca54c3Smrg} xXFixesReq;
7417ca54c3Smrg
75ea1d6981Smrg/*
7617ca54c3Smrg * requests and replies
7717ca54c3Smrg */
7817ca54c3Smrgtypedef struct {
7917ca54c3Smrg    CARD8   reqType;
8017ca54c3Smrg    CARD8   xfixesReqType;
81ea1d6981Smrg    CARD16  length;
82ea1d6981Smrg    CARD32  majorVersion;
83ea1d6981Smrg    CARD32  minorVersion;
8417ca54c3Smrg} xXFixesQueryVersionReq;
8517ca54c3Smrg
8617ca54c3Smrg#define sz_xXFixesQueryVersionReq   12
8717ca54c3Smrg
8817ca54c3Smrgtypedef struct {
8917ca54c3Smrg    BYTE    type;   /* X_Reply */
9017ca54c3Smrg    BYTE    pad1;
91ea1d6981Smrg    CARD16  sequenceNumber;
92ea1d6981Smrg    CARD32  length;
93ea1d6981Smrg    CARD32  majorVersion;
94ea1d6981Smrg    CARD32  minorVersion;
95ea1d6981Smrg    CARD32  pad2;
96ea1d6981Smrg    CARD32  pad3;
97ea1d6981Smrg    CARD32  pad4;
98ea1d6981Smrg    CARD32  pad5;
9917ca54c3Smrg} xXFixesQueryVersionReply;
10017ca54c3Smrg
10117ca54c3Smrg#define sz_xXFixesQueryVersionReply	32
10217ca54c3Smrg
10317ca54c3Smrgtypedef struct {
10417ca54c3Smrg    CARD8   reqType;
10517ca54c3Smrg    CARD8   xfixesReqType;
106ea1d6981Smrg    CARD16  length;
10717ca54c3Smrg    BYTE    mode;	    /* SetModeInsert/SetModeDelete*/
10817ca54c3Smrg    BYTE    target;	    /* SaveSetNearest/SaveSetRoot*/
10917ca54c3Smrg    BYTE    map;	    /* SaveSetMap/SaveSetUnmap */
11017ca54c3Smrg    BYTE    pad1;
11117ca54c3Smrg    Window  window;
11217ca54c3Smrg} xXFixesChangeSaveSetReq;
11317ca54c3Smrg
11417ca54c3Smrg#define sz_xXFixesChangeSaveSetReq	12
11517ca54c3Smrg
11617ca54c3Smrgtypedef struct {
11717ca54c3Smrg    CARD8   reqType;
11817ca54c3Smrg    CARD8   xfixesReqType;
119ea1d6981Smrg    CARD16  length;
120ea1d6981Smrg    Window  window;
121ea1d6981Smrg    Atom    selection;
122ea1d6981Smrg    CARD32  eventMask;
12317ca54c3Smrg} xXFixesSelectSelectionInputReq;
12417ca54c3Smrg
12517ca54c3Smrg#define sz_xXFixesSelectSelectionInputReq   16
12617ca54c3Smrg
12717ca54c3Smrgtypedef struct {
12817ca54c3Smrg    CARD8   type;
12917ca54c3Smrg    CARD8   subtype;
130ea1d6981Smrg    CARD16  sequenceNumber;
131ea1d6981Smrg    Window  window;
132ea1d6981Smrg    Window  owner;
133ea1d6981Smrg    Atom    selection;
134ea1d6981Smrg    Time    timestamp;
135ea1d6981Smrg    Time    selectionTimestamp;
136ea1d6981Smrg    CARD32  pad2;
137ea1d6981Smrg    CARD32  pad3;
13817ca54c3Smrg} xXFixesSelectionNotifyEvent;
13917ca54c3Smrg
14017ca54c3Smrgtypedef struct {
14117ca54c3Smrg    CARD8   reqType;
14217ca54c3Smrg    CARD8   xfixesReqType;
143ea1d6981Smrg    CARD16  length;
144ea1d6981Smrg    Window  window;
145ea1d6981Smrg    CARD32  eventMask;
14617ca54c3Smrg} xXFixesSelectCursorInputReq;
14717ca54c3Smrg
14817ca54c3Smrg#define sz_xXFixesSelectCursorInputReq	12
14917ca54c3Smrg
15017ca54c3Smrgtypedef struct {
15117ca54c3Smrg    CARD8   type;
15217ca54c3Smrg    CARD8   subtype;
153ea1d6981Smrg    CARD16  sequenceNumber;
154ea1d6981Smrg    Window  window;
155ea1d6981Smrg    CARD32  cursorSerial;
15617ca54c3Smrg    Time    timestamp;
157ea1d6981Smrg    Atom    name;	    /* Version 2 */
158ea1d6981Smrg    CARD32  pad1;
159ea1d6981Smrg    CARD32  pad2;
160ea1d6981Smrg    CARD32  pad3;
16117ca54c3Smrg} xXFixesCursorNotifyEvent;
16217ca54c3Smrg
16317ca54c3Smrgtypedef struct {
16417ca54c3Smrg    CARD8   reqType;
16517ca54c3Smrg    CARD8   xfixesReqType;
166ea1d6981Smrg    CARD16  length;
16717ca54c3Smrg} xXFixesGetCursorImageReq;
16817ca54c3Smrg
16917ca54c3Smrg#define sz_xXFixesGetCursorImageReq 4
17017ca54c3Smrg
17117ca54c3Smrgtypedef struct {
17217ca54c3Smrg    BYTE    type;   /* X_Reply */
17317ca54c3Smrg    BYTE    pad1;
174ea1d6981Smrg    CARD16  sequenceNumber;
175ea1d6981Smrg    CARD32  length;
176ea1d6981Smrg    INT16   x;
177ea1d6981Smrg    INT16   y;
178ea1d6981Smrg    CARD16  width;
179ea1d6981Smrg    CARD16  height;
180ea1d6981Smrg    CARD16  xhot;
181ea1d6981Smrg    CARD16  yhot;
182ea1d6981Smrg    CARD32  cursorSerial;
183ea1d6981Smrg    CARD32  pad2;
184ea1d6981Smrg    CARD32  pad3;
18517ca54c3Smrg} xXFixesGetCursorImageReply;
18617ca54c3Smrg
18717ca54c3Smrg#define sz_xXFixesGetCursorImageReply	32
18817ca54c3Smrg
18917ca54c3Smrg/*************** Version 2 ******************/
19017ca54c3Smrg
19117ca54c3Smrg#define Region CARD32
19217ca54c3Smrg
19317ca54c3Smrgtypedef struct {
19417ca54c3Smrg    CARD8   reqType;
19517ca54c3Smrg    CARD8   xfixesReqType;
196ea1d6981Smrg    CARD16  length;
197ea1d6981Smrg    Region  region;
19817ca54c3Smrg    /* LISTofRECTANGLE */
19917ca54c3Smrg} xXFixesCreateRegionReq;
20017ca54c3Smrg
20117ca54c3Smrg#define sz_xXFixesCreateRegionReq	8
20217ca54c3Smrg
20317ca54c3Smrgtypedef struct {
20417ca54c3Smrg    CARD8   reqType;
20517ca54c3Smrg    CARD8   xfixesReqType;
206ea1d6981Smrg    CARD16  length;
207ea1d6981Smrg    Region  region;
208ea1d6981Smrg    Pixmap  bitmap;
20917ca54c3Smrg} xXFixesCreateRegionFromBitmapReq;
21017ca54c3Smrg
21117ca54c3Smrg#define sz_xXFixesCreateRegionFromBitmapReq	12
21217ca54c3Smrg
21317ca54c3Smrgtypedef struct {
21417ca54c3Smrg    CARD8   reqType;
21517ca54c3Smrg    CARD8   xfixesReqType;
216ea1d6981Smrg    CARD16  length;
217ea1d6981Smrg    Region  region;
218ea1d6981Smrg    Window  window;
21917ca54c3Smrg    CARD8   kind;
22017ca54c3Smrg    CARD8   pad1;
221ea1d6981Smrg    CARD16  pad2;
22217ca54c3Smrg} xXFixesCreateRegionFromWindowReq;
22317ca54c3Smrg
22417ca54c3Smrg#define sz_xXFixesCreateRegionFromWindowReq	16
22517ca54c3Smrg
22617ca54c3Smrgtypedef struct {
22717ca54c3Smrg    CARD8   reqType;
22817ca54c3Smrg    CARD8   xfixesReqType;
229ea1d6981Smrg    CARD16  length;
230ea1d6981Smrg    Region  region;
231ea1d6981Smrg    GContext gc;
23217ca54c3Smrg} xXFixesCreateRegionFromGCReq;
23317ca54c3Smrg
23417ca54c3Smrg#define sz_xXFixesCreateRegionFromGCReq	12
23517ca54c3Smrg
23617ca54c3Smrgtypedef struct {
23717ca54c3Smrg    CARD8   reqType;
23817ca54c3Smrg    CARD8   xfixesReqType;
239ea1d6981Smrg    CARD16  length;
240ea1d6981Smrg    Region  region;
241ea1d6981Smrg    Picture picture;
24217ca54c3Smrg} xXFixesCreateRegionFromPictureReq;
24317ca54c3Smrg
24417ca54c3Smrg#define sz_xXFixesCreateRegionFromPictureReq	12
24517ca54c3Smrg
24617ca54c3Smrgtypedef struct {
24717ca54c3Smrg    CARD8   reqType;
24817ca54c3Smrg    CARD8   xfixesReqType;
249ea1d6981Smrg    CARD16  length;
250ea1d6981Smrg    Region  region;
25117ca54c3Smrg} xXFixesDestroyRegionReq;
25217ca54c3Smrg
25317ca54c3Smrg#define sz_xXFixesDestroyRegionReq	8
25417ca54c3Smrg
25517ca54c3Smrgtypedef struct {
25617ca54c3Smrg    CARD8   reqType;
25717ca54c3Smrg    CARD8   xfixesReqType;
258ea1d6981Smrg    CARD16  length;
259ea1d6981Smrg    Region  region;
26017ca54c3Smrg    /* LISTofRECTANGLE */
26117ca54c3Smrg} xXFixesSetRegionReq;
26217ca54c3Smrg
26317ca54c3Smrg#define sz_xXFixesSetRegionReq		8
26417ca54c3Smrg
26517ca54c3Smrgtypedef struct {
26617ca54c3Smrg    CARD8   reqType;
26717ca54c3Smrg    CARD8   xfixesReqType;
268ea1d6981Smrg    CARD16  length;
269ea1d6981Smrg    Region  source;
270ea1d6981Smrg    Region  destination;
27117ca54c3Smrg} xXFixesCopyRegionReq;
27217ca54c3Smrg
27317ca54c3Smrg#define sz_xXFixesCopyRegionReq		12
27417ca54c3Smrg
27517ca54c3Smrgtypedef struct {
27617ca54c3Smrg    CARD8   reqType;
27717ca54c3Smrg    CARD8   xfixesReqType;
278ea1d6981Smrg    CARD16  length;
279ea1d6981Smrg    Region  source1;
280ea1d6981Smrg    Region  source2;
281ea1d6981Smrg    Region  destination;
28217ca54c3Smrg} xXFixesCombineRegionReq,
28317ca54c3Smrg  xXFixesUnionRegionReq,
28417ca54c3Smrg  xXFixesIntersectRegionReq,
28517ca54c3Smrg  xXFixesSubtractRegionReq;
28617ca54c3Smrg
28717ca54c3Smrg#define sz_xXFixesCombineRegionReq	16
28817ca54c3Smrg#define sz_xXFixesUnionRegionReq	sz_xXFixesCombineRegionReq
28917ca54c3Smrg#define sz_xXFixesIntersectRegionReq	sz_xXFixesCombineRegionReq
29017ca54c3Smrg#define sz_xXFixesSubtractRegionReq	sz_xXFixesCombineRegionReq
29117ca54c3Smrg
29217ca54c3Smrgtypedef struct {
29317ca54c3Smrg    CARD8   reqType;
29417ca54c3Smrg    CARD8   xfixesReqType;
295ea1d6981Smrg    CARD16  length;
296ea1d6981Smrg    Region  source;
297ea1d6981Smrg    INT16   x, y;
298ea1d6981Smrg    CARD16  width, height;
299ea1d6981Smrg    Region  destination;
30017ca54c3Smrg} xXFixesInvertRegionReq;
30117ca54c3Smrg
30217ca54c3Smrg#define sz_xXFixesInvertRegionReq	20
30317ca54c3Smrg
30417ca54c3Smrgtypedef struct {
30517ca54c3Smrg    CARD8   reqType;
30617ca54c3Smrg    CARD8   xfixesReqType;
307ea1d6981Smrg    CARD16  length;
308ea1d6981Smrg    Region  region;
309ea1d6981Smrg    INT16   dx, dy;
31017ca54c3Smrg} xXFixesTranslateRegionReq;
31117ca54c3Smrg
31217ca54c3Smrg#define sz_xXFixesTranslateRegionReq	12
313ea1d6981Smrg
31417ca54c3Smrgtypedef struct {
31517ca54c3Smrg    CARD8   reqType;
31617ca54c3Smrg    CARD8   xfixesReqType;
317ea1d6981Smrg    CARD16  length;
318ea1d6981Smrg    Region  source;
319ea1d6981Smrg    Region  destination;
32017ca54c3Smrg} xXFixesRegionExtentsReq;
32117ca54c3Smrg
32217ca54c3Smrg#define sz_xXFixesRegionExtentsReq	12
32317ca54c3Smrg
32417ca54c3Smrgtypedef struct {
32517ca54c3Smrg    CARD8   reqType;
32617ca54c3Smrg    CARD8   xfixesReqType;
327ea1d6981Smrg    CARD16  length;
328ea1d6981Smrg    Region  region;
32917ca54c3Smrg} xXFixesFetchRegionReq;
33017ca54c3Smrg
33117ca54c3Smrg#define sz_xXFixesFetchRegionReq	8
33217ca54c3Smrg
33317ca54c3Smrgtypedef struct {
33417ca54c3Smrg    BYTE    type;   /* X_Reply */
33517ca54c3Smrg    BYTE    pad1;
336ea1d6981Smrg    CARD16  sequenceNumber;
337ea1d6981Smrg    CARD32  length;
338ea1d6981Smrg    INT16   x, y;
339ea1d6981Smrg    CARD16  width, height;
340ea1d6981Smrg    CARD32  pad2;
341ea1d6981Smrg    CARD32  pad3;
342ea1d6981Smrg    CARD32  pad4;
343ea1d6981Smrg    CARD32  pad5;
34417ca54c3Smrg} xXFixesFetchRegionReply;
34517ca54c3Smrg
34617ca54c3Smrg#define sz_xXFixesFetchRegionReply	32
34717ca54c3Smrg
34817ca54c3Smrgtypedef struct {
34917ca54c3Smrg    CARD8   reqType;
35017ca54c3Smrg    CARD8   xfixesReqType;
351ea1d6981Smrg    CARD16  length;
352ea1d6981Smrg    GContext	gc;
353ea1d6981Smrg    Region  region;
354ea1d6981Smrg    INT16   xOrigin, yOrigin;
35517ca54c3Smrg} xXFixesSetGCClipRegionReq;
35617ca54c3Smrg
35717ca54c3Smrg#define sz_xXFixesSetGCClipRegionReq	16
35817ca54c3Smrg
35917ca54c3Smrgtypedef struct {
36017ca54c3Smrg    CARD8   reqType;
36117ca54c3Smrg    CARD8   xfixesReqType;
362ea1d6981Smrg    CARD16  length;
36317ca54c3Smrg    Window  dest;
36417ca54c3Smrg    BYTE    destKind;
36517ca54c3Smrg    CARD8   pad1;
366ea1d6981Smrg    CARD16  pad2;
367ea1d6981Smrg    INT16   xOff, yOff;
36817ca54c3Smrg    Region  region;
36917ca54c3Smrg} xXFixesSetWindowShapeRegionReq;
37017ca54c3Smrg
37117ca54c3Smrg#define sz_xXFixesSetWindowShapeRegionReq	20
37217ca54c3Smrg
37317ca54c3Smrgtypedef struct {
37417ca54c3Smrg    CARD8   reqType;
37517ca54c3Smrg    CARD8   xfixesReqType;
376ea1d6981Smrg    CARD16  length;
377ea1d6981Smrg    Picture picture;
378ea1d6981Smrg    Region  region;
379ea1d6981Smrg    INT16   xOrigin, yOrigin;
38017ca54c3Smrg} xXFixesSetPictureClipRegionReq;
38117ca54c3Smrg
38217ca54c3Smrg#define sz_xXFixesSetPictureClipRegionReq   16
38317ca54c3Smrg
38417ca54c3Smrgtypedef struct {
38517ca54c3Smrg    CARD8   reqType;
38617ca54c3Smrg    CARD8   xfixesReqType;
387ea1d6981Smrg    CARD16  length;
388ea1d6981Smrg    Cursor  cursor;
389ea1d6981Smrg    CARD16  nbytes;
390ea1d6981Smrg    CARD16  pad;
39117ca54c3Smrg} xXFixesSetCursorNameReq;
39217ca54c3Smrg
39317ca54c3Smrg#define sz_xXFixesSetCursorNameReq	    12
39417ca54c3Smrg
39517ca54c3Smrgtypedef struct {
39617ca54c3Smrg    CARD8   reqType;
39717ca54c3Smrg    CARD8   xfixesReqType;
398ea1d6981Smrg    CARD16  length;
399ea1d6981Smrg    Cursor  cursor;
40017ca54c3Smrg} xXFixesGetCursorNameReq;
40117ca54c3Smrg
40217ca54c3Smrg#define sz_xXFixesGetCursorNameReq	    8
40317ca54c3Smrg
40417ca54c3Smrgtypedef struct {
40517ca54c3Smrg    BYTE    type;   /* X_Reply */
40617ca54c3Smrg    BYTE    pad1;
407ea1d6981Smrg    CARD16  sequenceNumber;
408ea1d6981Smrg    CARD32  length;
409ea1d6981Smrg    Atom    atom;
410ea1d6981Smrg    CARD16  nbytes;
411ea1d6981Smrg    CARD16  pad2;
412ea1d6981Smrg    CARD32  pad3;
413ea1d6981Smrg    CARD32  pad4;
414ea1d6981Smrg    CARD32  pad5;
415ea1d6981Smrg    CARD32  pad6;
41617ca54c3Smrg} xXFixesGetCursorNameReply;
41717ca54c3Smrg
41817ca54c3Smrg#define sz_xXFixesGetCursorNameReply	    32
41917ca54c3Smrg
42017ca54c3Smrgtypedef struct {
42117ca54c3Smrg    CARD8   reqType;
42217ca54c3Smrg    CARD8   xfixesReqType;
423ea1d6981Smrg    CARD16  length;
42417ca54c3Smrg} xXFixesGetCursorImageAndNameReq;
42517ca54c3Smrg
42617ca54c3Smrg#define sz_xXFixesGetCursorImageAndNameReq  4
42717ca54c3Smrg
42817ca54c3Smrgtypedef struct {
42917ca54c3Smrg    BYTE    type;   /* X_Reply */
43017ca54c3Smrg    BYTE    pad1;
431ea1d6981Smrg    CARD16  sequenceNumber;
432ea1d6981Smrg    CARD32  length;
433ea1d6981Smrg    INT16   x;
434ea1d6981Smrg    INT16   y;
435ea1d6981Smrg    CARD16  width;
436ea1d6981Smrg    CARD16  height;
437ea1d6981Smrg    CARD16  xhot;
438ea1d6981Smrg    CARD16  yhot;
439ea1d6981Smrg    CARD32  cursorSerial;
440ea1d6981Smrg    Atom    cursorName;
441ea1d6981Smrg    CARD16  nbytes;
442ea1d6981Smrg    CARD16  pad;
44317ca54c3Smrg} xXFixesGetCursorImageAndNameReply;
44417ca54c3Smrg
44517ca54c3Smrg#define sz_xXFixesGetCursorImageAndNameReply	32
44617ca54c3Smrg
44717ca54c3Smrgtypedef struct {
44817ca54c3Smrg    CARD8   reqType;
44917ca54c3Smrg    CARD8   xfixesReqType;
450ea1d6981Smrg    CARD16  length;
451ea1d6981Smrg    Cursor  source;
452ea1d6981Smrg    Cursor  destination;
45317ca54c3Smrg} xXFixesChangeCursorReq;
45417ca54c3Smrg
45517ca54c3Smrg#define sz_xXFixesChangeCursorReq	12
45617ca54c3Smrg
45717ca54c3Smrgtypedef struct {
45817ca54c3Smrg    CARD8   reqType;
45917ca54c3Smrg    CARD8   xfixesReqType;
460ea1d6981Smrg    CARD16  length;
461ea1d6981Smrg    Cursor  source;
46217ca54c3Smrg    CARD16  nbytes;
46317ca54c3Smrg    CARD16  pad;
46417ca54c3Smrg} xXFixesChangeCursorByNameReq;
46517ca54c3Smrg
46617ca54c3Smrg#define sz_xXFixesChangeCursorByNameReq	12
46717ca54c3Smrg
46817ca54c3Smrg/*************** Version 3 ******************/
46917ca54c3Smrg
47017ca54c3Smrgtypedef struct {
47117ca54c3Smrg    CARD8   reqType;
47217ca54c3Smrg    CARD8   xfixesReqType;
473ea1d6981Smrg    CARD16  length;
474ea1d6981Smrg    Region  source;
475ea1d6981Smrg    Region  destination;
476ea1d6981Smrg    CARD16  left;
477ea1d6981Smrg    CARD16  right;
478ea1d6981Smrg    CARD16  top;
479ea1d6981Smrg    CARD16  bottom;
48017ca54c3Smrg} xXFixesExpandRegionReq;
48117ca54c3Smrg
48217ca54c3Smrg#define sz_xXFixesExpandRegionReq	20
48317ca54c3Smrg
48417ca54c3Smrg/*************** Version 4.0 ******************/
48517ca54c3Smrg
48617ca54c3Smrgtypedef struct {
48717ca54c3Smrg    CARD8   reqType;
48817ca54c3Smrg    CARD8   xfixesReqType;
489ea1d6981Smrg    CARD16  length;
490ea1d6981Smrg    Window  window;
49117ca54c3Smrg} xXFixesHideCursorReq;
49217ca54c3Smrg
49317ca54c3Smrg#define sz_xXFixesHideCursorReq	sizeof(xXFixesHideCursorReq)
49417ca54c3Smrg
49517ca54c3Smrgtypedef struct {
49617ca54c3Smrg    CARD8   reqType;
49717ca54c3Smrg    CARD8   xfixesReqType;
498ea1d6981Smrg    CARD16  length;
499ea1d6981Smrg    Window  window;
50017ca54c3Smrg} xXFixesShowCursorReq;
50117ca54c3Smrg
50217ca54c3Smrg#define sz_xXFixesShowCursorReq	sizeof(xXFixesShowCursorReq)
50317ca54c3Smrg
50417ca54c3Smrg/*************** Version 5.0 ******************/
50517ca54c3Smrg
50617ca54c3Smrg#define Barrier CARD32
50717ca54c3Smrg
50817ca54c3Smrgtypedef struct {
50917ca54c3Smrg    CARD8   reqType;
51017ca54c3Smrg    CARD8   xfixesReqType;
511ea1d6981Smrg    CARD16  length;
512ea1d6981Smrg    Barrier barrier;
513ea1d6981Smrg    Window  window;
514ea1d6981Smrg    INT16   x1;
515ea1d6981Smrg    INT16   y1;
516ea1d6981Smrg    INT16   x2;
517ea1d6981Smrg    INT16   y2;
51817ca54c3Smrg    CARD32  directions;
519ea1d6981Smrg    CARD16  pad;
520ea1d6981Smrg    CARD16  num_devices;
52117ca54c3Smrg    /* array of CARD16 devices */
52217ca54c3Smrg} xXFixesCreatePointerBarrierReq;
52317ca54c3Smrg
52417ca54c3Smrg#define sz_xXFixesCreatePointerBarrierReq 28
52517ca54c3Smrg
52617ca54c3Smrgtypedef struct {
52717ca54c3Smrg    CARD8   reqType;
52817ca54c3Smrg    CARD8   xfixesReqType;
529ea1d6981Smrg    CARD16  length;
530ea1d6981Smrg    Barrier barrier;
53117ca54c3Smrg} xXFixesDestroyPointerBarrierReq;
53217ca54c3Smrg
53317ca54c3Smrg#define sz_xXFixesDestroyPointerBarrierReq 8
53417ca54c3Smrg
5355395ea76Smrg/*************** Version 6.0 ******************/
5365395ea76Smrg
5375395ea76Smrgtypedef struct {
5385395ea76Smrg    CARD8   reqType;
5395395ea76Smrg    CARD8   xfixesReqType;
5405395ea76Smrg    CARD16  length;
5415395ea76Smrg    CARD32  disconnect_mode;
5425395ea76Smrg} xXFixesSetClientDisconnectModeReq;
5435395ea76Smrg
5445395ea76Smrg#define sz_xXFixesSetClientDisconnectModeReq    8
5455395ea76Smrg
5465395ea76Smrgtypedef struct {
5475395ea76Smrg    CARD8   reqType;
5485395ea76Smrg    CARD8   xfixesReqType;
5495395ea76Smrg    CARD16  length;
5505395ea76Smrg} xXFixesGetClientDisconnectModeReq;
5515395ea76Smrg
5525395ea76Smrg#define sz_xXFixesGetClientDisconnectModeReq    4
5535395ea76Smrg
5545395ea76Smrgtypedef struct {
5555395ea76Smrg    BYTE        type;                   /* X_Reply */
5565395ea76Smrg    CARD8       pad0;
5575395ea76Smrg    CARD16      sequenceNumber;
5585395ea76Smrg    CARD32      length;
5595395ea76Smrg    CARD32      disconnect_mode;
5605395ea76Smrg    CARD32      pad1;
5615395ea76Smrg    CARD32      pad2;
5625395ea76Smrg    CARD32      pad3;
5635395ea76Smrg    CARD32      pad4;
5645395ea76Smrg    CARD32      pad5;
5655395ea76Smrg} xXFixesGetClientDisconnectModeReply;
5665395ea76Smrg
5675395ea76Smrg#define sz_xXFixesGetClientDisconnectModeReply	32
5685395ea76Smrg
56917ca54c3Smrg#undef Barrier
57017ca54c3Smrg#undef Region
57117ca54c3Smrg#undef Picture
57217ca54c3Smrg#undef Window
57317ca54c3Smrg#undef Drawable
57417ca54c3Smrg#undef Font
57517ca54c3Smrg#undef Pixmap
57617ca54c3Smrg#undef Cursor
57717ca54c3Smrg#undef Colormap
57817ca54c3Smrg#undef GContext
57917ca54c3Smrg#undef Atom
58017ca54c3Smrg#undef VisualID
58117ca54c3Smrg#undef Time
58217ca54c3Smrg#undef KeyCode
58317ca54c3Smrg#undef KeySym
58417ca54c3Smrg
58517ca54c3Smrg#endif /* _XFIXESPROTO_H_ */
586