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