xcb_x_print_p...et_attributes(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

✨ NAME ✨

xcb_x_print_print_get_attributes β€” bestie it's literally just... the name. The og page left it blank after the dash, so we're keeping it mysterious πŸ’… (XCB Requests, that's the manual family we're living in 🫢)


πŸ¦‹ SYNOPSIS πŸ¦‹

okay so first thing, you gotta pull in the header:

#include <xcb/xprint.h>

πŸŽ€ Request function

xcb_x_print_print_get_attributes_cookie_t
       xcb_x_print_print_get_attributes(xcb_connection_t *conn,
       xcb_x_print_pcontext_t context, uint8_t pool);

πŸŽ€ Reply datastructure

the lil glow-up struct that comes back at you:

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

πŸŽ€ Reply function

xcb_x_print_print_get_attributes_reply_t
       *xcb_x_print_print_get_attributes_reply(xcb_connection_t *conn,
       xcb_x_print_print_get_attributes_cookie_t cookie,
       xcb_generic_error_t **e);

πŸŽ€ Reply accessors

these three are the little helpers that get you into the reply, no cap:

xcb_x_print_string8_t *xcb_x_print_print_get_attributes_attributes(const
       xcb_x_print_print_get_attributes_request_t *reply);

int xcb_x_print_print_get_attributes_attributes_length(const
       xcb_x_print_print_get_attributes_reply_t *reply);

xcb_generic_iterator_t
       xcb_x_print_print_get_attributes_attributes_end(const
       xcb_x_print_print_get_attributes_reply_t *reply);

🌸 REQUEST ARGUMENTS 🌸

  • conn β€” your XCB connection to X11. the whole vibe link, the situationship with the server πŸ’œ
  • context β€” TODO: NOT YET DOCUMENTED. yeah bestie, it's giving "the devs said later" 😭
  • pool β€” TODO: NOT YET DOCUMENTED. also a mystery, also iconic for that πŸ™ˆ

πŸ’– REPLY FIELDS πŸ’–

  • response_type β€” the type of this reply, and in this case it's XCB_X_PRINT_PRINT_GET_ATTRIBUTES. this field also lives in the xcb_generic_reply_t, so you can use it to tell your replies apart from each other (they all look the same at a party, fr fr πŸ‘‘)
  • sequence β€” the sequence number of the last request the X11 server processed. receipts, basically 🧾
  • length β€” the length of the reply, measured in words. and yes, a word is 4 bytes, that's just the lore πŸ“
  • stringLen β€” TODO: NOT YET DOCUMENTED. blank. empty. a void. we love her for it πŸ’€

🌈 DESCRIPTION 🌈

...it's empty, bestie. the original literally has nothing here. not me leaving it exactly as blank as I found it 🫢✨


⭐ RETURN VALUE ⭐

You get back an xcb_x_print_print_get_attributes_cookie_t β€” a lil voucher for your future reply πŸͺ

Errors? You have to handle those when you call the reply function xcb_x_print_print_get_attributes_reply. that's the moment of truth, the vibe check πŸ‘€

But if you'd rather handle errors in the event loop instead (main character energy, choosing your own path πŸ’…), use xcb_x_print_print_get_attributes_unchecked. And go read xcb-requests(3) for the deets, it's required reading iykyk.


πŸ”₯ ERRORS πŸ”₯

This request does never generate any errors. periodt. zero. none. clean sheet, flawless record, ate and left no crumbs πŸ‘‘


πŸŽ€ SEE ALSO πŸŽ€

(she's empty in the original too β€” the SEE ALSO section is just... vibing. nothing to see here, literally 🌸)


πŸ’œ AUTHOR πŸ’œ

Generated from xprint.xml. Wanna send corrections or improvements? Contact xcb@lists.freedesktop.org β€” they're the ones who actually made this, I'm just the messenger 🫢


okay that's the whole page!! πŸ’– huge love to X Version 11 and libxcb 1.17.0 for making this lil xprint request exist, mwah 😭✨ bye bestie, go call that reply function πŸ¦‹