Initialize Tizen 2.3
[framework/uifw/xorg/proto/x11proto-resource.git] / XResproto.h
1 /*
2    Copyright (c) 2002  XFree86 Inc
3 */
4
5 #ifndef _XRESPROTO_H
6 #define _XRESPROTO_H
7
8 #define XRES_MAJOR_VERSION 1
9 #define XRES_MINOR_VERSION 2
10
11 #define XRES_NAME "X-Resource"
12
13 /* v1.0 */
14 #define X_XResQueryVersion            0
15 #define X_XResQueryClients            1
16 #define X_XResQueryClientResources    2
17 #define X_XResQueryClientPixmapBytes  3
18
19 /* Version 1.1 has been accidentally released from the version           */
20 /* control and while it doesn't have differences to version 1.0, the     */
21 /* next version is labeled 1.2 in order to remove the risk of confusion. */
22
23 /* v1.2 */
24 #define X_XResQueryClientIds          4
25 #define X_XResQueryResourceBytes      5
26
27 typedef struct {
28    CARD32 resource_base;
29    CARD32 resource_mask;
30 } xXResClient;
31 #define sz_xXResClient 8
32
33 typedef struct {
34    CARD32 resource_type;
35    CARD32 count;
36 } xXResType;
37 #define sz_xXResType 8
38
39 /* XResQueryVersion */
40
41 typedef struct _XResQueryVersion {
42    CARD8   reqType;
43    CARD8   XResReqType; 
44    CARD16  length B16;
45    CARD8   client_major;
46    CARD8   client_minor;
47    CARD16  unused B16;           
48 } xXResQueryVersionReq;
49 #define sz_xXResQueryVersionReq 8
50
51 typedef struct {
52    CARD8   type;
53    CARD8   pad1;
54    CARD16  sequenceNumber B16; 
55    CARD32  length B32;
56    CARD16  server_major B16;      
57    CARD16  server_minor B16;      
58    CARD32  pad2 B32;
59    CARD32  pad3 B32;
60    CARD32  pad4 B32;
61    CARD32  pad5 B32;
62    CARD32  pad6 B32; 
63 } xXResQueryVersionReply;
64 #define sz_xXResQueryVersionReply  32
65
66 /* XResQueryClients */
67
68 typedef struct _XResQueryClients {
69    CARD8   reqType;
70    CARD8   XResReqType;       
71    CARD16  length B16;
72 } xXResQueryClientsReq;
73 #define sz_xXResQueryClientsReq 4
74
75 typedef struct {
76    CARD8   type;
77    CARD8   pad1;     
78    CARD16  sequenceNumber B16;  
79    CARD32  length B32;
80    CARD32  num_clients B32;
81    CARD32  pad2 B32;
82    CARD32  pad3 B32;
83    CARD32  pad4 B32;
84    CARD32  pad5 B32;
85    CARD32  pad6 B32;        
86 } xXResQueryClientsReply;
87 #define sz_xXResQueryClientsReply  32
88
89 /* XResQueryClientResources */
90
91 typedef struct _XResQueryClientResources {
92    CARD8   reqType;
93    CARD8   XResReqType;
94    CARD16  length B16;
95    CARD32  xid B32;
96 } xXResQueryClientResourcesReq;
97 #define sz_xXResQueryClientResourcesReq 8
98
99 typedef struct {
100    CARD8   type;
101    CARD8   pad1;     
102    CARD16  sequenceNumber B16;  
103    CARD32  length B32;
104    CARD32  num_types B32;
105    CARD32  pad2 B32;
106    CARD32  pad3 B32;
107    CARD32  pad4 B32;
108    CARD32  pad5 B32;
109    CARD32  pad6 B32;
110 } xXResQueryClientResourcesReply;
111 #define sz_xXResQueryClientResourcesReply  32
112
113 /* XResQueryClientPixmapBytes */
114
115 typedef struct _XResQueryClientPixmapBytes {
116    CARD8   reqType;
117    CARD8   XResReqType;
118    CARD16  length B16;
119    CARD32  xid B32;
120 } xXResQueryClientPixmapBytesReq;
121 #define sz_xXResQueryClientPixmapBytesReq 8
122
123 typedef struct {
124    CARD8   type;
125    CARD8   pad1;
126    CARD16  sequenceNumber B16;
127    CARD32  length B32;
128    CARD32  bytes B32;
129    CARD32  bytes_overflow B32;
130    CARD32  pad2 B32;
131    CARD32  pad3 B32;
132    CARD32  pad4 B32;
133    CARD32  pad5 B32;
134 } xXResQueryClientPixmapBytesReply;
135 #define sz_xXResQueryClientPixmapBytesReply  32
136
137 /* v1.2 XResQueryClientIds */
138
139 #define X_XResClientXIDMask      0x01
140 #define X_XResLocalClientPIDMask 0x02
141
142 typedef struct _XResClientIdSpec {
143    CARD32  client B32;
144    CARD32  mask B32;
145 } xXResClientIdSpec;
146 #define sz_xXResClientIdSpec 8
147
148 typedef struct _XResClientIdValue {
149    xXResClientIdSpec spec;
150    CARD32  length B32;
151    // followed by length CARD32s
152 } xXResClientIdValue;
153 #define sz_xResClientIdValue (sz_xXResClientIdSpec + 4)
154
155 typedef struct _XResQueryClientIds {
156    CARD8   reqType;
157    CARD8   XResReqType;
158    CARD16  length B16;
159    CARD32  numSpecs B32;
160    // followed by numSpecs times XResClientIdSpec
161 } xXResQueryClientIdsReq;
162 #define sz_xXResQueryClientIdsReq 8
163
164 typedef struct {
165    CARD8   type;
166    CARD8   pad1;
167    CARD16  sequenceNumber B16;
168    CARD32  length B32;
169    CARD32  numIds B32;
170    CARD32  pad2 B32;
171    CARD32  pad3 B32;
172    CARD32  pad4 B32;
173    CARD32  pad5 B32;
174    CARD32  pad6 B32;
175    // followed by numIds times XResClientIdValue
176 } xXResQueryClientIdsReply;
177 #define sz_xXResQueryClientIdsReply  32
178
179 /* v1.2 XResQueryResourceBytes */
180
181 typedef struct _XResResourceIdSpec {
182    CARD32  resource;
183    CARD32  type;
184 } xXResResourceIdSpec;
185 #define sz_xXResResourceIdSpec 8
186
187 typedef struct _XResQueryResourceBytes {
188    CARD8   reqType;
189    CARD8   XResReqType;
190    CARD16  length B16;
191    CARD32  client B32;
192    CARD32  numSpecs B32;
193    // followed by numSpecs times XResResourceIdSpec
194 } xXResQueryResourceBytesReq;
195 #define sz_xXResQueryResourceBytesReq 12
196
197 typedef struct _XResResourceSizeSpec {
198    xXResResourceIdSpec spec;
199    CARD32  bytes B32;
200    CARD32  refCount B32;
201    CARD32  useCount B32;
202 } xXResResourceSizeSpec;
203 #define sz_xXResResourceSizeSpec (sz_xXResResourceIdSpec + 12)
204
205 typedef struct _XResResourceSizeValue {
206    xXResResourceSizeSpec size;
207    CARD32  numCrossReferences B32;
208    // followed by numCrossReferences times XResResourceSizeSpec
209 } xXResResourceSizeValue;
210 #define sz_xXResResourceSizeValue (sz_xXResResourceSizeSpec + 4)
211
212 typedef struct {
213    CARD8   type;
214    CARD8   pad1;
215    CARD16  sequenceNumber B16;
216    CARD32  length B32;
217    CARD32  numSizes B32;
218    CARD32  pad2 B32;
219    CARD32  pad3 B32;
220    CARD32  pad4 B32;
221    CARD32  pad5 B32;
222    CARD32  pad6 B32;
223    // followed by numSizes times XResResourceSizeValue
224 } xXResQueryResourceBytesReply;
225 #define sz_xXResQueryResourceBytesReply  32
226
227 #endif /* _XRESPROTO_H */