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; 306 307 308 xcb_block_len += sizeof(xcb_screensaver_set_attributes_request_t); 309 xcb_tmp += xcb_block_len; 310 /* value_list */ 311 xcb_block_len += xcb_popcount(_aux->value_mask) * sizeof(uint32_t); 312 xcb_tmp += xcb_block_len; 313 xcb_align_to = ALIGNOF(uint32_t); 314 /* insert padding */ 315 xcb_pad = -xcb_block_len & (xcb_align_to - 1); 316 xcb_buffer_len += xcb_block_len + xcb_pad; 317 if (0 != xcb_pad) { 318 xcb_tmp += xcb_pad; 319 xcb_pad = 0; 320 } 321 xcb_block_len = 0; 322 323 return xcb_buffer_len; 324 } 325 326 327 /***************************************************************************** 328 ** 329 ** xcb_void_cookie_t xcb_screensaver_set_attributes_checked 330 ** 331 ** @param xcb_connection_t *c 332 ** @param xcb_drawable_t drawable 333 ** @param int16_t x 334 ** @param int16_t y 335 ** @param uint16_t width 336 ** @param uint16_t height 337 ** @param uint16_t border_width 338 ** @param uint8_t _class 339 ** @param uint8_t depth 340 ** @param xcb_visualid_t visual 341 ** @param uint32_t value_mask 342 ** @param const uint32_t *value_list 343 ** @returns xcb_void_cookie_t 344 ** 345 *****************************************************************************/ 346 347 xcb_void_cookie_t 348 xcb_screensaver_set_attributes_checked (xcb_connection_t *c /**< */, 349 xcb_drawable_t drawable /**< */, 350 int16_t x /**< */, 351 int16_t y /**< */, 352 uint16_t width /**< */, 353 uint16_t height /**< */, 354 uint16_t border_width /**< */, 355 uint8_t _class /**< */, 356 uint8_t depth /**< */, 357 xcb_visualid_t visual /**< */, 358 uint32_t value_mask /**< */, 359 const uint32_t *value_list /**< */) 360 { 361 static const xcb_protocol_request_t xcb_req = { 362 /* count */ 4, 363 /* ext */ &xcb_screensaver_id, 364 /* opcode */ XCB_SCREENSAVER_SET_ATTRIBUTES, 365 /* isvoid */ 1 366 }; 367 368 struct iovec xcb_parts[6]; 369 xcb_void_cookie_t xcb_ret; 370 xcb_screensaver_set_attributes_request_t xcb_out; 371 372 xcb_out.drawable = drawable; 373 xcb_out.x = x; 374 xcb_out.y = y; 375 xcb_out.width = width; 376 xcb_out.height = height; 377 xcb_out.border_width = border_width; 378 xcb_out._class = _class; 379 xcb_out.depth = depth; 380 xcb_out.visual = visual; 381 xcb_out.value_mask = value_mask; 382 383 xcb_parts[2].iov_base = (char *) &xcb_out; 384 xcb_parts[2].iov_len = sizeof(xcb_out); 385 xcb_parts[3].iov_base = 0; 386 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 387 /* uint32_t value_list */ 388 xcb_parts[4].iov_base = (char *) value_list; 389 xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t); 390 xcb_parts[5].iov_base = 0; 391 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 392 393 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 394 return xcb_ret; 395 } 396 397 398 /***************************************************************************** 399 ** 400 ** xcb_void_cookie_t xcb_screensaver_set_attributes 401 ** 402 ** @param xcb_connection_t *c 403 ** @param xcb_drawable_t drawable 404 ** @param int16_t x 405 ** @param int16_t y 406 ** @param uint16_t width 407 ** @param uint16_t height 408 ** @param uint16_t border_width 409 ** @param uint8_t _class 410 ** @param uint8_t depth 411 ** @param xcb_visualid_t visual 412 ** @param uint32_t value_mask 413 ** @param const uint32_t *value_list 414 ** @returns xcb_void_cookie_t 415 ** 416 *****************************************************************************/ 417 418 xcb_void_cookie_t 419 xcb_screensaver_set_attributes (xcb_connection_t *c /**< */, 420 xcb_drawable_t drawable /**< */, 421 int16_t x /**< */, 422 int16_t y /**< */, 423 uint16_t width /**< */, 424 uint16_t height /**< */, 425 uint16_t border_width /**< */, 426 uint8_t _class /**< */, 427 uint8_t depth /**< */, 428 xcb_visualid_t visual /**< */, 429 uint32_t value_mask /**< */, 430 const uint32_t *value_list /**< */) 431 { 432 static const xcb_protocol_request_t xcb_req = { 433 /* count */ 4, 434 /* ext */ &xcb_screensaver_id, 435 /* opcode */ XCB_SCREENSAVER_SET_ATTRIBUTES, 436 /* isvoid */ 1 437 }; 438 439 struct iovec xcb_parts[6]; 440 xcb_void_cookie_t xcb_ret; 441 xcb_screensaver_set_attributes_request_t xcb_out; 442 443 xcb_out.drawable = drawable; 444 xcb_out.x = x; 445 xcb_out.y = y; 446 xcb_out.width = width; 447 xcb_out.height = height; 448 xcb_out.border_width = border_width; 449 xcb_out._class = _class; 450 xcb_out.depth = depth; 451 xcb_out.visual = visual; 452 xcb_out.value_mask = value_mask; 453 454 xcb_parts[2].iov_base = (char *) &xcb_out; 455 xcb_parts[2].iov_len = sizeof(xcb_out); 456 xcb_parts[3].iov_base = 0; 457 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 458 /* uint32_t value_list */ 459 xcb_parts[4].iov_base = (char *) value_list; 460 xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t); 461 xcb_parts[5].iov_base = 0; 462 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 463 464 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 465 return xcb_ret; 466 } 467 468 469 /***************************************************************************** 470 ** 471 ** xcb_void_cookie_t xcb_screensaver_unset_attributes_checked 472 ** 473 ** @param xcb_connection_t *c 474 ** @param xcb_drawable_t drawable 475 ** @returns xcb_void_cookie_t 476 ** 477 *****************************************************************************/ 478 479 xcb_void_cookie_t 480 xcb_screensaver_unset_attributes_checked (xcb_connection_t *c /**< */, 481 xcb_drawable_t drawable /**< */) 482 { 483 static const xcb_protocol_request_t xcb_req = { 484 /* count */ 2, 485 /* ext */ &xcb_screensaver_id, 486 /* opcode */ XCB_SCREENSAVER_UNSET_ATTRIBUTES, 487 /* isvoid */ 1 488 }; 489 490 struct iovec xcb_parts[4]; 491 xcb_void_cookie_t xcb_ret; 492 xcb_screensaver_unset_attributes_request_t xcb_out; 493 494 xcb_out.drawable = drawable; 495 496 xcb_parts[2].iov_base = (char *) &xcb_out; 497 xcb_parts[2].iov_len = sizeof(xcb_out); 498 xcb_parts[3].iov_base = 0; 499 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 500 501 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 502 return xcb_ret; 503 } 504 505 506 /***************************************************************************** 507 ** 508 ** xcb_void_cookie_t xcb_screensaver_unset_attributes 509 ** 510 ** @param xcb_connection_t *c 511 ** @param xcb_drawable_t drawable 512 ** @returns xcb_void_cookie_t 513 ** 514 *****************************************************************************/ 515 516 xcb_void_cookie_t 517 xcb_screensaver_unset_attributes (xcb_connection_t *c /**< */, 518 xcb_drawable_t drawable /**< */) 519 { 520 static const xcb_protocol_request_t xcb_req = { 521 /* count */ 2, 522 /* ext */ &xcb_screensaver_id, 523 /* opcode */ XCB_SCREENSAVER_UNSET_ATTRIBUTES, 524 /* isvoid */ 1 525 }; 526 527 struct iovec xcb_parts[4]; 528 xcb_void_cookie_t xcb_ret; 529 xcb_screensaver_unset_attributes_request_t xcb_out; 530 531 xcb_out.drawable = drawable; 532 533 xcb_parts[2].iov_base = (char *) &xcb_out; 534 xcb_parts[2].iov_len = sizeof(xcb_out); 535 xcb_parts[3].iov_base = 0; 536 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 537 538 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 539 return xcb_ret; 540 } 541 542 543 /***************************************************************************** 544 ** 545 ** xcb_void_cookie_t xcb_screensaver_suspend_checked 546 ** 547 ** @param xcb_connection_t *c 548 ** @param uint8_t suspend 549 ** @returns xcb_void_cookie_t 550 ** 551 *****************************************************************************/ 552 553 xcb_void_cookie_t 554 xcb_screensaver_suspend_checked (xcb_connection_t *c /**< */, 555 uint8_t suspend /**< */) 556 { 557 static const xcb_protocol_request_t xcb_req = { 558 /* count */ 2, 559 /* ext */ &xcb_screensaver_id, 560 /* opcode */ XCB_SCREENSAVER_SUSPEND, 561 /* isvoid */ 1 562 }; 563 564 struct iovec xcb_parts[4]; 565 xcb_void_cookie_t xcb_ret; 566 xcb_screensaver_suspend_request_t xcb_out; 567 568 xcb_out.suspend = suspend; 569 memset(xcb_out.pad0, 0, 3); 570 571 xcb_parts[2].iov_base = (char *) &xcb_out; 572 xcb_parts[2].iov_len = sizeof(xcb_out); 573 xcb_parts[3].iov_base = 0; 574 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 575 576 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 577 return xcb_ret; 578 } 579 580 581 /***************************************************************************** 582 ** 583 ** xcb_void_cookie_t xcb_screensaver_suspend 584 ** 585 ** @param xcb_connection_t *c 586 ** @param uint8_t suspend 587 ** @returns xcb_void_cookie_t 588 ** 589 *****************************************************************************/ 590 591 xcb_void_cookie_t 592 xcb_screensaver_suspend (xcb_connection_t *c /**< */, 593 uint8_t suspend /**< */) 594 { 595 static const xcb_protocol_request_t xcb_req = { 596 /* count */ 2, 597 /* ext */ &xcb_screensaver_id, 598 /* opcode */ XCB_SCREENSAVER_SUSPEND, 599 /* isvoid */ 1 600 }; 601 602 struct iovec xcb_parts[4]; 603 xcb_void_cookie_t xcb_ret; 604 xcb_screensaver_suspend_request_t xcb_out; 605 606 xcb_out.suspend = suspend; 607 memset(xcb_out.pad0, 0, 3); 608 609 xcb_parts[2].iov_base = (char *) &xcb_out; 610 xcb_parts[2].iov_len = sizeof(xcb_out); 611 xcb_parts[3].iov_base = 0; 612 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 613 614 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 615 return xcb_ret; 616 } 617 618