1 /* 2 * This file generated automatically from xv.xml by c_client.py. 3 * Edit at your peril. 4 */ 5 6 /** 7 * @defgroup XCB_Xv_API XCB Xv API 8 * @brief Xv XCB Protocol Implementation. 9 * @{ 10 **/ 11 12 #ifndef __XV_H 13 #define __XV_H 14 15 #include "xcb.h" 16 #include "xproto.h" 17 #include "shm.h" 18 19 #ifdef __cplusplus 20 extern "C" { 21 #endif 22 23 #define XCB_XV_MAJOR_VERSION 2 24 #define XCB_XV_MINOR_VERSION 2 25 26 extern xcb_extension_t xcb_xv_id; 27 28 typedef uint32_t xcb_xv_port_t; 29 30 /** 31 * @brief xcb_xv_port_iterator_t 32 **/ 33 typedef struct xcb_xv_port_iterator_t { 34 xcb_xv_port_t *data; 35 int rem; 36 int index; 37 } xcb_xv_port_iterator_t; 38 39 typedef uint32_t xcb_xv_encoding_t; 40 41 /** 42 * @brief xcb_xv_encoding_iterator_t 43 **/ 44 typedef struct xcb_xv_encoding_iterator_t { 45 xcb_xv_encoding_t *data; 46 int rem; 47 int index; 48 } xcb_xv_encoding_iterator_t; 49 50 typedef enum xcb_xv_type_t { 51 XCB_XV_TYPE_INPUT_MASK = 1, 52 XCB_XV_TYPE_OUTPUT_MASK = 2, 53 XCB_XV_TYPE_VIDEO_MASK = 4, 54 XCB_XV_TYPE_STILL_MASK = 8, 55 XCB_XV_TYPE_IMAGE_MASK = 16 56 } xcb_xv_type_t; 57 58 typedef enum xcb_xv_image_format_info_type_t { 59 XCB_XV_IMAGE_FORMAT_INFO_TYPE_RGB = 0, 60 XCB_XV_IMAGE_FORMAT_INFO_TYPE_YUV = 1 61 } xcb_xv_image_format_info_type_t; 62 63 typedef enum xcb_xv_image_format_info_format_t { 64 XCB_XV_IMAGE_FORMAT_INFO_FORMAT_PACKED = 0, 65 XCB_XV_IMAGE_FORMAT_INFO_FORMAT_PLANAR = 1 66 } xcb_xv_image_format_info_format_t; 67 68 typedef enum xcb_xv_attribute_flag_t { 69 XCB_XV_ATTRIBUTE_FLAG_GETTABLE = 1, 70 XCB_XV_ATTRIBUTE_FLAG_SETTABLE = 2 71 } xcb_xv_attribute_flag_t; 72 73 typedef enum xcb_xv_video_notify_reason_t { 74 XCB_XV_VIDEO_NOTIFY_REASON_STARTED = 0, 75 XCB_XV_VIDEO_NOTIFY_REASON_STOPPED = 1, 76 XCB_XV_VIDEO_NOTIFY_REASON_BUSY = 2, 77 XCB_XV_VIDEO_NOTIFY_REASON_PREEMPTED = 3, 78 XCB_XV_VIDEO_NOTIFY_REASON_HARD_ERROR = 4 79 } xcb_xv_video_notify_reason_t; 80 81 typedef enum xcb_xv_scanline_order_t { 82 XCB_XV_SCANLINE_ORDER_TOP_TO_BOTTOM = 0, 83 XCB_XV_SCANLINE_ORDER_BOTTOM_TO_TOP = 1 84 } xcb_xv_scanline_order_t; 85 86 typedef enum xcb_xv_grab_port_status_t { 87 XCB_XV_GRAB_PORT_STATUS_SUCCESS = 0, 88 XCB_XV_GRAB_PORT_STATUS_BAD_EXTENSION = 1, 89 XCB_XV_GRAB_PORT_STATUS_ALREADY_GRABBED = 2, 90 XCB_XV_GRAB_PORT_STATUS_INVALID_TIME = 3, 91 XCB_XV_GRAB_PORT_STATUS_BAD_REPLY = 4, 92 XCB_XV_GRAB_PORT_STATUS_BAD_ALLOC = 5 93 } xcb_xv_grab_port_status_t; 94 95 /** 96 * @brief xcb_xv_rational_t 97 **/ 98 typedef struct xcb_xv_rational_t { 99 int32_t numerator; 100 int32_t denominator; 101 } xcb_xv_rational_t; 102 103 /** 104 * @brief xcb_xv_rational_iterator_t 105 **/ 106 typedef struct xcb_xv_rational_iterator_t { 107 xcb_xv_rational_t *data; 108 int rem; 109 int index; 110 } xcb_xv_rational_iterator_t; 111 112 /** 113 * @brief xcb_xv_format_t 114 **/ 115 typedef struct xcb_xv_format_t { 116 xcb_visualid_t visual; 117 uint8_t depth; 118 uint8_t pad0[3]; 119 } xcb_xv_format_t; 120 121 /** 122 * @brief xcb_xv_format_iterator_t 123 **/ 124 typedef struct xcb_xv_format_iterator_t { 125 xcb_xv_format_t *data; 126 int rem; 127 int index; 128 } xcb_xv_format_iterator_t; 129 130 /** 131 * @brief xcb_xv_adaptor_info_t 132 **/ 133 typedef struct xcb_xv_adaptor_info_t { 134 xcb_xv_port_t base_id; 135 uint16_t name_size; 136 uint16_t num_ports; 137 uint16_t num_formats; 138 uint8_t type; 139 uint8_t pad0; 140 } xcb_xv_adaptor_info_t; 141 142 /** 143 * @brief xcb_xv_adaptor_info_iterator_t 144 **/ 145 typedef struct xcb_xv_adaptor_info_iterator_t { 146 xcb_xv_adaptor_info_t *data; 147 int rem; 148 int index; 149 } xcb_xv_adaptor_info_iterator_t; 150 151 /** 152 * @brief xcb_xv_encoding_info_t 153 **/ 154 typedef struct xcb_xv_encoding_info_t { 155 xcb_xv_encoding_t encoding; 156 uint16_t name_size; 157 uint16_t width; 158 uint16_t height; 159 uint8_t pad0[2]; 160 xcb_xv_rational_t rate; 161 } xcb_xv_encoding_info_t; 162 163 /** 164 * @brief xcb_xv_encoding_info_iterator_t 165 **/ 166 typedef struct xcb_xv_encoding_info_iterator_t { 167 xcb_xv_encoding_info_t *data; 168 int rem; 169 int index; 170 } xcb_xv_encoding_info_iterator_t; 171 172 /** 173 * @brief xcb_xv_image_t 174 **/ 175 typedef struct xcb_xv_image_t { 176 uint32_t id; 177 uint16_t width; 178 uint16_t height; 179 uint32_t data_size; 180 uint32_t num_planes; 181 } xcb_xv_image_t; 182 183 /** 184 * @brief xcb_xv_image_iterator_t 185 **/ 186 typedef struct xcb_xv_image_iterator_t { 187 xcb_xv_image_t *data; 188 int rem; 189 int index; 190 } xcb_xv_image_iterator_t; 191 192 /** 193 * @brief xcb_xv_attribute_info_t 194 **/ 195 typedef struct xcb_xv_attribute_info_t { 196 uint32_t flags; 197 int32_t min; 198 int32_t max; 199 uint32_t size; 200 } xcb_xv_attribute_info_t; 201 202 /** 203 * @brief xcb_xv_attribute_info_iterator_t 204 **/ 205 typedef struct xcb_xv_attribute_info_iterator_t { 206 xcb_xv_attribute_info_t *data; 207 int rem; 208 int index; 209 } xcb_xv_attribute_info_iterator_t; 210 211 /** 212 * @brief xcb_xv_image_format_info_t 213 **/ 214 typedef struct xcb_xv_image_format_info_t { 215 uint32_t id; 216 uint8_t type; 217 uint8_t byte_order; 218 uint8_t pad0[2]; 219 uint8_t guid[16]; 220 uint8_t bpp; 221 uint8_t num_planes; 222 uint8_t pad1[2]; 223 uint8_t depth; 224 uint8_t pad2[3]; 225 uint32_t red_mask; 226 uint32_t green_mask; 227 uint32_t blue_mask; 228 uint8_t format; 229 uint8_t pad3[3]; 230 uint32_t y_sample_bits; 231 uint32_t u_sample_bits; 232 uint32_t v_sample_bits; 233 uint32_t vhorz_y_period; 234 uint32_t vhorz_u_period; 235 uint32_t vhorz_v_period; 236 uint32_t vvert_y_period; 237 uint32_t vvert_u_period; 238 uint32_t vvert_v_period; 239 uint8_t vcomp_order[32]; 240 uint8_t vscanline_order; 241 uint8_t pad4[11]; 242 } xcb_xv_image_format_info_t; 243 244 /** 245 * @brief xcb_xv_image_format_info_iterator_t 246 **/ 247 typedef struct xcb_xv_image_format_info_iterator_t { 248 xcb_xv_image_format_info_t *data; 249 int rem; 250 int index; 251 } xcb_xv_image_format_info_iterator_t; 252 253 /** Opcode for xcb_xv_bad_port. */ 254 #define XCB_XV_BAD_PORT 0 255 256 /** 257 * @brief xcb_xv_bad_port_error_t 258 **/ 259 typedef struct xcb_xv_bad_port_error_t { 260 uint8_t response_type; 261 uint8_t error_code; 262 uint16_t sequence; 263 uint32_t bad_value; 264 uint16_t minor_opcode; 265 uint8_t major_opcode; 266 } xcb_xv_bad_port_error_t; 267 268 /** Opcode for xcb_xv_bad_encoding. */ 269 #define XCB_XV_BAD_ENCODING 1 270 271 /** 272 * @brief xcb_xv_bad_encoding_error_t 273 **/ 274 typedef struct xcb_xv_bad_encoding_error_t { 275 uint8_t response_type; 276 uint8_t error_code; 277 uint16_t sequence; 278 uint32_t bad_value; 279 uint16_t minor_opcode; 280 uint8_t major_opcode; 281 } xcb_xv_bad_encoding_error_t; 282 283 /** Opcode for xcb_xv_bad_control. */ 284 #define XCB_XV_BAD_CONTROL 2 285 286 /** 287 * @brief xcb_xv_bad_control_error_t 288 **/ 289 typedef struct xcb_xv_bad_control_error_t { 290 uint8_t response_type; 291 uint8_t error_code; 292 uint16_t sequence; 293 uint32_t bad_value; 294 uint16_t minor_opcode; 295 uint8_t major_opcode; 296 } xcb_xv_bad_control_error_t; 297 298 /** Opcode for xcb_xv_video_notify. */ 299 #define XCB_XV_VIDEO_NOTIFY 0 300 301 /** 302 * @brief xcb_xv_video_notify_event_t 303 **/ 304 typedef struct xcb_xv_video_notify_event_t { 305 uint8_t response_type; 306 uint8_t reason; 307 uint16_t sequence; 308 xcb_timestamp_t time; 309 xcb_drawable_t drawable; 310 xcb_xv_port_t port; 311 } xcb_xv_video_notify_event_t; 312 313 /** Opcode for xcb_xv_port_notify. */ 314 #define XCB_XV_PORT_NOTIFY 1 315 316 /** 317 * @brief xcb_xv_port_notify_event_t 318 **/ 319 typedef struct xcb_xv_port_notify_event_t { 320 uint8_t response_type; 321 uint8_t pad0; 322 uint16_t sequence; 323 xcb_timestamp_t time; 324 xcb_xv_port_t port; 325 xcb_atom_t attribute; 326 int32_t value; 327 } xcb_xv_port_notify_event_t; 328 329 /** 330 * @brief xcb_xv_query_extension_cookie_t 331 **/ 332 typedef struct xcb_xv_query_extension_cookie_t { 333 unsigned int sequence; 334 } xcb_xv_query_extension_cookie_t; 335 336 /** Opcode for xcb_xv_query_extension. */ 337 #define XCB_XV_QUERY_EXTENSION 0 338 339 /** 340 * @brief xcb_xv_query_extension_request_t 341 **/ 342 typedef struct xcb_xv_query_extension_request_t { 343 uint8_t major_opcode; 344 uint8_t minor_opcode; 345 uint16_t length; 346 } xcb_xv_query_extension_request_t; 347 348 /** 349 * @brief xcb_xv_query_extension_reply_t 350 **/ 351 typedef struct xcb_xv_query_extension_reply_t { 352 uint8_t response_type; 353 uint8_t pad0; 354 uint16_t sequence; 355 uint32_t length; 356 uint16_t major; 357 uint16_t minor; 358 } xcb_xv_query_extension_reply_t; 359 360 /** 361 * @brief xcb_xv_query_adaptors_cookie_t 362 **/ 363 typedef struct xcb_xv_query_adaptors_cookie_t { 364 unsigned int sequence; 365 } xcb_xv_query_adaptors_cookie_t; 366 367 /** Opcode for xcb_xv_query_adaptors. */ 368 #define XCB_XV_QUERY_ADAPTORS 1 369 370 /** 371 * @brief xcb_xv_query_adaptors_request_t 372 **/ 373 typedef struct xcb_xv_query_adaptors_request_t { 374 uint8_t major_opcode; 375 uint8_t minor_opcode; 376 uint16_t length; 377 xcb_window_t window; 378 } xcb_xv_query_adaptors_request_t; 379 380 /** 381 * @brief xcb_xv_query_adaptors_reply_t 382 **/ 383 typedef struct xcb_xv_query_adaptors_reply_t { 384 uint8_t response_type; 385 uint8_t pad0; 386 uint16_t sequence; 387 uint32_t length; 388 uint16_t num_adaptors; 389 uint8_t pad1[22]; 390 } xcb_xv_query_adaptors_reply_t; 391 392 /** 393 * @brief xcb_xv_query_encodings_cookie_t 394 **/ 395 typedef struct xcb_xv_query_encodings_cookie_t { 396 unsigned int sequence; 397 } xcb_xv_query_encodings_cookie_t; 398 399 /** Opcode for xcb_xv_query_encodings. */ 400 #define XCB_XV_QUERY_ENCODINGS 2 401 402 /** 403 * @brief xcb_xv_query_encodings_request_t 404 **/ 405 typedef struct xcb_xv_query_encodings_request_t { 406 uint8_t major_opcode; 407 uint8_t minor_opcode; 408 uint16_t length; 409 xcb_xv_port_t port; 410 } xcb_xv_query_encodings_request_t; 411 412 /** 413 * @brief xcb_xv_query_encodings_reply_t 414 **/ 415 typedef struct xcb_xv_query_encodings_reply_t { 416 uint8_t response_type; 417 uint8_t pad0; 418 uint16_t sequence; 419 uint32_t length; 420 uint16_t num_encodings; 421 uint8_t pad1[22]; 422 } xcb_xv_query_encodings_reply_t; 423 424 /** 425 * @brief xcb_xv_grab_port_cookie_t 426 **/ 427 typedef struct xcb_xv_grab_port_cookie_t { 428 unsigned int sequence; 429 } xcb_xv_grab_port_cookie_t; 430 431 /** Opcode for xcb_xv_grab_port. */ 432 #define XCB_XV_GRAB_PORT 3 433 434 /** 435 * @brief xcb_xv_grab_port_request_t 436 **/ 437 typedef struct xcb_xv_grab_port_request_t { 438 uint8_t major_opcode; 439 uint8_t minor_opcode; 440 uint16_t length; 441 xcb_xv_port_t port; 442 xcb_timestamp_t time; 443 } xcb_xv_grab_port_request_t; 444 445 /** 446 * @brief xcb_xv_grab_port_reply_t 447 **/ 448 typedef struct xcb_xv_grab_port_reply_t { 449 uint8_t response_type; 450 uint8_t result; 451 uint16_t sequence; 452 uint32_t length; 453 } xcb_xv_grab_port_reply_t; 454 455 /** Opcode for xcb_xv_ungrab_port. */ 456 #define XCB_XV_UNGRAB_PORT 4 457 458 /** 459 * @brief xcb_xv_ungrab_port_request_t 460 **/ 461 typedef struct xcb_xv_ungrab_port_request_t { 462 uint8_t major_opcode; 463 uint8_t minor_opcode; 464 uint16_t length; 465 xcb_xv_port_t port; 466 xcb_timestamp_t time; 467 } xcb_xv_ungrab_port_request_t; 468 469 /** Opcode for xcb_xv_put_video. */ 470 #define XCB_XV_PUT_VIDEO 5 471 472 /** 473 * @brief xcb_xv_put_video_request_t 474 **/ 475 typedef struct xcb_xv_put_video_request_t { 476 uint8_t major_opcode; 477 uint8_t minor_opcode; 478 uint16_t length; 479 xcb_xv_port_t port; 480 xcb_drawable_t drawable; 481 xcb_gcontext_t gc; 482 int16_t vid_x; 483 int16_t vid_y; 484 uint16_t vid_w; 485 uint16_t vid_h; 486 int16_t drw_x; 487 int16_t drw_y; 488 uint16_t drw_w; 489 uint16_t drw_h; 490 } xcb_xv_put_video_request_t; 491 492 /** Opcode for xcb_xv_put_still. */ 493 #define XCB_XV_PUT_STILL 6 494 495 /** 496 * @brief xcb_xv_put_still_request_t 497 **/ 498 typedef struct xcb_xv_put_still_request_t { 499 uint8_t major_opcode; 500 uint8_t minor_opcode; 501 uint16_t length; 502 xcb_xv_port_t port; 503 xcb_drawable_t drawable; 504 xcb_gcontext_t gc; 505 int16_t vid_x; 506 int16_t vid_y; 507 uint16_t vid_w; 508 uint16_t vid_h; 509 int16_t drw_x; 510 int16_t drw_y; 511 uint16_t drw_w; 512 uint16_t drw_h; 513 } xcb_xv_put_still_request_t; 514 515 /** Opcode for xcb_xv_get_video. */ 516 #define XCB_XV_GET_VIDEO 7 517 518 /** 519 * @brief xcb_xv_get_video_request_t 520 **/ 521 typedef struct xcb_xv_get_video_request_t { 522 uint8_t major_opcode; 523 uint8_t minor_opcode; 524 uint16_t length; 525 xcb_xv_port_t port; 526 xcb_drawable_t drawable; 527 xcb_gcontext_t gc; 528 int16_t vid_x; 529 int16_t vid_y; 530 uint16_t vid_w; 531 uint16_t vid_h; 532 int16_t drw_x; 533 int16_t drw_y; 534 uint16_t drw_w; 535 uint16_t drw_h; 536 } xcb_xv_get_video_request_t; 537 538 /** Opcode for xcb_xv_get_still. */ 539 #define XCB_XV_GET_STILL 8 540 541 /** 542 * @brief xcb_xv_get_still_request_t 543 **/ 544 typedef struct xcb_xv_get_still_request_t { 545 uint8_t major_opcode; 546 uint8_t minor_opcode; 547 uint16_t length; 548 xcb_xv_port_t port; 549 xcb_drawable_t drawable; 550 xcb_gcontext_t gc; 551 int16_t vid_x; 552 int16_t vid_y; 553 uint16_t vid_w; 554 uint16_t vid_h; 555 int16_t drw_x; 556 int16_t drw_y; 557 uint16_t drw_w; 558 uint16_t drw_h; 559 } xcb_xv_get_still_request_t; 560 561 /** Opcode for xcb_xv_stop_video. */ 562 #define XCB_XV_STOP_VIDEO 9 563 564 /** 565 * @brief xcb_xv_stop_video_request_t 566 **/ 567 typedef struct xcb_xv_stop_video_request_t { 568 uint8_t major_opcode; 569 uint8_t minor_opcode; 570 uint16_t length; 571 xcb_xv_port_t port; 572 xcb_drawable_t drawable; 573 } xcb_xv_stop_video_request_t; 574 575 /** Opcode for xcb_xv_select_video_notify. */ 576 #define XCB_XV_SELECT_VIDEO_NOTIFY 10 577 578 /** 579 * @brief xcb_xv_select_video_notify_request_t 580 **/ 581 typedef struct xcb_xv_select_video_notify_request_t { 582 uint8_t major_opcode; 583 uint8_t minor_opcode; 584 uint16_t length; 585 xcb_drawable_t drawable; 586 uint8_t onoff; 587 uint8_t pad0[3]; 588 } xcb_xv_select_video_notify_request_t; 589 590 /** Opcode for xcb_xv_select_port_notify. */ 591 #define XCB_XV_SELECT_PORT_NOTIFY 11 592 593 /** 594 * @brief xcb_xv_select_port_notify_request_t 595 **/ 596 typedef struct xcb_xv_select_port_notify_request_t { 597 uint8_t major_opcode; 598 uint8_t minor_opcode; 599 uint16_t length; 600 xcb_xv_port_t port; 601 uint8_t onoff; 602 uint8_t pad0[3]; 603 } xcb_xv_select_port_notify_request_t; 604 605 /** 606 * @brief xcb_xv_query_best_size_cookie_t 607 **/ 608 typedef struct xcb_xv_query_best_size_cookie_t { 609 unsigned int sequence; 610 } xcb_xv_query_best_size_cookie_t; 611 612 /** Opcode for xcb_xv_query_best_size. */ 613 #define XCB_XV_QUERY_BEST_SIZE 12 614 615 /** 616 * @brief xcb_xv_query_best_size_request_t 617 **/ 618 typedef struct xcb_xv_query_best_size_request_t { 619 uint8_t major_opcode; 620 uint8_t minor_opcode; 621 uint16_t length; 622 xcb_xv_port_t port; 623 uint16_t vid_w; 624 uint16_t vid_h; 625 uint16_t drw_w; 626 uint16_t drw_h; 627 uint8_t motion; 628 uint8_t pad0[3]; 629 } xcb_xv_query_best_size_request_t; 630 631 /** 632 * @brief xcb_xv_query_best_size_reply_t 633 **/ 634 typedef struct xcb_xv_query_best_size_reply_t { 635 uint8_t response_type; 636 uint8_t pad0; 637 uint16_t sequence; 638 uint32_t length; 639 uint16_t actual_width; 640 uint16_t actual_height; 641 } xcb_xv_query_best_size_reply_t; 642 643 /** Opcode for xcb_xv_set_port_attribute. */ 644 #define XCB_XV_SET_PORT_ATTRIBUTE 13 645 646 /** 647 * @brief xcb_xv_set_port_attribute_request_t 648 **/ 649 typedef struct xcb_xv_set_port_attribute_request_t { 650 uint8_t major_opcode; 651 uint8_t minor_opcode; 652 uint16_t length; 653 xcb_xv_port_t port; 654 xcb_atom_t attribute; 655 int32_t value; 656 } xcb_xv_set_port_attribute_request_t; 657 658 /** 659 * @brief xcb_xv_get_port_attribute_cookie_t 660 **/ 661 typedef struct xcb_xv_get_port_attribute_cookie_t { 662 unsigned int sequence; 663 } xcb_xv_get_port_attribute_cookie_t; 664 665 /** Opcode for xcb_xv_get_port_attribute. */ 666 #define XCB_XV_GET_PORT_ATTRIBUTE 14 667 668 /** 669 * @brief xcb_xv_get_port_attribute_request_t 670 **/ 671 typedef struct xcb_xv_get_port_attribute_request_t { 672 uint8_t major_opcode; 673 uint8_t minor_opcode; 674 uint16_t length; 675 xcb_xv_port_t port; 676 xcb_atom_t attribute; 677 } xcb_xv_get_port_attribute_request_t; 678 679 /** 680 * @brief xcb_xv_get_port_attribute_reply_t 681 **/ 682 typedef struct xcb_xv_get_port_attribute_reply_t { 683 uint8_t response_type; 684 uint8_t pad0; 685 uint16_t sequence; 686 uint32_t length; 687 int32_t value; 688 } xcb_xv_get_port_attribute_reply_t; 689 690 /** 691 * @brief xcb_xv_query_port_attributes_cookie_t 692 **/ 693 typedef struct xcb_xv_query_port_attributes_cookie_t { 694 unsigned int sequence; 695 } xcb_xv_query_port_attributes_cookie_t; 696 697 /** Opcode for xcb_xv_query_port_attributes. */ 698 #define XCB_XV_QUERY_PORT_ATTRIBUTES 15 699 700 /** 701 * @brief xcb_xv_query_port_attributes_request_t 702 **/ 703 typedef struct xcb_xv_query_port_attributes_request_t { 704 uint8_t major_opcode; 705 uint8_t minor_opcode; 706 uint16_t length; 707 xcb_xv_port_t port; 708 } xcb_xv_query_port_attributes_request_t; 709 710 /** 711 * @brief xcb_xv_query_port_attributes_reply_t 712 **/ 713 typedef struct xcb_xv_query_port_attributes_reply_t { 714 uint8_t response_type; 715 uint8_t pad0; 716 uint16_t sequence; 717 uint32_t length; 718 uint32_t num_attributes; 719 uint32_t text_size; 720 uint8_t pad1[16]; 721 } xcb_xv_query_port_attributes_reply_t; 722 723 /** 724 * @brief xcb_xv_list_image_formats_cookie_t 725 **/ 726 typedef struct xcb_xv_list_image_formats_cookie_t { 727 unsigned int sequence; 728 } xcb_xv_list_image_formats_cookie_t; 729 730 /** Opcode for xcb_xv_list_image_formats. */ 731 #define XCB_XV_LIST_IMAGE_FORMATS 16 732 733 /** 734 * @brief xcb_xv_list_image_formats_request_t 735 **/ 736 typedef struct xcb_xv_list_image_formats_request_t { 737 uint8_t major_opcode; 738 uint8_t minor_opcode; 739 uint16_t length; 740 xcb_xv_port_t port; 741 } xcb_xv_list_image_formats_request_t; 742 743 /** 744 * @brief xcb_xv_list_image_formats_reply_t 745 **/ 746 typedef struct xcb_xv_list_image_formats_reply_t { 747 uint8_t response_type; 748 uint8_t pad0; 749 uint16_t sequence; 750 uint32_t length; 751 uint32_t num_formats; 752 uint8_t pad1[20]; 753 } xcb_xv_list_image_formats_reply_t; 754 755 /** 756 * @brief xcb_xv_query_image_attributes_cookie_t 757 **/ 758 typedef struct xcb_xv_query_image_attributes_cookie_t { 759 unsigned int sequence; 760 } xcb_xv_query_image_attributes_cookie_t; 761 762 /** Opcode for xcb_xv_query_image_attributes. */ 763 #define XCB_XV_QUERY_IMAGE_ATTRIBUTES 17 764 765 /** 766 * @brief xcb_xv_query_image_attributes_request_t 767 **/ 768 typedef struct xcb_xv_query_image_attributes_request_t { 769 uint8_t major_opcode; 770 uint8_t minor_opcode; 771 uint16_t length; 772 xcb_xv_port_t port; 773 uint32_t id; 774 uint16_t width; 775 uint16_t height; 776 } xcb_xv_query_image_attributes_request_t; 777 778 /** 779 * @brief xcb_xv_query_image_attributes_reply_t 780 **/ 781 typedef struct xcb_xv_query_image_attributes_reply_t { 782 uint8_t response_type; 783 uint8_t pad0; 784 uint16_t sequence; 785 uint32_t length; 786 uint32_t num_planes; 787 uint32_t data_size; 788 uint16_t width; 789 uint16_t height; 790 uint8_t pad1[12]; 791 } xcb_xv_query_image_attributes_reply_t; 792 793 /** Opcode for xcb_xv_put_image. */ 794 #define XCB_XV_PUT_IMAGE 18 795 796 /** 797 * @brief xcb_xv_put_image_request_t 798 **/ 799 typedef struct xcb_xv_put_image_request_t { 800 uint8_t major_opcode; 801 uint8_t minor_opcode; 802 uint16_t length; 803 xcb_xv_port_t port; 804 xcb_drawable_t drawable; 805 xcb_gcontext_t gc; 806 uint32_t id; 807 int16_t src_x; 808 int16_t src_y; 809 uint16_t src_w; 810 uint16_t src_h; 811 int16_t drw_x; 812 int16_t drw_y; 813 uint16_t drw_w; 814 uint16_t drw_h; 815 uint16_t width; 816 uint16_t height; 817 } xcb_xv_put_image_request_t; 818 819 /** Opcode for xcb_xv_shm_put_image. */ 820 #define XCB_XV_SHM_PUT_IMAGE 19 821 822 /** 823 * @brief xcb_xv_shm_put_image_request_t 824 **/ 825 typedef struct xcb_xv_shm_put_image_request_t { 826 uint8_t major_opcode; 827 uint8_t minor_opcode; 828 uint16_t length; 829 xcb_xv_port_t port; 830 xcb_drawable_t drawable; 831 xcb_gcontext_t gc; 832 xcb_shm_seg_t shmseg; 833 uint32_t id; 834 uint32_t offset; 835 int16_t src_x; 836 int16_t src_y; 837 uint16_t src_w; 838 uint16_t src_h; 839 int16_t drw_x; 840 int16_t drw_y; 841 uint16_t drw_w; 842 uint16_t drw_h; 843 uint16_t width; 844 uint16_t height; 845 uint8_t send_event; 846 uint8_t pad0[3]; 847 } xcb_xv_shm_put_image_request_t; 848 849 /** 850 * Get the next element of the iterator 851 * @param i Pointer to a xcb_xv_port_iterator_t 852 * 853 * Get the next element in the iterator. The member rem is 854 * decreased by one. The member data points to the next 855 * element. The member index is increased by sizeof(xcb_xv_port_t) 856 */ 857 void 858 xcb_xv_port_next (xcb_xv_port_iterator_t *i); 859 860 /** 861 * Return the iterator pointing to the last element 862 * @param i An xcb_xv_port_iterator_t 863 * @return The iterator pointing to the last element 864 * 865 * Set the current element in the iterator to the last element. 866 * The member rem is set to 0. The member data points to the 867 * last element. 868 */ 869 xcb_generic_iterator_t 870 xcb_xv_port_end (xcb_xv_port_iterator_t i); 871 872 /** 873 * Get the next element of the iterator 874 * @param i Pointer to a xcb_xv_encoding_iterator_t 875 * 876 * Get the next element in the iterator. The member rem is 877 * decreased by one. The member data points to the next 878 * element. The member index is increased by sizeof(xcb_xv_encoding_t) 879 */ 880 void 881 xcb_xv_encoding_next (xcb_xv_encoding_iterator_t *i); 882 883 /** 884 * Return the iterator pointing to the last element 885 * @param i An xcb_xv_encoding_iterator_t 886 * @return The iterator pointing to the last element 887 * 888 * Set the current element in the iterator to the last element. 889 * The member rem is set to 0. The member data points to the 890 * last element. 891 */ 892 xcb_generic_iterator_t 893 xcb_xv_encoding_end (xcb_xv_encoding_iterator_t i); 894 895 /** 896 * Get the next element of the iterator 897 * @param i Pointer to a xcb_xv_rational_iterator_t 898 * 899 * Get the next element in the iterator. The member rem is 900 * decreased by one. The member data points to the next 901 * element. The member index is increased by sizeof(xcb_xv_rational_t) 902 */ 903 void 904 xcb_xv_rational_next (xcb_xv_rational_iterator_t *i); 905 906 /** 907 * Return the iterator pointing to the last element 908 * @param i An xcb_xv_rational_iterator_t 909 * @return The iterator pointing to the last element 910 * 911 * Set the current element in the iterator to the last element. 912 * The member rem is set to 0. The member data points to the 913 * last element. 914 */ 915 xcb_generic_iterator_t 916 xcb_xv_rational_end (xcb_xv_rational_iterator_t i); 917 918 /** 919 * Get the next element of the iterator 920 * @param i Pointer to a xcb_xv_format_iterator_t 921 * 922 * Get the next element in the iterator. The member rem is 923 * decreased by one. The member data points to the next 924 * element. The member index is increased by sizeof(xcb_xv_format_t) 925 */ 926 void 927 xcb_xv_format_next (xcb_xv_format_iterator_t *i); 928 929 /** 930 * Return the iterator pointing to the last element 931 * @param i An xcb_xv_format_iterator_t 932 * @return The iterator pointing to the last element 933 * 934 * Set the current element in the iterator to the last element. 935 * The member rem is set to 0. The member data points to the 936 * last element. 937 */ 938 xcb_generic_iterator_t 939 xcb_xv_format_end (xcb_xv_format_iterator_t i); 940 941 int 942 xcb_xv_adaptor_info_sizeof (const void *_buffer); 943 944 char * 945 xcb_xv_adaptor_info_name (const xcb_xv_adaptor_info_t *R); 946 947 int 948 xcb_xv_adaptor_info_name_length (const xcb_xv_adaptor_info_t *R); 949 950 xcb_generic_iterator_t 951 xcb_xv_adaptor_info_name_end (const xcb_xv_adaptor_info_t *R); 952 953 xcb_xv_format_t * 954 xcb_xv_adaptor_info_formats (const xcb_xv_adaptor_info_t *R); 955 956 int 957 xcb_xv_adaptor_info_formats_length (const xcb_xv_adaptor_info_t *R); 958 959 xcb_xv_format_iterator_t 960 xcb_xv_adaptor_info_formats_iterator (const xcb_xv_adaptor_info_t *R); 961 962 /** 963 * Get the next element of the iterator 964 * @param i Pointer to a xcb_xv_adaptor_info_iterator_t 965 * 966 * Get the next element in the iterator. The member rem is 967 * decreased by one. The member data points to the next 968 * element. The member index is increased by sizeof(xcb_xv_adaptor_info_t) 969 */ 970 void 971 xcb_xv_adaptor_info_next (xcb_xv_adaptor_info_iterator_t *i); 972 973 /** 974 * Return the iterator pointing to the last element 975 * @param i An xcb_xv_adaptor_info_iterator_t 976 * @return The iterator pointing to the last element 977 * 978 * Set the current element in the iterator to the last element. 979 * The member rem is set to 0. The member data points to the 980 * last element. 981 */ 982 xcb_generic_iterator_t 983 xcb_xv_adaptor_info_end (xcb_xv_adaptor_info_iterator_t i); 984 985 int 986 xcb_xv_encoding_info_sizeof (const void *_buffer); 987 988 char * 989 xcb_xv_encoding_info_name (const xcb_xv_encoding_info_t *R); 990 991 int 992 xcb_xv_encoding_info_name_length (const xcb_xv_encoding_info_t *R); 993 994 xcb_generic_iterator_t 995 xcb_xv_encoding_info_name_end (const xcb_xv_encoding_info_t *R); 996 997 /** 998 * Get the next element of the iterator 999 * @param i Pointer to a xcb_xv_encoding_info_iterator_t 1000 * 1001 * Get the next element in the iterator. The member rem is 1002 * decreased by one. The member data points to the next 1003 * element. The member index is increased by sizeof(xcb_xv_encoding_info_t) 1004 */ 1005 void 1006 xcb_xv_encoding_info_next (xcb_xv_encoding_info_iterator_t *i); 1007 1008 /** 1009 * Return the iterator pointing to the last element 1010 * @param i An xcb_xv_encoding_info_iterator_t 1011 * @return The iterator pointing to the last element 1012 * 1013 * Set the current element in the iterator to the last element. 1014 * The member rem is set to 0. The member data points to the 1015 * last element. 1016 */ 1017 xcb_generic_iterator_t 1018 xcb_xv_encoding_info_end (xcb_xv_encoding_info_iterator_t i); 1019 1020 int 1021 xcb_xv_image_sizeof (const void *_buffer); 1022 1023 uint32_t * 1024 xcb_xv_image_pitches (const xcb_xv_image_t *R); 1025 1026 int 1027 xcb_xv_image_pitches_length (const xcb_xv_image_t *R); 1028 1029 xcb_generic_iterator_t 1030 xcb_xv_image_pitches_end (const xcb_xv_image_t *R); 1031 1032 uint32_t * 1033 xcb_xv_image_offsets (const xcb_xv_image_t *R); 1034 1035 int 1036 xcb_xv_image_offsets_length (const xcb_xv_image_t *R); 1037 1038 xcb_generic_iterator_t 1039 xcb_xv_image_offsets_end (const xcb_xv_image_t *R); 1040 1041 uint8_t * 1042 xcb_xv_image_data (const xcb_xv_image_t *R); 1043 1044 int 1045 xcb_xv_image_data_length (const xcb_xv_image_t *R); 1046 1047 xcb_generic_iterator_t 1048 xcb_xv_image_data_end (const xcb_xv_image_t *R); 1049 1050 /** 1051 * Get the next element of the iterator 1052 * @param i Pointer to a xcb_xv_image_iterator_t 1053 * 1054 * Get the next element in the iterator. The member rem is 1055 * decreased by one. The member data points to the next 1056 * element. The member index is increased by sizeof(xcb_xv_image_t) 1057 */ 1058 void 1059 xcb_xv_image_next (xcb_xv_image_iterator_t *i); 1060 1061 /** 1062 * Return the iterator pointing to the last element 1063 * @param i An xcb_xv_image_iterator_t 1064 * @return The iterator pointing to the last element 1065 * 1066 * Set the current element in the iterator to the last element. 1067 * The member rem is set to 0. The member data points to the 1068 * last element. 1069 */ 1070 xcb_generic_iterator_t 1071 xcb_xv_image_end (xcb_xv_image_iterator_t i); 1072 1073 int 1074 xcb_xv_attribute_info_sizeof (const void *_buffer); 1075 1076 char * 1077 xcb_xv_attribute_info_name (const xcb_xv_attribute_info_t *R); 1078 1079 int 1080 xcb_xv_attribute_info_name_length (const xcb_xv_attribute_info_t *R); 1081 1082 xcb_generic_iterator_t 1083 xcb_xv_attribute_info_name_end (const xcb_xv_attribute_info_t *R); 1084 1085 /** 1086 * Get the next element of the iterator 1087 * @param i Pointer to a xcb_xv_attribute_info_iterator_t 1088 * 1089 * Get the next element in the iterator. The member rem is 1090 * decreased by one. The member data points to the next 1091 * element. The member index is increased by sizeof(xcb_xv_attribute_info_t) 1092 */ 1093 void 1094 xcb_xv_attribute_info_next (xcb_xv_attribute_info_iterator_t *i); 1095 1096 /** 1097 * Return the iterator pointing to the last element 1098 * @param i An xcb_xv_attribute_info_iterator_t 1099 * @return The iterator pointing to the last element 1100 * 1101 * Set the current element in the iterator to the last element. 1102 * The member rem is set to 0. The member data points to the 1103 * last element. 1104 */ 1105 xcb_generic_iterator_t 1106 xcb_xv_attribute_info_end (xcb_xv_attribute_info_iterator_t i); 1107 1108 /** 1109 * Get the next element of the iterator 1110 * @param i Pointer to a xcb_xv_image_format_info_iterator_t 1111 * 1112 * Get the next element in the iterator. The member rem is 1113 * decreased by one. The member data points to the next 1114 * element. The member index is increased by sizeof(xcb_xv_image_format_info_t) 1115 */ 1116 void 1117 xcb_xv_image_format_info_next (xcb_xv_image_format_info_iterator_t *i); 1118 1119 /** 1120 * Return the iterator pointing to the last element 1121 * @param i An xcb_xv_image_format_info_iterator_t 1122 * @return The iterator pointing to the last element 1123 * 1124 * Set the current element in the iterator to the last element. 1125 * The member rem is set to 0. The member data points to the 1126 * last element. 1127 */ 1128 xcb_generic_iterator_t 1129 xcb_xv_image_format_info_end (xcb_xv_image_format_info_iterator_t i); 1130 1131 /** 1132 * 1133 * @param c The connection 1134 * @return A cookie 1135 * 1136 * Delivers a request to the X server. 1137 * 1138 */ 1139 xcb_xv_query_extension_cookie_t 1140 xcb_xv_query_extension (xcb_connection_t *c); 1141 1142 /** 1143 * 1144 * @param c The connection 1145 * @return A cookie 1146 * 1147 * Delivers a request to the X server. 1148 * 1149 * This form can be used only if the request will cause 1150 * a reply to be generated. Any returned error will be 1151 * placed in the event queue. 1152 */ 1153 xcb_xv_query_extension_cookie_t 1154 xcb_xv_query_extension_unchecked (xcb_connection_t *c); 1155 1156 /** 1157 * Return the reply 1158 * @param c The connection 1159 * @param cookie The cookie 1160 * @param e The xcb_generic_error_t supplied 1161 * 1162 * Returns the reply of the request asked by 1163 * 1164 * The parameter @p e supplied to this function must be NULL if 1165 * xcb_xv_query_extension_unchecked(). is used. 1166 * Otherwise, it stores the error if any. 1167 * 1168 * The returned value must be freed by the caller using free(). 1169 */ 1170 xcb_xv_query_extension_reply_t * 1171 xcb_xv_query_extension_reply (xcb_connection_t *c, 1172 xcb_xv_query_extension_cookie_t cookie /**< */, 1173 xcb_generic_error_t **e); 1174 1175 int 1176 xcb_xv_query_adaptors_sizeof (const void *_buffer); 1177 1178 /** 1179 * 1180 * @param c The connection 1181 * @return A cookie 1182 * 1183 * Delivers a request to the X server. 1184 * 1185 */ 1186 xcb_xv_query_adaptors_cookie_t 1187 xcb_xv_query_adaptors (xcb_connection_t *c, 1188 xcb_window_t window); 1189 1190 /** 1191 * 1192 * @param c The connection 1193 * @return A cookie 1194 * 1195 * Delivers a request to the X server. 1196 * 1197 * This form can be used only if the request will cause 1198 * a reply to be generated. Any returned error will be 1199 * placed in the event queue. 1200 */ 1201 xcb_xv_query_adaptors_cookie_t 1202 xcb_xv_query_adaptors_unchecked (xcb_connection_t *c, 1203 xcb_window_t window); 1204 1205 int 1206 xcb_xv_query_adaptors_info_length (const xcb_xv_query_adaptors_reply_t *R); 1207 1208 xcb_xv_adaptor_info_iterator_t 1209 xcb_xv_query_adaptors_info_iterator (const xcb_xv_query_adaptors_reply_t *R); 1210 1211 /** 1212 * Return the reply 1213 * @param c The connection 1214 * @param cookie The cookie 1215 * @param e The xcb_generic_error_t supplied 1216 * 1217 * Returns the reply of the request asked by 1218 * 1219 * The parameter @p e supplied to this function must be NULL if 1220 * xcb_xv_query_adaptors_unchecked(). is used. 1221 * Otherwise, it stores the error if any. 1222 * 1223 * The returned value must be freed by the caller using free(). 1224 */ 1225 xcb_xv_query_adaptors_reply_t * 1226 xcb_xv_query_adaptors_reply (xcb_connection_t *c, 1227 xcb_xv_query_adaptors_cookie_t cookie /**< */, 1228 xcb_generic_error_t **e); 1229 1230 int 1231 xcb_xv_query_encodings_sizeof (const void *_buffer); 1232 1233 /** 1234 * 1235 * @param c The connection 1236 * @return A cookie 1237 * 1238 * Delivers a request to the X server. 1239 * 1240 */ 1241 xcb_xv_query_encodings_cookie_t 1242 xcb_xv_query_encodings (xcb_connection_t *c, 1243 xcb_xv_port_t port); 1244 1245 /** 1246 * 1247 * @param c The connection 1248 * @return A cookie 1249 * 1250 * Delivers a request to the X server. 1251 * 1252 * This form can be used only if the request will cause 1253 * a reply to be generated. Any returned error will be 1254 * placed in the event queue. 1255 */ 1256 xcb_xv_query_encodings_cookie_t 1257 xcb_xv_query_encodings_unchecked (xcb_connection_t *c, 1258 xcb_xv_port_t port); 1259 1260 int 1261 xcb_xv_query_encodings_info_length (const xcb_xv_query_encodings_reply_t *R); 1262 1263 xcb_xv_encoding_info_iterator_t 1264 xcb_xv_query_encodings_info_iterator (const xcb_xv_query_encodings_reply_t *R); 1265 1266 /** 1267 * Return the reply 1268 * @param c The connection 1269 * @param cookie The cookie 1270 * @param e The xcb_generic_error_t supplied 1271 * 1272 * Returns the reply of the request asked by 1273 * 1274 * The parameter @p e supplied to this function must be NULL if 1275 * xcb_xv_query_encodings_unchecked(). is used. 1276 * Otherwise, it stores the error if any. 1277 * 1278 * The returned value must be freed by the caller using free(). 1279 */ 1280 xcb_xv_query_encodings_reply_t * 1281 xcb_xv_query_encodings_reply (xcb_connection_t *c, 1282 xcb_xv_query_encodings_cookie_t cookie /**< */, 1283 xcb_generic_error_t **e); 1284 1285 /** 1286 * 1287 * @param c The connection 1288 * @return A cookie 1289 * 1290 * Delivers a request to the X server. 1291 * 1292 */ 1293 xcb_xv_grab_port_cookie_t 1294 xcb_xv_grab_port (xcb_connection_t *c, 1295 xcb_xv_port_t port, 1296 xcb_timestamp_t time); 1297 1298 /** 1299 * 1300 * @param c The connection 1301 * @return A cookie 1302 * 1303 * Delivers a request to the X server. 1304 * 1305 * This form can be used only if the request will cause 1306 * a reply to be generated. Any returned error will be 1307 * placed in the event queue. 1308 */ 1309 xcb_xv_grab_port_cookie_t 1310 xcb_xv_grab_port_unchecked (xcb_connection_t *c, 1311 xcb_xv_port_t port, 1312 xcb_timestamp_t time); 1313 1314 /** 1315 * Return the reply 1316 * @param c The connection 1317 * @param cookie The cookie 1318 * @param e The xcb_generic_error_t supplied 1319 * 1320 * Returns the reply of the request asked by 1321 * 1322 * The parameter @p e supplied to this function must be NULL if 1323 * xcb_xv_grab_port_unchecked(). is used. 1324 * Otherwise, it stores the error if any. 1325 * 1326 * The returned value must be freed by the caller using free(). 1327 */ 1328 xcb_xv_grab_port_reply_t * 1329 xcb_xv_grab_port_reply (xcb_connection_t *c, 1330 xcb_xv_grab_port_cookie_t cookie /**< */, 1331 xcb_generic_error_t **e); 1332 1333 /** 1334 * 1335 * @param c The connection 1336 * @return A cookie 1337 * 1338 * Delivers a request to the X server. 1339 * 1340 * This form can be used only if the request will not cause 1341 * a reply to be generated. Any returned error will be 1342 * saved for handling by xcb_request_check(). 1343 */ 1344 xcb_void_cookie_t 1345 xcb_xv_ungrab_port_checked (xcb_connection_t *c, 1346 xcb_xv_port_t port, 1347 xcb_timestamp_t time); 1348 1349 /** 1350 * 1351 * @param c The connection 1352 * @return A cookie 1353 * 1354 * Delivers a request to the X server. 1355 * 1356 */ 1357 xcb_void_cookie_t 1358 xcb_xv_ungrab_port (xcb_connection_t *c, 1359 xcb_xv_port_t port, 1360 xcb_timestamp_t time); 1361 1362 /** 1363 * 1364 * @param c The connection 1365 * @return A cookie 1366 * 1367 * Delivers a request to the X server. 1368 * 1369 * This form can be used only if the request will not cause 1370 * a reply to be generated. Any returned error will be 1371 * saved for handling by xcb_request_check(). 1372 */ 1373 xcb_void_cookie_t 1374 xcb_xv_put_video_checked (xcb_connection_t *c, 1375 xcb_xv_port_t port, 1376 xcb_drawable_t drawable, 1377 xcb_gcontext_t gc, 1378 int16_t vid_x, 1379 int16_t vid_y, 1380 uint16_t vid_w, 1381 uint16_t vid_h, 1382 int16_t drw_x, 1383 int16_t drw_y, 1384 uint16_t drw_w, 1385 uint16_t drw_h); 1386 1387 /** 1388 * 1389 * @param c The connection 1390 * @return A cookie 1391 * 1392 * Delivers a request to the X server. 1393 * 1394 */ 1395 xcb_void_cookie_t 1396 xcb_xv_put_video (xcb_connection_t *c, 1397 xcb_xv_port_t port, 1398 xcb_drawable_t drawable, 1399 xcb_gcontext_t gc, 1400 int16_t vid_x, 1401 int16_t vid_y, 1402 uint16_t vid_w, 1403 uint16_t vid_h, 1404 int16_t drw_x, 1405 int16_t drw_y, 1406 uint16_t drw_w, 1407 uint16_t drw_h); 1408 1409 /** 1410 * 1411 * @param c The connection 1412 * @return A cookie 1413 * 1414 * Delivers a request to the X server. 1415 * 1416 * This form can be used only if the request will not cause 1417 * a reply to be generated. Any returned error will be 1418 * saved for handling by xcb_request_check(). 1419 */ 1420 xcb_void_cookie_t 1421 xcb_xv_put_still_checked (xcb_connection_t *c, 1422 xcb_xv_port_t port, 1423 xcb_drawable_t drawable, 1424 xcb_gcontext_t gc, 1425 int16_t vid_x, 1426 int16_t vid_y, 1427 uint16_t vid_w, 1428 uint16_t vid_h, 1429 int16_t drw_x, 1430 int16_t drw_y, 1431 uint16_t drw_w, 1432 uint16_t drw_h); 1433 1434 /** 1435 * 1436 * @param c The connection 1437 * @return A cookie 1438 * 1439 * Delivers a request to the X server. 1440 * 1441 */ 1442 xcb_void_cookie_t 1443 xcb_xv_put_still (xcb_connection_t *c, 1444 xcb_xv_port_t port, 1445 xcb_drawable_t drawable, 1446 xcb_gcontext_t gc, 1447 int16_t vid_x, 1448 int16_t vid_y, 1449 uint16_t vid_w, 1450 uint16_t vid_h, 1451 int16_t drw_x, 1452 int16_t drw_y, 1453 uint16_t drw_w, 1454 uint16_t drw_h); 1455 1456 /** 1457 * 1458 * @param c The connection 1459 * @return A cookie 1460 * 1461 * Delivers a request to the X server. 1462 * 1463 * This form can be used only if the request will not cause 1464 * a reply to be generated. Any returned error will be 1465 * saved for handling by xcb_request_check(). 1466 */ 1467 xcb_void_cookie_t 1468 xcb_xv_get_video_checked (xcb_connection_t *c, 1469 xcb_xv_port_t port, 1470 xcb_drawable_t drawable, 1471 xcb_gcontext_t gc, 1472 int16_t vid_x, 1473 int16_t vid_y, 1474 uint16_t vid_w, 1475 uint16_t vid_h, 1476 int16_t drw_x, 1477 int16_t drw_y, 1478 uint16_t drw_w, 1479 uint16_t drw_h); 1480 1481 /** 1482 * 1483 * @param c The connection 1484 * @return A cookie 1485 * 1486 * Delivers a request to the X server. 1487 * 1488 */ 1489 xcb_void_cookie_t 1490 xcb_xv_get_video (xcb_connection_t *c, 1491 xcb_xv_port_t port, 1492 xcb_drawable_t drawable, 1493 xcb_gcontext_t gc, 1494 int16_t vid_x, 1495 int16_t vid_y, 1496 uint16_t vid_w, 1497 uint16_t vid_h, 1498 int16_t drw_x, 1499 int16_t drw_y, 1500 uint16_t drw_w, 1501 uint16_t drw_h); 1502 1503 /** 1504 * 1505 * @param c The connection 1506 * @return A cookie 1507 * 1508 * Delivers a request to the X server. 1509 * 1510 * This form can be used only if the request will not cause 1511 * a reply to be generated. Any returned error will be 1512 * saved for handling by xcb_request_check(). 1513 */ 1514 xcb_void_cookie_t 1515 xcb_xv_get_still_checked (xcb_connection_t *c, 1516 xcb_xv_port_t port, 1517 xcb_drawable_t drawable, 1518 xcb_gcontext_t gc, 1519 int16_t vid_x, 1520 int16_t vid_y, 1521 uint16_t vid_w, 1522 uint16_t vid_h, 1523 int16_t drw_x, 1524 int16_t drw_y, 1525 uint16_t drw_w, 1526 uint16_t drw_h); 1527 1528 /** 1529 * 1530 * @param c The connection 1531 * @return A cookie 1532 * 1533 * Delivers a request to the X server. 1534 * 1535 */ 1536 xcb_void_cookie_t 1537 xcb_xv_get_still (xcb_connection_t *c, 1538 xcb_xv_port_t port, 1539 xcb_drawable_t drawable, 1540 xcb_gcontext_t gc, 1541 int16_t vid_x, 1542 int16_t vid_y, 1543 uint16_t vid_w, 1544 uint16_t vid_h, 1545 int16_t drw_x, 1546 int16_t drw_y, 1547 uint16_t drw_w, 1548 uint16_t drw_h); 1549 1550 /** 1551 * 1552 * @param c The connection 1553 * @return A cookie 1554 * 1555 * Delivers a request to the X server. 1556 * 1557 * This form can be used only if the request will not cause 1558 * a reply to be generated. Any returned error will be 1559 * saved for handling by xcb_request_check(). 1560 */ 1561 xcb_void_cookie_t 1562 xcb_xv_stop_video_checked (xcb_connection_t *c, 1563 xcb_xv_port_t port, 1564 xcb_drawable_t drawable); 1565 1566 /** 1567 * 1568 * @param c The connection 1569 * @return A cookie 1570 * 1571 * Delivers a request to the X server. 1572 * 1573 */ 1574 xcb_void_cookie_t 1575 xcb_xv_stop_video (xcb_connection_t *c, 1576 xcb_xv_port_t port, 1577 xcb_drawable_t drawable); 1578 1579 /** 1580 * 1581 * @param c The connection 1582 * @return A cookie 1583 * 1584 * Delivers a request to the X server. 1585 * 1586 * This form can be used only if the request will not cause 1587 * a reply to be generated. Any returned error will be 1588 * saved for handling by xcb_request_check(). 1589 */ 1590 xcb_void_cookie_t 1591 xcb_xv_select_video_notify_checked (xcb_connection_t *c, 1592 xcb_drawable_t drawable, 1593 uint8_t onoff); 1594 1595 /** 1596 * 1597 * @param c The connection 1598 * @return A cookie 1599 * 1600 * Delivers a request to the X server. 1601 * 1602 */ 1603 xcb_void_cookie_t 1604 xcb_xv_select_video_notify (xcb_connection_t *c, 1605 xcb_drawable_t drawable, 1606 uint8_t onoff); 1607 1608 /** 1609 * 1610 * @param c The connection 1611 * @return A cookie 1612 * 1613 * Delivers a request to the X server. 1614 * 1615 * This form can be used only if the request will not cause 1616 * a reply to be generated. Any returned error will be 1617 * saved for handling by xcb_request_check(). 1618 */ 1619 xcb_void_cookie_t 1620 xcb_xv_select_port_notify_checked (xcb_connection_t *c, 1621 xcb_xv_port_t port, 1622 uint8_t onoff); 1623 1624 /** 1625 * 1626 * @param c The connection 1627 * @return A cookie 1628 * 1629 * Delivers a request to the X server. 1630 * 1631 */ 1632 xcb_void_cookie_t 1633 xcb_xv_select_port_notify (xcb_connection_t *c, 1634 xcb_xv_port_t port, 1635 uint8_t onoff); 1636 1637 /** 1638 * 1639 * @param c The connection 1640 * @return A cookie 1641 * 1642 * Delivers a request to the X server. 1643 * 1644 */ 1645 xcb_xv_query_best_size_cookie_t 1646 xcb_xv_query_best_size (xcb_connection_t *c, 1647 xcb_xv_port_t port, 1648 uint16_t vid_w, 1649 uint16_t vid_h, 1650 uint16_t drw_w, 1651 uint16_t drw_h, 1652 uint8_t motion); 1653 1654 /** 1655 * 1656 * @param c The connection 1657 * @return A cookie 1658 * 1659 * Delivers a request to the X server. 1660 * 1661 * This form can be used only if the request will cause 1662 * a reply to be generated. Any returned error will be 1663 * placed in the event queue. 1664 */ 1665 xcb_xv_query_best_size_cookie_t 1666 xcb_xv_query_best_size_unchecked (xcb_connection_t *c, 1667 xcb_xv_port_t port, 1668 uint16_t vid_w, 1669 uint16_t vid_h, 1670 uint16_t drw_w, 1671 uint16_t drw_h, 1672 uint8_t motion); 1673 1674 /** 1675 * Return the reply 1676 * @param c The connection 1677 * @param cookie The cookie 1678 * @param e The xcb_generic_error_t supplied 1679 * 1680 * Returns the reply of the request asked by 1681 * 1682 * The parameter @p e supplied to this function must be NULL if 1683 * xcb_xv_query_best_size_unchecked(). is used. 1684 * Otherwise, it stores the error if any. 1685 * 1686 * The returned value must be freed by the caller using free(). 1687 */ 1688 xcb_xv_query_best_size_reply_t * 1689 xcb_xv_query_best_size_reply (xcb_connection_t *c, 1690 xcb_xv_query_best_size_cookie_t cookie /**< */, 1691 xcb_generic_error_t **e); 1692 1693 /** 1694 * 1695 * @param c The connection 1696 * @return A cookie 1697 * 1698 * Delivers a request to the X server. 1699 * 1700 * This form can be used only if the request will not cause 1701 * a reply to be generated. Any returned error will be 1702 * saved for handling by xcb_request_check(). 1703 */ 1704 xcb_void_cookie_t 1705 xcb_xv_set_port_attribute_checked (xcb_connection_t *c, 1706 xcb_xv_port_t port, 1707 xcb_atom_t attribute, 1708 int32_t value); 1709 1710 /** 1711 * 1712 * @param c The connection 1713 * @return A cookie 1714 * 1715 * Delivers a request to the X server. 1716 * 1717 */ 1718 xcb_void_cookie_t 1719 xcb_xv_set_port_attribute (xcb_connection_t *c, 1720 xcb_xv_port_t port, 1721 xcb_atom_t attribute, 1722 int32_t value); 1723 1724 /** 1725 * 1726 * @param c The connection 1727 * @return A cookie 1728 * 1729 * Delivers a request to the X server. 1730 * 1731 */ 1732 xcb_xv_get_port_attribute_cookie_t 1733 xcb_xv_get_port_attribute (xcb_connection_t *c, 1734 xcb_xv_port_t port, 1735 xcb_atom_t attribute); 1736 1737 /** 1738 * 1739 * @param c The connection 1740 * @return A cookie 1741 * 1742 * Delivers a request to the X server. 1743 * 1744 * This form can be used only if the request will cause 1745 * a reply to be generated. Any returned error will be 1746 * placed in the event queue. 1747 */ 1748 xcb_xv_get_port_attribute_cookie_t 1749 xcb_xv_get_port_attribute_unchecked (xcb_connection_t *c, 1750 xcb_xv_port_t port, 1751 xcb_atom_t attribute); 1752 1753 /** 1754 * Return the reply 1755 * @param c The connection 1756 * @param cookie The cookie 1757 * @param e The xcb_generic_error_t supplied 1758 * 1759 * Returns the reply of the request asked by 1760 * 1761 * The parameter @p e supplied to this function must be NULL if 1762 * xcb_xv_get_port_attribute_unchecked(). is used. 1763 * Otherwise, it stores the error if any. 1764 * 1765 * The returned value must be freed by the caller using free(). 1766 */ 1767 xcb_xv_get_port_attribute_reply_t * 1768 xcb_xv_get_port_attribute_reply (xcb_connection_t *c, 1769 xcb_xv_get_port_attribute_cookie_t cookie /**< */, 1770 xcb_generic_error_t **e); 1771 1772 int 1773 xcb_xv_query_port_attributes_sizeof (const void *_buffer); 1774 1775 /** 1776 * 1777 * @param c The connection 1778 * @return A cookie 1779 * 1780 * Delivers a request to the X server. 1781 * 1782 */ 1783 xcb_xv_query_port_attributes_cookie_t 1784 xcb_xv_query_port_attributes (xcb_connection_t *c, 1785 xcb_xv_port_t port); 1786 1787 /** 1788 * 1789 * @param c The connection 1790 * @return A cookie 1791 * 1792 * Delivers a request to the X server. 1793 * 1794 * This form can be used only if the request will cause 1795 * a reply to be generated. Any returned error will be 1796 * placed in the event queue. 1797 */ 1798 xcb_xv_query_port_attributes_cookie_t 1799 xcb_xv_query_port_attributes_unchecked (xcb_connection_t *c, 1800 xcb_xv_port_t port); 1801 1802 int 1803 xcb_xv_query_port_attributes_attributes_length (const xcb_xv_query_port_attributes_reply_t *R); 1804 1805 xcb_xv_attribute_info_iterator_t 1806 xcb_xv_query_port_attributes_attributes_iterator (const xcb_xv_query_port_attributes_reply_t *R); 1807 1808 /** 1809 * Return the reply 1810 * @param c The connection 1811 * @param cookie The cookie 1812 * @param e The xcb_generic_error_t supplied 1813 * 1814 * Returns the reply of the request asked by 1815 * 1816 * The parameter @p e supplied to this function must be NULL if 1817 * xcb_xv_query_port_attributes_unchecked(). is used. 1818 * Otherwise, it stores the error if any. 1819 * 1820 * The returned value must be freed by the caller using free(). 1821 */ 1822 xcb_xv_query_port_attributes_reply_t * 1823 xcb_xv_query_port_attributes_reply (xcb_connection_t *c, 1824 xcb_xv_query_port_attributes_cookie_t cookie /**< */, 1825 xcb_generic_error_t **e); 1826 1827 int 1828 xcb_xv_list_image_formats_sizeof (const void *_buffer); 1829 1830 /** 1831 * 1832 * @param c The connection 1833 * @return A cookie 1834 * 1835 * Delivers a request to the X server. 1836 * 1837 */ 1838 xcb_xv_list_image_formats_cookie_t 1839 xcb_xv_list_image_formats (xcb_connection_t *c, 1840 xcb_xv_port_t port); 1841 1842 /** 1843 * 1844 * @param c The connection 1845 * @return A cookie 1846 * 1847 * Delivers a request to the X server. 1848 * 1849 * This form can be used only if the request will cause 1850 * a reply to be generated. Any returned error will be 1851 * placed in the event queue. 1852 */ 1853 xcb_xv_list_image_formats_cookie_t 1854 xcb_xv_list_image_formats_unchecked (xcb_connection_t *c, 1855 xcb_xv_port_t port); 1856 1857 xcb_xv_image_format_info_t * 1858 xcb_xv_list_image_formats_format (const xcb_xv_list_image_formats_reply_t *R); 1859 1860 int 1861 xcb_xv_list_image_formats_format_length (const xcb_xv_list_image_formats_reply_t *R); 1862 1863 xcb_xv_image_format_info_iterator_t 1864 xcb_xv_list_image_formats_format_iterator (const xcb_xv_list_image_formats_reply_t *R); 1865 1866 /** 1867 * Return the reply 1868 * @param c The connection 1869 * @param cookie The cookie 1870 * @param e The xcb_generic_error_t supplied 1871 * 1872 * Returns the reply of the request asked by 1873 * 1874 * The parameter @p e supplied to this function must be NULL if 1875 * xcb_xv_list_image_formats_unchecked(). is used. 1876 * Otherwise, it stores the error if any. 1877 * 1878 * The returned value must be freed by the caller using free(). 1879 */ 1880 xcb_xv_list_image_formats_reply_t * 1881 xcb_xv_list_image_formats_reply (xcb_connection_t *c, 1882 xcb_xv_list_image_formats_cookie_t cookie /**< */, 1883 xcb_generic_error_t **e); 1884 1885 int 1886 xcb_xv_query_image_attributes_sizeof (const void *_buffer); 1887 1888 /** 1889 * 1890 * @param c The connection 1891 * @return A cookie 1892 * 1893 * Delivers a request to the X server. 1894 * 1895 */ 1896 xcb_xv_query_image_attributes_cookie_t 1897 xcb_xv_query_image_attributes (xcb_connection_t *c, 1898 xcb_xv_port_t port, 1899 uint32_t id, 1900 uint16_t width, 1901 uint16_t height); 1902 1903 /** 1904 * 1905 * @param c The connection 1906 * @return A cookie 1907 * 1908 * Delivers a request to the X server. 1909 * 1910 * This form can be used only if the request will cause 1911 * a reply to be generated. Any returned error will be 1912 * placed in the event queue. 1913 */ 1914 xcb_xv_query_image_attributes_cookie_t 1915 xcb_xv_query_image_attributes_unchecked (xcb_connection_t *c, 1916 xcb_xv_port_t port, 1917 uint32_t id, 1918 uint16_t width, 1919 uint16_t height); 1920 1921 uint32_t * 1922 xcb_xv_query_image_attributes_pitches (const xcb_xv_query_image_attributes_reply_t *R); 1923 1924 int 1925 xcb_xv_query_image_attributes_pitches_length (const xcb_xv_query_image_attributes_reply_t *R); 1926 1927 xcb_generic_iterator_t 1928 xcb_xv_query_image_attributes_pitches_end (const xcb_xv_query_image_attributes_reply_t *R); 1929 1930 uint32_t * 1931 xcb_xv_query_image_attributes_offsets (const xcb_xv_query_image_attributes_reply_t *R); 1932 1933 int 1934 xcb_xv_query_image_attributes_offsets_length (const xcb_xv_query_image_attributes_reply_t *R); 1935 1936 xcb_generic_iterator_t 1937 xcb_xv_query_image_attributes_offsets_end (const xcb_xv_query_image_attributes_reply_t *R); 1938 1939 /** 1940 * Return the reply 1941 * @param c The connection 1942 * @param cookie The cookie 1943 * @param e The xcb_generic_error_t supplied 1944 * 1945 * Returns the reply of the request asked by 1946 * 1947 * The parameter @p e supplied to this function must be NULL if 1948 * xcb_xv_query_image_attributes_unchecked(). is used. 1949 * Otherwise, it stores the error if any. 1950 * 1951 * The returned value must be freed by the caller using free(). 1952 */ 1953 xcb_xv_query_image_attributes_reply_t * 1954 xcb_xv_query_image_attributes_reply (xcb_connection_t *c, 1955 xcb_xv_query_image_attributes_cookie_t cookie /**< */, 1956 xcb_generic_error_t **e); 1957 1958 int 1959 xcb_xv_put_image_sizeof (const void *_buffer, 1960 uint32_t data_len); 1961 1962 /** 1963 * 1964 * @param c The connection 1965 * @return A cookie 1966 * 1967 * Delivers a request to the X server. 1968 * 1969 * This form can be used only if the request will not cause 1970 * a reply to be generated. Any returned error will be 1971 * saved for handling by xcb_request_check(). 1972 */ 1973 xcb_void_cookie_t 1974 xcb_xv_put_image_checked (xcb_connection_t *c, 1975 xcb_xv_port_t port, 1976 xcb_drawable_t drawable, 1977 xcb_gcontext_t gc, 1978 uint32_t id, 1979 int16_t src_x, 1980 int16_t src_y, 1981 uint16_t src_w, 1982 uint16_t src_h, 1983 int16_t drw_x, 1984 int16_t drw_y, 1985 uint16_t drw_w, 1986 uint16_t drw_h, 1987 uint16_t width, 1988 uint16_t height, 1989 uint32_t data_len, 1990 const uint8_t *data); 1991 1992 /** 1993 * 1994 * @param c The connection 1995 * @return A cookie 1996 * 1997 * Delivers a request to the X server. 1998 * 1999 */ 2000 xcb_void_cookie_t 2001 xcb_xv_put_image (xcb_connection_t *c, 2002 xcb_xv_port_t port, 2003 xcb_drawable_t drawable, 2004 xcb_gcontext_t gc, 2005 uint32_t id, 2006 int16_t src_x, 2007 int16_t src_y, 2008 uint16_t src_w, 2009 uint16_t src_h, 2010 int16_t drw_x, 2011 int16_t drw_y, 2012 uint16_t drw_w, 2013 uint16_t drw_h, 2014 uint16_t width, 2015 uint16_t height, 2016 uint32_t data_len, 2017 const uint8_t *data); 2018 2019 uint8_t * 2020 xcb_xv_put_image_data (const xcb_xv_put_image_request_t *R); 2021 2022 int 2023 xcb_xv_put_image_data_length (const xcb_xv_put_image_request_t *R); 2024 2025 xcb_generic_iterator_t 2026 xcb_xv_put_image_data_end (const xcb_xv_put_image_request_t *R); 2027 2028 /** 2029 * 2030 * @param c The connection 2031 * @return A cookie 2032 * 2033 * Delivers a request to the X server. 2034 * 2035 * This form can be used only if the request will not cause 2036 * a reply to be generated. Any returned error will be 2037 * saved for handling by xcb_request_check(). 2038 */ 2039 xcb_void_cookie_t 2040 xcb_xv_shm_put_image_checked (xcb_connection_t *c, 2041 xcb_xv_port_t port, 2042 xcb_drawable_t drawable, 2043 xcb_gcontext_t gc, 2044 xcb_shm_seg_t shmseg, 2045 uint32_t id, 2046 uint32_t offset, 2047 int16_t src_x, 2048 int16_t src_y, 2049 uint16_t src_w, 2050 uint16_t src_h, 2051 int16_t drw_x, 2052 int16_t drw_y, 2053 uint16_t drw_w, 2054 uint16_t drw_h, 2055 uint16_t width, 2056 uint16_t height, 2057 uint8_t send_event); 2058 2059 /** 2060 * 2061 * @param c The connection 2062 * @return A cookie 2063 * 2064 * Delivers a request to the X server. 2065 * 2066 */ 2067 xcb_void_cookie_t 2068 xcb_xv_shm_put_image (xcb_connection_t *c, 2069 xcb_xv_port_t port, 2070 xcb_drawable_t drawable, 2071 xcb_gcontext_t gc, 2072 xcb_shm_seg_t shmseg, 2073 uint32_t id, 2074 uint32_t offset, 2075 int16_t src_x, 2076 int16_t src_y, 2077 uint16_t src_w, 2078 uint16_t src_h, 2079 int16_t drw_x, 2080 int16_t drw_y, 2081 uint16_t drw_w, 2082 uint16_t drw_h, 2083 uint16_t width, 2084 uint16_t height, 2085 uint8_t send_event); 2086 2087 2088 #ifdef __cplusplus 2089 } 2090 #endif 2091 2092 #endif 2093 2094 /** 2095 * @} 2096 */ 2097