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