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