1 /* 2 * This file generated automatically from screensaver.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 "screensaver.h" 15 16 #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member) 17 #include "xproto.h" 18 19 xcb_extension_t xcb_screensaver_id = { "MIT-SCREEN-SAVER", 0 }; 20 21 22 /***************************************************************************** 23 ** 24 ** xcb_screensaver_query_version_cookie_t xcb_screensaver_query_version 25 ** 26 ** @param xcb_connection_t *c 27 ** @param uint8_t client_major_version 28 ** @param uint8_t client_minor_version 29 ** @returns xcb_screensaver_query_version_cookie_t 30 ** 31 *****************************************************************************/ 32 33 xcb_screensaver_query_version_cookie_t 34 xcb_screensaver_query_version (xcb_connection_t *c /**< */, 35 uint8_t client_major_version /**< */, 36 uint8_t client_minor_version /**< */) 37 { 38 static const xcb_protocol_request_t xcb_req = { 39 /* count */ 2, 40 /* ext */ &xcb_screensaver_id, 41 /* opcode */ XCB_SCREENSAVER_QUERY_VERSION, 42 /* isvoid */ 0 43 }; 44 45 struct iovec xcb_parts[4]; 46 xcb_screensaver_query_version_cookie_t xcb_ret; 47 xcb_screensaver_query_version_request_t xcb_out; 48 49 xcb_out.client_major_version = client_major_version; 50 xcb_out.client_minor_version = client_minor_version; 51 memset(xcb_out.pad0, 0, 2); 52 53 xcb_parts[2].iov_base = (char *) &xcb_out; 54 xcb_parts[2].iov_len = sizeof(xcb_out); 55 xcb_parts[3].iov_base = 0; 56 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 57 58 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 59 return xcb_ret; 60 } 61 62 63 /***************************************************************************** 64 ** 65 ** xcb_screensaver_query_version_cookie_t xcb_screensaver_query_version_unchecked 66 ** 67 ** @param xcb_connection_t *c 68 ** @param uint8_t client_major_version 69 ** @param uint8_t client_minor_version 70 ** @returns xcb_screensaver_query_version_cookie_t 71 ** 72 *****************************************************************************/ 73 74 xcb_screensaver_query_version_cookie_t 75 xcb_screensaver_query_version_unchecked (xcb_connection_t *c /**< */, 76 uint8_t client_major_version /**< */, 77 uint8_t client_minor_version /**< */) 78 { 79 static const xcb_protocol_request_t xcb_req = { 80 /* count */ 2, 81 /* ext */ &xcb_screensaver_id, 82 /* opcode */ XCB_SCREENSAVER_QUERY_VERSION, 83 /* isvoid */ 0 84 }; 85 86 struct iovec xcb_parts[4]; 87 xcb_screensaver_query_version_cookie_t xcb_ret; 88 xcb_screensaver_query_version_request_t xcb_out; 89 90 xcb_out.client_major_version = client_major_version; 91 xcb_out.client_minor_version = client_minor_version; 92 memset(xcb_out.pad0, 0, 2); 93 94 xcb_parts[2].iov_base = (char *) &xcb_out; 95 xcb_parts[2].iov_len = sizeof(xcb_out); 96 xcb_parts[3].iov_base = 0; 97 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 98 99 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 100 return xcb_ret; 101 } 102 103 104 /***************************************************************************** 105 ** 106 ** xcb_screensaver_query_version_reply_t * xcb_screensaver_query_version_reply 107 ** 108 ** @param xcb_connection_t *c 109 ** @param xcb_screensaver_query_version_cookie_t cookie 110 ** @param xcb_generic_error_t **e 111 ** @returns xcb_screensaver_query_version_reply_t * 112 ** 113 *****************************************************************************/ 114 115 xcb_screensaver_query_version_reply_t * 116 xcb_screensaver_query_version_reply (xcb_connection_t *c /**< */, 117 xcb_screensaver_query_version_cookie_t cookie /**< */, 118 xcb_generic_error_t **e /**< */) 119 { 120 return (xcb_screensaver_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 121 } 122 123 124 /***************************************************************************** 125 ** 126 ** xcb_screensaver_query_info_cookie_t xcb_screensaver_query_info 127 ** 128 ** @param xcb_connection_t *c 129 ** @param xcb_drawable_t drawable 130 ** @returns xcb_screensaver_query_info_cookie_t 131 ** 132 *****************************************************************************/ 133 134 xcb_screensaver_query_info_cookie_t 135 xcb_screensaver_query_info (xcb_connection_t *c /**< */, 136 xcb_drawable_t drawable /**< */) 137 { 138 static const xcb_protocol_request_t xcb_req = { 139 /* count */ 2, 140 /* ext */ &xcb_screensaver_id, 141 /* opcode */ XCB_SCREENSAVER_QUERY_INFO, 142 /* isvoid */ 0 143 }; 144 145 struct iovec xcb_parts[4]; 146 xcb_screensaver_query_info_cookie_t xcb_ret; 147 xcb_screensaver_query_info_request_t xcb_out; 148 149 xcb_out.drawable = drawable; 150 151 xcb_parts[2].iov_base = (char *) &xcb_out; 152 xcb_parts[2].iov_len = sizeof(xcb_out); 153 xcb_parts[3].iov_base = 0; 154 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 155 156 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 157 return xcb_ret; 158 } 159 160 161 /***************************************************************************** 162 ** 163 ** xcb_screensaver_query_info_cookie_t xcb_screensaver_query_info_unchecked 164 ** 165 ** @param xcb_connection_t *c 166 ** @param xcb_drawable_t drawable 167 ** @returns xcb_screensaver_query_info_cookie_t 168 ** 169 *****************************************************************************/ 170 171 xcb_screensaver_query_info_cookie_t 172 xcb_screensaver_query_info_unchecked (xcb_connection_t *c /**< */, 173 xcb_drawable_t drawable /**< */) 174 { 175 static const xcb_protocol_request_t xcb_req = { 176 /* count */ 2, 177 /* ext */ &xcb_screensaver_id, 178 /* opcode */ XCB_SCREENSAVER_QUERY_INFO, 179 /* isvoid */ 0 180 }; 181 182 struct iovec xcb_parts[4]; 183 xcb_screensaver_query_info_cookie_t xcb_ret; 184 xcb_screensaver_query_info_request_t xcb_out; 185 186 xcb_out.drawable = drawable; 187 188 xcb_parts[2].iov_base = (char *) &xcb_out; 189 xcb_parts[2].iov_len = sizeof(xcb_out); 190 xcb_parts[3].iov_base = 0; 191 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 192 193 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 194 return xcb_ret; 195 } 196 197 198 /***************************************************************************** 199 ** 200 ** xcb_screensaver_query_info_reply_t * xcb_screensaver_query_info_reply 201 ** 202 ** @param xcb_connection_t *c 203 ** @param xcb_screensaver_query_info_cookie_t cookie 204 ** @param xcb_generic_error_t **e 205 ** @returns xcb_screensaver_query_info_reply_t * 206 ** 207 *****************************************************************************/ 208 209 xcb_screensaver_query_info_reply_t * 210 xcb_screensaver_query_info_reply (xcb_connection_t *c /**< */, 211 xcb_screensaver_query_info_cookie_t cookie /**< */, 212 xcb_generic_error_t **e /**< */) 213 { 214 return (xcb_screensaver_query_info_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 215 } 216 217 218 /***************************************************************************** 219 ** 220 ** xcb_void_cookie_t xcb_screensaver_select_input_checked 221 ** 222 ** @param xcb_connection_t *c 223 ** @param xcb_drawable_t drawable 224 ** @param uint32_t event_mask 225 ** @returns xcb_void_cookie_t 226 ** 227 *****************************************************************************/ 228 229 xcb_void_cookie_t 230 xcb_screensaver_select_input_checked (xcb_connection_t *c /**< */, 231 xcb_drawable_t drawable /**< */, 232 uint32_t event_mask /**< */) 233 { 234 static const xcb_protocol_request_t xcb_req = { 235 /* count */ 2, 236 /* ext */ &xcb_screensaver_id, 237 /* opcode */ XCB_SCREENSAVER_SELECT_INPUT, 238 /* isvoid */ 1 239 }; 240 241 struct iovec xcb_parts[4]; 242 xcb_void_cookie_t xcb_ret; 243 xcb_screensaver_select_input_request_t xcb_out; 244 245 xcb_out.drawable = drawable; 246 xcb_out.event_mask = event_mask; 247 248 xcb_parts[2].iov_base = (char *) &xcb_out; 249 xcb_parts[2].iov_len = sizeof(xcb_out); 250 xcb_parts[3].iov_base = 0; 251 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 252 253 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 254 return xcb_ret; 255 } 256 257 258 /***************************************************************************** 259 ** 260 ** xcb_void_cookie_t xcb_screensaver_select_input 261 ** 262 ** @param xcb_connection_t *c 263 ** @param xcb_drawable_t drawable 264 ** @param uint32_t event_mask 265 ** @returns xcb_void_cookie_t 266 ** 267 *****************************************************************************/ 268 269 xcb_void_cookie_t 270 xcb_screensaver_select_input (xcb_connection_t *c /**< */, 271 xcb_drawable_t drawable /**< */, 272 uint32_t event_mask /**< */) 273 { 274 static const xcb_protocol_request_t xcb_req = { 275 /* count */ 2, 276 /* ext */ &xcb_screensaver_id, 277 /* opcode */ XCB_SCREENSAVER_SELECT_INPUT, 278 /* isvoid */ 1 279 }; 280 281 struct iovec xcb_parts[4]; 282 xcb_void_cookie_t xcb_ret; 283 xcb_screensaver_select_input_request_t xcb_out; 284 285 xcb_out.drawable = drawable; 286 xcb_out.event_mask = event_mask; 287 288 xcb_parts[2].iov_base = (char *) &xcb_out; 289 xcb_parts[2].iov_len = sizeof(xcb_out); 290 xcb_parts[3].iov_base = 0; 291 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 292 293 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 294 return xcb_ret; 295 } 296 297 int 298 xcb_screensaver_set_attributes_sizeof (const void *_buffer /**< */) 299 { 300 char *xcb_tmp = (char *)_buffer; 301 const xcb_screensaver_set_attributes_request_t *_aux = (xcb_screensaver_set_attributes_request_t *)_buffer; 302 unsigned int xcb_buffer_len = 0; 303 unsigned int xcb_block_len = 0; 304 unsigned int xcb_pad = 0; 305 unsigned int xcb_align_to = 0; 306 307 308 xcb_block_len += sizeof(xcb_screensaver_set_attributes_request_t); 309 xcb_tmp += xcb_block_len; 310 xcb_buffer_len += xcb_block_len; 311 xcb_block_len = 0; 312 /* value_list */ 313 xcb_block_len += xcb_popcount(_aux->value_mask) * sizeof(uint32_t); 314 xcb_tmp += xcb_block_len; 315 xcb_align_to = ALIGNOF(uint32_t); 316 /* insert padding */ 317 xcb_pad = -xcb_block_len & (xcb_align_to - 1); 318 xcb_buffer_len += xcb_block_len + xcb_pad; 319 if (0 != xcb_pad) { 320 xcb_tmp += xcb_pad; 321 xcb_pad = 0; 322 } 323 xcb_block_len = 0; 324 325 return xcb_buffer_len; 326 } 327 328 329 /***************************************************************************** 330 ** 331 ** xcb_void_cookie_t xcb_screensaver_set_attributes_checked 332 ** 333 ** @param xcb_connection_t *c 334 ** @param xcb_drawable_t drawable 335 ** @param int16_t x 336 ** @param int16_t y 337 ** @param uint16_t width 338 ** @param uint16_t height 339 ** @param uint16_t border_width 340 ** @param uint8_t _class 341 ** @param uint8_t depth 342 ** @param xcb_visualid_t visual 343 ** @param uint32_t value_mask 344 ** @param const uint32_t *value_list 345 ** @returns xcb_void_cookie_t 346 ** 347 *****************************************************************************/ 348 349 xcb_void_cookie_t 350 xcb_screensaver_set_attributes_checked (xcb_connection_t *c /**< */, 351 xcb_drawable_t drawable /**< */, 352 int16_t x /**< */, 353 int16_t y /**< */, 354 uint16_t width /**< */, 355 uint16_t height /**< */, 356 uint16_t border_width /**< */, 357 uint8_t _class /**< */, 358 uint8_t depth /**< */, 359 xcb_visualid_t visual /**< */, 360 uint32_t value_mask /**< */, 361 const uint32_t *value_list /**< */) 362 { 363 static const xcb_protocol_request_t xcb_req = { 364 /* count */ 4, 365 /* ext */ &xcb_screensaver_id, 366 /* opcode */ XCB_SCREENSAVER_SET_ATTRIBUTES, 367 /* isvoid */ 1 368 }; 369 370 struct iovec xcb_parts[6]; 371 xcb_void_cookie_t xcb_ret; 372 xcb_screensaver_set_attributes_request_t xcb_out; 373 374 xcb_out.drawable = drawable; 375 xcb_out.x = x; 376 xcb_out.y = y; 377 xcb_out.width = width; 378 xcb_out.height = height; 379 xcb_out.border_width = border_width; 380 xcb_out._class = _class; 381 xcb_out.depth = depth; 382 xcb_out.visual = visual; 383 xcb_out.value_mask = value_mask; 384 385 xcb_parts[2].iov_base = (char *) &xcb_out; 386 xcb_parts[2].iov_len = sizeof(xcb_out); 387 xcb_parts[3].iov_base = 0; 388 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 389 /* uint32_t value_list */ 390 xcb_parts[4].iov_base = (char *) value_list; 391 xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t); 392 xcb_parts[5].iov_base = 0; 393 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 394 395 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 396 return xcb_ret; 397 } 398 399 400 /***************************************************************************** 401 ** 402 ** xcb_void_cookie_t xcb_screensaver_set_attributes 403 ** 404 ** @param xcb_connection_t *c 405 ** @param xcb_drawable_t drawable 406 ** @param int16_t x 407 ** @param int16_t y 408 ** @param uint16_t width 409 ** @param uint16_t height 410 ** @param uint16_t border_width 411 ** @param uint8_t _class 412 ** @param uint8_t depth 413 ** @param xcb_visualid_t visual 414 ** @param uint32_t value_mask 415 ** @param const uint32_t *value_list 416 ** @returns xcb_void_cookie_t 417 ** 418 *****************************************************************************/ 419 420 xcb_void_cookie_t 421 xcb_screensaver_set_attributes (xcb_connection_t *c /**< */, 422 xcb_drawable_t drawable /**< */, 423 int16_t x /**< */, 424 int16_t y /**< */, 425 uint16_t width /**< */, 426 uint16_t height /**< */, 427 uint16_t border_width /**< */, 428 uint8_t _class /**< */, 429 uint8_t depth /**< */, 430 xcb_visualid_t visual /**< */, 431 uint32_t value_mask /**< */, 432 const uint32_t *value_list /**< */) 433 { 434 static const xcb_protocol_request_t xcb_req = { 435 /* count */ 4, 436 /* ext */ &xcb_screensaver_id, 437 /* opcode */ XCB_SCREENSAVER_SET_ATTRIBUTES, 438 /* isvoid */ 1 439 }; 440 441 struct iovec xcb_parts[6]; 442 xcb_void_cookie_t xcb_ret; 443 xcb_screensaver_set_attributes_request_t xcb_out; 444 445 xcb_out.drawable = drawable; 446 xcb_out.x = x; 447 xcb_out.y = y; 448 xcb_out.width = width; 449 xcb_out.height = height; 450 xcb_out.border_width = border_width; 451 xcb_out._class = _class; 452 xcb_out.depth = depth; 453 xcb_out.visual = visual; 454 xcb_out.value_mask = value_mask; 455 456 xcb_parts[2].iov_base = (char *) &xcb_out; 457 xcb_parts[2].iov_len = sizeof(xcb_out); 458 xcb_parts[3].iov_base = 0; 459 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 460 /* uint32_t value_list */ 461 xcb_parts[4].iov_base = (char *) value_list; 462 xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t); 463 xcb_parts[5].iov_base = 0; 464 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 465 466 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 467 return xcb_ret; 468 } 469 470 471 /***************************************************************************** 472 ** 473 ** xcb_void_cookie_t xcb_screensaver_unset_attributes_checked 474 ** 475 ** @param xcb_connection_t *c 476 ** @param xcb_drawable_t drawable 477 ** @returns xcb_void_cookie_t 478 ** 479 *****************************************************************************/ 480 481 xcb_void_cookie_t 482 xcb_screensaver_unset_attributes_checked (xcb_connection_t *c /**< */, 483 xcb_drawable_t drawable /**< */) 484 { 485 static const xcb_protocol_request_t xcb_req = { 486 /* count */ 2, 487 /* ext */ &xcb_screensaver_id, 488 /* opcode */ XCB_SCREENSAVER_UNSET_ATTRIBUTES, 489 /* isvoid */ 1 490 }; 491 492 struct iovec xcb_parts[4]; 493 xcb_void_cookie_t xcb_ret; 494 xcb_screensaver_unset_attributes_request_t xcb_out; 495 496 xcb_out.drawable = drawable; 497 498 xcb_parts[2].iov_base = (char *) &xcb_out; 499 xcb_parts[2].iov_len = sizeof(xcb_out); 500 xcb_parts[3].iov_base = 0; 501 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 502 503 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 504 return xcb_ret; 505 } 506 507 508 /***************************************************************************** 509 ** 510 ** xcb_void_cookie_t xcb_screensaver_unset_attributes 511 ** 512 ** @param xcb_connection_t *c 513 ** @param xcb_drawable_t drawable 514 ** @returns xcb_void_cookie_t 515 ** 516 *****************************************************************************/ 517 518 xcb_void_cookie_t 519 xcb_screensaver_unset_attributes (xcb_connection_t *c /**< */, 520 xcb_drawable_t drawable /**< */) 521 { 522 static const xcb_protocol_request_t xcb_req = { 523 /* count */ 2, 524 /* ext */ &xcb_screensaver_id, 525 /* opcode */ XCB_SCREENSAVER_UNSET_ATTRIBUTES, 526 /* isvoid */ 1 527 }; 528 529 struct iovec xcb_parts[4]; 530 xcb_void_cookie_t xcb_ret; 531 xcb_screensaver_unset_attributes_request_t xcb_out; 532 533 xcb_out.drawable = drawable; 534 535 xcb_parts[2].iov_base = (char *) &xcb_out; 536 xcb_parts[2].iov_len = sizeof(xcb_out); 537 xcb_parts[3].iov_base = 0; 538 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 539 540 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 541 return xcb_ret; 542 } 543 544 545 /***************************************************************************** 546 ** 547 ** xcb_void_cookie_t xcb_screensaver_suspend_checked 548 ** 549 ** @param xcb_connection_t *c 550 ** @param uint8_t suspend 551 ** @returns xcb_void_cookie_t 552 ** 553 *****************************************************************************/ 554 555 xcb_void_cookie_t 556 xcb_screensaver_suspend_checked (xcb_connection_t *c /**< */, 557 uint8_t suspend /**< */) 558 { 559 static const xcb_protocol_request_t xcb_req = { 560 /* count */ 2, 561 /* ext */ &xcb_screensaver_id, 562 /* opcode */ XCB_SCREENSAVER_SUSPEND, 563 /* isvoid */ 1 564 }; 565 566 struct iovec xcb_parts[4]; 567 xcb_void_cookie_t xcb_ret; 568 xcb_screensaver_suspend_request_t xcb_out; 569 570 xcb_out.suspend = suspend; 571 memset(xcb_out.pad0, 0, 3); 572 573 xcb_parts[2].iov_base = (char *) &xcb_out; 574 xcb_parts[2].iov_len = sizeof(xcb_out); 575 xcb_parts[3].iov_base = 0; 576 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 577 578 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 579 return xcb_ret; 580 } 581 582 583 /***************************************************************************** 584 ** 585 ** xcb_void_cookie_t xcb_screensaver_suspend 586 ** 587 ** @param xcb_connection_t *c 588 ** @param uint8_t suspend 589 ** @returns xcb_void_cookie_t 590 ** 591 *****************************************************************************/ 592 593 xcb_void_cookie_t 594 xcb_screensaver_suspend (xcb_connection_t *c /**< */, 595 uint8_t suspend /**< */) 596 { 597 static const xcb_protocol_request_t xcb_req = { 598 /* count */ 2, 599 /* ext */ &xcb_screensaver_id, 600 /* opcode */ XCB_SCREENSAVER_SUSPEND, 601 /* isvoid */ 1 602 }; 603 604 struct iovec xcb_parts[4]; 605 xcb_void_cookie_t xcb_ret; 606 xcb_screensaver_suspend_request_t xcb_out; 607 608 xcb_out.suspend = suspend; 609 memset(xcb_out.pad0, 0, 3); 610 611 xcb_parts[2].iov_base = (char *) &xcb_out; 612 xcb_parts[2].iov_len = sizeof(xcb_out); 613 xcb_parts[3].iov_base = 0; 614 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 615 616 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 617 return xcb_ret; 618 } 619 620