xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/damage.c (revision a5847cc334d9a7029f6352b847e9e8d71a0f9e0c)
1 /*
2  * This file generated automatically from damage.xml by c_client.py.
3  * Edit at your peril.
4  */
5 
6 #include <string.h>
7 #include <assert.h>
8 #include "xcbext.h"
9 #include "damage.h"
10 #include "xproto.h"
11 #include "render.h"
12 #include "shape.h"
13 #include "xfixes.h"
14 
15 xcb_extension_t xcb_damage_id = { "DAMAGE", 0 };
16 
17 
18 /*****************************************************************************
19  **
20  ** void xcb_damage_damage_next
21  **
22  ** @param xcb_damage_damage_iterator_t *i
23  ** @returns void
24  **
25  *****************************************************************************/
26 
27 void
28 xcb_damage_damage_next (xcb_damage_damage_iterator_t *i  /**< */)
29 {
30     --i->rem;
31     ++i->data;
32     i->index += sizeof(xcb_damage_damage_t);
33 }
34 
35 
36 /*****************************************************************************
37  **
38  ** xcb_generic_iterator_t xcb_damage_damage_end
39  **
40  ** @param xcb_damage_damage_iterator_t i
41  ** @returns xcb_generic_iterator_t
42  **
43  *****************************************************************************/
44 
45 xcb_generic_iterator_t
46 xcb_damage_damage_end (xcb_damage_damage_iterator_t i  /**< */)
47 {
48     xcb_generic_iterator_t ret;
49     ret.data = i.data + i.rem;
50     ret.index = i.index + ((char *) ret.data - (char *) i.data);
51     ret.rem = 0;
52     return ret;
53 }
54 
55 
56 /*****************************************************************************
57  **
58  ** xcb_damage_query_version_cookie_t xcb_damage_query_version
59  **
60  ** @param xcb_connection_t *c
61  ** @param uint32_t          client_major_version
62  ** @param uint32_t          client_minor_version
63  ** @returns xcb_damage_query_version_cookie_t
64  **
65  *****************************************************************************/
66 
67 xcb_damage_query_version_cookie_t
68 xcb_damage_query_version (xcb_connection_t *c  /**< */,
69                           uint32_t          client_major_version  /**< */,
70                           uint32_t          client_minor_version  /**< */)
71 {
72     static const xcb_protocol_request_t xcb_req = {
73         /* count */ 2,
74         /* ext */ &xcb_damage_id,
75         /* opcode */ XCB_DAMAGE_QUERY_VERSION,
76         /* isvoid */ 0
77     };
78 
79     struct iovec xcb_parts[4];
80     xcb_damage_query_version_cookie_t xcb_ret;
81     xcb_damage_query_version_request_t xcb_out;
82 
83     xcb_out.client_major_version = client_major_version;
84     xcb_out.client_minor_version = client_minor_version;
85 
86     xcb_parts[2].iov_base = (char *) &xcb_out;
87     xcb_parts[2].iov_len = sizeof(xcb_out);
88     xcb_parts[3].iov_base = 0;
89     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
90     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
91     return xcb_ret;
92 }
93 
94 
95 /*****************************************************************************
96  **
97  ** xcb_damage_query_version_cookie_t xcb_damage_query_version_unchecked
98  **
99  ** @param xcb_connection_t *c
100  ** @param uint32_t          client_major_version
101  ** @param uint32_t          client_minor_version
102  ** @returns xcb_damage_query_version_cookie_t
103  **
104  *****************************************************************************/
105 
106 xcb_damage_query_version_cookie_t
107 xcb_damage_query_version_unchecked (xcb_connection_t *c  /**< */,
108                                     uint32_t          client_major_version  /**< */,
109                                     uint32_t          client_minor_version  /**< */)
110 {
111     static const xcb_protocol_request_t xcb_req = {
112         /* count */ 2,
113         /* ext */ &xcb_damage_id,
114         /* opcode */ XCB_DAMAGE_QUERY_VERSION,
115         /* isvoid */ 0
116     };
117 
118     struct iovec xcb_parts[4];
119     xcb_damage_query_version_cookie_t xcb_ret;
120     xcb_damage_query_version_request_t xcb_out;
121 
122     xcb_out.client_major_version = client_major_version;
123     xcb_out.client_minor_version = client_minor_version;
124 
125     xcb_parts[2].iov_base = (char *) &xcb_out;
126     xcb_parts[2].iov_len = sizeof(xcb_out);
127     xcb_parts[3].iov_base = 0;
128     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
129     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
130     return xcb_ret;
131 }
132 
133 
134 /*****************************************************************************
135  **
136  ** xcb_damage_query_version_reply_t * xcb_damage_query_version_reply
137  **
138  ** @param xcb_connection_t                   *c
139  ** @param xcb_damage_query_version_cookie_t   cookie
140  ** @param xcb_generic_error_t               **e
141  ** @returns xcb_damage_query_version_reply_t *
142  **
143  *****************************************************************************/
144 
145 xcb_damage_query_version_reply_t *
146 xcb_damage_query_version_reply (xcb_connection_t                   *c  /**< */,
147                                 xcb_damage_query_version_cookie_t   cookie  /**< */,
148                                 xcb_generic_error_t               **e  /**< */)
149 {
150     return (xcb_damage_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
151 }
152 
153 
154 /*****************************************************************************
155  **
156  ** xcb_void_cookie_t xcb_damage_create_checked
157  **
158  ** @param xcb_connection_t    *c
159  ** @param xcb_damage_damage_t  damage
160  ** @param xcb_drawable_t       drawable
161  ** @param uint8_t              level
162  ** @returns xcb_void_cookie_t
163  **
164  *****************************************************************************/
165 
166 xcb_void_cookie_t
167 xcb_damage_create_checked (xcb_connection_t    *c  /**< */,
168                            xcb_damage_damage_t  damage  /**< */,
169                            xcb_drawable_t       drawable  /**< */,
170                            uint8_t              level  /**< */)
171 {
172     static const xcb_protocol_request_t xcb_req = {
173         /* count */ 2,
174         /* ext */ &xcb_damage_id,
175         /* opcode */ XCB_DAMAGE_CREATE,
176         /* isvoid */ 1
177     };
178 
179     struct iovec xcb_parts[4];
180     xcb_void_cookie_t xcb_ret;
181     xcb_damage_create_request_t xcb_out;
182 
183     xcb_out.damage = damage;
184     xcb_out.drawable = drawable;
185     xcb_out.level = level;
186     memset(xcb_out.pad0, 0, 3);
187 
188     xcb_parts[2].iov_base = (char *) &xcb_out;
189     xcb_parts[2].iov_len = sizeof(xcb_out);
190     xcb_parts[3].iov_base = 0;
191     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
192     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
193     return xcb_ret;
194 }
195 
196 
197 /*****************************************************************************
198  **
199  ** xcb_void_cookie_t xcb_damage_create
200  **
201  ** @param xcb_connection_t    *c
202  ** @param xcb_damage_damage_t  damage
203  ** @param xcb_drawable_t       drawable
204  ** @param uint8_t              level
205  ** @returns xcb_void_cookie_t
206  **
207  *****************************************************************************/
208 
209 xcb_void_cookie_t
210 xcb_damage_create (xcb_connection_t    *c  /**< */,
211                    xcb_damage_damage_t  damage  /**< */,
212                    xcb_drawable_t       drawable  /**< */,
213                    uint8_t              level  /**< */)
214 {
215     static const xcb_protocol_request_t xcb_req = {
216         /* count */ 2,
217         /* ext */ &xcb_damage_id,
218         /* opcode */ XCB_DAMAGE_CREATE,
219         /* isvoid */ 1
220     };
221 
222     struct iovec xcb_parts[4];
223     xcb_void_cookie_t xcb_ret;
224     xcb_damage_create_request_t xcb_out;
225 
226     xcb_out.damage = damage;
227     xcb_out.drawable = drawable;
228     xcb_out.level = level;
229     memset(xcb_out.pad0, 0, 3);
230 
231     xcb_parts[2].iov_base = (char *) &xcb_out;
232     xcb_parts[2].iov_len = sizeof(xcb_out);
233     xcb_parts[3].iov_base = 0;
234     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
235     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
236     return xcb_ret;
237 }
238 
239 
240 /*****************************************************************************
241  **
242  ** xcb_void_cookie_t xcb_damage_destroy_checked
243  **
244  ** @param xcb_connection_t    *c
245  ** @param xcb_damage_damage_t  damage
246  ** @returns xcb_void_cookie_t
247  **
248  *****************************************************************************/
249 
250 xcb_void_cookie_t
251 xcb_damage_destroy_checked (xcb_connection_t    *c  /**< */,
252                             xcb_damage_damage_t  damage  /**< */)
253 {
254     static const xcb_protocol_request_t xcb_req = {
255         /* count */ 2,
256         /* ext */ &xcb_damage_id,
257         /* opcode */ XCB_DAMAGE_DESTROY,
258         /* isvoid */ 1
259     };
260 
261     struct iovec xcb_parts[4];
262     xcb_void_cookie_t xcb_ret;
263     xcb_damage_destroy_request_t xcb_out;
264 
265     xcb_out.damage = damage;
266 
267     xcb_parts[2].iov_base = (char *) &xcb_out;
268     xcb_parts[2].iov_len = sizeof(xcb_out);
269     xcb_parts[3].iov_base = 0;
270     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
271     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
272     return xcb_ret;
273 }
274 
275 
276 /*****************************************************************************
277  **
278  ** xcb_void_cookie_t xcb_damage_destroy
279  **
280  ** @param xcb_connection_t    *c
281  ** @param xcb_damage_damage_t  damage
282  ** @returns xcb_void_cookie_t
283  **
284  *****************************************************************************/
285 
286 xcb_void_cookie_t
287 xcb_damage_destroy (xcb_connection_t    *c  /**< */,
288                     xcb_damage_damage_t  damage  /**< */)
289 {
290     static const xcb_protocol_request_t xcb_req = {
291         /* count */ 2,
292         /* ext */ &xcb_damage_id,
293         /* opcode */ XCB_DAMAGE_DESTROY,
294         /* isvoid */ 1
295     };
296 
297     struct iovec xcb_parts[4];
298     xcb_void_cookie_t xcb_ret;
299     xcb_damage_destroy_request_t xcb_out;
300 
301     xcb_out.damage = damage;
302 
303     xcb_parts[2].iov_base = (char *) &xcb_out;
304     xcb_parts[2].iov_len = sizeof(xcb_out);
305     xcb_parts[3].iov_base = 0;
306     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
307     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
308     return xcb_ret;
309 }
310 
311 
312 /*****************************************************************************
313  **
314  ** xcb_void_cookie_t xcb_damage_subtract_checked
315  **
316  ** @param xcb_connection_t    *c
317  ** @param xcb_damage_damage_t  damage
318  ** @param xcb_xfixes_region_t  repair
319  ** @param xcb_xfixes_region_t  parts
320  ** @returns xcb_void_cookie_t
321  **
322  *****************************************************************************/
323 
324 xcb_void_cookie_t
325 xcb_damage_subtract_checked (xcb_connection_t    *c  /**< */,
326                              xcb_damage_damage_t  damage  /**< */,
327                              xcb_xfixes_region_t  repair  /**< */,
328                              xcb_xfixes_region_t  parts  /**< */)
329 {
330     static const xcb_protocol_request_t xcb_req = {
331         /* count */ 2,
332         /* ext */ &xcb_damage_id,
333         /* opcode */ XCB_DAMAGE_SUBTRACT,
334         /* isvoid */ 1
335     };
336 
337     struct iovec xcb_parts[4];
338     xcb_void_cookie_t xcb_ret;
339     xcb_damage_subtract_request_t xcb_out;
340 
341     xcb_out.damage = damage;
342     xcb_out.repair = repair;
343     xcb_out.parts = parts;
344 
345     xcb_parts[2].iov_base = (char *) &xcb_out;
346     xcb_parts[2].iov_len = sizeof(xcb_out);
347     xcb_parts[3].iov_base = 0;
348     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
349     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
350     return xcb_ret;
351 }
352 
353 
354 /*****************************************************************************
355  **
356  ** xcb_void_cookie_t xcb_damage_subtract
357  **
358  ** @param xcb_connection_t    *c
359  ** @param xcb_damage_damage_t  damage
360  ** @param xcb_xfixes_region_t  repair
361  ** @param xcb_xfixes_region_t  parts
362  ** @returns xcb_void_cookie_t
363  **
364  *****************************************************************************/
365 
366 xcb_void_cookie_t
367 xcb_damage_subtract (xcb_connection_t    *c  /**< */,
368                      xcb_damage_damage_t  damage  /**< */,
369                      xcb_xfixes_region_t  repair  /**< */,
370                      xcb_xfixes_region_t  parts  /**< */)
371 {
372     static const xcb_protocol_request_t xcb_req = {
373         /* count */ 2,
374         /* ext */ &xcb_damage_id,
375         /* opcode */ XCB_DAMAGE_SUBTRACT,
376         /* isvoid */ 1
377     };
378 
379     struct iovec xcb_parts[4];
380     xcb_void_cookie_t xcb_ret;
381     xcb_damage_subtract_request_t xcb_out;
382 
383     xcb_out.damage = damage;
384     xcb_out.repair = repair;
385     xcb_out.parts = parts;
386 
387     xcb_parts[2].iov_base = (char *) &xcb_out;
388     xcb_parts[2].iov_len = sizeof(xcb_out);
389     xcb_parts[3].iov_base = 0;
390     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
391     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
392     return xcb_ret;
393 }
394 
395 
396 /*****************************************************************************
397  **
398  ** xcb_void_cookie_t xcb_damage_add_checked
399  **
400  ** @param xcb_connection_t    *c
401  ** @param xcb_drawable_t       drawable
402  ** @param xcb_xfixes_region_t  region
403  ** @returns xcb_void_cookie_t
404  **
405  *****************************************************************************/
406 
407 xcb_void_cookie_t
408 xcb_damage_add_checked (xcb_connection_t    *c  /**< */,
409                         xcb_drawable_t       drawable  /**< */,
410                         xcb_xfixes_region_t  region  /**< */)
411 {
412     static const xcb_protocol_request_t xcb_req = {
413         /* count */ 2,
414         /* ext */ &xcb_damage_id,
415         /* opcode */ XCB_DAMAGE_ADD,
416         /* isvoid */ 1
417     };
418 
419     struct iovec xcb_parts[4];
420     xcb_void_cookie_t xcb_ret;
421     xcb_damage_add_request_t xcb_out;
422 
423     xcb_out.drawable = drawable;
424     xcb_out.region = region;
425 
426     xcb_parts[2].iov_base = (char *) &xcb_out;
427     xcb_parts[2].iov_len = sizeof(xcb_out);
428     xcb_parts[3].iov_base = 0;
429     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
430     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
431     return xcb_ret;
432 }
433 
434 
435 /*****************************************************************************
436  **
437  ** xcb_void_cookie_t xcb_damage_add
438  **
439  ** @param xcb_connection_t    *c
440  ** @param xcb_drawable_t       drawable
441  ** @param xcb_xfixes_region_t  region
442  ** @returns xcb_void_cookie_t
443  **
444  *****************************************************************************/
445 
446 xcb_void_cookie_t
447 xcb_damage_add (xcb_connection_t    *c  /**< */,
448                 xcb_drawable_t       drawable  /**< */,
449                 xcb_xfixes_region_t  region  /**< */)
450 {
451     static const xcb_protocol_request_t xcb_req = {
452         /* count */ 2,
453         /* ext */ &xcb_damage_id,
454         /* opcode */ XCB_DAMAGE_ADD,
455         /* isvoid */ 1
456     };
457 
458     struct iovec xcb_parts[4];
459     xcb_void_cookie_t xcb_ret;
460     xcb_damage_add_request_t xcb_out;
461 
462     xcb_out.drawable = drawable;
463     xcb_out.region = region;
464 
465     xcb_parts[2].iov_base = (char *) &xcb_out;
466     xcb_parts[2].iov_len = sizeof(xcb_out);
467     xcb_parts[3].iov_base = 0;
468     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
469     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
470     return xcb_ret;
471 }
472 
473