2 Copyright 1996, 1998, 2001 The Open Group
4 Permission to use, copy, modify, distribute, and sell this software and its
5 documentation for any purpose is hereby granted without fee, provided that
6 the above copyright notice appear in all copies and that both that
7 copyright notice and this permission notice appear in supporting
10 The above copyright notice and this permission notice shall be included
11 in all copies or substantial portions of the Software.
13 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
14 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
15 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
16 IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
17 OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
18 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
19 OTHER DEALINGS IN THE SOFTWARE.
21 Except as contained in this notice, the name of The Open Group shall
22 not be used in advertising or otherwise to promote the sale, use or
23 other dealings in this Software without prior written authorization
27 #ifndef _AGPROTO_H_ /* { */
30 #include <X11/extensions/ag.h>
32 #define X_XagQueryVersion 0
34 #define X_XagDestroy 2
35 #define X_XagGetAttr 3
37 #define X_XagCreateAssoc 5
38 #define X_XagDestroyAssoc 6
40 #define XAppGroup CARD32
43 * Redefine some basic types used by structures defined herein. This allows
44 * both the library and server to view communicated data as 32-bit entities,
45 * thus preventing problems on 64-bit architectures where libXext sees this
46 * data as 64 bits and the server sees it as 32 bits.
49 #define Colormap CARD32
50 #define VisualID CARD32
53 typedef struct _XagQueryVersion {
54 CARD8 reqType; /* always XagReqCode */
55 CARD8 xagReqType; /* always X_XagQueryVersion */
57 CARD16 client_major_version B16;
58 CARD16 client_minor_version B16;
59 } xXagQueryVersionReq;
60 #define sz_xXagQueryVersionReq 8
63 BYTE type; /* X_Reply */
65 CARD16 sequence_number B16;
67 CARD16 server_major_version B16;
68 CARD16 server_minor_version B16;
74 } xXagQueryVersionReply;
75 #define sz_xXagQueryVersionReply 32
77 /* Set AppGroup Attributes masks */
78 #define XagSingleScreenMask 1 << 0
79 #define XagDefaultRootMask 1 << XagNdefaultRoot
80 #define XagRootVisualMask 1 << XagNrootVisual
81 #define XagDefaultColormapMask 1 << XagNdefaultColormap
82 #define XagBlackPixelMask 1 << XagNblackPixel
83 #define XagWhitePixelMask 1 << XagNwhitePixel
84 #define XagAppGroupLeaderMask 1 << XagNappGroupLeader
86 typedef struct _XagCreate {
87 CARD8 reqType; /* always XagReqCode */
88 CARD8 xagReqType; /* always X_XagCreate */
90 XAppGroup app_group B32;
91 CARD32 attrib_mask B32; /* LISTofVALUE follows */
93 #define sz_xXagCreateReq 12
95 typedef struct _XagDestroy {
96 CARD8 reqType; /* always XagReqCode */
97 CARD8 xagReqType; /* always X_XagDestroy */
99 XAppGroup app_group B32;
101 #define sz_xXagDestroyReq 8
103 typedef struct _XagGetAttr {
104 CARD8 reqType; /* always XagReqCode */
105 CARD8 xagReqType; /* always X_XagGetAttr */
107 XAppGroup app_group B32;
109 #define sz_xXagGetAttrReq 8
112 BYTE type; /* X_Reply */
114 CARD16 sequence_number B16;
116 Window default_root B32;
117 VisualID root_visual B32;
118 Colormap default_colormap B32;
119 CARD32 black_pixel B32;
120 CARD32 white_pixel B32;
122 BOOL app_group_leader;
125 #define sz_xXagGetAttrReply 32
127 typedef struct _XagQuery {
128 CARD8 reqType; /* always XagReqCode */
129 CARD8 xagReqType; /* always X_XagQuery */
133 #define sz_xXagQueryReq 8
136 BYTE type; /* X_Reply */
138 CARD16 sequence_number B16;
140 XAppGroup app_group B32;
147 #define sz_xXagQueryReply 32
149 typedef struct _XagCreateAssoc {
150 CARD8 reqType; /* always XagReqCode */
151 CARD8 xagReqType; /* always X_XagCreateAssoc */
154 CARD16 window_type B16;
155 CARD16 system_window_len B16; /* LISTofCARD8 follows */
156 } xXagCreateAssocReq;
157 #define sz_xXagCreateAssocReq 12
159 typedef struct _XagDestroyAssoc {
160 CARD8 reqType; /* always XagReqCode */
161 CARD8 xagReqType; /* always X_XagDestroyAssoc */
164 } xXagDestroyAssocReq;
165 #define sz_xXagDestroyAssocReq 8
169 * Cancel the previous redefinition of the basic types, thus restoring their
177 #endif /* } _AGPROTO_H_ */