1/* 2 * This file generated automatically from xselinux.xml by c_client.py. 3 * Edit at your peril. 4 */ 5 6#include <string.h> 7#include <assert.h> 8#include "xcbext.h" 9#include "xselinux.h" 10#include "xproto.h" 11 12xcb_extension_t xcb_selinux_id = { "SELinux", 0 }; 13 14 15/***************************************************************************** 16 ** 17 ** xcb_selinux_query_version_cookie_t xcb_selinux_query_version 18 ** 19 ** @param xcb_connection_t *c 20 ** @param uint8_t client_major 21 ** @param uint8_t client_minor 22 ** @returns xcb_selinux_query_version_cookie_t 23 ** 24 *****************************************************************************/ 25 26xcb_selinux_query_version_cookie_t 27xcb_selinux_query_version (xcb_connection_t *c /**< */, 28 uint8_t client_major /**< */, 29 uint8_t client_minor /**< */) 30{ 31 static const xcb_protocol_request_t xcb_req = { 32 /* count */ 2, 33 /* ext */ &xcb_selinux_id, 34 /* opcode */ XCB_SELINUX_QUERY_VERSION, 35 /* isvoid */ 0 36 }; 37 38 struct iovec xcb_parts[4]; 39 xcb_selinux_query_version_cookie_t xcb_ret; 40 xcb_selinux_query_version_request_t xcb_out; 41 42 xcb_out.client_major = client_major; 43 xcb_out.client_minor = client_minor; 44 45 xcb_parts[2].iov_base = (char *) &xcb_out; 46 xcb_parts[2].iov_len = sizeof(xcb_out); 47 xcb_parts[3].iov_base = 0; 48 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 49 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 50 return xcb_ret; 51} 52 53 54/***************************************************************************** 55 ** 56 ** xcb_selinux_query_version_cookie_t xcb_selinux_query_version_unchecked 57 ** 58 ** @param xcb_connection_t *c 59 ** @param uint8_t client_major 60 ** @param uint8_t client_minor 61 ** @returns xcb_selinux_query_version_cookie_t 62 ** 63 *****************************************************************************/ 64 65xcb_selinux_query_version_cookie_t 66xcb_selinux_query_version_unchecked (xcb_connection_t *c /**< */, 67 uint8_t client_major /**< */, 68 uint8_t client_minor /**< */) 69{ 70 static const xcb_protocol_request_t xcb_req = { 71 /* count */ 2, 72 /* ext */ &xcb_selinux_id, 73 /* opcode */ XCB_SELINUX_QUERY_VERSION, 74 /* isvoid */ 0 75 }; 76 77 struct iovec xcb_parts[4]; 78 xcb_selinux_query_version_cookie_t xcb_ret; 79 xcb_selinux_query_version_request_t xcb_out; 80 81 xcb_out.client_major = client_major; 82 xcb_out.client_minor = client_minor; 83 84 xcb_parts[2].iov_base = (char *) &xcb_out; 85 xcb_parts[2].iov_len = sizeof(xcb_out); 86 xcb_parts[3].iov_base = 0; 87 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 88 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 89 return xcb_ret; 90} 91 92 93/***************************************************************************** 94 ** 95 ** xcb_selinux_query_version_reply_t * xcb_selinux_query_version_reply 96 ** 97 ** @param xcb_connection_t *c 98 ** @param xcb_selinux_query_version_cookie_t cookie 99 ** @param xcb_generic_error_t **e 100 ** @returns xcb_selinux_query_version_reply_t * 101 ** 102 *****************************************************************************/ 103 104xcb_selinux_query_version_reply_t * 105xcb_selinux_query_version_reply (xcb_connection_t *c /**< */, 106 xcb_selinux_query_version_cookie_t cookie /**< */, 107 xcb_generic_error_t **e /**< */) 108{ 109 return (xcb_selinux_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 110} 111 112 113/***************************************************************************** 114 ** 115 ** xcb_void_cookie_t xcb_selinux_set_device_create_context_checked 116 ** 117 ** @param xcb_connection_t *c 118 ** @param uint32_t context_len 119 ** @param const char *context 120 ** @returns xcb_void_cookie_t 121 ** 122 *****************************************************************************/ 123 124xcb_void_cookie_t 125xcb_selinux_set_device_create_context_checked (xcb_connection_t *c /**< */, 126 uint32_t context_len /**< */, 127 const char *context /**< */) 128{ 129 static const xcb_protocol_request_t xcb_req = { 130 /* count */ 4, 131 /* ext */ &xcb_selinux_id, 132 /* opcode */ XCB_SELINUX_SET_DEVICE_CREATE_CONTEXT, 133 /* isvoid */ 1 134 }; 135 136 struct iovec xcb_parts[6]; 137 xcb_void_cookie_t xcb_ret; 138 xcb_selinux_set_device_create_context_request_t xcb_out; 139 140 xcb_out.context_len = context_len; 141 142 xcb_parts[2].iov_base = (char *) &xcb_out; 143 xcb_parts[2].iov_len = sizeof(xcb_out); 144 xcb_parts[3].iov_base = 0; 145 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 146 xcb_parts[4].iov_base = (char *) context; 147 xcb_parts[4].iov_len = context_len * sizeof(char); 148 xcb_parts[5].iov_base = 0; 149 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 150 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 151 return xcb_ret; 152} 153 154 155/***************************************************************************** 156 ** 157 ** xcb_void_cookie_t xcb_selinux_set_device_create_context 158 ** 159 ** @param xcb_connection_t *c 160 ** @param uint32_t context_len 161 ** @param const char *context 162 ** @returns xcb_void_cookie_t 163 ** 164 *****************************************************************************/ 165 166xcb_void_cookie_t 167xcb_selinux_set_device_create_context (xcb_connection_t *c /**< */, 168 uint32_t context_len /**< */, 169 const char *context /**< */) 170{ 171 static const xcb_protocol_request_t xcb_req = { 172 /* count */ 4, 173 /* ext */ &xcb_selinux_id, 174 /* opcode */ XCB_SELINUX_SET_DEVICE_CREATE_CONTEXT, 175 /* isvoid */ 1 176 }; 177 178 struct iovec xcb_parts[6]; 179 xcb_void_cookie_t xcb_ret; 180 xcb_selinux_set_device_create_context_request_t xcb_out; 181 182 xcb_out.context_len = context_len; 183 184 xcb_parts[2].iov_base = (char *) &xcb_out; 185 xcb_parts[2].iov_len = sizeof(xcb_out); 186 xcb_parts[3].iov_base = 0; 187 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 188 xcb_parts[4].iov_base = (char *) context; 189 xcb_parts[4].iov_len = context_len * sizeof(char); 190 xcb_parts[5].iov_base = 0; 191 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 192 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 193 return xcb_ret; 194} 195 196 197/***************************************************************************** 198 ** 199 ** xcb_selinux_get_device_create_context_cookie_t xcb_selinux_get_device_create_context 200 ** 201 ** @param xcb_connection_t *c 202 ** @returns xcb_selinux_get_device_create_context_cookie_t 203 ** 204 *****************************************************************************/ 205 206xcb_selinux_get_device_create_context_cookie_t 207xcb_selinux_get_device_create_context (xcb_connection_t *c /**< */) 208{ 209 static const xcb_protocol_request_t xcb_req = { 210 /* count */ 2, 211 /* ext */ &xcb_selinux_id, 212 /* opcode */ XCB_SELINUX_GET_DEVICE_CREATE_CONTEXT, 213 /* isvoid */ 0 214 }; 215 216 struct iovec xcb_parts[4]; 217 xcb_selinux_get_device_create_context_cookie_t xcb_ret; 218 xcb_selinux_get_device_create_context_request_t xcb_out; 219 220 221 xcb_parts[2].iov_base = (char *) &xcb_out; 222 xcb_parts[2].iov_len = sizeof(xcb_out); 223 xcb_parts[3].iov_base = 0; 224 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 225 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 226 return xcb_ret; 227} 228 229 230/***************************************************************************** 231 ** 232 ** xcb_selinux_get_device_create_context_cookie_t xcb_selinux_get_device_create_context_unchecked 233 ** 234 ** @param xcb_connection_t *c 235 ** @returns xcb_selinux_get_device_create_context_cookie_t 236 ** 237 *****************************************************************************/ 238 239xcb_selinux_get_device_create_context_cookie_t 240xcb_selinux_get_device_create_context_unchecked (xcb_connection_t *c /**< */) 241{ 242 static const xcb_protocol_request_t xcb_req = { 243 /* count */ 2, 244 /* ext */ &xcb_selinux_id, 245 /* opcode */ XCB_SELINUX_GET_DEVICE_CREATE_CONTEXT, 246 /* isvoid */ 0 247 }; 248 249 struct iovec xcb_parts[4]; 250 xcb_selinux_get_device_create_context_cookie_t xcb_ret; 251 xcb_selinux_get_device_create_context_request_t xcb_out; 252 253 254 xcb_parts[2].iov_base = (char *) &xcb_out; 255 xcb_parts[2].iov_len = sizeof(xcb_out); 256 xcb_parts[3].iov_base = 0; 257 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 258 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 259 return xcb_ret; 260} 261 262 263/***************************************************************************** 264 ** 265 ** char * xcb_selinux_get_device_create_context_context 266 ** 267 ** @param const xcb_selinux_get_device_create_context_reply_t *R 268 ** @returns char * 269 ** 270 *****************************************************************************/ 271 272char * 273xcb_selinux_get_device_create_context_context (const xcb_selinux_get_device_create_context_reply_t *R /**< */) 274{ 275 return (char *) (R + 1); 276} 277 278 279/***************************************************************************** 280 ** 281 ** int xcb_selinux_get_device_create_context_context_length 282 ** 283 ** @param const xcb_selinux_get_device_create_context_reply_t *R 284 ** @returns int 285 ** 286 *****************************************************************************/ 287 288int 289xcb_selinux_get_device_create_context_context_length (const xcb_selinux_get_device_create_context_reply_t *R /**< */) 290{ 291 return R->context_len; 292} 293 294 295/***************************************************************************** 296 ** 297 ** xcb_generic_iterator_t xcb_selinux_get_device_create_context_context_end 298 ** 299 ** @param const xcb_selinux_get_device_create_context_reply_t *R 300 ** @returns xcb_generic_iterator_t 301 ** 302 *****************************************************************************/ 303 304xcb_generic_iterator_t 305xcb_selinux_get_device_create_context_context_end (const xcb_selinux_get_device_create_context_reply_t *R /**< */) 306{ 307 xcb_generic_iterator_t i; 308 i.data = ((char *) (R + 1)) + (R->context_len); 309 i.rem = 0; 310 i.index = (char *) i.data - (char *) R; 311 return i; 312} 313 314 315/***************************************************************************** 316 ** 317 ** xcb_selinux_get_device_create_context_reply_t * xcb_selinux_get_device_create_context_reply 318 ** 319 ** @param xcb_connection_t *c 320 ** @param xcb_selinux_get_device_create_context_cookie_t cookie 321 ** @param xcb_generic_error_t **e 322 ** @returns xcb_selinux_get_device_create_context_reply_t * 323 ** 324 *****************************************************************************/ 325 326xcb_selinux_get_device_create_context_reply_t * 327xcb_selinux_get_device_create_context_reply (xcb_connection_t *c /**< */, 328 xcb_selinux_get_device_create_context_cookie_t cookie /**< */, 329 xcb_generic_error_t **e /**< */) 330{ 331 return (xcb_selinux_get_device_create_context_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 332} 333 334 335/***************************************************************************** 336 ** 337 ** xcb_void_cookie_t xcb_selinux_set_device_context_checked 338 ** 339 ** @param xcb_connection_t *c 340 ** @param uint32_t device 341 ** @param uint32_t context_len 342 ** @param const char *context 343 ** @returns xcb_void_cookie_t 344 ** 345 *****************************************************************************/ 346 347xcb_void_cookie_t 348xcb_selinux_set_device_context_checked (xcb_connection_t *c /**< */, 349 uint32_t device /**< */, 350 uint32_t context_len /**< */, 351 const char *context /**< */) 352{ 353 static const xcb_protocol_request_t xcb_req = { 354 /* count */ 4, 355 /* ext */ &xcb_selinux_id, 356 /* opcode */ XCB_SELINUX_SET_DEVICE_CONTEXT, 357 /* isvoid */ 1 358 }; 359 360 struct iovec xcb_parts[6]; 361 xcb_void_cookie_t xcb_ret; 362 xcb_selinux_set_device_context_request_t xcb_out; 363 364 xcb_out.device = device; 365 xcb_out.context_len = context_len; 366 367 xcb_parts[2].iov_base = (char *) &xcb_out; 368 xcb_parts[2].iov_len = sizeof(xcb_out); 369 xcb_parts[3].iov_base = 0; 370 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 371 xcb_parts[4].iov_base = (char *) context; 372 xcb_parts[4].iov_len = context_len * sizeof(char); 373 xcb_parts[5].iov_base = 0; 374 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 375 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 376 return xcb_ret; 377} 378 379 380/***************************************************************************** 381 ** 382 ** xcb_void_cookie_t xcb_selinux_set_device_context 383 ** 384 ** @param xcb_connection_t *c 385 ** @param uint32_t device 386 ** @param uint32_t context_len 387 ** @param const char *context 388 ** @returns xcb_void_cookie_t 389 ** 390 *****************************************************************************/ 391 392xcb_void_cookie_t 393xcb_selinux_set_device_context (xcb_connection_t *c /**< */, 394 uint32_t device /**< */, 395 uint32_t context_len /**< */, 396 const char *context /**< */) 397{ 398 static const xcb_protocol_request_t xcb_req = { 399 /* count */ 4, 400 /* ext */ &xcb_selinux_id, 401 /* opcode */ XCB_SELINUX_SET_DEVICE_CONTEXT, 402 /* isvoid */ 1 403 }; 404 405 struct iovec xcb_parts[6]; 406 xcb_void_cookie_t xcb_ret; 407 xcb_selinux_set_device_context_request_t xcb_out; 408 409 xcb_out.device = device; 410 xcb_out.context_len = context_len; 411 412 xcb_parts[2].iov_base = (char *) &xcb_out; 413 xcb_parts[2].iov_len = sizeof(xcb_out); 414 xcb_parts[3].iov_base = 0; 415 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 416 xcb_parts[4].iov_base = (char *) context; 417 xcb_parts[4].iov_len = context_len * sizeof(char); 418 xcb_parts[5].iov_base = 0; 419 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 420 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 421 return xcb_ret; 422} 423 424 425/***************************************************************************** 426 ** 427 ** xcb_selinux_get_device_context_cookie_t xcb_selinux_get_device_context 428 ** 429 ** @param xcb_connection_t *c 430 ** @param uint32_t device 431 ** @returns xcb_selinux_get_device_context_cookie_t 432 ** 433 *****************************************************************************/ 434 435xcb_selinux_get_device_context_cookie_t 436xcb_selinux_get_device_context (xcb_connection_t *c /**< */, 437 uint32_t device /**< */) 438{ 439 static const xcb_protocol_request_t xcb_req = { 440 /* count */ 2, 441 /* ext */ &xcb_selinux_id, 442 /* opcode */ XCB_SELINUX_GET_DEVICE_CONTEXT, 443 /* isvoid */ 0 444 }; 445 446 struct iovec xcb_parts[4]; 447 xcb_selinux_get_device_context_cookie_t xcb_ret; 448 xcb_selinux_get_device_context_request_t xcb_out; 449 450 xcb_out.device = device; 451 452 xcb_parts[2].iov_base = (char *) &xcb_out; 453 xcb_parts[2].iov_len = sizeof(xcb_out); 454 xcb_parts[3].iov_base = 0; 455 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 456 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 457 return xcb_ret; 458} 459 460 461/***************************************************************************** 462 ** 463 ** xcb_selinux_get_device_context_cookie_t xcb_selinux_get_device_context_unchecked 464 ** 465 ** @param xcb_connection_t *c 466 ** @param uint32_t device 467 ** @returns xcb_selinux_get_device_context_cookie_t 468 ** 469 *****************************************************************************/ 470 471xcb_selinux_get_device_context_cookie_t 472xcb_selinux_get_device_context_unchecked (xcb_connection_t *c /**< */, 473 uint32_t device /**< */) 474{ 475 static const xcb_protocol_request_t xcb_req = { 476 /* count */ 2, 477 /* ext */ &xcb_selinux_id, 478 /* opcode */ XCB_SELINUX_GET_DEVICE_CONTEXT, 479 /* isvoid */ 0 480 }; 481 482 struct iovec xcb_parts[4]; 483 xcb_selinux_get_device_context_cookie_t xcb_ret; 484 xcb_selinux_get_device_context_request_t xcb_out; 485 486 xcb_out.device = device; 487 488 xcb_parts[2].iov_base = (char *) &xcb_out; 489 xcb_parts[2].iov_len = sizeof(xcb_out); 490 xcb_parts[3].iov_base = 0; 491 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 492 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 493 return xcb_ret; 494} 495 496 497/***************************************************************************** 498 ** 499 ** char * xcb_selinux_get_device_context_context 500 ** 501 ** @param const xcb_selinux_get_device_context_reply_t *R 502 ** @returns char * 503 ** 504 *****************************************************************************/ 505 506char * 507xcb_selinux_get_device_context_context (const xcb_selinux_get_device_context_reply_t *R /**< */) 508{ 509 return (char *) (R + 1); 510} 511 512 513/***************************************************************************** 514 ** 515 ** int xcb_selinux_get_device_context_context_length 516 ** 517 ** @param const xcb_selinux_get_device_context_reply_t *R 518 ** @returns int 519 ** 520 *****************************************************************************/ 521 522int 523xcb_selinux_get_device_context_context_length (const xcb_selinux_get_device_context_reply_t *R /**< */) 524{ 525 return R->context_len; 526} 527 528 529/***************************************************************************** 530 ** 531 ** xcb_generic_iterator_t xcb_selinux_get_device_context_context_end 532 ** 533 ** @param const xcb_selinux_get_device_context_reply_t *R 534 ** @returns xcb_generic_iterator_t 535 ** 536 *****************************************************************************/ 537 538xcb_generic_iterator_t 539xcb_selinux_get_device_context_context_end (const xcb_selinux_get_device_context_reply_t *R /**< */) 540{ 541 xcb_generic_iterator_t i; 542 i.data = ((char *) (R + 1)) + (R->context_len); 543 i.rem = 0; 544 i.index = (char *) i.data - (char *) R; 545 return i; 546} 547 548 549/***************************************************************************** 550 ** 551 ** xcb_selinux_get_device_context_reply_t * xcb_selinux_get_device_context_reply 552 ** 553 ** @param xcb_connection_t *c 554 ** @param xcb_selinux_get_device_context_cookie_t cookie 555 ** @param xcb_generic_error_t **e 556 ** @returns xcb_selinux_get_device_context_reply_t * 557 ** 558 *****************************************************************************/ 559 560xcb_selinux_get_device_context_reply_t * 561xcb_selinux_get_device_context_reply (xcb_connection_t *c /**< */, 562 xcb_selinux_get_device_context_cookie_t cookie /**< */, 563 xcb_generic_error_t **e /**< */) 564{ 565 return (xcb_selinux_get_device_context_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 566} 567 568 569/***************************************************************************** 570 ** 571 ** xcb_void_cookie_t xcb_selinux_set_window_create_context_checked 572 ** 573 ** @param xcb_connection_t *c 574 ** @param uint32_t context_len 575 ** @param const char *context 576 ** @returns xcb_void_cookie_t 577 ** 578 *****************************************************************************/ 579 580xcb_void_cookie_t 581xcb_selinux_set_window_create_context_checked (xcb_connection_t *c /**< */, 582 uint32_t context_len /**< */, 583 const char *context /**< */) 584{ 585 static const xcb_protocol_request_t xcb_req = { 586 /* count */ 4, 587 /* ext */ &xcb_selinux_id, 588 /* opcode */ XCB_SELINUX_SET_WINDOW_CREATE_CONTEXT, 589 /* isvoid */ 1 590 }; 591 592 struct iovec xcb_parts[6]; 593 xcb_void_cookie_t xcb_ret; 594 xcb_selinux_set_window_create_context_request_t xcb_out; 595 596 xcb_out.context_len = context_len; 597 598 xcb_parts[2].iov_base = (char *) &xcb_out; 599 xcb_parts[2].iov_len = sizeof(xcb_out); 600 xcb_parts[3].iov_base = 0; 601 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 602 xcb_parts[4].iov_base = (char *) context; 603 xcb_parts[4].iov_len = context_len * sizeof(char); 604 xcb_parts[5].iov_base = 0; 605 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 606 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 607 return xcb_ret; 608} 609 610 611/***************************************************************************** 612 ** 613 ** xcb_void_cookie_t xcb_selinux_set_window_create_context 614 ** 615 ** @param xcb_connection_t *c 616 ** @param uint32_t context_len 617 ** @param const char *context 618 ** @returns xcb_void_cookie_t 619 ** 620 *****************************************************************************/ 621 622xcb_void_cookie_t 623xcb_selinux_set_window_create_context (xcb_connection_t *c /**< */, 624 uint32_t context_len /**< */, 625 const char *context /**< */) 626{ 627 static const xcb_protocol_request_t xcb_req = { 628 /* count */ 4, 629 /* ext */ &xcb_selinux_id, 630 /* opcode */ XCB_SELINUX_SET_WINDOW_CREATE_CONTEXT, 631 /* isvoid */ 1 632 }; 633 634 struct iovec xcb_parts[6]; 635 xcb_void_cookie_t xcb_ret; 636 xcb_selinux_set_window_create_context_request_t xcb_out; 637 638 xcb_out.context_len = context_len; 639 640 xcb_parts[2].iov_base = (char *) &xcb_out; 641 xcb_parts[2].iov_len = sizeof(xcb_out); 642 xcb_parts[3].iov_base = 0; 643 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 644 xcb_parts[4].iov_base = (char *) context; 645 xcb_parts[4].iov_len = context_len * sizeof(char); 646 xcb_parts[5].iov_base = 0; 647 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 648 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 649 return xcb_ret; 650} 651 652 653/***************************************************************************** 654 ** 655 ** xcb_selinux_get_window_create_context_cookie_t xcb_selinux_get_window_create_context 656 ** 657 ** @param xcb_connection_t *c 658 ** @returns xcb_selinux_get_window_create_context_cookie_t 659 ** 660 *****************************************************************************/ 661 662xcb_selinux_get_window_create_context_cookie_t 663xcb_selinux_get_window_create_context (xcb_connection_t *c /**< */) 664{ 665 static const xcb_protocol_request_t xcb_req = { 666 /* count */ 2, 667 /* ext */ &xcb_selinux_id, 668 /* opcode */ XCB_SELINUX_GET_WINDOW_CREATE_CONTEXT, 669 /* isvoid */ 0 670 }; 671 672 struct iovec xcb_parts[4]; 673 xcb_selinux_get_window_create_context_cookie_t xcb_ret; 674 xcb_selinux_get_window_create_context_request_t xcb_out; 675 676 677 xcb_parts[2].iov_base = (char *) &xcb_out; 678 xcb_parts[2].iov_len = sizeof(xcb_out); 679 xcb_parts[3].iov_base = 0; 680 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 681 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 682 return xcb_ret; 683} 684 685 686/***************************************************************************** 687 ** 688 ** xcb_selinux_get_window_create_context_cookie_t xcb_selinux_get_window_create_context_unchecked 689 ** 690 ** @param xcb_connection_t *c 691 ** @returns xcb_selinux_get_window_create_context_cookie_t 692 ** 693 *****************************************************************************/ 694 695xcb_selinux_get_window_create_context_cookie_t 696xcb_selinux_get_window_create_context_unchecked (xcb_connection_t *c /**< */) 697{ 698 static const xcb_protocol_request_t xcb_req = { 699 /* count */ 2, 700 /* ext */ &xcb_selinux_id, 701 /* opcode */ XCB_SELINUX_GET_WINDOW_CREATE_CONTEXT, 702 /* isvoid */ 0 703 }; 704 705 struct iovec xcb_parts[4]; 706 xcb_selinux_get_window_create_context_cookie_t xcb_ret; 707 xcb_selinux_get_window_create_context_request_t xcb_out; 708 709 710 xcb_parts[2].iov_base = (char *) &xcb_out; 711 xcb_parts[2].iov_len = sizeof(xcb_out); 712 xcb_parts[3].iov_base = 0; 713 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 714 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 715 return xcb_ret; 716} 717 718 719/***************************************************************************** 720 ** 721 ** char * xcb_selinux_get_window_create_context_context 722 ** 723 ** @param const xcb_selinux_get_window_create_context_reply_t *R 724 ** @returns char * 725 ** 726 *****************************************************************************/ 727 728char * 729xcb_selinux_get_window_create_context_context (const xcb_selinux_get_window_create_context_reply_t *R /**< */) 730{ 731 return (char *) (R + 1); 732} 733 734 735/***************************************************************************** 736 ** 737 ** int xcb_selinux_get_window_create_context_context_length 738 ** 739 ** @param const xcb_selinux_get_window_create_context_reply_t *R 740 ** @returns int 741 ** 742 *****************************************************************************/ 743 744int 745xcb_selinux_get_window_create_context_context_length (const xcb_selinux_get_window_create_context_reply_t *R /**< */) 746{ 747 return R->context_len; 748} 749 750 751/***************************************************************************** 752 ** 753 ** xcb_generic_iterator_t xcb_selinux_get_window_create_context_context_end 754 ** 755 ** @param const xcb_selinux_get_window_create_context_reply_t *R 756 ** @returns xcb_generic_iterator_t 757 ** 758 *****************************************************************************/ 759 760xcb_generic_iterator_t 761xcb_selinux_get_window_create_context_context_end (const xcb_selinux_get_window_create_context_reply_t *R /**< */) 762{ 763 xcb_generic_iterator_t i; 764 i.data = ((char *) (R + 1)) + (R->context_len); 765 i.rem = 0; 766 i.index = (char *) i.data - (char *) R; 767 return i; 768} 769 770 771/***************************************************************************** 772 ** 773 ** xcb_selinux_get_window_create_context_reply_t * xcb_selinux_get_window_create_context_reply 774 ** 775 ** @param xcb_connection_t *c 776 ** @param xcb_selinux_get_window_create_context_cookie_t cookie 777 ** @param xcb_generic_error_t **e 778 ** @returns xcb_selinux_get_window_create_context_reply_t * 779 ** 780 *****************************************************************************/ 781 782xcb_selinux_get_window_create_context_reply_t * 783xcb_selinux_get_window_create_context_reply (xcb_connection_t *c /**< */, 784 xcb_selinux_get_window_create_context_cookie_t cookie /**< */, 785 xcb_generic_error_t **e /**< */) 786{ 787 return (xcb_selinux_get_window_create_context_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 788} 789 790 791/***************************************************************************** 792 ** 793 ** xcb_selinux_get_window_context_cookie_t xcb_selinux_get_window_context 794 ** 795 ** @param xcb_connection_t *c 796 ** @param xcb_window_t window 797 ** @returns xcb_selinux_get_window_context_cookie_t 798 ** 799 *****************************************************************************/ 800 801xcb_selinux_get_window_context_cookie_t 802xcb_selinux_get_window_context (xcb_connection_t *c /**< */, 803 xcb_window_t window /**< */) 804{ 805 static const xcb_protocol_request_t xcb_req = { 806 /* count */ 2, 807 /* ext */ &xcb_selinux_id, 808 /* opcode */ XCB_SELINUX_GET_WINDOW_CONTEXT, 809 /* isvoid */ 0 810 }; 811 812 struct iovec xcb_parts[4]; 813 xcb_selinux_get_window_context_cookie_t xcb_ret; 814 xcb_selinux_get_window_context_request_t xcb_out; 815 816 xcb_out.window = window; 817 818 xcb_parts[2].iov_base = (char *) &xcb_out; 819 xcb_parts[2].iov_len = sizeof(xcb_out); 820 xcb_parts[3].iov_base = 0; 821 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 822 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 823 return xcb_ret; 824} 825 826 827/***************************************************************************** 828 ** 829 ** xcb_selinux_get_window_context_cookie_t xcb_selinux_get_window_context_unchecked 830 ** 831 ** @param xcb_connection_t *c 832 ** @param xcb_window_t window 833 ** @returns xcb_selinux_get_window_context_cookie_t 834 ** 835 *****************************************************************************/ 836 837xcb_selinux_get_window_context_cookie_t 838xcb_selinux_get_window_context_unchecked (xcb_connection_t *c /**< */, 839 xcb_window_t window /**< */) 840{ 841 static const xcb_protocol_request_t xcb_req = { 842 /* count */ 2, 843 /* ext */ &xcb_selinux_id, 844 /* opcode */ XCB_SELINUX_GET_WINDOW_CONTEXT, 845 /* isvoid */ 0 846 }; 847 848 struct iovec xcb_parts[4]; 849 xcb_selinux_get_window_context_cookie_t xcb_ret; 850 xcb_selinux_get_window_context_request_t xcb_out; 851 852 xcb_out.window = window; 853 854 xcb_parts[2].iov_base = (char *) &xcb_out; 855 xcb_parts[2].iov_len = sizeof(xcb_out); 856 xcb_parts[3].iov_base = 0; 857 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 858 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 859 return xcb_ret; 860} 861 862 863/***************************************************************************** 864 ** 865 ** char * xcb_selinux_get_window_context_context 866 ** 867 ** @param const xcb_selinux_get_window_context_reply_t *R 868 ** @returns char * 869 ** 870 *****************************************************************************/ 871 872char * 873xcb_selinux_get_window_context_context (const xcb_selinux_get_window_context_reply_t *R /**< */) 874{ 875 return (char *) (R + 1); 876} 877 878 879/***************************************************************************** 880 ** 881 ** int xcb_selinux_get_window_context_context_length 882 ** 883 ** @param const xcb_selinux_get_window_context_reply_t *R 884 ** @returns int 885 ** 886 *****************************************************************************/ 887 888int 889xcb_selinux_get_window_context_context_length (const xcb_selinux_get_window_context_reply_t *R /**< */) 890{ 891 return R->context_len; 892} 893 894 895/***************************************************************************** 896 ** 897 ** xcb_generic_iterator_t xcb_selinux_get_window_context_context_end 898 ** 899 ** @param const xcb_selinux_get_window_context_reply_t *R 900 ** @returns xcb_generic_iterator_t 901 ** 902 *****************************************************************************/ 903 904xcb_generic_iterator_t 905xcb_selinux_get_window_context_context_end (const xcb_selinux_get_window_context_reply_t *R /**< */) 906{ 907 xcb_generic_iterator_t i; 908 i.data = ((char *) (R + 1)) + (R->context_len); 909 i.rem = 0; 910 i.index = (char *) i.data - (char *) R; 911 return i; 912} 913 914 915/***************************************************************************** 916 ** 917 ** xcb_selinux_get_window_context_reply_t * xcb_selinux_get_window_context_reply 918 ** 919 ** @param xcb_connection_t *c 920 ** @param xcb_selinux_get_window_context_cookie_t cookie 921 ** @param xcb_generic_error_t **e 922 ** @returns xcb_selinux_get_window_context_reply_t * 923 ** 924 *****************************************************************************/ 925 926xcb_selinux_get_window_context_reply_t * 927xcb_selinux_get_window_context_reply (xcb_connection_t *c /**< */, 928 xcb_selinux_get_window_context_cookie_t cookie /**< */, 929 xcb_generic_error_t **e /**< */) 930{ 931 return (xcb_selinux_get_window_context_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 932} 933 934 935/***************************************************************************** 936 ** 937 ** char * xcb_selinux_list_item_object_context 938 ** 939 ** @param const xcb_selinux_list_item_t *R 940 ** @returns char * 941 ** 942 *****************************************************************************/ 943 944char * 945xcb_selinux_list_item_object_context (const xcb_selinux_list_item_t *R /**< */) 946{ 947 return (char *) (R + 1); 948} 949 950 951/***************************************************************************** 952 ** 953 ** int xcb_selinux_list_item_object_context_length 954 ** 955 ** @param const xcb_selinux_list_item_t *R 956 ** @returns int 957 ** 958 *****************************************************************************/ 959 960int 961xcb_selinux_list_item_object_context_length (const xcb_selinux_list_item_t *R /**< */) 962{ 963 return R->object_context_len; 964} 965 966 967/***************************************************************************** 968 ** 969 ** xcb_generic_iterator_t xcb_selinux_list_item_object_context_end 970 ** 971 ** @param const xcb_selinux_list_item_t *R 972 ** @returns xcb_generic_iterator_t 973 ** 974 *****************************************************************************/ 975 976xcb_generic_iterator_t 977xcb_selinux_list_item_object_context_end (const xcb_selinux_list_item_t *R /**< */) 978{ 979 xcb_generic_iterator_t i; 980 i.data = ((char *) (R + 1)) + (R->object_context_len); 981 i.rem = 0; 982 i.index = (char *) i.data - (char *) R; 983 return i; 984} 985 986 987/***************************************************************************** 988 ** 989 ** char * xcb_selinux_list_item_data_context 990 ** 991 ** @param const xcb_selinux_list_item_t *R 992 ** @returns char * 993 ** 994 *****************************************************************************/ 995 996char * 997xcb_selinux_list_item_data_context (const xcb_selinux_list_item_t *R /**< */) 998{ 999 xcb_generic_iterator_t prev = xcb_selinux_list_item_object_context_end(R); 1000 return (char *) ((char *) prev.data + XCB_TYPE_PAD(char, prev.index) + 0); 1001} 1002 1003 1004/***************************************************************************** 1005 ** 1006 ** int xcb_selinux_list_item_data_context_length 1007 ** 1008 ** @param const xcb_selinux_list_item_t *R 1009 ** @returns int 1010 ** 1011 *****************************************************************************/ 1012 1013int 1014xcb_selinux_list_item_data_context_length (const xcb_selinux_list_item_t *R /**< */) 1015{ 1016 return R->data_context_len; 1017} 1018 1019 1020/***************************************************************************** 1021 ** 1022 ** xcb_generic_iterator_t xcb_selinux_list_item_data_context_end 1023 ** 1024 ** @param const xcb_selinux_list_item_t *R 1025 ** @returns xcb_generic_iterator_t 1026 ** 1027 *****************************************************************************/ 1028 1029xcb_generic_iterator_t 1030xcb_selinux_list_item_data_context_end (const xcb_selinux_list_item_t *R /**< */) 1031{ 1032 xcb_generic_iterator_t i; 1033 xcb_generic_iterator_t child = xcb_selinux_list_item_object_context_end(R); 1034 i.data = ((char *) child.data) + (R->data_context_len); 1035 i.rem = 0; 1036 i.index = (char *) i.data - (char *) R; 1037 return i; 1038} 1039 1040 1041/***************************************************************************** 1042 ** 1043 ** void xcb_selinux_list_item_next 1044 ** 1045 ** @param xcb_selinux_list_item_iterator_t *i 1046 ** @returns void 1047 ** 1048 *****************************************************************************/ 1049 1050void 1051xcb_selinux_list_item_next (xcb_selinux_list_item_iterator_t *i /**< */) 1052{ 1053 xcb_selinux_list_item_t *R = i->data; 1054 xcb_generic_iterator_t child = xcb_selinux_list_item_data_context_end(R); 1055 --i->rem; 1056 i->data = (xcb_selinux_list_item_t *) child.data; 1057 i->index = child.index; 1058} 1059 1060 1061/***************************************************************************** 1062 ** 1063 ** xcb_generic_iterator_t xcb_selinux_list_item_end 1064 ** 1065 ** @param xcb_selinux_list_item_iterator_t i 1066 ** @returns xcb_generic_iterator_t 1067 ** 1068 *****************************************************************************/ 1069 1070xcb_generic_iterator_t 1071xcb_selinux_list_item_end (xcb_selinux_list_item_iterator_t i /**< */) 1072{ 1073 xcb_generic_iterator_t ret; 1074 while(i.rem > 0) 1075 xcb_selinux_list_item_next(&i); 1076 ret.data = i.data; 1077 ret.rem = i.rem; 1078 ret.index = i.index; 1079 return ret; 1080} 1081 1082 1083/***************************************************************************** 1084 ** 1085 ** xcb_void_cookie_t xcb_selinux_set_property_create_context_checked 1086 ** 1087 ** @param xcb_connection_t *c 1088 ** @param uint32_t context_len 1089 ** @param const char *context 1090 ** @returns xcb_void_cookie_t 1091 ** 1092 *****************************************************************************/ 1093 1094xcb_void_cookie_t 1095xcb_selinux_set_property_create_context_checked (xcb_connection_t *c /**< */, 1096 uint32_t context_len /**< */, 1097 const char *context /**< */) 1098{ 1099 static const xcb_protocol_request_t xcb_req = { 1100 /* count */ 4, 1101 /* ext */ &xcb_selinux_id, 1102 /* opcode */ XCB_SELINUX_SET_PROPERTY_CREATE_CONTEXT, 1103 /* isvoid */ 1 1104 }; 1105 1106 struct iovec xcb_parts[6]; 1107 xcb_void_cookie_t xcb_ret; 1108 xcb_selinux_set_property_create_context_request_t xcb_out; 1109 1110 xcb_out.context_len = context_len; 1111 1112 xcb_parts[2].iov_base = (char *) &xcb_out; 1113 xcb_parts[2].iov_len = sizeof(xcb_out); 1114 xcb_parts[3].iov_base = 0; 1115 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1116 xcb_parts[4].iov_base = (char *) context; 1117 xcb_parts[4].iov_len = context_len * sizeof(char); 1118 xcb_parts[5].iov_base = 0; 1119 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 1120 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1121 return xcb_ret; 1122} 1123 1124 1125/***************************************************************************** 1126 ** 1127 ** xcb_void_cookie_t xcb_selinux_set_property_create_context 1128 ** 1129 ** @param xcb_connection_t *c 1130 ** @param uint32_t context_len 1131 ** @param const char *context 1132 ** @returns xcb_void_cookie_t 1133 ** 1134 *****************************************************************************/ 1135 1136xcb_void_cookie_t 1137xcb_selinux_set_property_create_context (xcb_connection_t *c /**< */, 1138 uint32_t context_len /**< */, 1139 const char *context /**< */) 1140{ 1141 static const xcb_protocol_request_t xcb_req = { 1142 /* count */ 4, 1143 /* ext */ &xcb_selinux_id, 1144 /* opcode */ XCB_SELINUX_SET_PROPERTY_CREATE_CONTEXT, 1145 /* isvoid */ 1 1146 }; 1147 1148 struct iovec xcb_parts[6]; 1149 xcb_void_cookie_t xcb_ret; 1150 xcb_selinux_set_property_create_context_request_t xcb_out; 1151 1152 xcb_out.context_len = context_len; 1153 1154 xcb_parts[2].iov_base = (char *) &xcb_out; 1155 xcb_parts[2].iov_len = sizeof(xcb_out); 1156 xcb_parts[3].iov_base = 0; 1157 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1158 xcb_parts[4].iov_base = (char *) context; 1159 xcb_parts[4].iov_len = context_len * sizeof(char); 1160 xcb_parts[5].iov_base = 0; 1161 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 1162 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1163 return xcb_ret; 1164} 1165 1166 1167/***************************************************************************** 1168 ** 1169 ** xcb_selinux_get_property_create_context_cookie_t xcb_selinux_get_property_create_context 1170 ** 1171 ** @param xcb_connection_t *c 1172 ** @returns xcb_selinux_get_property_create_context_cookie_t 1173 ** 1174 *****************************************************************************/ 1175 1176xcb_selinux_get_property_create_context_cookie_t 1177xcb_selinux_get_property_create_context (xcb_connection_t *c /**< */) 1178{ 1179 static const xcb_protocol_request_t xcb_req = { 1180 /* count */ 2, 1181 /* ext */ &xcb_selinux_id, 1182 /* opcode */ XCB_SELINUX_GET_PROPERTY_CREATE_CONTEXT, 1183 /* isvoid */ 0 1184 }; 1185 1186 struct iovec xcb_parts[4]; 1187 xcb_selinux_get_property_create_context_cookie_t xcb_ret; 1188 xcb_selinux_get_property_create_context_request_t xcb_out; 1189 1190 1191 xcb_parts[2].iov_base = (char *) &xcb_out; 1192 xcb_parts[2].iov_len = sizeof(xcb_out); 1193 xcb_parts[3].iov_base = 0; 1194 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1195 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1196 return xcb_ret; 1197} 1198 1199 1200/***************************************************************************** 1201 ** 1202 ** xcb_selinux_get_property_create_context_cookie_t xcb_selinux_get_property_create_context_unchecked 1203 ** 1204 ** @param xcb_connection_t *c 1205 ** @returns xcb_selinux_get_property_create_context_cookie_t 1206 ** 1207 *****************************************************************************/ 1208 1209xcb_selinux_get_property_create_context_cookie_t 1210xcb_selinux_get_property_create_context_unchecked (xcb_connection_t *c /**< */) 1211{ 1212 static const xcb_protocol_request_t xcb_req = { 1213 /* count */ 2, 1214 /* ext */ &xcb_selinux_id, 1215 /* opcode */ XCB_SELINUX_GET_PROPERTY_CREATE_CONTEXT, 1216 /* isvoid */ 0 1217 }; 1218 1219 struct iovec xcb_parts[4]; 1220 xcb_selinux_get_property_create_context_cookie_t xcb_ret; 1221 xcb_selinux_get_property_create_context_request_t xcb_out; 1222 1223 1224 xcb_parts[2].iov_base = (char *) &xcb_out; 1225 xcb_parts[2].iov_len = sizeof(xcb_out); 1226 xcb_parts[3].iov_base = 0; 1227 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1228 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1229 return xcb_ret; 1230} 1231 1232 1233/***************************************************************************** 1234 ** 1235 ** char * xcb_selinux_get_property_create_context_context 1236 ** 1237 ** @param const xcb_selinux_get_property_create_context_reply_t *R 1238 ** @returns char * 1239 ** 1240 *****************************************************************************/ 1241 1242char * 1243xcb_selinux_get_property_create_context_context (const xcb_selinux_get_property_create_context_reply_t *R /**< */) 1244{ 1245 return (char *) (R + 1); 1246} 1247 1248 1249/***************************************************************************** 1250 ** 1251 ** int xcb_selinux_get_property_create_context_context_length 1252 ** 1253 ** @param const xcb_selinux_get_property_create_context_reply_t *R 1254 ** @returns int 1255 ** 1256 *****************************************************************************/ 1257 1258int 1259xcb_selinux_get_property_create_context_context_length (const xcb_selinux_get_property_create_context_reply_t *R /**< */) 1260{ 1261 return R->context_len; 1262} 1263 1264 1265/***************************************************************************** 1266 ** 1267 ** xcb_generic_iterator_t xcb_selinux_get_property_create_context_context_end 1268 ** 1269 ** @param const xcb_selinux_get_property_create_context_reply_t *R 1270 ** @returns xcb_generic_iterator_t 1271 ** 1272 *****************************************************************************/ 1273 1274xcb_generic_iterator_t 1275xcb_selinux_get_property_create_context_context_end (const xcb_selinux_get_property_create_context_reply_t *R /**< */) 1276{ 1277 xcb_generic_iterator_t i; 1278 i.data = ((char *) (R + 1)) + (R->context_len); 1279 i.rem = 0; 1280 i.index = (char *) i.data - (char *) R; 1281 return i; 1282} 1283 1284 1285/***************************************************************************** 1286 ** 1287 ** xcb_selinux_get_property_create_context_reply_t * xcb_selinux_get_property_create_context_reply 1288 ** 1289 ** @param xcb_connection_t *c 1290 ** @param xcb_selinux_get_property_create_context_cookie_t cookie 1291 ** @param xcb_generic_error_t **e 1292 ** @returns xcb_selinux_get_property_create_context_reply_t * 1293 ** 1294 *****************************************************************************/ 1295 1296xcb_selinux_get_property_create_context_reply_t * 1297xcb_selinux_get_property_create_context_reply (xcb_connection_t *c /**< */, 1298 xcb_selinux_get_property_create_context_cookie_t cookie /**< */, 1299 xcb_generic_error_t **e /**< */) 1300{ 1301 return (xcb_selinux_get_property_create_context_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 1302} 1303 1304 1305/***************************************************************************** 1306 ** 1307 ** xcb_void_cookie_t xcb_selinux_set_property_use_context_checked 1308 ** 1309 ** @param xcb_connection_t *c 1310 ** @param uint32_t context_len 1311 ** @param const char *context 1312 ** @returns xcb_void_cookie_t 1313 ** 1314 *****************************************************************************/ 1315 1316xcb_void_cookie_t 1317xcb_selinux_set_property_use_context_checked (xcb_connection_t *c /**< */, 1318 uint32_t context_len /**< */, 1319 const char *context /**< */) 1320{ 1321 static const xcb_protocol_request_t xcb_req = { 1322 /* count */ 4, 1323 /* ext */ &xcb_selinux_id, 1324 /* opcode */ XCB_SELINUX_SET_PROPERTY_USE_CONTEXT, 1325 /* isvoid */ 1 1326 }; 1327 1328 struct iovec xcb_parts[6]; 1329 xcb_void_cookie_t xcb_ret; 1330 xcb_selinux_set_property_use_context_request_t xcb_out; 1331 1332 xcb_out.context_len = context_len; 1333 1334 xcb_parts[2].iov_base = (char *) &xcb_out; 1335 xcb_parts[2].iov_len = sizeof(xcb_out); 1336 xcb_parts[3].iov_base = 0; 1337 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1338 xcb_parts[4].iov_base = (char *) context; 1339 xcb_parts[4].iov_len = context_len * sizeof(char); 1340 xcb_parts[5].iov_base = 0; 1341 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 1342 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1343 return xcb_ret; 1344} 1345 1346 1347/***************************************************************************** 1348 ** 1349 ** xcb_void_cookie_t xcb_selinux_set_property_use_context 1350 ** 1351 ** @param xcb_connection_t *c 1352 ** @param uint32_t context_len 1353 ** @param const char *context 1354 ** @returns xcb_void_cookie_t 1355 ** 1356 *****************************************************************************/ 1357 1358xcb_void_cookie_t 1359xcb_selinux_set_property_use_context (xcb_connection_t *c /**< */, 1360 uint32_t context_len /**< */, 1361 const char *context /**< */) 1362{ 1363 static const xcb_protocol_request_t xcb_req = { 1364 /* count */ 4, 1365 /* ext */ &xcb_selinux_id, 1366 /* opcode */ XCB_SELINUX_SET_PROPERTY_USE_CONTEXT, 1367 /* isvoid */ 1 1368 }; 1369 1370 struct iovec xcb_parts[6]; 1371 xcb_void_cookie_t xcb_ret; 1372 xcb_selinux_set_property_use_context_request_t xcb_out; 1373 1374 xcb_out.context_len = context_len; 1375 1376 xcb_parts[2].iov_base = (char *) &xcb_out; 1377 xcb_parts[2].iov_len = sizeof(xcb_out); 1378 xcb_parts[3].iov_base = 0; 1379 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1380 xcb_parts[4].iov_base = (char *) context; 1381 xcb_parts[4].iov_len = context_len * sizeof(char); 1382 xcb_parts[5].iov_base = 0; 1383 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 1384 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1385 return xcb_ret; 1386} 1387 1388 1389/***************************************************************************** 1390 ** 1391 ** xcb_selinux_get_property_use_context_cookie_t xcb_selinux_get_property_use_context 1392 ** 1393 ** @param xcb_connection_t *c 1394 ** @returns xcb_selinux_get_property_use_context_cookie_t 1395 ** 1396 *****************************************************************************/ 1397 1398xcb_selinux_get_property_use_context_cookie_t 1399xcb_selinux_get_property_use_context (xcb_connection_t *c /**< */) 1400{ 1401 static const xcb_protocol_request_t xcb_req = { 1402 /* count */ 2, 1403 /* ext */ &xcb_selinux_id, 1404 /* opcode */ XCB_SELINUX_GET_PROPERTY_USE_CONTEXT, 1405 /* isvoid */ 0 1406 }; 1407 1408 struct iovec xcb_parts[4]; 1409 xcb_selinux_get_property_use_context_cookie_t xcb_ret; 1410 xcb_selinux_get_property_use_context_request_t xcb_out; 1411 1412 1413 xcb_parts[2].iov_base = (char *) &xcb_out; 1414 xcb_parts[2].iov_len = sizeof(xcb_out); 1415 xcb_parts[3].iov_base = 0; 1416 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1417 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1418 return xcb_ret; 1419} 1420 1421 1422/***************************************************************************** 1423 ** 1424 ** xcb_selinux_get_property_use_context_cookie_t xcb_selinux_get_property_use_context_unchecked 1425 ** 1426 ** @param xcb_connection_t *c 1427 ** @returns xcb_selinux_get_property_use_context_cookie_t 1428 ** 1429 *****************************************************************************/ 1430 1431xcb_selinux_get_property_use_context_cookie_t 1432xcb_selinux_get_property_use_context_unchecked (xcb_connection_t *c /**< */) 1433{ 1434 static const xcb_protocol_request_t xcb_req = { 1435 /* count */ 2, 1436 /* ext */ &xcb_selinux_id, 1437 /* opcode */ XCB_SELINUX_GET_PROPERTY_USE_CONTEXT, 1438 /* isvoid */ 0 1439 }; 1440 1441 struct iovec xcb_parts[4]; 1442 xcb_selinux_get_property_use_context_cookie_t xcb_ret; 1443 xcb_selinux_get_property_use_context_request_t xcb_out; 1444 1445 1446 xcb_parts[2].iov_base = (char *) &xcb_out; 1447 xcb_parts[2].iov_len = sizeof(xcb_out); 1448 xcb_parts[3].iov_base = 0; 1449 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1450 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1451 return xcb_ret; 1452} 1453 1454 1455/***************************************************************************** 1456 ** 1457 ** char * xcb_selinux_get_property_use_context_context 1458 ** 1459 ** @param const xcb_selinux_get_property_use_context_reply_t *R 1460 ** @returns char * 1461 ** 1462 *****************************************************************************/ 1463 1464char * 1465xcb_selinux_get_property_use_context_context (const xcb_selinux_get_property_use_context_reply_t *R /**< */) 1466{ 1467 return (char *) (R + 1); 1468} 1469 1470 1471/***************************************************************************** 1472 ** 1473 ** int xcb_selinux_get_property_use_context_context_length 1474 ** 1475 ** @param const xcb_selinux_get_property_use_context_reply_t *R 1476 ** @returns int 1477 ** 1478 *****************************************************************************/ 1479 1480int 1481xcb_selinux_get_property_use_context_context_length (const xcb_selinux_get_property_use_context_reply_t *R /**< */) 1482{ 1483 return R->context_len; 1484} 1485 1486 1487/***************************************************************************** 1488 ** 1489 ** xcb_generic_iterator_t xcb_selinux_get_property_use_context_context_end 1490 ** 1491 ** @param const xcb_selinux_get_property_use_context_reply_t *R 1492 ** @returns xcb_generic_iterator_t 1493 ** 1494 *****************************************************************************/ 1495 1496xcb_generic_iterator_t 1497xcb_selinux_get_property_use_context_context_end (const xcb_selinux_get_property_use_context_reply_t *R /**< */) 1498{ 1499 xcb_generic_iterator_t i; 1500 i.data = ((char *) (R + 1)) + (R->context_len); 1501 i.rem = 0; 1502 i.index = (char *) i.data - (char *) R; 1503 return i; 1504} 1505 1506 1507/***************************************************************************** 1508 ** 1509 ** xcb_selinux_get_property_use_context_reply_t * xcb_selinux_get_property_use_context_reply 1510 ** 1511 ** @param xcb_connection_t *c 1512 ** @param xcb_selinux_get_property_use_context_cookie_t cookie 1513 ** @param xcb_generic_error_t **e 1514 ** @returns xcb_selinux_get_property_use_context_reply_t * 1515 ** 1516 *****************************************************************************/ 1517 1518xcb_selinux_get_property_use_context_reply_t * 1519xcb_selinux_get_property_use_context_reply (xcb_connection_t *c /**< */, 1520 xcb_selinux_get_property_use_context_cookie_t cookie /**< */, 1521 xcb_generic_error_t **e /**< */) 1522{ 1523 return (xcb_selinux_get_property_use_context_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 1524} 1525 1526 1527/***************************************************************************** 1528 ** 1529 ** xcb_selinux_get_property_context_cookie_t xcb_selinux_get_property_context 1530 ** 1531 ** @param xcb_connection_t *c 1532 ** @param xcb_window_t window 1533 ** @param xcb_atom_t property 1534 ** @returns xcb_selinux_get_property_context_cookie_t 1535 ** 1536 *****************************************************************************/ 1537 1538xcb_selinux_get_property_context_cookie_t 1539xcb_selinux_get_property_context (xcb_connection_t *c /**< */, 1540 xcb_window_t window /**< */, 1541 xcb_atom_t property /**< */) 1542{ 1543 static const xcb_protocol_request_t xcb_req = { 1544 /* count */ 2, 1545 /* ext */ &xcb_selinux_id, 1546 /* opcode */ XCB_SELINUX_GET_PROPERTY_CONTEXT, 1547 /* isvoid */ 0 1548 }; 1549 1550 struct iovec xcb_parts[4]; 1551 xcb_selinux_get_property_context_cookie_t xcb_ret; 1552 xcb_selinux_get_property_context_request_t xcb_out; 1553 1554 xcb_out.window = window; 1555 xcb_out.property = property; 1556 1557 xcb_parts[2].iov_base = (char *) &xcb_out; 1558 xcb_parts[2].iov_len = sizeof(xcb_out); 1559 xcb_parts[3].iov_base = 0; 1560 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1561 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1562 return xcb_ret; 1563} 1564 1565 1566/***************************************************************************** 1567 ** 1568 ** xcb_selinux_get_property_context_cookie_t xcb_selinux_get_property_context_unchecked 1569 ** 1570 ** @param xcb_connection_t *c 1571 ** @param xcb_window_t window 1572 ** @param xcb_atom_t property 1573 ** @returns xcb_selinux_get_property_context_cookie_t 1574 ** 1575 *****************************************************************************/ 1576 1577xcb_selinux_get_property_context_cookie_t 1578xcb_selinux_get_property_context_unchecked (xcb_connection_t *c /**< */, 1579 xcb_window_t window /**< */, 1580 xcb_atom_t property /**< */) 1581{ 1582 static const xcb_protocol_request_t xcb_req = { 1583 /* count */ 2, 1584 /* ext */ &xcb_selinux_id, 1585 /* opcode */ XCB_SELINUX_GET_PROPERTY_CONTEXT, 1586 /* isvoid */ 0 1587 }; 1588 1589 struct iovec xcb_parts[4]; 1590 xcb_selinux_get_property_context_cookie_t xcb_ret; 1591 xcb_selinux_get_property_context_request_t xcb_out; 1592 1593 xcb_out.window = window; 1594 xcb_out.property = property; 1595 1596 xcb_parts[2].iov_base = (char *) &xcb_out; 1597 xcb_parts[2].iov_len = sizeof(xcb_out); 1598 xcb_parts[3].iov_base = 0; 1599 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1600 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1601 return xcb_ret; 1602} 1603 1604 1605/***************************************************************************** 1606 ** 1607 ** char * xcb_selinux_get_property_context_context 1608 ** 1609 ** @param const xcb_selinux_get_property_context_reply_t *R 1610 ** @returns char * 1611 ** 1612 *****************************************************************************/ 1613 1614char * 1615xcb_selinux_get_property_context_context (const xcb_selinux_get_property_context_reply_t *R /**< */) 1616{ 1617 return (char *) (R + 1); 1618} 1619 1620 1621/***************************************************************************** 1622 ** 1623 ** int xcb_selinux_get_property_context_context_length 1624 ** 1625 ** @param const xcb_selinux_get_property_context_reply_t *R 1626 ** @returns int 1627 ** 1628 *****************************************************************************/ 1629 1630int 1631xcb_selinux_get_property_context_context_length (const xcb_selinux_get_property_context_reply_t *R /**< */) 1632{ 1633 return R->context_len; 1634} 1635 1636 1637/***************************************************************************** 1638 ** 1639 ** xcb_generic_iterator_t xcb_selinux_get_property_context_context_end 1640 ** 1641 ** @param const xcb_selinux_get_property_context_reply_t *R 1642 ** @returns xcb_generic_iterator_t 1643 ** 1644 *****************************************************************************/ 1645 1646xcb_generic_iterator_t 1647xcb_selinux_get_property_context_context_end (const xcb_selinux_get_property_context_reply_t *R /**< */) 1648{ 1649 xcb_generic_iterator_t i; 1650 i.data = ((char *) (R + 1)) + (R->context_len); 1651 i.rem = 0; 1652 i.index = (char *) i.data - (char *) R; 1653 return i; 1654} 1655 1656 1657/***************************************************************************** 1658 ** 1659 ** xcb_selinux_get_property_context_reply_t * xcb_selinux_get_property_context_reply 1660 ** 1661 ** @param xcb_connection_t *c 1662 ** @param xcb_selinux_get_property_context_cookie_t cookie 1663 ** @param xcb_generic_error_t **e 1664 ** @returns xcb_selinux_get_property_context_reply_t * 1665 ** 1666 *****************************************************************************/ 1667 1668xcb_selinux_get_property_context_reply_t * 1669xcb_selinux_get_property_context_reply (xcb_connection_t *c /**< */, 1670 xcb_selinux_get_property_context_cookie_t cookie /**< */, 1671 xcb_generic_error_t **e /**< */) 1672{ 1673 return (xcb_selinux_get_property_context_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 1674} 1675 1676 1677/***************************************************************************** 1678 ** 1679 ** xcb_selinux_get_property_data_context_cookie_t xcb_selinux_get_property_data_context 1680 ** 1681 ** @param xcb_connection_t *c 1682 ** @param xcb_window_t window 1683 ** @param xcb_atom_t property 1684 ** @returns xcb_selinux_get_property_data_context_cookie_t 1685 ** 1686 *****************************************************************************/ 1687 1688xcb_selinux_get_property_data_context_cookie_t 1689xcb_selinux_get_property_data_context (xcb_connection_t *c /**< */, 1690 xcb_window_t window /**< */, 1691 xcb_atom_t property /**< */) 1692{ 1693 static const xcb_protocol_request_t xcb_req = { 1694 /* count */ 2, 1695 /* ext */ &xcb_selinux_id, 1696 /* opcode */ XCB_SELINUX_GET_PROPERTY_DATA_CONTEXT, 1697 /* isvoid */ 0 1698 }; 1699 1700 struct iovec xcb_parts[4]; 1701 xcb_selinux_get_property_data_context_cookie_t xcb_ret; 1702 xcb_selinux_get_property_data_context_request_t xcb_out; 1703 1704 xcb_out.window = window; 1705 xcb_out.property = property; 1706 1707 xcb_parts[2].iov_base = (char *) &xcb_out; 1708 xcb_parts[2].iov_len = sizeof(xcb_out); 1709 xcb_parts[3].iov_base = 0; 1710 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1711 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1712 return xcb_ret; 1713} 1714 1715 1716/***************************************************************************** 1717 ** 1718 ** xcb_selinux_get_property_data_context_cookie_t xcb_selinux_get_property_data_context_unchecked 1719 ** 1720 ** @param xcb_connection_t *c 1721 ** @param xcb_window_t window 1722 ** @param xcb_atom_t property 1723 ** @returns xcb_selinux_get_property_data_context_cookie_t 1724 ** 1725 *****************************************************************************/ 1726 1727xcb_selinux_get_property_data_context_cookie_t 1728xcb_selinux_get_property_data_context_unchecked (xcb_connection_t *c /**< */, 1729 xcb_window_t window /**< */, 1730 xcb_atom_t property /**< */) 1731{ 1732 static const xcb_protocol_request_t xcb_req = { 1733 /* count */ 2, 1734 /* ext */ &xcb_selinux_id, 1735 /* opcode */ XCB_SELINUX_GET_PROPERTY_DATA_CONTEXT, 1736 /* isvoid */ 0 1737 }; 1738 1739 struct iovec xcb_parts[4]; 1740 xcb_selinux_get_property_data_context_cookie_t xcb_ret; 1741 xcb_selinux_get_property_data_context_request_t xcb_out; 1742 1743 xcb_out.window = window; 1744 xcb_out.property = property; 1745 1746 xcb_parts[2].iov_base = (char *) &xcb_out; 1747 xcb_parts[2].iov_len = sizeof(xcb_out); 1748 xcb_parts[3].iov_base = 0; 1749 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1750 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1751 return xcb_ret; 1752} 1753 1754 1755/***************************************************************************** 1756 ** 1757 ** char * xcb_selinux_get_property_data_context_context 1758 ** 1759 ** @param const xcb_selinux_get_property_data_context_reply_t *R 1760 ** @returns char * 1761 ** 1762 *****************************************************************************/ 1763 1764char * 1765xcb_selinux_get_property_data_context_context (const xcb_selinux_get_property_data_context_reply_t *R /**< */) 1766{ 1767 return (char *) (R + 1); 1768} 1769 1770 1771/***************************************************************************** 1772 ** 1773 ** int xcb_selinux_get_property_data_context_context_length 1774 ** 1775 ** @param const xcb_selinux_get_property_data_context_reply_t *R 1776 ** @returns int 1777 ** 1778 *****************************************************************************/ 1779 1780int 1781xcb_selinux_get_property_data_context_context_length (const xcb_selinux_get_property_data_context_reply_t *R /**< */) 1782{ 1783 return R->context_len; 1784} 1785 1786 1787/***************************************************************************** 1788 ** 1789 ** xcb_generic_iterator_t xcb_selinux_get_property_data_context_context_end 1790 ** 1791 ** @param const xcb_selinux_get_property_data_context_reply_t *R 1792 ** @returns xcb_generic_iterator_t 1793 ** 1794 *****************************************************************************/ 1795 1796xcb_generic_iterator_t 1797xcb_selinux_get_property_data_context_context_end (const xcb_selinux_get_property_data_context_reply_t *R /**< */) 1798{ 1799 xcb_generic_iterator_t i; 1800 i.data = ((char *) (R + 1)) + (R->context_len); 1801 i.rem = 0; 1802 i.index = (char *) i.data - (char *) R; 1803 return i; 1804} 1805 1806 1807/***************************************************************************** 1808 ** 1809 ** xcb_selinux_get_property_data_context_reply_t * xcb_selinux_get_property_data_context_reply 1810 ** 1811 ** @param xcb_connection_t *c 1812 ** @param xcb_selinux_get_property_data_context_cookie_t cookie 1813 ** @param xcb_generic_error_t **e 1814 ** @returns xcb_selinux_get_property_data_context_reply_t * 1815 ** 1816 *****************************************************************************/ 1817 1818xcb_selinux_get_property_data_context_reply_t * 1819xcb_selinux_get_property_data_context_reply (xcb_connection_t *c /**< */, 1820 xcb_selinux_get_property_data_context_cookie_t cookie /**< */, 1821 xcb_generic_error_t **e /**< */) 1822{ 1823 return (xcb_selinux_get_property_data_context_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 1824} 1825 1826 1827/***************************************************************************** 1828 ** 1829 ** xcb_selinux_list_properties_cookie_t xcb_selinux_list_properties 1830 ** 1831 ** @param xcb_connection_t *c 1832 ** @param xcb_window_t window 1833 ** @returns xcb_selinux_list_properties_cookie_t 1834 ** 1835 *****************************************************************************/ 1836 1837xcb_selinux_list_properties_cookie_t 1838xcb_selinux_list_properties (xcb_connection_t *c /**< */, 1839 xcb_window_t window /**< */) 1840{ 1841 static const xcb_protocol_request_t xcb_req = { 1842 /* count */ 2, 1843 /* ext */ &xcb_selinux_id, 1844 /* opcode */ XCB_SELINUX_LIST_PROPERTIES, 1845 /* isvoid */ 0 1846 }; 1847 1848 struct iovec xcb_parts[4]; 1849 xcb_selinux_list_properties_cookie_t xcb_ret; 1850 xcb_selinux_list_properties_request_t xcb_out; 1851 1852 xcb_out.window = window; 1853 1854 xcb_parts[2].iov_base = (char *) &xcb_out; 1855 xcb_parts[2].iov_len = sizeof(xcb_out); 1856 xcb_parts[3].iov_base = 0; 1857 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1858 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1859 return xcb_ret; 1860} 1861 1862 1863/***************************************************************************** 1864 ** 1865 ** xcb_selinux_list_properties_cookie_t xcb_selinux_list_properties_unchecked 1866 ** 1867 ** @param xcb_connection_t *c 1868 ** @param xcb_window_t window 1869 ** @returns xcb_selinux_list_properties_cookie_t 1870 ** 1871 *****************************************************************************/ 1872 1873xcb_selinux_list_properties_cookie_t 1874xcb_selinux_list_properties_unchecked (xcb_connection_t *c /**< */, 1875 xcb_window_t window /**< */) 1876{ 1877 static const xcb_protocol_request_t xcb_req = { 1878 /* count */ 2, 1879 /* ext */ &xcb_selinux_id, 1880 /* opcode */ XCB_SELINUX_LIST_PROPERTIES, 1881 /* isvoid */ 0 1882 }; 1883 1884 struct iovec xcb_parts[4]; 1885 xcb_selinux_list_properties_cookie_t xcb_ret; 1886 xcb_selinux_list_properties_request_t xcb_out; 1887 1888 xcb_out.window = window; 1889 1890 xcb_parts[2].iov_base = (char *) &xcb_out; 1891 xcb_parts[2].iov_len = sizeof(xcb_out); 1892 xcb_parts[3].iov_base = 0; 1893 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1894 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1895 return xcb_ret; 1896} 1897 1898 1899/***************************************************************************** 1900 ** 1901 ** int xcb_selinux_list_properties_properties_length 1902 ** 1903 ** @param const xcb_selinux_list_properties_reply_t *R 1904 ** @returns int 1905 ** 1906 *****************************************************************************/ 1907 1908int 1909xcb_selinux_list_properties_properties_length (const xcb_selinux_list_properties_reply_t *R /**< */) 1910{ 1911 return R->properties_len; 1912} 1913 1914 1915/***************************************************************************** 1916 ** 1917 ** xcb_selinux_list_item_iterator_t xcb_selinux_list_properties_properties_iterator 1918 ** 1919 ** @param const xcb_selinux_list_properties_reply_t *R 1920 ** @returns xcb_selinux_list_item_iterator_t 1921 ** 1922 *****************************************************************************/ 1923 1924xcb_selinux_list_item_iterator_t 1925xcb_selinux_list_properties_properties_iterator (const xcb_selinux_list_properties_reply_t *R /**< */) 1926{ 1927 xcb_selinux_list_item_iterator_t i; 1928 i.data = (xcb_selinux_list_item_t *) (R + 1); 1929 i.rem = R->properties_len; 1930 i.index = (char *) i.data - (char *) R; 1931 return i; 1932} 1933 1934 1935/***************************************************************************** 1936 ** 1937 ** xcb_selinux_list_properties_reply_t * xcb_selinux_list_properties_reply 1938 ** 1939 ** @param xcb_connection_t *c 1940 ** @param xcb_selinux_list_properties_cookie_t cookie 1941 ** @param xcb_generic_error_t **e 1942 ** @returns xcb_selinux_list_properties_reply_t * 1943 ** 1944 *****************************************************************************/ 1945 1946xcb_selinux_list_properties_reply_t * 1947xcb_selinux_list_properties_reply (xcb_connection_t *c /**< */, 1948 xcb_selinux_list_properties_cookie_t cookie /**< */, 1949 xcb_generic_error_t **e /**< */) 1950{ 1951 return (xcb_selinux_list_properties_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 1952} 1953 1954 1955/***************************************************************************** 1956 ** 1957 ** xcb_void_cookie_t xcb_selinux_set_selection_create_context_checked 1958 ** 1959 ** @param xcb_connection_t *c 1960 ** @param uint32_t context_len 1961 ** @param const char *context 1962 ** @returns xcb_void_cookie_t 1963 ** 1964 *****************************************************************************/ 1965 1966xcb_void_cookie_t 1967xcb_selinux_set_selection_create_context_checked (xcb_connection_t *c /**< */, 1968 uint32_t context_len /**< */, 1969 const char *context /**< */) 1970{ 1971 static const xcb_protocol_request_t xcb_req = { 1972 /* count */ 4, 1973 /* ext */ &xcb_selinux_id, 1974 /* opcode */ XCB_SELINUX_SET_SELECTION_CREATE_CONTEXT, 1975 /* isvoid */ 1 1976 }; 1977 1978 struct iovec xcb_parts[6]; 1979 xcb_void_cookie_t xcb_ret; 1980 xcb_selinux_set_selection_create_context_request_t xcb_out; 1981 1982 xcb_out.context_len = context_len; 1983 1984 xcb_parts[2].iov_base = (char *) &xcb_out; 1985 xcb_parts[2].iov_len = sizeof(xcb_out); 1986 xcb_parts[3].iov_base = 0; 1987 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1988 xcb_parts[4].iov_base = (char *) context; 1989 xcb_parts[4].iov_len = context_len * sizeof(char); 1990 xcb_parts[5].iov_base = 0; 1991 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 1992 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1993 return xcb_ret; 1994} 1995 1996 1997/***************************************************************************** 1998 ** 1999 ** xcb_void_cookie_t xcb_selinux_set_selection_create_context 2000 ** 2001 ** @param xcb_connection_t *c 2002 ** @param uint32_t context_len 2003 ** @param const char *context 2004 ** @returns xcb_void_cookie_t 2005 ** 2006 *****************************************************************************/ 2007 2008xcb_void_cookie_t 2009xcb_selinux_set_selection_create_context (xcb_connection_t *c /**< */, 2010 uint32_t context_len /**< */, 2011 const char *context /**< */) 2012{ 2013 static const xcb_protocol_request_t xcb_req = { 2014 /* count */ 4, 2015 /* ext */ &xcb_selinux_id, 2016 /* opcode */ XCB_SELINUX_SET_SELECTION_CREATE_CONTEXT, 2017 /* isvoid */ 1 2018 }; 2019 2020 struct iovec xcb_parts[6]; 2021 xcb_void_cookie_t xcb_ret; 2022 xcb_selinux_set_selection_create_context_request_t xcb_out; 2023 2024 xcb_out.context_len = context_len; 2025 2026 xcb_parts[2].iov_base = (char *) &xcb_out; 2027 xcb_parts[2].iov_len = sizeof(xcb_out); 2028 xcb_parts[3].iov_base = 0; 2029 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2030 xcb_parts[4].iov_base = (char *) context; 2031 xcb_parts[4].iov_len = context_len * sizeof(char); 2032 xcb_parts[5].iov_base = 0; 2033 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 2034 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 2035 return xcb_ret; 2036} 2037 2038 2039/***************************************************************************** 2040 ** 2041 ** xcb_selinux_get_selection_create_context_cookie_t xcb_selinux_get_selection_create_context 2042 ** 2043 ** @param xcb_connection_t *c 2044 ** @returns xcb_selinux_get_selection_create_context_cookie_t 2045 ** 2046 *****************************************************************************/ 2047 2048xcb_selinux_get_selection_create_context_cookie_t 2049xcb_selinux_get_selection_create_context (xcb_connection_t *c /**< */) 2050{ 2051 static const xcb_protocol_request_t xcb_req = { 2052 /* count */ 2, 2053 /* ext */ &xcb_selinux_id, 2054 /* opcode */ XCB_SELINUX_GET_SELECTION_CREATE_CONTEXT, 2055 /* isvoid */ 0 2056 }; 2057 2058 struct iovec xcb_parts[4]; 2059 xcb_selinux_get_selection_create_context_cookie_t xcb_ret; 2060 xcb_selinux_get_selection_create_context_request_t xcb_out; 2061 2062 2063 xcb_parts[2].iov_base = (char *) &xcb_out; 2064 xcb_parts[2].iov_len = sizeof(xcb_out); 2065 xcb_parts[3].iov_base = 0; 2066 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2067 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 2068 return xcb_ret; 2069} 2070 2071 2072/***************************************************************************** 2073 ** 2074 ** xcb_selinux_get_selection_create_context_cookie_t xcb_selinux_get_selection_create_context_unchecked 2075 ** 2076 ** @param xcb_connection_t *c 2077 ** @returns xcb_selinux_get_selection_create_context_cookie_t 2078 ** 2079 *****************************************************************************/ 2080 2081xcb_selinux_get_selection_create_context_cookie_t 2082xcb_selinux_get_selection_create_context_unchecked (xcb_connection_t *c /**< */) 2083{ 2084 static const xcb_protocol_request_t xcb_req = { 2085 /* count */ 2, 2086 /* ext */ &xcb_selinux_id, 2087 /* opcode */ XCB_SELINUX_GET_SELECTION_CREATE_CONTEXT, 2088 /* isvoid */ 0 2089 }; 2090 2091 struct iovec xcb_parts[4]; 2092 xcb_selinux_get_selection_create_context_cookie_t xcb_ret; 2093 xcb_selinux_get_selection_create_context_request_t xcb_out; 2094 2095 2096 xcb_parts[2].iov_base = (char *) &xcb_out; 2097 xcb_parts[2].iov_len = sizeof(xcb_out); 2098 xcb_parts[3].iov_base = 0; 2099 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2100 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 2101 return xcb_ret; 2102} 2103 2104 2105/***************************************************************************** 2106 ** 2107 ** char * xcb_selinux_get_selection_create_context_context 2108 ** 2109 ** @param const xcb_selinux_get_selection_create_context_reply_t *R 2110 ** @returns char * 2111 ** 2112 *****************************************************************************/ 2113 2114char * 2115xcb_selinux_get_selection_create_context_context (const xcb_selinux_get_selection_create_context_reply_t *R /**< */) 2116{ 2117 return (char *) (R + 1); 2118} 2119 2120 2121/***************************************************************************** 2122 ** 2123 ** int xcb_selinux_get_selection_create_context_context_length 2124 ** 2125 ** @param const xcb_selinux_get_selection_create_context_reply_t *R 2126 ** @returns int 2127 ** 2128 *****************************************************************************/ 2129 2130int 2131xcb_selinux_get_selection_create_context_context_length (const xcb_selinux_get_selection_create_context_reply_t *R /**< */) 2132{ 2133 return R->context_len; 2134} 2135 2136 2137/***************************************************************************** 2138 ** 2139 ** xcb_generic_iterator_t xcb_selinux_get_selection_create_context_context_end 2140 ** 2141 ** @param const xcb_selinux_get_selection_create_context_reply_t *R 2142 ** @returns xcb_generic_iterator_t 2143 ** 2144 *****************************************************************************/ 2145 2146xcb_generic_iterator_t 2147xcb_selinux_get_selection_create_context_context_end (const xcb_selinux_get_selection_create_context_reply_t *R /**< */) 2148{ 2149 xcb_generic_iterator_t i; 2150 i.data = ((char *) (R + 1)) + (R->context_len); 2151 i.rem = 0; 2152 i.index = (char *) i.data - (char *) R; 2153 return i; 2154} 2155 2156 2157/***************************************************************************** 2158 ** 2159 ** xcb_selinux_get_selection_create_context_reply_t * xcb_selinux_get_selection_create_context_reply 2160 ** 2161 ** @param xcb_connection_t *c 2162 ** @param xcb_selinux_get_selection_create_context_cookie_t cookie 2163 ** @param xcb_generic_error_t **e 2164 ** @returns xcb_selinux_get_selection_create_context_reply_t * 2165 ** 2166 *****************************************************************************/ 2167 2168xcb_selinux_get_selection_create_context_reply_t * 2169xcb_selinux_get_selection_create_context_reply (xcb_connection_t *c /**< */, 2170 xcb_selinux_get_selection_create_context_cookie_t cookie /**< */, 2171 xcb_generic_error_t **e /**< */) 2172{ 2173 return (xcb_selinux_get_selection_create_context_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 2174} 2175 2176 2177/***************************************************************************** 2178 ** 2179 ** xcb_void_cookie_t xcb_selinux_set_selection_use_context_checked 2180 ** 2181 ** @param xcb_connection_t *c 2182 ** @param uint32_t context_len 2183 ** @param const char *context 2184 ** @returns xcb_void_cookie_t 2185 ** 2186 *****************************************************************************/ 2187 2188xcb_void_cookie_t 2189xcb_selinux_set_selection_use_context_checked (xcb_connection_t *c /**< */, 2190 uint32_t context_len /**< */, 2191 const char *context /**< */) 2192{ 2193 static const xcb_protocol_request_t xcb_req = { 2194 /* count */ 4, 2195 /* ext */ &xcb_selinux_id, 2196 /* opcode */ XCB_SELINUX_SET_SELECTION_USE_CONTEXT, 2197 /* isvoid */ 1 2198 }; 2199 2200 struct iovec xcb_parts[6]; 2201 xcb_void_cookie_t xcb_ret; 2202 xcb_selinux_set_selection_use_context_request_t xcb_out; 2203 2204 xcb_out.context_len = context_len; 2205 2206 xcb_parts[2].iov_base = (char *) &xcb_out; 2207 xcb_parts[2].iov_len = sizeof(xcb_out); 2208 xcb_parts[3].iov_base = 0; 2209 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2210 xcb_parts[4].iov_base = (char *) context; 2211 xcb_parts[4].iov_len = context_len * sizeof(char); 2212 xcb_parts[5].iov_base = 0; 2213 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 2214 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 2215 return xcb_ret; 2216} 2217 2218 2219/***************************************************************************** 2220 ** 2221 ** xcb_void_cookie_t xcb_selinux_set_selection_use_context 2222 ** 2223 ** @param xcb_connection_t *c 2224 ** @param uint32_t context_len 2225 ** @param const char *context 2226 ** @returns xcb_void_cookie_t 2227 ** 2228 *****************************************************************************/ 2229 2230xcb_void_cookie_t 2231xcb_selinux_set_selection_use_context (xcb_connection_t *c /**< */, 2232 uint32_t context_len /**< */, 2233 const char *context /**< */) 2234{ 2235 static const xcb_protocol_request_t xcb_req = { 2236 /* count */ 4, 2237 /* ext */ &xcb_selinux_id, 2238 /* opcode */ XCB_SELINUX_SET_SELECTION_USE_CONTEXT, 2239 /* isvoid */ 1 2240 }; 2241 2242 struct iovec xcb_parts[6]; 2243 xcb_void_cookie_t xcb_ret; 2244 xcb_selinux_set_selection_use_context_request_t xcb_out; 2245 2246 xcb_out.context_len = context_len; 2247 2248 xcb_parts[2].iov_base = (char *) &xcb_out; 2249 xcb_parts[2].iov_len = sizeof(xcb_out); 2250 xcb_parts[3].iov_base = 0; 2251 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2252 xcb_parts[4].iov_base = (char *) context; 2253 xcb_parts[4].iov_len = context_len * sizeof(char); 2254 xcb_parts[5].iov_base = 0; 2255 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 2256 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 2257 return xcb_ret; 2258} 2259 2260 2261/***************************************************************************** 2262 ** 2263 ** xcb_selinux_get_selection_use_context_cookie_t xcb_selinux_get_selection_use_context 2264 ** 2265 ** @param xcb_connection_t *c 2266 ** @returns xcb_selinux_get_selection_use_context_cookie_t 2267 ** 2268 *****************************************************************************/ 2269 2270xcb_selinux_get_selection_use_context_cookie_t 2271xcb_selinux_get_selection_use_context (xcb_connection_t *c /**< */) 2272{ 2273 static const xcb_protocol_request_t xcb_req = { 2274 /* count */ 2, 2275 /* ext */ &xcb_selinux_id, 2276 /* opcode */ XCB_SELINUX_GET_SELECTION_USE_CONTEXT, 2277 /* isvoid */ 0 2278 }; 2279 2280 struct iovec xcb_parts[4]; 2281 xcb_selinux_get_selection_use_context_cookie_t xcb_ret; 2282 xcb_selinux_get_selection_use_context_request_t xcb_out; 2283 2284 2285 xcb_parts[2].iov_base = (char *) &xcb_out; 2286 xcb_parts[2].iov_len = sizeof(xcb_out); 2287 xcb_parts[3].iov_base = 0; 2288 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2289 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 2290 return xcb_ret; 2291} 2292 2293 2294/***************************************************************************** 2295 ** 2296 ** xcb_selinux_get_selection_use_context_cookie_t xcb_selinux_get_selection_use_context_unchecked 2297 ** 2298 ** @param xcb_connection_t *c 2299 ** @returns xcb_selinux_get_selection_use_context_cookie_t 2300 ** 2301 *****************************************************************************/ 2302 2303xcb_selinux_get_selection_use_context_cookie_t 2304xcb_selinux_get_selection_use_context_unchecked (xcb_connection_t *c /**< */) 2305{ 2306 static const xcb_protocol_request_t xcb_req = { 2307 /* count */ 2, 2308 /* ext */ &xcb_selinux_id, 2309 /* opcode */ XCB_SELINUX_GET_SELECTION_USE_CONTEXT, 2310 /* isvoid */ 0 2311 }; 2312 2313 struct iovec xcb_parts[4]; 2314 xcb_selinux_get_selection_use_context_cookie_t xcb_ret; 2315 xcb_selinux_get_selection_use_context_request_t xcb_out; 2316 2317 2318 xcb_parts[2].iov_base = (char *) &xcb_out; 2319 xcb_parts[2].iov_len = sizeof(xcb_out); 2320 xcb_parts[3].iov_base = 0; 2321 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2322 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 2323 return xcb_ret; 2324} 2325 2326 2327/***************************************************************************** 2328 ** 2329 ** char * xcb_selinux_get_selection_use_context_context 2330 ** 2331 ** @param const xcb_selinux_get_selection_use_context_reply_t *R 2332 ** @returns char * 2333 ** 2334 *****************************************************************************/ 2335 2336char * 2337xcb_selinux_get_selection_use_context_context (const xcb_selinux_get_selection_use_context_reply_t *R /**< */) 2338{ 2339 return (char *) (R + 1); 2340} 2341 2342 2343/***************************************************************************** 2344 ** 2345 ** int xcb_selinux_get_selection_use_context_context_length 2346 ** 2347 ** @param const xcb_selinux_get_selection_use_context_reply_t *R 2348 ** @returns int 2349 ** 2350 *****************************************************************************/ 2351 2352int 2353xcb_selinux_get_selection_use_context_context_length (const xcb_selinux_get_selection_use_context_reply_t *R /**< */) 2354{ 2355 return R->context_len; 2356} 2357 2358 2359/***************************************************************************** 2360 ** 2361 ** xcb_generic_iterator_t xcb_selinux_get_selection_use_context_context_end 2362 ** 2363 ** @param const xcb_selinux_get_selection_use_context_reply_t *R 2364 ** @returns xcb_generic_iterator_t 2365 ** 2366 *****************************************************************************/ 2367 2368xcb_generic_iterator_t 2369xcb_selinux_get_selection_use_context_context_end (const xcb_selinux_get_selection_use_context_reply_t *R /**< */) 2370{ 2371 xcb_generic_iterator_t i; 2372 i.data = ((char *) (R + 1)) + (R->context_len); 2373 i.rem = 0; 2374 i.index = (char *) i.data - (char *) R; 2375 return i; 2376} 2377 2378 2379/***************************************************************************** 2380 ** 2381 ** xcb_selinux_get_selection_use_context_reply_t * xcb_selinux_get_selection_use_context_reply 2382 ** 2383 ** @param xcb_connection_t *c 2384 ** @param xcb_selinux_get_selection_use_context_cookie_t cookie 2385 ** @param xcb_generic_error_t **e 2386 ** @returns xcb_selinux_get_selection_use_context_reply_t * 2387 ** 2388 *****************************************************************************/ 2389 2390xcb_selinux_get_selection_use_context_reply_t * 2391xcb_selinux_get_selection_use_context_reply (xcb_connection_t *c /**< */, 2392 xcb_selinux_get_selection_use_context_cookie_t cookie /**< */, 2393 xcb_generic_error_t **e /**< */) 2394{ 2395 return (xcb_selinux_get_selection_use_context_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 2396} 2397 2398 2399/***************************************************************************** 2400 ** 2401 ** xcb_selinux_get_selection_context_cookie_t xcb_selinux_get_selection_context 2402 ** 2403 ** @param xcb_connection_t *c 2404 ** @param xcb_atom_t selection 2405 ** @returns xcb_selinux_get_selection_context_cookie_t 2406 ** 2407 *****************************************************************************/ 2408 2409xcb_selinux_get_selection_context_cookie_t 2410xcb_selinux_get_selection_context (xcb_connection_t *c /**< */, 2411 xcb_atom_t selection /**< */) 2412{ 2413 static const xcb_protocol_request_t xcb_req = { 2414 /* count */ 2, 2415 /* ext */ &xcb_selinux_id, 2416 /* opcode */ XCB_SELINUX_GET_SELECTION_CONTEXT, 2417 /* isvoid */ 0 2418 }; 2419 2420 struct iovec xcb_parts[4]; 2421 xcb_selinux_get_selection_context_cookie_t xcb_ret; 2422 xcb_selinux_get_selection_context_request_t xcb_out; 2423 2424 xcb_out.selection = selection; 2425 2426 xcb_parts[2].iov_base = (char *) &xcb_out; 2427 xcb_parts[2].iov_len = sizeof(xcb_out); 2428 xcb_parts[3].iov_base = 0; 2429 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2430 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 2431 return xcb_ret; 2432} 2433 2434 2435/***************************************************************************** 2436 ** 2437 ** xcb_selinux_get_selection_context_cookie_t xcb_selinux_get_selection_context_unchecked 2438 ** 2439 ** @param xcb_connection_t *c 2440 ** @param xcb_atom_t selection 2441 ** @returns xcb_selinux_get_selection_context_cookie_t 2442 ** 2443 *****************************************************************************/ 2444 2445xcb_selinux_get_selection_context_cookie_t 2446xcb_selinux_get_selection_context_unchecked (xcb_connection_t *c /**< */, 2447 xcb_atom_t selection /**< */) 2448{ 2449 static const xcb_protocol_request_t xcb_req = { 2450 /* count */ 2, 2451 /* ext */ &xcb_selinux_id, 2452 /* opcode */ XCB_SELINUX_GET_SELECTION_CONTEXT, 2453 /* isvoid */ 0 2454 }; 2455 2456 struct iovec xcb_parts[4]; 2457 xcb_selinux_get_selection_context_cookie_t xcb_ret; 2458 xcb_selinux_get_selection_context_request_t xcb_out; 2459 2460 xcb_out.selection = selection; 2461 2462 xcb_parts[2].iov_base = (char *) &xcb_out; 2463 xcb_parts[2].iov_len = sizeof(xcb_out); 2464 xcb_parts[3].iov_base = 0; 2465 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2466 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 2467 return xcb_ret; 2468} 2469 2470 2471/***************************************************************************** 2472 ** 2473 ** char * xcb_selinux_get_selection_context_context 2474 ** 2475 ** @param const xcb_selinux_get_selection_context_reply_t *R 2476 ** @returns char * 2477 ** 2478 *****************************************************************************/ 2479 2480char * 2481xcb_selinux_get_selection_context_context (const xcb_selinux_get_selection_context_reply_t *R /**< */) 2482{ 2483 return (char *) (R + 1); 2484} 2485 2486 2487/***************************************************************************** 2488 ** 2489 ** int xcb_selinux_get_selection_context_context_length 2490 ** 2491 ** @param const xcb_selinux_get_selection_context_reply_t *R 2492 ** @returns int 2493 ** 2494 *****************************************************************************/ 2495 2496int 2497xcb_selinux_get_selection_context_context_length (const xcb_selinux_get_selection_context_reply_t *R /**< */) 2498{ 2499 return R->context_len; 2500} 2501 2502 2503/***************************************************************************** 2504 ** 2505 ** xcb_generic_iterator_t xcb_selinux_get_selection_context_context_end 2506 ** 2507 ** @param const xcb_selinux_get_selection_context_reply_t *R 2508 ** @returns xcb_generic_iterator_t 2509 ** 2510 *****************************************************************************/ 2511 2512xcb_generic_iterator_t 2513xcb_selinux_get_selection_context_context_end (const xcb_selinux_get_selection_context_reply_t *R /**< */) 2514{ 2515 xcb_generic_iterator_t i; 2516 i.data = ((char *) (R + 1)) + (R->context_len); 2517 i.rem = 0; 2518 i.index = (char *) i.data - (char *) R; 2519 return i; 2520} 2521 2522 2523/***************************************************************************** 2524 ** 2525 ** xcb_selinux_get_selection_context_reply_t * xcb_selinux_get_selection_context_reply 2526 ** 2527 ** @param xcb_connection_t *c 2528 ** @param xcb_selinux_get_selection_context_cookie_t cookie 2529 ** @param xcb_generic_error_t **e 2530 ** @returns xcb_selinux_get_selection_context_reply_t * 2531 ** 2532 *****************************************************************************/ 2533 2534xcb_selinux_get_selection_context_reply_t * 2535xcb_selinux_get_selection_context_reply (xcb_connection_t *c /**< */, 2536 xcb_selinux_get_selection_context_cookie_t cookie /**< */, 2537 xcb_generic_error_t **e /**< */) 2538{ 2539 return (xcb_selinux_get_selection_context_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 2540} 2541 2542 2543/***************************************************************************** 2544 ** 2545 ** xcb_selinux_get_selection_data_context_cookie_t xcb_selinux_get_selection_data_context 2546 ** 2547 ** @param xcb_connection_t *c 2548 ** @param xcb_atom_t selection 2549 ** @returns xcb_selinux_get_selection_data_context_cookie_t 2550 ** 2551 *****************************************************************************/ 2552 2553xcb_selinux_get_selection_data_context_cookie_t 2554xcb_selinux_get_selection_data_context (xcb_connection_t *c /**< */, 2555 xcb_atom_t selection /**< */) 2556{ 2557 static const xcb_protocol_request_t xcb_req = { 2558 /* count */ 2, 2559 /* ext */ &xcb_selinux_id, 2560 /* opcode */ XCB_SELINUX_GET_SELECTION_DATA_CONTEXT, 2561 /* isvoid */ 0 2562 }; 2563 2564 struct iovec xcb_parts[4]; 2565 xcb_selinux_get_selection_data_context_cookie_t xcb_ret; 2566 xcb_selinux_get_selection_data_context_request_t xcb_out; 2567 2568 xcb_out.selection = selection; 2569 2570 xcb_parts[2].iov_base = (char *) &xcb_out; 2571 xcb_parts[2].iov_len = sizeof(xcb_out); 2572 xcb_parts[3].iov_base = 0; 2573 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2574 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 2575 return xcb_ret; 2576} 2577 2578 2579/***************************************************************************** 2580 ** 2581 ** xcb_selinux_get_selection_data_context_cookie_t xcb_selinux_get_selection_data_context_unchecked 2582 ** 2583 ** @param xcb_connection_t *c 2584 ** @param xcb_atom_t selection 2585 ** @returns xcb_selinux_get_selection_data_context_cookie_t 2586 ** 2587 *****************************************************************************/ 2588 2589xcb_selinux_get_selection_data_context_cookie_t 2590xcb_selinux_get_selection_data_context_unchecked (xcb_connection_t *c /**< */, 2591 xcb_atom_t selection /**< */) 2592{ 2593 static const xcb_protocol_request_t xcb_req = { 2594 /* count */ 2, 2595 /* ext */ &xcb_selinux_id, 2596 /* opcode */ XCB_SELINUX_GET_SELECTION_DATA_CONTEXT, 2597 /* isvoid */ 0 2598 }; 2599 2600 struct iovec xcb_parts[4]; 2601 xcb_selinux_get_selection_data_context_cookie_t xcb_ret; 2602 xcb_selinux_get_selection_data_context_request_t xcb_out; 2603 2604 xcb_out.selection = selection; 2605 2606 xcb_parts[2].iov_base = (char *) &xcb_out; 2607 xcb_parts[2].iov_len = sizeof(xcb_out); 2608 xcb_parts[3].iov_base = 0; 2609 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2610 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 2611 return xcb_ret; 2612} 2613 2614 2615/***************************************************************************** 2616 ** 2617 ** char * xcb_selinux_get_selection_data_context_context 2618 ** 2619 ** @param const xcb_selinux_get_selection_data_context_reply_t *R 2620 ** @returns char * 2621 ** 2622 *****************************************************************************/ 2623 2624char * 2625xcb_selinux_get_selection_data_context_context (const xcb_selinux_get_selection_data_context_reply_t *R /**< */) 2626{ 2627 return (char *) (R + 1); 2628} 2629 2630 2631/***************************************************************************** 2632 ** 2633 ** int xcb_selinux_get_selection_data_context_context_length 2634 ** 2635 ** @param const xcb_selinux_get_selection_data_context_reply_t *R 2636 ** @returns int 2637 ** 2638 *****************************************************************************/ 2639 2640int 2641xcb_selinux_get_selection_data_context_context_length (const xcb_selinux_get_selection_data_context_reply_t *R /**< */) 2642{ 2643 return R->context_len; 2644} 2645 2646 2647/***************************************************************************** 2648 ** 2649 ** xcb_generic_iterator_t xcb_selinux_get_selection_data_context_context_end 2650 ** 2651 ** @param const xcb_selinux_get_selection_data_context_reply_t *R 2652 ** @returns xcb_generic_iterator_t 2653 ** 2654 *****************************************************************************/ 2655 2656xcb_generic_iterator_t 2657xcb_selinux_get_selection_data_context_context_end (const xcb_selinux_get_selection_data_context_reply_t *R /**< */) 2658{ 2659 xcb_generic_iterator_t i; 2660 i.data = ((char *) (R + 1)) + (R->context_len); 2661 i.rem = 0; 2662 i.index = (char *) i.data - (char *) R; 2663 return i; 2664} 2665 2666 2667/***************************************************************************** 2668 ** 2669 ** xcb_selinux_get_selection_data_context_reply_t * xcb_selinux_get_selection_data_context_reply 2670 ** 2671 ** @param xcb_connection_t *c 2672 ** @param xcb_selinux_get_selection_data_context_cookie_t cookie 2673 ** @param xcb_generic_error_t **e 2674 ** @returns xcb_selinux_get_selection_data_context_reply_t * 2675 ** 2676 *****************************************************************************/ 2677 2678xcb_selinux_get_selection_data_context_reply_t * 2679xcb_selinux_get_selection_data_context_reply (xcb_connection_t *c /**< */, 2680 xcb_selinux_get_selection_data_context_cookie_t cookie /**< */, 2681 xcb_generic_error_t **e /**< */) 2682{ 2683 return (xcb_selinux_get_selection_data_context_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 2684} 2685 2686 2687/***************************************************************************** 2688 ** 2689 ** xcb_selinux_list_selections_cookie_t xcb_selinux_list_selections 2690 ** 2691 ** @param xcb_connection_t *c 2692 ** @returns xcb_selinux_list_selections_cookie_t 2693 ** 2694 *****************************************************************************/ 2695 2696xcb_selinux_list_selections_cookie_t 2697xcb_selinux_list_selections (xcb_connection_t *c /**< */) 2698{ 2699 static const xcb_protocol_request_t xcb_req = { 2700 /* count */ 2, 2701 /* ext */ &xcb_selinux_id, 2702 /* opcode */ XCB_SELINUX_LIST_SELECTIONS, 2703 /* isvoid */ 0 2704 }; 2705 2706 struct iovec xcb_parts[4]; 2707 xcb_selinux_list_selections_cookie_t xcb_ret; 2708 xcb_selinux_list_selections_request_t xcb_out; 2709 2710 2711 xcb_parts[2].iov_base = (char *) &xcb_out; 2712 xcb_parts[2].iov_len = sizeof(xcb_out); 2713 xcb_parts[3].iov_base = 0; 2714 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2715 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 2716 return xcb_ret; 2717} 2718 2719 2720/***************************************************************************** 2721 ** 2722 ** xcb_selinux_list_selections_cookie_t xcb_selinux_list_selections_unchecked 2723 ** 2724 ** @param xcb_connection_t *c 2725 ** @returns xcb_selinux_list_selections_cookie_t 2726 ** 2727 *****************************************************************************/ 2728 2729xcb_selinux_list_selections_cookie_t 2730xcb_selinux_list_selections_unchecked (xcb_connection_t *c /**< */) 2731{ 2732 static const xcb_protocol_request_t xcb_req = { 2733 /* count */ 2, 2734 /* ext */ &xcb_selinux_id, 2735 /* opcode */ XCB_SELINUX_LIST_SELECTIONS, 2736 /* isvoid */ 0 2737 }; 2738 2739 struct iovec xcb_parts[4]; 2740 xcb_selinux_list_selections_cookie_t xcb_ret; 2741 xcb_selinux_list_selections_request_t xcb_out; 2742 2743 2744 xcb_parts[2].iov_base = (char *) &xcb_out; 2745 xcb_parts[2].iov_len = sizeof(xcb_out); 2746 xcb_parts[3].iov_base = 0; 2747 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2748 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 2749 return xcb_ret; 2750} 2751 2752 2753/***************************************************************************** 2754 ** 2755 ** int xcb_selinux_list_selections_selections_length 2756 ** 2757 ** @param const xcb_selinux_list_selections_reply_t *R 2758 ** @returns int 2759 ** 2760 *****************************************************************************/ 2761 2762int 2763xcb_selinux_list_selections_selections_length (const xcb_selinux_list_selections_reply_t *R /**< */) 2764{ 2765 return R->selections_len; 2766} 2767 2768 2769/***************************************************************************** 2770 ** 2771 ** xcb_selinux_list_item_iterator_t xcb_selinux_list_selections_selections_iterator 2772 ** 2773 ** @param const xcb_selinux_list_selections_reply_t *R 2774 ** @returns xcb_selinux_list_item_iterator_t 2775 ** 2776 *****************************************************************************/ 2777 2778xcb_selinux_list_item_iterator_t 2779xcb_selinux_list_selections_selections_iterator (const xcb_selinux_list_selections_reply_t *R /**< */) 2780{ 2781 xcb_selinux_list_item_iterator_t i; 2782 i.data = (xcb_selinux_list_item_t *) (R + 1); 2783 i.rem = R->selections_len; 2784 i.index = (char *) i.data - (char *) R; 2785 return i; 2786} 2787 2788 2789/***************************************************************************** 2790 ** 2791 ** xcb_selinux_list_selections_reply_t * xcb_selinux_list_selections_reply 2792 ** 2793 ** @param xcb_connection_t *c 2794 ** @param xcb_selinux_list_selections_cookie_t cookie 2795 ** @param xcb_generic_error_t **e 2796 ** @returns xcb_selinux_list_selections_reply_t * 2797 ** 2798 *****************************************************************************/ 2799 2800xcb_selinux_list_selections_reply_t * 2801xcb_selinux_list_selections_reply (xcb_connection_t *c /**< */, 2802 xcb_selinux_list_selections_cookie_t cookie /**< */, 2803 xcb_generic_error_t **e /**< */) 2804{ 2805 return (xcb_selinux_list_selections_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 2806} 2807 2808 2809/***************************************************************************** 2810 ** 2811 ** xcb_selinux_get_client_context_cookie_t xcb_selinux_get_client_context 2812 ** 2813 ** @param xcb_connection_t *c 2814 ** @param uint32_t resource 2815 ** @returns xcb_selinux_get_client_context_cookie_t 2816 ** 2817 *****************************************************************************/ 2818 2819xcb_selinux_get_client_context_cookie_t 2820xcb_selinux_get_client_context (xcb_connection_t *c /**< */, 2821 uint32_t resource /**< */) 2822{ 2823 static const xcb_protocol_request_t xcb_req = { 2824 /* count */ 2, 2825 /* ext */ &xcb_selinux_id, 2826 /* opcode */ XCB_SELINUX_GET_CLIENT_CONTEXT, 2827 /* isvoid */ 0 2828 }; 2829 2830 struct iovec xcb_parts[4]; 2831 xcb_selinux_get_client_context_cookie_t xcb_ret; 2832 xcb_selinux_get_client_context_request_t xcb_out; 2833 2834 xcb_out.resource = resource; 2835 2836 xcb_parts[2].iov_base = (char *) &xcb_out; 2837 xcb_parts[2].iov_len = sizeof(xcb_out); 2838 xcb_parts[3].iov_base = 0; 2839 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2840 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 2841 return xcb_ret; 2842} 2843 2844 2845/***************************************************************************** 2846 ** 2847 ** xcb_selinux_get_client_context_cookie_t xcb_selinux_get_client_context_unchecked 2848 ** 2849 ** @param xcb_connection_t *c 2850 ** @param uint32_t resource 2851 ** @returns xcb_selinux_get_client_context_cookie_t 2852 ** 2853 *****************************************************************************/ 2854 2855xcb_selinux_get_client_context_cookie_t 2856xcb_selinux_get_client_context_unchecked (xcb_connection_t *c /**< */, 2857 uint32_t resource /**< */) 2858{ 2859 static const xcb_protocol_request_t xcb_req = { 2860 /* count */ 2, 2861 /* ext */ &xcb_selinux_id, 2862 /* opcode */ XCB_SELINUX_GET_CLIENT_CONTEXT, 2863 /* isvoid */ 0 2864 }; 2865 2866 struct iovec xcb_parts[4]; 2867 xcb_selinux_get_client_context_cookie_t xcb_ret; 2868 xcb_selinux_get_client_context_request_t xcb_out; 2869 2870 xcb_out.resource = resource; 2871 2872 xcb_parts[2].iov_base = (char *) &xcb_out; 2873 xcb_parts[2].iov_len = sizeof(xcb_out); 2874 xcb_parts[3].iov_base = 0; 2875 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2876 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 2877 return xcb_ret; 2878} 2879 2880 2881/***************************************************************************** 2882 ** 2883 ** char * xcb_selinux_get_client_context_context 2884 ** 2885 ** @param const xcb_selinux_get_client_context_reply_t *R 2886 ** @returns char * 2887 ** 2888 *****************************************************************************/ 2889 2890char * 2891xcb_selinux_get_client_context_context (const xcb_selinux_get_client_context_reply_t *R /**< */) 2892{ 2893 return (char *) (R + 1); 2894} 2895 2896 2897/***************************************************************************** 2898 ** 2899 ** int xcb_selinux_get_client_context_context_length 2900 ** 2901 ** @param const xcb_selinux_get_client_context_reply_t *R 2902 ** @returns int 2903 ** 2904 *****************************************************************************/ 2905 2906int 2907xcb_selinux_get_client_context_context_length (const xcb_selinux_get_client_context_reply_t *R /**< */) 2908{ 2909 return R->context_len; 2910} 2911 2912 2913/***************************************************************************** 2914 ** 2915 ** xcb_generic_iterator_t xcb_selinux_get_client_context_context_end 2916 ** 2917 ** @param const xcb_selinux_get_client_context_reply_t *R 2918 ** @returns xcb_generic_iterator_t 2919 ** 2920 *****************************************************************************/ 2921 2922xcb_generic_iterator_t 2923xcb_selinux_get_client_context_context_end (const xcb_selinux_get_client_context_reply_t *R /**< */) 2924{ 2925 xcb_generic_iterator_t i; 2926 i.data = ((char *) (R + 1)) + (R->context_len); 2927 i.rem = 0; 2928 i.index = (char *) i.data - (char *) R; 2929 return i; 2930} 2931 2932 2933/***************************************************************************** 2934 ** 2935 ** xcb_selinux_get_client_context_reply_t * xcb_selinux_get_client_context_reply 2936 ** 2937 ** @param xcb_connection_t *c 2938 ** @param xcb_selinux_get_client_context_cookie_t cookie 2939 ** @param xcb_generic_error_t **e 2940 ** @returns xcb_selinux_get_client_context_reply_t * 2941 ** 2942 *****************************************************************************/ 2943 2944xcb_selinux_get_client_context_reply_t * 2945xcb_selinux_get_client_context_reply (xcb_connection_t *c /**< */, 2946 xcb_selinux_get_client_context_cookie_t cookie /**< */, 2947 xcb_generic_error_t **e /**< */) 2948{ 2949 return (xcb_selinux_get_client_context_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 2950} 2951 2952