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