xcb_selinux_g...y_use_context(3)

πŸ“¦
version 1.17.0 Β· 4 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, centos-stream 10, debian trixie, fedora 43, fedora 44, nixpkgs unstable, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’… xcb_selinux_get_property_use_context(3) πŸ’…

okay bestie, welcome to the XCB Requests corner of the manual, this one's from libxcb and it lives in the X Version 11 crowd. sit down, grab a strawberry πŸ“, we're talking about the SELinux "get property use context" request and it's gonna be so chill actually.


✨ NAME ✨

xcb_selinux_get_property_use_context β€”

no cap, that description field is literally empty in the original. the name is the whole story here. the way that the manpage just… didn't elaborate πŸ’€

🌸 SYNOPSIS 🌸

first things first, you gotta bring in the header, periodt:

#include <xcb/xselinux.h>

πŸŽ€ Request function

xcb_selinux_get_property_use_context_cookie_t
       xcb_selinux_get_property_use_context(xcb_connection_t *conn,

πŸŽ€ Reply datastructure

here's the little struct that comes back, every field laid out exactly like this:

typedef struct xcb_selinux_get_property_use_context_reply_t {
    uint8_t  response_type;
    uint8_t  pad0;
    uint16_t sequence;
    uint32_t length;
    uint32_t context_len;
    uint8_t  pad1[20];
} xcb_selinux_get_property_use_context_reply_t;

πŸŽ€ Reply function

xcb_selinux_get_property_use_context_reply_t
       *xcb_selinux_get_property_use_context_reply(xcb_connection_t *conn,
       xcb_selinux_get_property_use_context_cookie_t cookie,
       xcb_generic_error_t **e);

πŸŽ€ Reply accessors

these are the lil helpers that reach into the reply for you, so you don't have to do pointer math like a Victorian orphan:

char *xcb_selinux_get_property_use_context_context(const
       xcb_selinux_get_property_use_context_request_t *reply);

int xcb_selinux_get_property_use_context_context_length(const
       xcb_selinux_get_property_use_context_reply_t *reply);

xcb_generic_iterator_t
       xcb_selinux_get_property_use_context_context_end(const
       xcb_selinux_get_property_use_context_reply_t *reply);

πŸ¦‹ REQUEST ARGUMENTS πŸ¦‹

  • conn β€” The XCB connection to X11. that's your whole ride-or-die handle to the server, she's the main character here πŸ‘‘

⭐ REPLY FIELDS ⭐

  • response_type β€” The type of this reply, in this case XCB_SELINUX_GET_PROPERTY_USE_CONTEXT. This field is also present in the xcb_generic_reply_t and can be used to tell replies apart from each other. it's giving "name tag at a party" 🏷️
  • sequence β€” The sequence number of the last request processed by the X11 server.
  • length β€” The length of the reply, in words (a word is 4 bytes).
  • context_len β€” TODO: NOT YET DOCUMENTED. 😭 not the mystery field. the original really said "figure it out" and honestly? iconic.

🌈 DESCRIPTION 🌈

bestie… there is genuinely nothing here. the DESCRIPTION section is empty in the source. i'm not gonna invent lore for it, that's not the vibe. it's just blank. we move on 🫢

πŸ’– RETURN VALUE πŸ’–

Returns an xcb_selinux_get_property_use_context_cookie_t. Errors have to be handled when calling the reply function xcb_selinux_get_property_use_context_reply.

If you want to handle errors in the event loop instead, use xcb_selinux_get_property_use_context_unchecked. See xcb-requests(3) for details.

so like, two paths, both valid, choose your fighter ✨


πŸ’€ ERRORS πŸ’€

This request does never generate any errors.

literally zero errors. not one. she's unproblematic, she's low maintenance, she shows up and does the thing. slay πŸ’…

🧚 SEE ALSO 🧚

empty in the original too 😭 no cross-refs, no side quests. just vibes and this page.

πŸ‘‘ AUTHOR πŸ‘‘

Generated from xselinux.xml. Contact xcb@lists.freedesktop.org for corrections and improvements.


and that's the whole page, babe πŸŽ€ thanks for reading the XCB Requests manual with me β€” this one shipped with libxcb 1.17.0 under X Version 11. go forth, compile responsibly, and remember: context_len remains undocumented and we simply have to live with that πŸ™ˆπŸ’œ