xcb_xf86dri_get_drawable_info(3)
π xcb_xf86dri_get_drawable_info β bestie, it's a whole XCB request
okay so real talk: this page lives in the XCB Requests section of the manual (yes, that's the manual name, we're being fancy), and it's all about xcb_xf86dri_get_drawable_info(3). it's giving "ask the X server about a drawable's info" energy. come sit with me π«Ά
β¨ NAME β¨
xcb_xf86dri_get_drawable_info β (yeah the official NAME line is just... empty bestie, the original says nothing here, so we're not gonna invent anything. iconic of them honestly. π)
πΈ SYNOPSIS πΈ
#include <xcb/xf86dri.h>
π Request function
xcb_xf86dri_get_drawable_info_cookie_t
xcb_xf86dri_get_drawable_info(xcb_connection_t *conn,
uint32_t screen, uint32_t drawable);
π¦ Reply datastructure
typedef struct xcb_xf86dri_get_drawable_info_reply_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
uint32_t length;
uint32_t drawable_table_index;
uint32_t drawable_table_stamp;
int16_t drawable_origin_X;
int16_t drawable_origin_Y;
int16_t drawable_size_W;
int16_t drawable_size_H;
uint32_t num_clip_rects;
int16_t back_x;
int16_t back_y;
uint32_t num_back_clip_rects;
} xcb_xf86dri_get_drawable_info_reply_t;
π Reply function
xcb_xf86dri_get_drawable_info_reply_t
*xcb_xf86dri_get_drawable_info_reply(xcb_connection_t *conn,
xcb_xf86dri_get_drawable_info_cookie_t cookie,
xcb_generic_error_t **e);
β Reply accessors
xcb_xf86dri_drm_clip_rect_t
*xcb_xf86dri_get_drawable_info_clip_rects(const
xcb_xf86dri_get_drawable_info_request_t *reply);
int xcb_xf86dri_get_drawable_info_clip_rects_length(const
xcb_xf86dri_get_drawable_info_reply_t *reply);
xcb_xf86dri_drm_clip_rect_iterator_t
xcb_xf86dri_get_drawable_info_clip_rects_iterator(const
xcb_xf86dri_get_drawable_info_reply_t *reply);
xcb_xf86dri_drm_clip_rect_t
*xcb_xf86dri_get_drawable_info_back_clip_rects(const
xcb_xf86dri_get_drawable_info_request_t *reply);
int xcb_xf86dri_get_drawable_info_back_clip_rects_length(const
xcb_xf86dri_get_drawable_info_reply_t *reply);
xcb_xf86dri_drm_clip_rect_iterator_t
xcb_xf86dri_get_drawable_info_back_clip_rects_iterator(const
xcb_xf86dri_get_drawable_info_reply_t *reply);
bestie the accessor signatures are verbatim, don't let anyone touch a single character. π
π₯ REQUEST ARGUMENTS π₯
connβ the XCB connection to X11. it's the group chat you're sending the message into. π¨screenβ TODO: NOT YET DOCUMENTED. yeah. the manpage literally says that. we respect the mystery. π΅οΈdrawableβ TODO: NOT YET DOCUMENTED. same vibes. nobody wrote it down yet. π
π REPLY FIELDS π
response_typeβ the type of this reply, and in this case it'sXCB_XF86DRI_GET_DRAWABLE_INFO. this field also lives in thexcb_generic_reply_t, so you can use it to tell your replies apart from each other. it's the little name tag at the party. π·οΈsequenceβ the sequence number of the last request the X11 server actually processed. the receipt, basically. π§Ύlengthβ how long the reply is, in words (and a word is4bytes, no cap).drawable_table_indexβ TODO: NOT YET DOCUMENTED.drawable_table_stampβ TODO: NOT YET DOCUMENTED.drawable_origin_Xβ TODO: NOT YET DOCUMENTED.drawable_origin_Yβ TODO: NOT YET DOCUMENTED.drawable_size_Wβ TODO: NOT YET DOCUMENTED.drawable_size_Hβ TODO: NOT YET DOCUMENTED.num_clip_rectsβ TODO: NOT YET DOCUMENTED.back_xβ TODO: NOT YET DOCUMENTED.back_yβ TODO: NOT YET DOCUMENTED.num_back_clip_rectsβ TODO: NOT YET DOCUMENTED.
π DESCRIPTION π
so, um. the DESCRIPTION section on the original page is... empty. like, genuinely nothing there. the author left us on read. π we are not going to make stuff up, because making up technical facts is not the move β that's how you get cursed. so: description = silence, and we honor the silence. π
π«Ά RETURN VALUE π«Ά
it returns an xcb_xf86dri_get_drawable_info_cookie_t. that's your little claim ticket, bestie β the actual tea comes later. π΅
errors have to be handled when you call the reply function xcb_xf86dri_get_drawable_info_reply.
and if you'd rather handle errors in the event loop instead? use xcb_xf86dri_get_drawable_info_unchecked. see xcb-requests(3) for the details, they explain it way better than me. π
π ERRORS π
this request never generates any errors. zero. none. it's the chillest request at the function. π§ββοΈβ¨
π SEE ALSO π
(the original page has nothing listed under SEE ALSO β so there's nothing to link, and I'm not gonna manifest references out of thin air. it's giving minimalist. π )
π¦ AUTHOR π¦
generated from xf86dri.xml. contact xcb@lists.freedesktop.org for corrections and improvements β they're genuinely lovely about it, fr fr. π«Ά
and that's the whole page, bestie!! πΈ source/version: X Version 11, libxcb 1.17.0, and it's all filed under xcb_xf86dri_get_drawable_info(3). slay, go read the header file, ily, bye!! πβ¨ππ¦
π¦ 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