1 /* 2 * This file generated automatically from xinerama.xml by c_client.py. 3 * Edit at your peril. 4 */ 5 6 #ifdef HAVE_CONFIG_H 7 #include "config.h" 8 #endif 9 #include <stdlib.h> 10 #include <string.h> 11 #include <assert.h> 12 #include <stddef.h> /* for offsetof() */ 13 #include "xcbext.h" 14 #include "xinerama.h" 15 16 #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member) 17 #include "xproto.h" 18 19 xcb_extension_t xcb_xinerama_id = { "XINERAMA", 0 }; 20 21 22 /***************************************************************************** 23 ** 24 ** void xcb_xinerama_screen_info_next 25 ** 26 ** @param xcb_xinerama_screen_info_iterator_t *i 27 ** @returns void 28 ** 29 *****************************************************************************/ 30 31 void 32 xcb_xinerama_screen_info_next (xcb_xinerama_screen_info_iterator_t *i /**< */) 33 { 34 --i->rem; 35 ++i->data; 36 i->index += sizeof(xcb_xinerama_screen_info_t); 37 } 38 39 40 /***************************************************************************** 41 ** 42 ** xcb_generic_iterator_t xcb_xinerama_screen_info_end 43 ** 44 ** @param xcb_xinerama_screen_info_iterator_t i 45 ** @returns xcb_generic_iterator_t 46 ** 47 *****************************************************************************/ 48 49 xcb_generic_iterator_t 50 xcb_xinerama_screen_info_end (xcb_xinerama_screen_info_iterator_t i /**< */) 51 { 52 xcb_generic_iterator_t ret; 53 ret.data = i.data + i.rem; 54 ret.index = i.index + ((char *) ret.data - (char *) i.data); 55 ret.rem = 0; 56 return ret; 57 } 58 59 60 /***************************************************************************** 61 ** 62 ** xcb_xinerama_query_version_cookie_t xcb_xinerama_query_version 63 ** 64 ** @param xcb_connection_t *c 65 ** @param uint8_t major 66 ** @param uint8_t minor 67 ** @returns xcb_xinerama_query_version_cookie_t 68 ** 69 *****************************************************************************/ 70 71 xcb_xinerama_query_version_cookie_t 72 xcb_xinerama_query_version (xcb_connection_t *c /**< */, 73 uint8_t major /**< */, 74 uint8_t minor /**< */) 75 { 76 static const xcb_protocol_request_t xcb_req = { 77 /* count */ 2, 78 /* ext */ &xcb_xinerama_id, 79 /* opcode */ XCB_XINERAMA_QUERY_VERSION, 80 /* isvoid */ 0 81 }; 82 83 struct iovec xcb_parts[4]; 84 xcb_xinerama_query_version_cookie_t xcb_ret; 85 xcb_xinerama_query_version_request_t xcb_out; 86 87 xcb_out.major = major; 88 xcb_out.minor = minor; 89 90 xcb_parts[2].iov_base = (char *) &xcb_out; 91 xcb_parts[2].iov_len = sizeof(xcb_out); 92 xcb_parts[3].iov_base = 0; 93 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 94 95 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 96 return xcb_ret; 97 } 98 99 100 /***************************************************************************** 101 ** 102 ** xcb_xinerama_query_version_cookie_t xcb_xinerama_query_version_unchecked 103 ** 104 ** @param xcb_connection_t *c 105 ** @param uint8_t major 106 ** @param uint8_t minor 107 ** @returns xcb_xinerama_query_version_cookie_t 108 ** 109 *****************************************************************************/ 110 111 xcb_xinerama_query_version_cookie_t 112 xcb_xinerama_query_version_unchecked (xcb_connection_t *c /**< */, 113 uint8_t major /**< */, 114 uint8_t minor /**< */) 115 { 116 static const xcb_protocol_request_t xcb_req = { 117 /* count */ 2, 118 /* ext */ &xcb_xinerama_id, 119 /* opcode */ XCB_XINERAMA_QUERY_VERSION, 120 /* isvoid */ 0 121 }; 122 123 struct iovec xcb_parts[4]; 124 xcb_xinerama_query_version_cookie_t xcb_ret; 125 xcb_xinerama_query_version_request_t xcb_out; 126 127 xcb_out.major = major; 128 xcb_out.minor = minor; 129 130 xcb_parts[2].iov_base = (char *) &xcb_out; 131 xcb_parts[2].iov_len = sizeof(xcb_out); 132 xcb_parts[3].iov_base = 0; 133 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 134 135 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 136 return xcb_ret; 137 } 138 139 140 /***************************************************************************** 141 ** 142 ** xcb_xinerama_query_version_reply_t * xcb_xinerama_query_version_reply 143 ** 144 ** @param xcb_connection_t *c 145 ** @param xcb_xinerama_query_version_cookie_t cookie 146 ** @param xcb_generic_error_t **e 147 ** @returns xcb_xinerama_query_version_reply_t * 148 ** 149 *****************************************************************************/ 150 151 xcb_xinerama_query_version_reply_t * 152 xcb_xinerama_query_version_reply (xcb_connection_t *c /**< */, 153 xcb_xinerama_query_version_cookie_t cookie /**< */, 154 xcb_generic_error_t **e /**< */) 155 { 156 return (xcb_xinerama_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 157 } 158 159 160 /***************************************************************************** 161 ** 162 ** xcb_xinerama_get_state_cookie_t xcb_xinerama_get_state 163 ** 164 ** @param xcb_connection_t *c 165 ** @param xcb_window_t window 166 ** @returns xcb_xinerama_get_state_cookie_t 167 ** 168 *****************************************************************************/ 169 170 xcb_xinerama_get_state_cookie_t 171 xcb_xinerama_get_state (xcb_connection_t *c /**< */, 172 xcb_window_t window /**< */) 173 { 174 static const xcb_protocol_request_t xcb_req = { 175 /* count */ 2, 176 /* ext */ &xcb_xinerama_id, 177 /* opcode */ XCB_XINERAMA_GET_STATE, 178 /* isvoid */ 0 179 }; 180 181 struct iovec xcb_parts[4]; 182 xcb_xinerama_get_state_cookie_t xcb_ret; 183 xcb_xinerama_get_state_request_t xcb_out; 184 185 xcb_out.window = window; 186 187 xcb_parts[2].iov_base = (char *) &xcb_out; 188 xcb_parts[2].iov_len = sizeof(xcb_out); 189 xcb_parts[3].iov_base = 0; 190 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 191 192 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 193 return xcb_ret; 194 } 195 196 197 /***************************************************************************** 198 ** 199 ** xcb_xinerama_get_state_cookie_t xcb_xinerama_get_state_unchecked 200 ** 201 ** @param xcb_connection_t *c 202 ** @param xcb_window_t window 203 ** @returns xcb_xinerama_get_state_cookie_t 204 ** 205 *****************************************************************************/ 206 207 xcb_xinerama_get_state_cookie_t 208 xcb_xinerama_get_state_unchecked (xcb_connection_t *c /**< */, 209 xcb_window_t window /**< */) 210 { 211 static const xcb_protocol_request_t xcb_req = { 212 /* count */ 2, 213 /* ext */ &xcb_xinerama_id, 214 /* opcode */ XCB_XINERAMA_GET_STATE, 215 /* isvoid */ 0 216 }; 217 218 struct iovec xcb_parts[4]; 219 xcb_xinerama_get_state_cookie_t xcb_ret; 220 xcb_xinerama_get_state_request_t xcb_out; 221 222 xcb_out.window = window; 223 224 xcb_parts[2].iov_base = (char *) &xcb_out; 225 xcb_parts[2].iov_len = sizeof(xcb_out); 226 xcb_parts[3].iov_base = 0; 227 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 228 229 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 230 return xcb_ret; 231 } 232 233 234 /***************************************************************************** 235 ** 236 ** xcb_xinerama_get_state_reply_t * xcb_xinerama_get_state_reply 237 ** 238 ** @param xcb_connection_t *c 239 ** @param xcb_xinerama_get_state_cookie_t cookie 240 ** @param xcb_generic_error_t **e 241 ** @returns xcb_xinerama_get_state_reply_t * 242 ** 243 *****************************************************************************/ 244 245 xcb_xinerama_get_state_reply_t * 246 xcb_xinerama_get_state_reply (xcb_connection_t *c /**< */, 247 xcb_xinerama_get_state_cookie_t cookie /**< */, 248 xcb_generic_error_t **e /**< */) 249 { 250 return (xcb_xinerama_get_state_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 251 } 252 253 254 /***************************************************************************** 255 ** 256 ** xcb_xinerama_get_screen_count_cookie_t xcb_xinerama_get_screen_count 257 ** 258 ** @param xcb_connection_t *c 259 ** @param xcb_window_t window 260 ** @returns xcb_xinerama_get_screen_count_cookie_t 261 ** 262 *****************************************************************************/ 263 264 xcb_xinerama_get_screen_count_cookie_t 265 xcb_xinerama_get_screen_count (xcb_connection_t *c /**< */, 266 xcb_window_t window /**< */) 267 { 268 static const xcb_protocol_request_t xcb_req = { 269 /* count */ 2, 270 /* ext */ &xcb_xinerama_id, 271 /* opcode */ XCB_XINERAMA_GET_SCREEN_COUNT, 272 /* isvoid */ 0 273 }; 274 275 struct iovec xcb_parts[4]; 276 xcb_xinerama_get_screen_count_cookie_t xcb_ret; 277 xcb_xinerama_get_screen_count_request_t xcb_out; 278 279 xcb_out.window = window; 280 281 xcb_parts[2].iov_base = (char *) &xcb_out; 282 xcb_parts[2].iov_len = sizeof(xcb_out); 283 xcb_parts[3].iov_base = 0; 284 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 285 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_xinerama_get_screen_count_cookie_t xcb_xinerama_get_screen_count_unchecked 294 ** 295 ** @param xcb_connection_t *c 296 ** @param xcb_window_t window 297 ** @returns xcb_xinerama_get_screen_count_cookie_t 298 ** 299 *****************************************************************************/ 300 301 xcb_xinerama_get_screen_count_cookie_t 302 xcb_xinerama_get_screen_count_unchecked (xcb_connection_t *c /**< */, 303 xcb_window_t window /**< */) 304 { 305 static const xcb_protocol_request_t xcb_req = { 306 /* count */ 2, 307 /* ext */ &xcb_xinerama_id, 308 /* opcode */ XCB_XINERAMA_GET_SCREEN_COUNT, 309 /* isvoid */ 0 310 }; 311 312 struct iovec xcb_parts[4]; 313 xcb_xinerama_get_screen_count_cookie_t xcb_ret; 314 xcb_xinerama_get_screen_count_request_t xcb_out; 315 316 xcb_out.window = window; 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 323 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 324 return xcb_ret; 325 } 326 327 328 /***************************************************************************** 329 ** 330 ** xcb_xinerama_get_screen_count_reply_t * xcb_xinerama_get_screen_count_reply 331 ** 332 ** @param xcb_connection_t *c 333 ** @param xcb_xinerama_get_screen_count_cookie_t cookie 334 ** @param xcb_generic_error_t **e 335 ** @returns xcb_xinerama_get_screen_count_reply_t * 336 ** 337 *****************************************************************************/ 338 339 xcb_xinerama_get_screen_count_reply_t * 340 xcb_xinerama_get_screen_count_reply (xcb_connection_t *c /**< */, 341 xcb_xinerama_get_screen_count_cookie_t cookie /**< */, 342 xcb_generic_error_t **e /**< */) 343 { 344 return (xcb_xinerama_get_screen_count_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 345 } 346 347 348 /***************************************************************************** 349 ** 350 ** xcb_xinerama_get_screen_size_cookie_t xcb_xinerama_get_screen_size 351 ** 352 ** @param xcb_connection_t *c 353 ** @param xcb_window_t window 354 ** @param uint32_t screen 355 ** @returns xcb_xinerama_get_screen_size_cookie_t 356 ** 357 *****************************************************************************/ 358 359 xcb_xinerama_get_screen_size_cookie_t 360 xcb_xinerama_get_screen_size (xcb_connection_t *c /**< */, 361 xcb_window_t window /**< */, 362 uint32_t screen /**< */) 363 { 364 static const xcb_protocol_request_t xcb_req = { 365 /* count */ 2, 366 /* ext */ &xcb_xinerama_id, 367 /* opcode */ XCB_XINERAMA_GET_SCREEN_SIZE, 368 /* isvoid */ 0 369 }; 370 371 struct iovec xcb_parts[4]; 372 xcb_xinerama_get_screen_size_cookie_t xcb_ret; 373 xcb_xinerama_get_screen_size_request_t xcb_out; 374 375 xcb_out.window = window; 376 xcb_out.screen = screen; 377 378 xcb_parts[2].iov_base = (char *) &xcb_out; 379 xcb_parts[2].iov_len = sizeof(xcb_out); 380 xcb_parts[3].iov_base = 0; 381 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 382 383 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 384 return xcb_ret; 385 } 386 387 388 /***************************************************************************** 389 ** 390 ** xcb_xinerama_get_screen_size_cookie_t xcb_xinerama_get_screen_size_unchecked 391 ** 392 ** @param xcb_connection_t *c 393 ** @param xcb_window_t window 394 ** @param uint32_t screen 395 ** @returns xcb_xinerama_get_screen_size_cookie_t 396 ** 397 *****************************************************************************/ 398 399 xcb_xinerama_get_screen_size_cookie_t 400 xcb_xinerama_get_screen_size_unchecked (xcb_connection_t *c /**< */, 401 xcb_window_t window /**< */, 402 uint32_t screen /**< */) 403 { 404 static const xcb_protocol_request_t xcb_req = { 405 /* count */ 2, 406 /* ext */ &xcb_xinerama_id, 407 /* opcode */ XCB_XINERAMA_GET_SCREEN_SIZE, 408 /* isvoid */ 0 409 }; 410 411 struct iovec xcb_parts[4]; 412 xcb_xinerama_get_screen_size_cookie_t xcb_ret; 413 xcb_xinerama_get_screen_size_request_t xcb_out; 414 415 xcb_out.window = window; 416 xcb_out.screen = screen; 417 418 xcb_parts[2].iov_base = (char *) &xcb_out; 419 xcb_parts[2].iov_len = sizeof(xcb_out); 420 xcb_parts[3].iov_base = 0; 421 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 422 423 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 424 return xcb_ret; 425 } 426 427 428 /***************************************************************************** 429 ** 430 ** xcb_xinerama_get_screen_size_reply_t * xcb_xinerama_get_screen_size_reply 431 ** 432 ** @param xcb_connection_t *c 433 ** @param xcb_xinerama_get_screen_size_cookie_t cookie 434 ** @param xcb_generic_error_t **e 435 ** @returns xcb_xinerama_get_screen_size_reply_t * 436 ** 437 *****************************************************************************/ 438 439 xcb_xinerama_get_screen_size_reply_t * 440 xcb_xinerama_get_screen_size_reply (xcb_connection_t *c /**< */, 441 xcb_xinerama_get_screen_size_cookie_t cookie /**< */, 442 xcb_generic_error_t **e /**< */) 443 { 444 return (xcb_xinerama_get_screen_size_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 445 } 446 447 448 /***************************************************************************** 449 ** 450 ** xcb_xinerama_is_active_cookie_t xcb_xinerama_is_active 451 ** 452 ** @param xcb_connection_t *c 453 ** @returns xcb_xinerama_is_active_cookie_t 454 ** 455 *****************************************************************************/ 456 457 xcb_xinerama_is_active_cookie_t 458 xcb_xinerama_is_active (xcb_connection_t *c /**< */) 459 { 460 static const xcb_protocol_request_t xcb_req = { 461 /* count */ 2, 462 /* ext */ &xcb_xinerama_id, 463 /* opcode */ XCB_XINERAMA_IS_ACTIVE, 464 /* isvoid */ 0 465 }; 466 467 struct iovec xcb_parts[4]; 468 xcb_xinerama_is_active_cookie_t xcb_ret; 469 xcb_xinerama_is_active_request_t xcb_out; 470 471 472 xcb_parts[2].iov_base = (char *) &xcb_out; 473 xcb_parts[2].iov_len = sizeof(xcb_out); 474 xcb_parts[3].iov_base = 0; 475 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 476 477 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 478 return xcb_ret; 479 } 480 481 482 /***************************************************************************** 483 ** 484 ** xcb_xinerama_is_active_cookie_t xcb_xinerama_is_active_unchecked 485 ** 486 ** @param xcb_connection_t *c 487 ** @returns xcb_xinerama_is_active_cookie_t 488 ** 489 *****************************************************************************/ 490 491 xcb_xinerama_is_active_cookie_t 492 xcb_xinerama_is_active_unchecked (xcb_connection_t *c /**< */) 493 { 494 static const xcb_protocol_request_t xcb_req = { 495 /* count */ 2, 496 /* ext */ &xcb_xinerama_id, 497 /* opcode */ XCB_XINERAMA_IS_ACTIVE, 498 /* isvoid */ 0 499 }; 500 501 struct iovec xcb_parts[4]; 502 xcb_xinerama_is_active_cookie_t xcb_ret; 503 xcb_xinerama_is_active_request_t xcb_out; 504 505 506 xcb_parts[2].iov_base = (char *) &xcb_out; 507 xcb_parts[2].iov_len = sizeof(xcb_out); 508 xcb_parts[3].iov_base = 0; 509 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 510 511 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 512 return xcb_ret; 513 } 514 515 516 /***************************************************************************** 517 ** 518 ** xcb_xinerama_is_active_reply_t * xcb_xinerama_is_active_reply 519 ** 520 ** @param xcb_connection_t *c 521 ** @param xcb_xinerama_is_active_cookie_t cookie 522 ** @param xcb_generic_error_t **e 523 ** @returns xcb_xinerama_is_active_reply_t * 524 ** 525 *****************************************************************************/ 526 527 xcb_xinerama_is_active_reply_t * 528 xcb_xinerama_is_active_reply (xcb_connection_t *c /**< */, 529 xcb_xinerama_is_active_cookie_t cookie /**< */, 530 xcb_generic_error_t **e /**< */) 531 { 532 return (xcb_xinerama_is_active_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 533 } 534 535 int 536 xcb_xinerama_query_screens_sizeof (const void *_buffer /**< */) 537 { 538 char *xcb_tmp = (char *)_buffer; 539 const xcb_xinerama_query_screens_reply_t *_aux = (xcb_xinerama_query_screens_reply_t *)_buffer; 540 unsigned int xcb_buffer_len = 0; 541 unsigned int xcb_block_len = 0; 542 unsigned int xcb_pad = 0; 543 unsigned int xcb_align_to = 0; 544 545 546 xcb_block_len += sizeof(xcb_xinerama_query_screens_reply_t); 547 xcb_tmp += xcb_block_len; 548 xcb_buffer_len += xcb_block_len; 549 xcb_block_len = 0; 550 /* screen_info */ 551 xcb_block_len += _aux->number * sizeof(xcb_xinerama_screen_info_t); 552 xcb_tmp += xcb_block_len; 553 xcb_align_to = ALIGNOF(xcb_xinerama_screen_info_t); 554 /* insert padding */ 555 xcb_pad = -xcb_block_len & (xcb_align_to - 1); 556 xcb_buffer_len += xcb_block_len + xcb_pad; 557 if (0 != xcb_pad) { 558 xcb_tmp += xcb_pad; 559 xcb_pad = 0; 560 } 561 xcb_block_len = 0; 562 563 return xcb_buffer_len; 564 } 565 566 567 /***************************************************************************** 568 ** 569 ** xcb_xinerama_query_screens_cookie_t xcb_xinerama_query_screens 570 ** 571 ** @param xcb_connection_t *c 572 ** @returns xcb_xinerama_query_screens_cookie_t 573 ** 574 *****************************************************************************/ 575 576 xcb_xinerama_query_screens_cookie_t 577 xcb_xinerama_query_screens (xcb_connection_t *c /**< */) 578 { 579 static const xcb_protocol_request_t xcb_req = { 580 /* count */ 2, 581 /* ext */ &xcb_xinerama_id, 582 /* opcode */ XCB_XINERAMA_QUERY_SCREENS, 583 /* isvoid */ 0 584 }; 585 586 struct iovec xcb_parts[4]; 587 xcb_xinerama_query_screens_cookie_t xcb_ret; 588 xcb_xinerama_query_screens_request_t xcb_out; 589 590 591 xcb_parts[2].iov_base = (char *) &xcb_out; 592 xcb_parts[2].iov_len = sizeof(xcb_out); 593 xcb_parts[3].iov_base = 0; 594 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 595 596 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 597 return xcb_ret; 598 } 599 600 601 /***************************************************************************** 602 ** 603 ** xcb_xinerama_query_screens_cookie_t xcb_xinerama_query_screens_unchecked 604 ** 605 ** @param xcb_connection_t *c 606 ** @returns xcb_xinerama_query_screens_cookie_t 607 ** 608 *****************************************************************************/ 609 610 xcb_xinerama_query_screens_cookie_t 611 xcb_xinerama_query_screens_unchecked (xcb_connection_t *c /**< */) 612 { 613 static const xcb_protocol_request_t xcb_req = { 614 /* count */ 2, 615 /* ext */ &xcb_xinerama_id, 616 /* opcode */ XCB_XINERAMA_QUERY_SCREENS, 617 /* isvoid */ 0 618 }; 619 620 struct iovec xcb_parts[4]; 621 xcb_xinerama_query_screens_cookie_t xcb_ret; 622 xcb_xinerama_query_screens_request_t xcb_out; 623 624 625 xcb_parts[2].iov_base = (char *) &xcb_out; 626 xcb_parts[2].iov_len = sizeof(xcb_out); 627 xcb_parts[3].iov_base = 0; 628 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 629 630 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 631 return xcb_ret; 632 } 633 634 635 /***************************************************************************** 636 ** 637 ** xcb_xinerama_screen_info_t * xcb_xinerama_query_screens_screen_info 638 ** 639 ** @param const xcb_xinerama_query_screens_reply_t *R 640 ** @returns xcb_xinerama_screen_info_t * 641 ** 642 *****************************************************************************/ 643 644 xcb_xinerama_screen_info_t * 645 xcb_xinerama_query_screens_screen_info (const xcb_xinerama_query_screens_reply_t *R /**< */) 646 { 647 return (xcb_xinerama_screen_info_t *) (R + 1); 648 } 649 650 651 /***************************************************************************** 652 ** 653 ** int xcb_xinerama_query_screens_screen_info_length 654 ** 655 ** @param const xcb_xinerama_query_screens_reply_t *R 656 ** @returns int 657 ** 658 *****************************************************************************/ 659 660 int 661 xcb_xinerama_query_screens_screen_info_length (const xcb_xinerama_query_screens_reply_t *R /**< */) 662 { 663 return R->number; 664 } 665 666 667 /***************************************************************************** 668 ** 669 ** xcb_xinerama_screen_info_iterator_t xcb_xinerama_query_screens_screen_info_iterator 670 ** 671 ** @param const xcb_xinerama_query_screens_reply_t *R 672 ** @returns xcb_xinerama_screen_info_iterator_t 673 ** 674 *****************************************************************************/ 675 676 xcb_xinerama_screen_info_iterator_t 677 xcb_xinerama_query_screens_screen_info_iterator (const xcb_xinerama_query_screens_reply_t *R /**< */) 678 { 679 xcb_xinerama_screen_info_iterator_t i; 680 i.data = (xcb_xinerama_screen_info_t *) (R + 1); 681 i.rem = R->number; 682 i.index = (char *) i.data - (char *) R; 683 return i; 684 } 685 686 687 /***************************************************************************** 688 ** 689 ** xcb_xinerama_query_screens_reply_t * xcb_xinerama_query_screens_reply 690 ** 691 ** @param xcb_connection_t *c 692 ** @param xcb_xinerama_query_screens_cookie_t cookie 693 ** @param xcb_generic_error_t **e 694 ** @returns xcb_xinerama_query_screens_reply_t * 695 ** 696 *****************************************************************************/ 697 698 xcb_xinerama_query_screens_reply_t * 699 xcb_xinerama_query_screens_reply (xcb_connection_t *c /**< */, 700 xcb_xinerama_query_screens_cookie_t cookie /**< */, 701 xcb_generic_error_t **e /**< */) 702 { 703 return (xcb_xinerama_query_screens_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 704 } 705 706