1 /* 2 * This file generated automatically from xf86dri.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 "xf86dri.h" 10 11 xcb_extension_t xcb_xf86dri_id = { "XFree86-DRI", 0 }; 12 13 14 /***************************************************************************** 15 ** 16 ** void xcb_xf86dri_drm_clip_rect_next 17 ** 18 ** @param xcb_xf86dri_drm_clip_rect_iterator_t *i 19 ** @returns void 20 ** 21 *****************************************************************************/ 22 23 void 24 xcb_xf86dri_drm_clip_rect_next (xcb_xf86dri_drm_clip_rect_iterator_t *i /**< */) 25 { 26 --i->rem; 27 ++i->data; 28 i->index += sizeof(xcb_xf86dri_drm_clip_rect_t); 29 } 30 31 32 /***************************************************************************** 33 ** 34 ** xcb_generic_iterator_t xcb_xf86dri_drm_clip_rect_end 35 ** 36 ** @param xcb_xf86dri_drm_clip_rect_iterator_t i 37 ** @returns xcb_generic_iterator_t 38 ** 39 *****************************************************************************/ 40 41 xcb_generic_iterator_t 42 xcb_xf86dri_drm_clip_rect_end (xcb_xf86dri_drm_clip_rect_iterator_t i /**< */) 43 { 44 xcb_generic_iterator_t ret; 45 ret.data = i.data + i.rem; 46 ret.index = i.index + ((char *) ret.data - (char *) i.data); 47 ret.rem = 0; 48 return ret; 49 } 50 51 52 /***************************************************************************** 53 ** 54 ** xcb_xf86dri_query_version_cookie_t xcb_xf86dri_query_version 55 ** 56 ** @param xcb_connection_t *c 57 ** @returns xcb_xf86dri_query_version_cookie_t 58 ** 59 *****************************************************************************/ 60 61 xcb_xf86dri_query_version_cookie_t 62 xcb_xf86dri_query_version (xcb_connection_t *c /**< */) 63 { 64 static const xcb_protocol_request_t xcb_req = { 65 /* count */ 2, 66 /* ext */ &xcb_xf86dri_id, 67 /* opcode */ XCB_XF86DRI_QUERY_VERSION, 68 /* isvoid */ 0 69 }; 70 71 struct iovec xcb_parts[4]; 72 xcb_xf86dri_query_version_cookie_t xcb_ret; 73 xcb_xf86dri_query_version_request_t xcb_out; 74 75 76 xcb_parts[2].iov_base = (char *) &xcb_out; 77 xcb_parts[2].iov_len = sizeof(xcb_out); 78 xcb_parts[3].iov_base = 0; 79 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 80 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 81 return xcb_ret; 82 } 83 84 85 /***************************************************************************** 86 ** 87 ** xcb_xf86dri_query_version_cookie_t xcb_xf86dri_query_version_unchecked 88 ** 89 ** @param xcb_connection_t *c 90 ** @returns xcb_xf86dri_query_version_cookie_t 91 ** 92 *****************************************************************************/ 93 94 xcb_xf86dri_query_version_cookie_t 95 xcb_xf86dri_query_version_unchecked (xcb_connection_t *c /**< */) 96 { 97 static const xcb_protocol_request_t xcb_req = { 98 /* count */ 2, 99 /* ext */ &xcb_xf86dri_id, 100 /* opcode */ XCB_XF86DRI_QUERY_VERSION, 101 /* isvoid */ 0 102 }; 103 104 struct iovec xcb_parts[4]; 105 xcb_xf86dri_query_version_cookie_t xcb_ret; 106 xcb_xf86dri_query_version_request_t xcb_out; 107 108 109 xcb_parts[2].iov_base = (char *) &xcb_out; 110 xcb_parts[2].iov_len = sizeof(xcb_out); 111 xcb_parts[3].iov_base = 0; 112 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 113 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 114 return xcb_ret; 115 } 116 117 118 /***************************************************************************** 119 ** 120 ** xcb_xf86dri_query_version_reply_t * xcb_xf86dri_query_version_reply 121 ** 122 ** @param xcb_connection_t *c 123 ** @param xcb_xf86dri_query_version_cookie_t cookie 124 ** @param xcb_generic_error_t **e 125 ** @returns xcb_xf86dri_query_version_reply_t * 126 ** 127 *****************************************************************************/ 128 129 xcb_xf86dri_query_version_reply_t * 130 xcb_xf86dri_query_version_reply (xcb_connection_t *c /**< */, 131 xcb_xf86dri_query_version_cookie_t cookie /**< */, 132 xcb_generic_error_t **e /**< */) 133 { 134 return (xcb_xf86dri_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 135 } 136 137 138 /***************************************************************************** 139 ** 140 ** xcb_xf86dri_query_direct_rendering_capable_cookie_t xcb_xf86dri_query_direct_rendering_capable 141 ** 142 ** @param xcb_connection_t *c 143 ** @param uint32_t screen 144 ** @returns xcb_xf86dri_query_direct_rendering_capable_cookie_t 145 ** 146 *****************************************************************************/ 147 148 xcb_xf86dri_query_direct_rendering_capable_cookie_t 149 xcb_xf86dri_query_direct_rendering_capable (xcb_connection_t *c /**< */, 150 uint32_t screen /**< */) 151 { 152 static const xcb_protocol_request_t xcb_req = { 153 /* count */ 2, 154 /* ext */ &xcb_xf86dri_id, 155 /* opcode */ XCB_XF86DRI_QUERY_DIRECT_RENDERING_CAPABLE, 156 /* isvoid */ 0 157 }; 158 159 struct iovec xcb_parts[4]; 160 xcb_xf86dri_query_direct_rendering_capable_cookie_t xcb_ret; 161 xcb_xf86dri_query_direct_rendering_capable_request_t xcb_out; 162 163 xcb_out.screen = screen; 164 165 xcb_parts[2].iov_base = (char *) &xcb_out; 166 xcb_parts[2].iov_len = sizeof(xcb_out); 167 xcb_parts[3].iov_base = 0; 168 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 169 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 170 return xcb_ret; 171 } 172 173 174 /***************************************************************************** 175 ** 176 ** xcb_xf86dri_query_direct_rendering_capable_cookie_t xcb_xf86dri_query_direct_rendering_capable_unchecked 177 ** 178 ** @param xcb_connection_t *c 179 ** @param uint32_t screen 180 ** @returns xcb_xf86dri_query_direct_rendering_capable_cookie_t 181 ** 182 *****************************************************************************/ 183 184 xcb_xf86dri_query_direct_rendering_capable_cookie_t 185 xcb_xf86dri_query_direct_rendering_capable_unchecked (xcb_connection_t *c /**< */, 186 uint32_t screen /**< */) 187 { 188 static const xcb_protocol_request_t xcb_req = { 189 /* count */ 2, 190 /* ext */ &xcb_xf86dri_id, 191 /* opcode */ XCB_XF86DRI_QUERY_DIRECT_RENDERING_CAPABLE, 192 /* isvoid */ 0 193 }; 194 195 struct iovec xcb_parts[4]; 196 xcb_xf86dri_query_direct_rendering_capable_cookie_t xcb_ret; 197 xcb_xf86dri_query_direct_rendering_capable_request_t xcb_out; 198 199 xcb_out.screen = screen; 200 201 xcb_parts[2].iov_base = (char *) &xcb_out; 202 xcb_parts[2].iov_len = sizeof(xcb_out); 203 xcb_parts[3].iov_base = 0; 204 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 205 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 206 return xcb_ret; 207 } 208 209 210 /***************************************************************************** 211 ** 212 ** xcb_xf86dri_query_direct_rendering_capable_reply_t * xcb_xf86dri_query_direct_rendering_capable_reply 213 ** 214 ** @param xcb_connection_t *c 215 ** @param xcb_xf86dri_query_direct_rendering_capable_cookie_t cookie 216 ** @param xcb_generic_error_t **e 217 ** @returns xcb_xf86dri_query_direct_rendering_capable_reply_t * 218 ** 219 *****************************************************************************/ 220 221 xcb_xf86dri_query_direct_rendering_capable_reply_t * 222 xcb_xf86dri_query_direct_rendering_capable_reply (xcb_connection_t *c /**< */, 223 xcb_xf86dri_query_direct_rendering_capable_cookie_t cookie /**< */, 224 xcb_generic_error_t **e /**< */) 225 { 226 return (xcb_xf86dri_query_direct_rendering_capable_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 227 } 228 229 230 /***************************************************************************** 231 ** 232 ** xcb_xf86dri_open_connection_cookie_t xcb_xf86dri_open_connection 233 ** 234 ** @param xcb_connection_t *c 235 ** @param uint32_t screen 236 ** @returns xcb_xf86dri_open_connection_cookie_t 237 ** 238 *****************************************************************************/ 239 240 xcb_xf86dri_open_connection_cookie_t 241 xcb_xf86dri_open_connection (xcb_connection_t *c /**< */, 242 uint32_t screen /**< */) 243 { 244 static const xcb_protocol_request_t xcb_req = { 245 /* count */ 2, 246 /* ext */ &xcb_xf86dri_id, 247 /* opcode */ XCB_XF86DRI_OPEN_CONNECTION, 248 /* isvoid */ 0 249 }; 250 251 struct iovec xcb_parts[4]; 252 xcb_xf86dri_open_connection_cookie_t xcb_ret; 253 xcb_xf86dri_open_connection_request_t xcb_out; 254 255 xcb_out.screen = screen; 256 257 xcb_parts[2].iov_base = (char *) &xcb_out; 258 xcb_parts[2].iov_len = sizeof(xcb_out); 259 xcb_parts[3].iov_base = 0; 260 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 261 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 262 return xcb_ret; 263 } 264 265 266 /***************************************************************************** 267 ** 268 ** xcb_xf86dri_open_connection_cookie_t xcb_xf86dri_open_connection_unchecked 269 ** 270 ** @param xcb_connection_t *c 271 ** @param uint32_t screen 272 ** @returns xcb_xf86dri_open_connection_cookie_t 273 ** 274 *****************************************************************************/ 275 276 xcb_xf86dri_open_connection_cookie_t 277 xcb_xf86dri_open_connection_unchecked (xcb_connection_t *c /**< */, 278 uint32_t screen /**< */) 279 { 280 static const xcb_protocol_request_t xcb_req = { 281 /* count */ 2, 282 /* ext */ &xcb_xf86dri_id, 283 /* opcode */ XCB_XF86DRI_OPEN_CONNECTION, 284 /* isvoid */ 0 285 }; 286 287 struct iovec xcb_parts[4]; 288 xcb_xf86dri_open_connection_cookie_t xcb_ret; 289 xcb_xf86dri_open_connection_request_t xcb_out; 290 291 xcb_out.screen = screen; 292 293 xcb_parts[2].iov_base = (char *) &xcb_out; 294 xcb_parts[2].iov_len = sizeof(xcb_out); 295 xcb_parts[3].iov_base = 0; 296 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 297 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 298 return xcb_ret; 299 } 300 301 302 /***************************************************************************** 303 ** 304 ** char * xcb_xf86dri_open_connection_bus_id 305 ** 306 ** @param const xcb_xf86dri_open_connection_reply_t *R 307 ** @returns char * 308 ** 309 *****************************************************************************/ 310 311 char * 312 xcb_xf86dri_open_connection_bus_id (const xcb_xf86dri_open_connection_reply_t *R /**< */) 313 { 314 return (char *) (R + 1); 315 } 316 317 318 /***************************************************************************** 319 ** 320 ** int xcb_xf86dri_open_connection_bus_id_length 321 ** 322 ** @param const xcb_xf86dri_open_connection_reply_t *R 323 ** @returns int 324 ** 325 *****************************************************************************/ 326 327 int 328 xcb_xf86dri_open_connection_bus_id_length (const xcb_xf86dri_open_connection_reply_t *R /**< */) 329 { 330 return R->bus_id_len; 331 } 332 333 334 /***************************************************************************** 335 ** 336 ** xcb_generic_iterator_t xcb_xf86dri_open_connection_bus_id_end 337 ** 338 ** @param const xcb_xf86dri_open_connection_reply_t *R 339 ** @returns xcb_generic_iterator_t 340 ** 341 *****************************************************************************/ 342 343 xcb_generic_iterator_t 344 xcb_xf86dri_open_connection_bus_id_end (const xcb_xf86dri_open_connection_reply_t *R /**< */) 345 { 346 xcb_generic_iterator_t i; 347 i.data = ((char *) (R + 1)) + (R->bus_id_len); 348 i.rem = 0; 349 i.index = (char *) i.data - (char *) R; 350 return i; 351 } 352 353 354 /***************************************************************************** 355 ** 356 ** xcb_xf86dri_open_connection_reply_t * xcb_xf86dri_open_connection_reply 357 ** 358 ** @param xcb_connection_t *c 359 ** @param xcb_xf86dri_open_connection_cookie_t cookie 360 ** @param xcb_generic_error_t **e 361 ** @returns xcb_xf86dri_open_connection_reply_t * 362 ** 363 *****************************************************************************/ 364 365 xcb_xf86dri_open_connection_reply_t * 366 xcb_xf86dri_open_connection_reply (xcb_connection_t *c /**< */, 367 xcb_xf86dri_open_connection_cookie_t cookie /**< */, 368 xcb_generic_error_t **e /**< */) 369 { 370 return (xcb_xf86dri_open_connection_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 371 } 372 373 374 /***************************************************************************** 375 ** 376 ** xcb_void_cookie_t xcb_xf86dri_close_connection_checked 377 ** 378 ** @param xcb_connection_t *c 379 ** @param uint32_t screen 380 ** @returns xcb_void_cookie_t 381 ** 382 *****************************************************************************/ 383 384 xcb_void_cookie_t 385 xcb_xf86dri_close_connection_checked (xcb_connection_t *c /**< */, 386 uint32_t screen /**< */) 387 { 388 static const xcb_protocol_request_t xcb_req = { 389 /* count */ 2, 390 /* ext */ &xcb_xf86dri_id, 391 /* opcode */ XCB_XF86DRI_CLOSE_CONNECTION, 392 /* isvoid */ 1 393 }; 394 395 struct iovec xcb_parts[4]; 396 xcb_void_cookie_t xcb_ret; 397 xcb_xf86dri_close_connection_request_t xcb_out; 398 399 xcb_out.screen = screen; 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 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 406 return xcb_ret; 407 } 408 409 410 /***************************************************************************** 411 ** 412 ** xcb_void_cookie_t xcb_xf86dri_close_connection 413 ** 414 ** @param xcb_connection_t *c 415 ** @param uint32_t screen 416 ** @returns xcb_void_cookie_t 417 ** 418 *****************************************************************************/ 419 420 xcb_void_cookie_t 421 xcb_xf86dri_close_connection (xcb_connection_t *c /**< */, 422 uint32_t screen /**< */) 423 { 424 static const xcb_protocol_request_t xcb_req = { 425 /* count */ 2, 426 /* ext */ &xcb_xf86dri_id, 427 /* opcode */ XCB_XF86DRI_CLOSE_CONNECTION, 428 /* isvoid */ 1 429 }; 430 431 struct iovec xcb_parts[4]; 432 xcb_void_cookie_t xcb_ret; 433 xcb_xf86dri_close_connection_request_t xcb_out; 434 435 xcb_out.screen = screen; 436 437 xcb_parts[2].iov_base = (char *) &xcb_out; 438 xcb_parts[2].iov_len = sizeof(xcb_out); 439 xcb_parts[3].iov_base = 0; 440 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 441 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 442 return xcb_ret; 443 } 444 445 446 /***************************************************************************** 447 ** 448 ** xcb_xf86dri_get_client_driver_name_cookie_t xcb_xf86dri_get_client_driver_name 449 ** 450 ** @param xcb_connection_t *c 451 ** @param uint32_t screen 452 ** @returns xcb_xf86dri_get_client_driver_name_cookie_t 453 ** 454 *****************************************************************************/ 455 456 xcb_xf86dri_get_client_driver_name_cookie_t 457 xcb_xf86dri_get_client_driver_name (xcb_connection_t *c /**< */, 458 uint32_t screen /**< */) 459 { 460 static const xcb_protocol_request_t xcb_req = { 461 /* count */ 2, 462 /* ext */ &xcb_xf86dri_id, 463 /* opcode */ XCB_XF86DRI_GET_CLIENT_DRIVER_NAME, 464 /* isvoid */ 0 465 }; 466 467 struct iovec xcb_parts[4]; 468 xcb_xf86dri_get_client_driver_name_cookie_t xcb_ret; 469 xcb_xf86dri_get_client_driver_name_request_t xcb_out; 470 471 xcb_out.screen = screen; 472 473 xcb_parts[2].iov_base = (char *) &xcb_out; 474 xcb_parts[2].iov_len = sizeof(xcb_out); 475 xcb_parts[3].iov_base = 0; 476 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 477 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 478 return xcb_ret; 479 } 480 481 482 /***************************************************************************** 483 ** 484 ** xcb_xf86dri_get_client_driver_name_cookie_t xcb_xf86dri_get_client_driver_name_unchecked 485 ** 486 ** @param xcb_connection_t *c 487 ** @param uint32_t screen 488 ** @returns xcb_xf86dri_get_client_driver_name_cookie_t 489 ** 490 *****************************************************************************/ 491 492 xcb_xf86dri_get_client_driver_name_cookie_t 493 xcb_xf86dri_get_client_driver_name_unchecked (xcb_connection_t *c /**< */, 494 uint32_t screen /**< */) 495 { 496 static const xcb_protocol_request_t xcb_req = { 497 /* count */ 2, 498 /* ext */ &xcb_xf86dri_id, 499 /* opcode */ XCB_XF86DRI_GET_CLIENT_DRIVER_NAME, 500 /* isvoid */ 0 501 }; 502 503 struct iovec xcb_parts[4]; 504 xcb_xf86dri_get_client_driver_name_cookie_t xcb_ret; 505 xcb_xf86dri_get_client_driver_name_request_t xcb_out; 506 507 xcb_out.screen = screen; 508 509 xcb_parts[2].iov_base = (char *) &xcb_out; 510 xcb_parts[2].iov_len = sizeof(xcb_out); 511 xcb_parts[3].iov_base = 0; 512 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 513 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 514 return xcb_ret; 515 } 516 517 518 /***************************************************************************** 519 ** 520 ** char * xcb_xf86dri_get_client_driver_name_client_driver_name 521 ** 522 ** @param const xcb_xf86dri_get_client_driver_name_reply_t *R 523 ** @returns char * 524 ** 525 *****************************************************************************/ 526 527 char * 528 xcb_xf86dri_get_client_driver_name_client_driver_name (const xcb_xf86dri_get_client_driver_name_reply_t *R /**< */) 529 { 530 return (char *) (R + 1); 531 } 532 533 534 /***************************************************************************** 535 ** 536 ** int xcb_xf86dri_get_client_driver_name_client_driver_name_length 537 ** 538 ** @param const xcb_xf86dri_get_client_driver_name_reply_t *R 539 ** @returns int 540 ** 541 *****************************************************************************/ 542 543 int 544 xcb_xf86dri_get_client_driver_name_client_driver_name_length (const xcb_xf86dri_get_client_driver_name_reply_t *R /**< */) 545 { 546 return R->client_driver_name_len; 547 } 548 549 550 /***************************************************************************** 551 ** 552 ** xcb_generic_iterator_t xcb_xf86dri_get_client_driver_name_client_driver_name_end 553 ** 554 ** @param const xcb_xf86dri_get_client_driver_name_reply_t *R 555 ** @returns xcb_generic_iterator_t 556 ** 557 *****************************************************************************/ 558 559 xcb_generic_iterator_t 560 xcb_xf86dri_get_client_driver_name_client_driver_name_end (const xcb_xf86dri_get_client_driver_name_reply_t *R /**< */) 561 { 562 xcb_generic_iterator_t i; 563 i.data = ((char *) (R + 1)) + (R->client_driver_name_len); 564 i.rem = 0; 565 i.index = (char *) i.data - (char *) R; 566 return i; 567 } 568 569 570 /***************************************************************************** 571 ** 572 ** xcb_xf86dri_get_client_driver_name_reply_t * xcb_xf86dri_get_client_driver_name_reply 573 ** 574 ** @param xcb_connection_t *c 575 ** @param xcb_xf86dri_get_client_driver_name_cookie_t cookie 576 ** @param xcb_generic_error_t **e 577 ** @returns xcb_xf86dri_get_client_driver_name_reply_t * 578 ** 579 *****************************************************************************/ 580 581 xcb_xf86dri_get_client_driver_name_reply_t * 582 xcb_xf86dri_get_client_driver_name_reply (xcb_connection_t *c /**< */, 583 xcb_xf86dri_get_client_driver_name_cookie_t cookie /**< */, 584 xcb_generic_error_t **e /**< */) 585 { 586 return (xcb_xf86dri_get_client_driver_name_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 587 } 588 589 590 /***************************************************************************** 591 ** 592 ** xcb_xf86dri_create_context_cookie_t xcb_xf86dri_create_context 593 ** 594 ** @param xcb_connection_t *c 595 ** @param uint32_t screen 596 ** @param uint32_t visual 597 ** @param uint32_t context 598 ** @returns xcb_xf86dri_create_context_cookie_t 599 ** 600 *****************************************************************************/ 601 602 xcb_xf86dri_create_context_cookie_t 603 xcb_xf86dri_create_context (xcb_connection_t *c /**< */, 604 uint32_t screen /**< */, 605 uint32_t visual /**< */, 606 uint32_t context /**< */) 607 { 608 static const xcb_protocol_request_t xcb_req = { 609 /* count */ 2, 610 /* ext */ &xcb_xf86dri_id, 611 /* opcode */ XCB_XF86DRI_CREATE_CONTEXT, 612 /* isvoid */ 0 613 }; 614 615 struct iovec xcb_parts[4]; 616 xcb_xf86dri_create_context_cookie_t xcb_ret; 617 xcb_xf86dri_create_context_request_t xcb_out; 618 619 xcb_out.screen = screen; 620 xcb_out.visual = visual; 621 xcb_out.context = context; 622 623 xcb_parts[2].iov_base = (char *) &xcb_out; 624 xcb_parts[2].iov_len = sizeof(xcb_out); 625 xcb_parts[3].iov_base = 0; 626 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 627 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 628 return xcb_ret; 629 } 630 631 632 /***************************************************************************** 633 ** 634 ** xcb_xf86dri_create_context_cookie_t xcb_xf86dri_create_context_unchecked 635 ** 636 ** @param xcb_connection_t *c 637 ** @param uint32_t screen 638 ** @param uint32_t visual 639 ** @param uint32_t context 640 ** @returns xcb_xf86dri_create_context_cookie_t 641 ** 642 *****************************************************************************/ 643 644 xcb_xf86dri_create_context_cookie_t 645 xcb_xf86dri_create_context_unchecked (xcb_connection_t *c /**< */, 646 uint32_t screen /**< */, 647 uint32_t visual /**< */, 648 uint32_t context /**< */) 649 { 650 static const xcb_protocol_request_t xcb_req = { 651 /* count */ 2, 652 /* ext */ &xcb_xf86dri_id, 653 /* opcode */ XCB_XF86DRI_CREATE_CONTEXT, 654 /* isvoid */ 0 655 }; 656 657 struct iovec xcb_parts[4]; 658 xcb_xf86dri_create_context_cookie_t xcb_ret; 659 xcb_xf86dri_create_context_request_t xcb_out; 660 661 xcb_out.screen = screen; 662 xcb_out.visual = visual; 663 xcb_out.context = context; 664 665 xcb_parts[2].iov_base = (char *) &xcb_out; 666 xcb_parts[2].iov_len = sizeof(xcb_out); 667 xcb_parts[3].iov_base = 0; 668 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 669 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 670 return xcb_ret; 671 } 672 673 674 /***************************************************************************** 675 ** 676 ** xcb_xf86dri_create_context_reply_t * xcb_xf86dri_create_context_reply 677 ** 678 ** @param xcb_connection_t *c 679 ** @param xcb_xf86dri_create_context_cookie_t cookie 680 ** @param xcb_generic_error_t **e 681 ** @returns xcb_xf86dri_create_context_reply_t * 682 ** 683 *****************************************************************************/ 684 685 xcb_xf86dri_create_context_reply_t * 686 xcb_xf86dri_create_context_reply (xcb_connection_t *c /**< */, 687 xcb_xf86dri_create_context_cookie_t cookie /**< */, 688 xcb_generic_error_t **e /**< */) 689 { 690 return (xcb_xf86dri_create_context_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 691 } 692 693 694 /***************************************************************************** 695 ** 696 ** xcb_void_cookie_t xcb_xf86dri_destroy_context_checked 697 ** 698 ** @param xcb_connection_t *c 699 ** @param uint32_t screen 700 ** @param uint32_t context 701 ** @returns xcb_void_cookie_t 702 ** 703 *****************************************************************************/ 704 705 xcb_void_cookie_t 706 xcb_xf86dri_destroy_context_checked (xcb_connection_t *c /**< */, 707 uint32_t screen /**< */, 708 uint32_t context /**< */) 709 { 710 static const xcb_protocol_request_t xcb_req = { 711 /* count */ 2, 712 /* ext */ &xcb_xf86dri_id, 713 /* opcode */ XCB_XF86DRI_DESTROY_CONTEXT, 714 /* isvoid */ 1 715 }; 716 717 struct iovec xcb_parts[4]; 718 xcb_void_cookie_t xcb_ret; 719 xcb_xf86dri_destroy_context_request_t xcb_out; 720 721 xcb_out.screen = screen; 722 xcb_out.context = context; 723 724 xcb_parts[2].iov_base = (char *) &xcb_out; 725 xcb_parts[2].iov_len = sizeof(xcb_out); 726 xcb_parts[3].iov_base = 0; 727 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 728 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 729 return xcb_ret; 730 } 731 732 733 /***************************************************************************** 734 ** 735 ** xcb_void_cookie_t xcb_xf86dri_destroy_context 736 ** 737 ** @param xcb_connection_t *c 738 ** @param uint32_t screen 739 ** @param uint32_t context 740 ** @returns xcb_void_cookie_t 741 ** 742 *****************************************************************************/ 743 744 xcb_void_cookie_t 745 xcb_xf86dri_destroy_context (xcb_connection_t *c /**< */, 746 uint32_t screen /**< */, 747 uint32_t context /**< */) 748 { 749 static const xcb_protocol_request_t xcb_req = { 750 /* count */ 2, 751 /* ext */ &xcb_xf86dri_id, 752 /* opcode */ XCB_XF86DRI_DESTROY_CONTEXT, 753 /* isvoid */ 1 754 }; 755 756 struct iovec xcb_parts[4]; 757 xcb_void_cookie_t xcb_ret; 758 xcb_xf86dri_destroy_context_request_t xcb_out; 759 760 xcb_out.screen = screen; 761 xcb_out.context = context; 762 763 xcb_parts[2].iov_base = (char *) &xcb_out; 764 xcb_parts[2].iov_len = sizeof(xcb_out); 765 xcb_parts[3].iov_base = 0; 766 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 767 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 768 return xcb_ret; 769 } 770 771 772 /***************************************************************************** 773 ** 774 ** xcb_xf86dri_create_drawable_cookie_t xcb_xf86dri_create_drawable 775 ** 776 ** @param xcb_connection_t *c 777 ** @param uint32_t screen 778 ** @param uint32_t drawable 779 ** @returns xcb_xf86dri_create_drawable_cookie_t 780 ** 781 *****************************************************************************/ 782 783 xcb_xf86dri_create_drawable_cookie_t 784 xcb_xf86dri_create_drawable (xcb_connection_t *c /**< */, 785 uint32_t screen /**< */, 786 uint32_t drawable /**< */) 787 { 788 static const xcb_protocol_request_t xcb_req = { 789 /* count */ 2, 790 /* ext */ &xcb_xf86dri_id, 791 /* opcode */ XCB_XF86DRI_CREATE_DRAWABLE, 792 /* isvoid */ 0 793 }; 794 795 struct iovec xcb_parts[4]; 796 xcb_xf86dri_create_drawable_cookie_t xcb_ret; 797 xcb_xf86dri_create_drawable_request_t xcb_out; 798 799 xcb_out.screen = screen; 800 xcb_out.drawable = drawable; 801 802 xcb_parts[2].iov_base = (char *) &xcb_out; 803 xcb_parts[2].iov_len = sizeof(xcb_out); 804 xcb_parts[3].iov_base = 0; 805 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 806 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 807 return xcb_ret; 808 } 809 810 811 /***************************************************************************** 812 ** 813 ** xcb_xf86dri_create_drawable_cookie_t xcb_xf86dri_create_drawable_unchecked 814 ** 815 ** @param xcb_connection_t *c 816 ** @param uint32_t screen 817 ** @param uint32_t drawable 818 ** @returns xcb_xf86dri_create_drawable_cookie_t 819 ** 820 *****************************************************************************/ 821 822 xcb_xf86dri_create_drawable_cookie_t 823 xcb_xf86dri_create_drawable_unchecked (xcb_connection_t *c /**< */, 824 uint32_t screen /**< */, 825 uint32_t drawable /**< */) 826 { 827 static const xcb_protocol_request_t xcb_req = { 828 /* count */ 2, 829 /* ext */ &xcb_xf86dri_id, 830 /* opcode */ XCB_XF86DRI_CREATE_DRAWABLE, 831 /* isvoid */ 0 832 }; 833 834 struct iovec xcb_parts[4]; 835 xcb_xf86dri_create_drawable_cookie_t xcb_ret; 836 xcb_xf86dri_create_drawable_request_t xcb_out; 837 838 xcb_out.screen = screen; 839 xcb_out.drawable = drawable; 840 841 xcb_parts[2].iov_base = (char *) &xcb_out; 842 xcb_parts[2].iov_len = sizeof(xcb_out); 843 xcb_parts[3].iov_base = 0; 844 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 845 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 846 return xcb_ret; 847 } 848 849 850 /***************************************************************************** 851 ** 852 ** xcb_xf86dri_create_drawable_reply_t * xcb_xf86dri_create_drawable_reply 853 ** 854 ** @param xcb_connection_t *c 855 ** @param xcb_xf86dri_create_drawable_cookie_t cookie 856 ** @param xcb_generic_error_t **e 857 ** @returns xcb_xf86dri_create_drawable_reply_t * 858 ** 859 *****************************************************************************/ 860 861 xcb_xf86dri_create_drawable_reply_t * 862 xcb_xf86dri_create_drawable_reply (xcb_connection_t *c /**< */, 863 xcb_xf86dri_create_drawable_cookie_t cookie /**< */, 864 xcb_generic_error_t **e /**< */) 865 { 866 return (xcb_xf86dri_create_drawable_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 867 } 868 869 870 /***************************************************************************** 871 ** 872 ** xcb_void_cookie_t xcb_xf86dri_destroy_drawable_checked 873 ** 874 ** @param xcb_connection_t *c 875 ** @param uint32_t screen 876 ** @param uint32_t drawable 877 ** @returns xcb_void_cookie_t 878 ** 879 *****************************************************************************/ 880 881 xcb_void_cookie_t 882 xcb_xf86dri_destroy_drawable_checked (xcb_connection_t *c /**< */, 883 uint32_t screen /**< */, 884 uint32_t drawable /**< */) 885 { 886 static const xcb_protocol_request_t xcb_req = { 887 /* count */ 2, 888 /* ext */ &xcb_xf86dri_id, 889 /* opcode */ XCB_XF86DRI_DESTROY_DRAWABLE, 890 /* isvoid */ 1 891 }; 892 893 struct iovec xcb_parts[4]; 894 xcb_void_cookie_t xcb_ret; 895 xcb_xf86dri_destroy_drawable_request_t xcb_out; 896 897 xcb_out.screen = screen; 898 xcb_out.drawable = drawable; 899 900 xcb_parts[2].iov_base = (char *) &xcb_out; 901 xcb_parts[2].iov_len = sizeof(xcb_out); 902 xcb_parts[3].iov_base = 0; 903 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 904 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 905 return xcb_ret; 906 } 907 908 909 /***************************************************************************** 910 ** 911 ** xcb_void_cookie_t xcb_xf86dri_destroy_drawable 912 ** 913 ** @param xcb_connection_t *c 914 ** @param uint32_t screen 915 ** @param uint32_t drawable 916 ** @returns xcb_void_cookie_t 917 ** 918 *****************************************************************************/ 919 920 xcb_void_cookie_t 921 xcb_xf86dri_destroy_drawable (xcb_connection_t *c /**< */, 922 uint32_t screen /**< */, 923 uint32_t drawable /**< */) 924 { 925 static const xcb_protocol_request_t xcb_req = { 926 /* count */ 2, 927 /* ext */ &xcb_xf86dri_id, 928 /* opcode */ XCB_XF86DRI_DESTROY_DRAWABLE, 929 /* isvoid */ 1 930 }; 931 932 struct iovec xcb_parts[4]; 933 xcb_void_cookie_t xcb_ret; 934 xcb_xf86dri_destroy_drawable_request_t xcb_out; 935 936 xcb_out.screen = screen; 937 xcb_out.drawable = drawable; 938 939 xcb_parts[2].iov_base = (char *) &xcb_out; 940 xcb_parts[2].iov_len = sizeof(xcb_out); 941 xcb_parts[3].iov_base = 0; 942 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 943 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 944 return xcb_ret; 945 } 946 947 948 /***************************************************************************** 949 ** 950 ** xcb_xf86dri_get_drawable_info_cookie_t xcb_xf86dri_get_drawable_info 951 ** 952 ** @param xcb_connection_t *c 953 ** @param uint32_t screen 954 ** @param uint32_t drawable 955 ** @returns xcb_xf86dri_get_drawable_info_cookie_t 956 ** 957 *****************************************************************************/ 958 959 xcb_xf86dri_get_drawable_info_cookie_t 960 xcb_xf86dri_get_drawable_info (xcb_connection_t *c /**< */, 961 uint32_t screen /**< */, 962 uint32_t drawable /**< */) 963 { 964 static const xcb_protocol_request_t xcb_req = { 965 /* count */ 2, 966 /* ext */ &xcb_xf86dri_id, 967 /* opcode */ XCB_XF86DRI_GET_DRAWABLE_INFO, 968 /* isvoid */ 0 969 }; 970 971 struct iovec xcb_parts[4]; 972 xcb_xf86dri_get_drawable_info_cookie_t xcb_ret; 973 xcb_xf86dri_get_drawable_info_request_t xcb_out; 974 975 xcb_out.screen = screen; 976 xcb_out.drawable = drawable; 977 978 xcb_parts[2].iov_base = (char *) &xcb_out; 979 xcb_parts[2].iov_len = sizeof(xcb_out); 980 xcb_parts[3].iov_base = 0; 981 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 982 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 983 return xcb_ret; 984 } 985 986 987 /***************************************************************************** 988 ** 989 ** xcb_xf86dri_get_drawable_info_cookie_t xcb_xf86dri_get_drawable_info_unchecked 990 ** 991 ** @param xcb_connection_t *c 992 ** @param uint32_t screen 993 ** @param uint32_t drawable 994 ** @returns xcb_xf86dri_get_drawable_info_cookie_t 995 ** 996 *****************************************************************************/ 997 998 xcb_xf86dri_get_drawable_info_cookie_t 999 xcb_xf86dri_get_drawable_info_unchecked (xcb_connection_t *c /**< */, 1000 uint32_t screen /**< */, 1001 uint32_t drawable /**< */) 1002 { 1003 static const xcb_protocol_request_t xcb_req = { 1004 /* count */ 2, 1005 /* ext */ &xcb_xf86dri_id, 1006 /* opcode */ XCB_XF86DRI_GET_DRAWABLE_INFO, 1007 /* isvoid */ 0 1008 }; 1009 1010 struct iovec xcb_parts[4]; 1011 xcb_xf86dri_get_drawable_info_cookie_t xcb_ret; 1012 xcb_xf86dri_get_drawable_info_request_t xcb_out; 1013 1014 xcb_out.screen = screen; 1015 xcb_out.drawable = drawable; 1016 1017 xcb_parts[2].iov_base = (char *) &xcb_out; 1018 xcb_parts[2].iov_len = sizeof(xcb_out); 1019 xcb_parts[3].iov_base = 0; 1020 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1021 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1022 return xcb_ret; 1023 } 1024 1025 1026 /***************************************************************************** 1027 ** 1028 ** xcb_xf86dri_drm_clip_rect_t * xcb_xf86dri_get_drawable_info_clip_rects 1029 ** 1030 ** @param const xcb_xf86dri_get_drawable_info_reply_t *R 1031 ** @returns xcb_xf86dri_drm_clip_rect_t * 1032 ** 1033 *****************************************************************************/ 1034 1035 xcb_xf86dri_drm_clip_rect_t * 1036 xcb_xf86dri_get_drawable_info_clip_rects (const xcb_xf86dri_get_drawable_info_reply_t *R /**< */) 1037 { 1038 return (xcb_xf86dri_drm_clip_rect_t *) (R + 1); 1039 } 1040 1041 1042 /***************************************************************************** 1043 ** 1044 ** int xcb_xf86dri_get_drawable_info_clip_rects_length 1045 ** 1046 ** @param const xcb_xf86dri_get_drawable_info_reply_t *R 1047 ** @returns int 1048 ** 1049 *****************************************************************************/ 1050 1051 int 1052 xcb_xf86dri_get_drawable_info_clip_rects_length (const xcb_xf86dri_get_drawable_info_reply_t *R /**< */) 1053 { 1054 return R->num_clip_rects; 1055 } 1056 1057 1058 /***************************************************************************** 1059 ** 1060 ** xcb_xf86dri_drm_clip_rect_iterator_t xcb_xf86dri_get_drawable_info_clip_rects_iterator 1061 ** 1062 ** @param const xcb_xf86dri_get_drawable_info_reply_t *R 1063 ** @returns xcb_xf86dri_drm_clip_rect_iterator_t 1064 ** 1065 *****************************************************************************/ 1066 1067 xcb_xf86dri_drm_clip_rect_iterator_t 1068 xcb_xf86dri_get_drawable_info_clip_rects_iterator (const xcb_xf86dri_get_drawable_info_reply_t *R /**< */) 1069 { 1070 xcb_xf86dri_drm_clip_rect_iterator_t i; 1071 i.data = (xcb_xf86dri_drm_clip_rect_t *) (R + 1); 1072 i.rem = R->num_clip_rects; 1073 i.index = (char *) i.data - (char *) R; 1074 return i; 1075 } 1076 1077 1078 /***************************************************************************** 1079 ** 1080 ** xcb_xf86dri_get_drawable_info_reply_t * xcb_xf86dri_get_drawable_info_reply 1081 ** 1082 ** @param xcb_connection_t *c 1083 ** @param xcb_xf86dri_get_drawable_info_cookie_t cookie 1084 ** @param xcb_generic_error_t **e 1085 ** @returns xcb_xf86dri_get_drawable_info_reply_t * 1086 ** 1087 *****************************************************************************/ 1088 1089 xcb_xf86dri_get_drawable_info_reply_t * 1090 xcb_xf86dri_get_drawable_info_reply (xcb_connection_t *c /**< */, 1091 xcb_xf86dri_get_drawable_info_cookie_t cookie /**< */, 1092 xcb_generic_error_t **e /**< */) 1093 { 1094 return (xcb_xf86dri_get_drawable_info_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 1095 } 1096 1097 1098 /***************************************************************************** 1099 ** 1100 ** xcb_xf86dri_get_device_info_cookie_t xcb_xf86dri_get_device_info 1101 ** 1102 ** @param xcb_connection_t *c 1103 ** @param uint32_t screen 1104 ** @returns xcb_xf86dri_get_device_info_cookie_t 1105 ** 1106 *****************************************************************************/ 1107 1108 xcb_xf86dri_get_device_info_cookie_t 1109 xcb_xf86dri_get_device_info (xcb_connection_t *c /**< */, 1110 uint32_t screen /**< */) 1111 { 1112 static const xcb_protocol_request_t xcb_req = { 1113 /* count */ 2, 1114 /* ext */ &xcb_xf86dri_id, 1115 /* opcode */ XCB_XF86DRI_GET_DEVICE_INFO, 1116 /* isvoid */ 0 1117 }; 1118 1119 struct iovec xcb_parts[4]; 1120 xcb_xf86dri_get_device_info_cookie_t xcb_ret; 1121 xcb_xf86dri_get_device_info_request_t xcb_out; 1122 1123 xcb_out.screen = screen; 1124 1125 xcb_parts[2].iov_base = (char *) &xcb_out; 1126 xcb_parts[2].iov_len = sizeof(xcb_out); 1127 xcb_parts[3].iov_base = 0; 1128 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1129 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1130 return xcb_ret; 1131 } 1132 1133 1134 /***************************************************************************** 1135 ** 1136 ** xcb_xf86dri_get_device_info_cookie_t xcb_xf86dri_get_device_info_unchecked 1137 ** 1138 ** @param xcb_connection_t *c 1139 ** @param uint32_t screen 1140 ** @returns xcb_xf86dri_get_device_info_cookie_t 1141 ** 1142 *****************************************************************************/ 1143 1144 xcb_xf86dri_get_device_info_cookie_t 1145 xcb_xf86dri_get_device_info_unchecked (xcb_connection_t *c /**< */, 1146 uint32_t screen /**< */) 1147 { 1148 static const xcb_protocol_request_t xcb_req = { 1149 /* count */ 2, 1150 /* ext */ &xcb_xf86dri_id, 1151 /* opcode */ XCB_XF86DRI_GET_DEVICE_INFO, 1152 /* isvoid */ 0 1153 }; 1154 1155 struct iovec xcb_parts[4]; 1156 xcb_xf86dri_get_device_info_cookie_t xcb_ret; 1157 xcb_xf86dri_get_device_info_request_t xcb_out; 1158 1159 xcb_out.screen = screen; 1160 1161 xcb_parts[2].iov_base = (char *) &xcb_out; 1162 xcb_parts[2].iov_len = sizeof(xcb_out); 1163 xcb_parts[3].iov_base = 0; 1164 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1165 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1166 return xcb_ret; 1167 } 1168 1169 1170 /***************************************************************************** 1171 ** 1172 ** uint32_t * xcb_xf86dri_get_device_info_device_private 1173 ** 1174 ** @param const xcb_xf86dri_get_device_info_reply_t *R 1175 ** @returns uint32_t * 1176 ** 1177 *****************************************************************************/ 1178 1179 uint32_t * 1180 xcb_xf86dri_get_device_info_device_private (const xcb_xf86dri_get_device_info_reply_t *R /**< */) 1181 { 1182 return (uint32_t *) (R + 1); 1183 } 1184 1185 1186 /***************************************************************************** 1187 ** 1188 ** int xcb_xf86dri_get_device_info_device_private_length 1189 ** 1190 ** @param const xcb_xf86dri_get_device_info_reply_t *R 1191 ** @returns int 1192 ** 1193 *****************************************************************************/ 1194 1195 int 1196 xcb_xf86dri_get_device_info_device_private_length (const xcb_xf86dri_get_device_info_reply_t *R /**< */) 1197 { 1198 return R->device_private_size; 1199 } 1200 1201 1202 /***************************************************************************** 1203 ** 1204 ** xcb_generic_iterator_t xcb_xf86dri_get_device_info_device_private_end 1205 ** 1206 ** @param const xcb_xf86dri_get_device_info_reply_t *R 1207 ** @returns xcb_generic_iterator_t 1208 ** 1209 *****************************************************************************/ 1210 1211 xcb_generic_iterator_t 1212 xcb_xf86dri_get_device_info_device_private_end (const xcb_xf86dri_get_device_info_reply_t *R /**< */) 1213 { 1214 xcb_generic_iterator_t i; 1215 i.data = ((uint32_t *) (R + 1)) + (R->device_private_size); 1216 i.rem = 0; 1217 i.index = (char *) i.data - (char *) R; 1218 return i; 1219 } 1220 1221 1222 /***************************************************************************** 1223 ** 1224 ** xcb_xf86dri_get_device_info_reply_t * xcb_xf86dri_get_device_info_reply 1225 ** 1226 ** @param xcb_connection_t *c 1227 ** @param xcb_xf86dri_get_device_info_cookie_t cookie 1228 ** @param xcb_generic_error_t **e 1229 ** @returns xcb_xf86dri_get_device_info_reply_t * 1230 ** 1231 *****************************************************************************/ 1232 1233 xcb_xf86dri_get_device_info_reply_t * 1234 xcb_xf86dri_get_device_info_reply (xcb_connection_t *c /**< */, 1235 xcb_xf86dri_get_device_info_cookie_t cookie /**< */, 1236 xcb_generic_error_t **e /**< */) 1237 { 1238 return (xcb_xf86dri_get_device_info_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 1239 } 1240 1241 1242 /***************************************************************************** 1243 ** 1244 ** xcb_xf86dri_auth_connection_cookie_t xcb_xf86dri_auth_connection 1245 ** 1246 ** @param xcb_connection_t *c 1247 ** @param uint32_t screen 1248 ** @param uint32_t magic 1249 ** @returns xcb_xf86dri_auth_connection_cookie_t 1250 ** 1251 *****************************************************************************/ 1252 1253 xcb_xf86dri_auth_connection_cookie_t 1254 xcb_xf86dri_auth_connection (xcb_connection_t *c /**< */, 1255 uint32_t screen /**< */, 1256 uint32_t magic /**< */) 1257 { 1258 static const xcb_protocol_request_t xcb_req = { 1259 /* count */ 2, 1260 /* ext */ &xcb_xf86dri_id, 1261 /* opcode */ XCB_XF86DRI_AUTH_CONNECTION, 1262 /* isvoid */ 0 1263 }; 1264 1265 struct iovec xcb_parts[4]; 1266 xcb_xf86dri_auth_connection_cookie_t xcb_ret; 1267 xcb_xf86dri_auth_connection_request_t xcb_out; 1268 1269 xcb_out.screen = screen; 1270 xcb_out.magic = magic; 1271 1272 xcb_parts[2].iov_base = (char *) &xcb_out; 1273 xcb_parts[2].iov_len = sizeof(xcb_out); 1274 xcb_parts[3].iov_base = 0; 1275 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1276 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1277 return xcb_ret; 1278 } 1279 1280 1281 /***************************************************************************** 1282 ** 1283 ** xcb_xf86dri_auth_connection_cookie_t xcb_xf86dri_auth_connection_unchecked 1284 ** 1285 ** @param xcb_connection_t *c 1286 ** @param uint32_t screen 1287 ** @param uint32_t magic 1288 ** @returns xcb_xf86dri_auth_connection_cookie_t 1289 ** 1290 *****************************************************************************/ 1291 1292 xcb_xf86dri_auth_connection_cookie_t 1293 xcb_xf86dri_auth_connection_unchecked (xcb_connection_t *c /**< */, 1294 uint32_t screen /**< */, 1295 uint32_t magic /**< */) 1296 { 1297 static const xcb_protocol_request_t xcb_req = { 1298 /* count */ 2, 1299 /* ext */ &xcb_xf86dri_id, 1300 /* opcode */ XCB_XF86DRI_AUTH_CONNECTION, 1301 /* isvoid */ 0 1302 }; 1303 1304 struct iovec xcb_parts[4]; 1305 xcb_xf86dri_auth_connection_cookie_t xcb_ret; 1306 xcb_xf86dri_auth_connection_request_t xcb_out; 1307 1308 xcb_out.screen = screen; 1309 xcb_out.magic = magic; 1310 1311 xcb_parts[2].iov_base = (char *) &xcb_out; 1312 xcb_parts[2].iov_len = sizeof(xcb_out); 1313 xcb_parts[3].iov_base = 0; 1314 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1315 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1316 return xcb_ret; 1317 } 1318 1319 1320 /***************************************************************************** 1321 ** 1322 ** xcb_xf86dri_auth_connection_reply_t * xcb_xf86dri_auth_connection_reply 1323 ** 1324 ** @param xcb_connection_t *c 1325 ** @param xcb_xf86dri_auth_connection_cookie_t cookie 1326 ** @param xcb_generic_error_t **e 1327 ** @returns xcb_xf86dri_auth_connection_reply_t * 1328 ** 1329 *****************************************************************************/ 1330 1331 xcb_xf86dri_auth_connection_reply_t * 1332 xcb_xf86dri_auth_connection_reply (xcb_connection_t *c /**< */, 1333 xcb_xf86dri_auth_connection_cookie_t cookie /**< */, 1334 xcb_generic_error_t **e /**< */) 1335 { 1336 return (xcb_xf86dri_auth_connection_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 1337 } 1338 1339