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