xcb_big_requests_enable(3)

πŸ“¦
version 1.17.0 Β· 5 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_big_requests_enable β€” XCB Requests, bestie

okay so real talk: this is the xcb_big_requests_enable page from the XCB Requests manual, and it's honestly short but iconic. it's giving "one job, done flawlessly." let's get into it πŸŽ€


✨ NAME ✨

xcb_big_requests_enable β€” Enable the BIG-REQUESTS extension πŸ”₯


🌸 SYNOPSIS 🌸

first things first, you gotta pull in the header:

#include <xcb/bigreq.h>

πŸ’œ Request function

xcb_big_requests_enable_cookie_t
       xcb_big_requests_enable(xcb_connection_t *conn,

πŸ’œ Reply datastructure

typedef struct xcb_big_requests_enable_reply_t {
    uint8_t  response_type;
    uint8_t  pad0;
    uint16_t sequence;
    uint32_t length;
    uint32_t maximum_request_length;
} xcb_big_requests_enable_reply_t;

πŸ’œ Reply function

xcb_big_requests_enable_reply_t
       *xcb_big_requests_enable_reply(xcb_connection_t *conn,
       xcb_big_requests_enable_cookie_t cookie,
       xcb_generic_error_t **e);

πŸ¦‹ REQUEST ARGUMENTS πŸ¦‹

  • conn β€” your XCB connection to X11. the whole vibe, the link, the situationship with the server πŸ’«

⭐ REPLY FIELDS ⭐

  • response_type β€” the type of this reply, which in this case is XCB_BIG_REQUESTS_ENABLE. this field is also chillin' in the xcb_generic_reply_t, and it's literally how you tell replies apart from each other. name-tag energy 🏷️
  • sequence β€” the sequence number of the last request processed by the X11 server. lowkey a little receipt of progress 🧾
  • length β€” the length of the reply, in words (and a word is 4 bytes, no cap) πŸ“
  • maximum_request_length β€” the maximum length of requests supported by the server, in 4-byte units. that's the ceiling, bestie πŸ”οΈ

πŸ’– DESCRIPTION πŸ’–

so what does this actually DO? it enables the BIG-REQUESTS extension, which β€” as the name screams β€” allows for requests larger than 262140 bytes in length. big girl requests only πŸ’…

when it's enabled, if that 16-bit length field is zero, it is immediately followed by a 32-bit length field specifying the length of the request in 4-byte units. so it's like, "the normal length slot said zero, that's your cue, look at the NEXT number instead." the way that works is so clever honestly 😭


🫢 RETURN VALUE 🫢

it returns an xcb_big_requests_enable_cookie_t. and here's the thing β€” errors have to be handled when you call the reply function xcb_big_requests_enable_reply. you don't get them handed to you upfront, you go pick them up πŸ“¬

if you'd rather handle errors in the event loop instead, use xcb_big_requests_enable_unchecked. see xcb-requests(3) for the details, iykyk ✨


πŸŽ€ ERRORS πŸŽ€

this request does never generate any errors. not a single one. flawless behaviour, we love to see it πŸ‘‘

🌈 SEE ALSO 🌈


πŸ‘‘ AUTHOR πŸ‘‘

generated from bigreq.xml. contact xcb@lists.freedesktop.org for corrections and improvements β€” they're genuinely nice about it, go say hi πŸ’Œ


and that's the whole page, bestie!! mwah πŸ’‹ this was X Version 11, libxcb 1.17.0, page xcb_big_requests_enable(3) β€” tysm for reading, you ate, periodt πŸ¦‹βœ¨