xcb_xf86dri_get_device_info(3)
π xcb_xf86dri_get_device_info π
okay bestie, buckle up, we're reading a manual page from libxcb and it's giving "the lore is thin but the struct is THICC". this one lives in the XCB Requests family, it's the xcb_xf86dri_get_device_info situation, and yes, the DRI in the name is that DRI. direct rendering, iconic behavior, no notes. π
β¨ NAME β¨
xcb_xf86dri_get_device_info β and that's it. that's the whole name section. the original literally just has a dangling dash and nothing after it, and honestly? mysterious main character energy. we don't know what it's called, we just know it's called. π¦
πΈ SYNOPSIS πΈ
first up, the include, don't forget it or nothing compiles and you'll be sad:
#include <xcb/xf86dri.h>
π«Ά Request function
xcb_xf86dri_get_device_info_cookie_t
xcb_xf86dri_get_device_info(xcb_connection_t *conn,
uint32_t screen);
she returns a cookie, because XCB is obsessed with the cookie-first pattern. you fire the request, you get a cookie, you redeem it later with the reply function. it's giving "order at the counter, pick up at the counter". π
π Reply datastructure
here's the struct, and yes she is a whole meal:
typedef struct xcb_xf86dri_get_device_info_reply_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
uint32_t length;
uint32_t framebuffer_handle_low;
uint32_t framebuffer_handle_high;
uint32_t framebuffer_origin_offset;
uint32_t framebuffer_size;
uint32_t framebuffer_stride;
uint32_t device_private_size;
} xcb_xf86dri_get_device_info_reply_t;
look at her. framebuffer everything. it's the framebuffer info girlie and she ate. π
π₯ Reply function
xcb_xf86dri_get_device_info_reply_t
*xcb_xf86dri_get_device_info_reply(xcb_connection_t *conn,
xcb_xf86dri_get_device_info_cookie_t cookie,
xcb_generic_error_t **e);
hand her the conn and the cookie from earlier, and she hands you back the reply struct (or fills in *e if something went sideways, more on that below).
π Reply accessors
the little helper squad that digs into the reply for you:
uint32_t *xcb_xf86dri_get_device_info_device_private(const
xcb_xf86dri_get_device_info_request_t *reply);
int xcb_xf86dri_get_device_info_device_private_length(const
xcb_xf86dri_get_device_info_reply_t *reply);
xcb_generic_iterator_t
xcb_xf86dri_get_device_info_device_private_end(const
xcb_xf86dri_get_device_info_reply_t *reply);
π yes, the first accessor really does take anxcb_xf86dri_get_device_info_request_t *while the other two take anxcb_xf86dri_get_device_info_reply_t *. that's exactly what the original says, so we are not touching it. we simply observe and move on. iykyk.
β REQUEST ARGUMENTS β
connβ the XCB connection to X11. your lil hotline to the server, she's the whole vibe. πscreenβTODO: NOT YET DOCUMENTED.no cap, that's what it says. the docs simply did not show up to the group chat for this one. π
π« REPLY FIELDS π«
response_typeβ the type of this reply, in this caseXCB_XF86DRI_GET_DEVICE_INFO. this field is also present in thexcb_generic_reply_tand can be used to tell replies apart from each other. it's the name tag at the party. π·οΈsequenceβ the sequence number of the last request processed by the X11 server. tracking number behavior, fr fr.lengthβ the length of the reply, in words (a word is 4 bytes). keep that conversion in mind, bestie.framebuffer_handle_lowβTODO: NOT YET DOCUMENTED.πframebuffer_handle_highβTODO: NOT YET DOCUMENTED.πframebuffer_origin_offsetβTODO: NOT YET DOCUMENTED.πframebuffer_sizeβTODO: NOT YET DOCUMENTED.πframebuffer_strideβTODO: NOT YET DOCUMENTED.πdevice_private_sizeβTODO: NOT YET DOCUMENTED.π
so many TODOs. the framebuffer fields are all sitting there with their little "not yet documented" signs on and honestly? relatable. we still list every single one because every single one matters. π«‘
π¦ DESCRIPTION π¦
...and that's it. there is literally nothing here. the DESCRIPTION section is empty in the original. she said "no thoughts, head empty, struct loaded." β¨ we're respecting the silence.
π RETURN VALUE π
Returns an xcb_xf86dri_get_device_info_cookie_t. Errors have to be handled when calling the reply function xcb_xf86dri_get_device_info_reply.
If you want to handle errors in the event loop instead, use xcb_xf86dri_get_device_info_unchecked. See xcb-requests(3) for details.
so: either you check when you redeem the cookie, or you go the _unchecked route and handle it in the event loop like a chill async queen. pick your fighter. π₯
π ERRORS π
This request does never generate any errors.
not one. zero. none. error-free behavior, we love to see it. slay. π
πΈ SEE ALSO πΈ
empty. nothing linked, nothing referenced. she stands alone. iconic solo debut. β
π AUTHOR π
Generated from xf86dri.xml. Contact xcb@lists.freedesktop.org for corrections and improvements.
so if something's wrong, don't come for me, come for the mailing list bestie, that's the whole point of the contact line. π¬
π and that's the page!! this whole thing is from X Version 11,libxcb 1.17.0, and it's thexcb_xf86dri_get_device_info(3)manual. go forth, redeem your cookies, and remember:TODO: NOT YET DOCUMENTEDis a state of mind. byeeeee πβ¨π¦
π¦ where this page comes from
- alpine 3.22: libxcb-doc 1.17.0-r0 Β· MIT
- alpine 3.23: libxcb-doc 1.17.0-r1 Β· MIT
- alpine 3.24: libxcb-doc 1.17.0-r2 Β· MIT
- arch rolling: libxcb 1.17.0-1 Β· X11
- centos-stream 10: libxcb-devel 1.17.0-3.el10 Β· X11
- debian trixie: libxcb-doc 1.17.0-2
- fedora 43: libxcb-devel 1.17.0-6.fc43 Β· X11
- fedora 43: libxcb-devel 1.17.0-6.fc43 Β· X11
- fedora 44: libxcb-devel 1.17.0-7.fc44 Β· X11
- fedora 44: libxcb-devel 1.17.0-7.fc44 Β· X11
- nixpkgs unstable: libxcb 1.17.0
- opensuse-leap 16.0: libxcb-devel-doc 1.17.0-160000.2.2 Β· MIT
- ubuntu questing: libxcb-doc 1.17.0-2build1
- ubuntu resolute: libxcb-doc 1.17.0-2ubuntu1
- ubuntu stonking: libxcb-doc 1.17.0-2ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms