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 12 xcb_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 26 xcb_selinux_query_version_cookie_t 27 xcb_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 65 xcb_selinux_query_version_cookie_t 66 xcb_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 104 xcb_selinux_query_version_reply_t * 105 xcb_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 124 xcb_void_cookie_t 125 xcb_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 166 xcb_void_cookie_t 167 xcb_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 206 xcb_selinux_get_device_create_context_cookie_t 207 xcb_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 239 xcb_selinux_get_device_create_context_cookie_t 240 xcb_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 272 char * 273 xcb_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 288 int 289 xcb_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 304 xcb_generic_iterator_t 305 xcb_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 326 xcb_selinux_get_device_create_context_reply_t * 327 xcb_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 347 xcb_void_cookie_t 348 xcb_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 392 xcb_void_cookie_t 393 xcb_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 435 xcb_selinux_get_device_context_cookie_t 436 xcb_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 471 xcb_selinux_get_device_context_cookie_t 472 xcb_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 506 char * 507 xcb_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 522 int 523 xcb_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 538 xcb_generic_iterator_t 539 xcb_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 560 xcb_selinux_get_device_context_reply_t * 561 xcb_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 580 xcb_void_cookie_t 581 xcb_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 622 xcb_void_cookie_t 623 xcb_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 662 xcb_selinux_get_window_create_context_cookie_t 663 xcb_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 695 xcb_selinux_get_window_create_context_cookie_t 696 xcb_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 728 char * 729 xcb_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 744 int 745 xcb_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 760 xcb_generic_iterator_t 761 xcb_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 782 xcb_selinux_get_window_create_context_reply_t * 783 xcb_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 801 xcb_selinux_get_window_context_cookie_t 802 xcb_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 837 xcb_selinux_get_window_context_cookie_t 838 xcb_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 872 char * 873 xcb_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 888 int 889 xcb_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 904 xcb_generic_iterator_t 905 xcb_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 926 xcb_selinux_get_window_context_reply_t * 927 xcb_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 944 char * 945 xcb_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 960 int 961 xcb_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 976 xcb_generic_iterator_t 977 xcb_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 996 char * 997 xcb_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 1013 int 1014 xcb_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 1029 xcb_generic_iterator_t 1030 xcb_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 1050 void 1051 xcb_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 1070 xcb_generic_iterator_t 1071 xcb_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 1094 xcb_void_cookie_t 1095 xcb_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 1136 xcb_void_cookie_t 1137 xcb_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 1176 xcb_selinux_get_property_create_context_cookie_t 1177 xcb_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 1209 xcb_selinux_get_property_create_context_cookie_t 1210 xcb_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 1242 char * 1243 xcb_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 1258 int 1259 xcb_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 1274 xcb_generic_iterator_t 1275 xcb_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 1296 xcb_selinux_get_property_create_context_reply_t * 1297 xcb_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 1316 xcb_void_cookie_t 1317 xcb_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 1358 xcb_void_cookie_t 1359 xcb_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 1398 xcb_selinux_get_property_use_context_cookie_t 1399 xcb_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 1431 xcb_selinux_get_property_use_context_cookie_t 1432 xcb_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 1464 char * 1465 xcb_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 1480 int 1481 xcb_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 1496 xcb_generic_iterator_t 1497 xcb_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 1518 xcb_selinux_get_property_use_context_reply_t * 1519 xcb_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 1538 xcb_selinux_get_property_context_cookie_t 1539 xcb_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 1577 xcb_selinux_get_property_context_cookie_t 1578 xcb_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 1614 char * 1615 xcb_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 1630 int 1631 xcb_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 1646 xcb_generic_iterator_t 1647 xcb_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 1668 xcb_selinux_get_property_context_reply_t * 1669 xcb_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 1688 xcb_selinux_get_property_data_context_cookie_t 1689 xcb_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 1727 xcb_selinux_get_property_data_context_cookie_t 1728 xcb_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 1764 char * 1765 xcb_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 1780 int 1781 xcb_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 1796 xcb_generic_iterator_t 1797 xcb_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 1818 xcb_selinux_get_property_data_context_reply_t * 1819 xcb_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 1837 xcb_selinux_list_properties_cookie_t 1838 xcb_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 1873 xcb_selinux_list_properties_cookie_t 1874 xcb_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 1908 int 1909 xcb_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 1924 xcb_selinux_list_item_iterator_t 1925 xcb_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 1946 xcb_selinux_list_properties_reply_t * 1947 xcb_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 1966 xcb_void_cookie_t 1967 xcb_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 2008 xcb_void_cookie_t 2009 xcb_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 2048 xcb_selinux_get_selection_create_context_cookie_t 2049 xcb_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 2081 xcb_selinux_get_selection_create_context_cookie_t 2082 xcb_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 2114 char * 2115 xcb_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 2130 int 2131 xcb_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 2146 xcb_generic_iterator_t 2147 xcb_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 2168 xcb_selinux_get_selection_create_context_reply_t * 2169 xcb_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 2188 xcb_void_cookie_t 2189 xcb_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 2230 xcb_void_cookie_t 2231 xcb_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 2270 xcb_selinux_get_selection_use_context_cookie_t 2271 xcb_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 2303 xcb_selinux_get_selection_use_context_cookie_t 2304 xcb_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 2336 char * 2337 xcb_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 2352 int 2353 xcb_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 2368 xcb_generic_iterator_t 2369 xcb_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 2390 xcb_selinux_get_selection_use_context_reply_t * 2391 xcb_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 2409 xcb_selinux_get_selection_context_cookie_t 2410 xcb_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 2445 xcb_selinux_get_selection_context_cookie_t 2446 xcb_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 2480 char * 2481 xcb_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 2496 int 2497 xcb_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 2512 xcb_generic_iterator_t 2513 xcb_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 2534 xcb_selinux_get_selection_context_reply_t * 2535 xcb_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 2553 xcb_selinux_get_selection_data_context_cookie_t 2554 xcb_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 2589 xcb_selinux_get_selection_data_context_cookie_t 2590 xcb_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 2624 char * 2625 xcb_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 2640 int 2641 xcb_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 2656 xcb_generic_iterator_t 2657 xcb_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 2678 xcb_selinux_get_selection_data_context_reply_t * 2679 xcb_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 2696 xcb_selinux_list_selections_cookie_t 2697 xcb_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 2729 xcb_selinux_list_selections_cookie_t 2730 xcb_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 2762 int 2763 xcb_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 2778 xcb_selinux_list_item_iterator_t 2779 xcb_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 2800 xcb_selinux_list_selections_reply_t * 2801 xcb_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 2819 xcb_selinux_get_client_context_cookie_t 2820 xcb_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 2855 xcb_selinux_get_client_context_cookie_t 2856 xcb_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 2890 char * 2891 xcb_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 2906 int 2907 xcb_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 2922 xcb_generic_iterator_t 2923 xcb_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 2944 xcb_selinux_get_client_context_reply_t * 2945 xcb_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