XCB_RANDR_GET_PROVIDER_PROPERTY_DATA(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_randr_get_provider_property β€” bestie, this is the XCB request that pulls a property off a RandR provider. That's it, that's the whole name. (Yeah, the title got chopped in the manpage header β€” the full thing is xcb_randr_get_provider_property, and it lives in section 3 of the manual, the library-call zone. πŸŽ€)


✨ SYNOPSIS

Okay so first, you gotta let the compiler know you want in:

#include <xcb/randr.h>

🌸 Request function

xcb_randr_get_provider_property_cookie_t
       xcb_randr_get_provider_property(xcb_connection_t *conn,
       xcb_randr_provider_t provider, xcb_atom_t property,
       xcb_atom_t type, uint32_t long_offset, uint32_t long_length,
       uint8_t _delete, uint8_t pending);

πŸ¦‹ Reply datastructure

typedef struct xcb_randr_get_provider_property_reply_t {
    uint8_t    response_type;
    uint8_t    format;
    uint16_t   sequence;
    uint32_t   length;
    xcb_atom_t type;
    uint32_t   bytes_after;
    uint32_t   num_items;
    uint8_t    pad0[12];
} xcb_randr_get_provider_property_reply_t;

🌈 Reply function

xcb_randr_get_provider_property_reply_t
       *xcb_randr_get_provider_property_reply(xcb_connection_t *conn,
       xcb_randr_get_provider_property_cookie_t cookie,
       xcb_generic_error_t **e);

🧚 Reply accessors

void *xcb_randr_get_provider_property_data(const
       xcb_randr_get_provider_property_request_t *reply);

int xcb_randr_get_provider_property_data_length(const
       xcb_randr_get_provider_property_reply_t *reply);

xcb_generic_iterator_t xcb_randr_get_provider_property_data_end(const
       xcb_randr_get_provider_property_reply_t *reply);

🫢 REQUEST ARGUMENTS

  • conn β€” your XCB connection to X11. The whole vibe conduit, the link to the server, the group chat. πŸ’–
  • provider β€” TODO: NOT YET DOCUMENTED. (Not me exposing the docs like this 😭 the upstream authors left this one blank, bestie. No cap, I'm not gonna make something up.)
  • property β€” TODO: NOT YET DOCUMENTED. (Same situation, we stay honest. πŸ™ˆ)
  • type β€” TODO: NOT YET DOCUMENTED. (Left blank upstream, fr fr.)
  • long_offset β€” TODO: NOT YET DOCUMENTED. (Also blank. Iconic of them tbh.)
  • long_length β€” TODO: NOT YET DOCUMENTED. (Still blank, still not inventing anything. πŸ’€)
  • _delete β€” TODO: NOT YET DOCUMENTED. (Yep, blank. Notice the leading underscore, that's literally part of the name, don't drop it.)
  • pending β€” TODO: NOT YET DOCUMENTED. (Blank. We move.)
Real talk: all those TODOs are straight from the source docs. Nothing is being hidden from you β€” it's just not written yet. πŸŽ€

πŸ‘‘ REPLY FIELDS

  • response_type β€” the type of this reply, which in this case is XCB_RANDR_GET_PROVIDER_PROPERTY. This field is also hanging out in the xcb_generic_reply_t, so you can use it to tell replies apart from each other. Very much the "which one of y'all texted me" field. ✨
  • sequence β€” the sequence number of the last request processed by the X11 server. The receipt number, basically.
  • length β€” the length of the reply, in words. And a word here is 4 bytes, so do the math, babe. 🌸
  • format β€” TODO: NOT YET DOCUMENTED. (Blank upstream. We're not making it up.)
  • type β€” TODO: NOT YET DOCUMENTED. (Also blank. Yeah.)
  • bytes_after β€” TODO: NOT YET DOCUMENTED. (Blank.)
  • num_items β€” TODO: NOT YET DOCUMENTED. (Blank, bestie. That's the whole tea. πŸ¦‹)

πŸ’œ DESCRIPTION

So this section is literally empty in the original. Nothing. A whole heading and zero words underneath it. It's giving "left on read." πŸ’€


πŸ”₯ RETURN VALUE

It hands you back an xcb_randr_get_provider_property_cookie_t. That's the cookie, and no, you don't eat it β€” you trade it in later.

Errors have to be handled when you call the reply function xcb_randr_get_provider_property_reply.

But wait, there's a plot twist: if you'd rather handle errors in the event loop instead, use xcb_randr_get_provider_property_unchecked. And go read xcb-requests(3) for the details, because that page has the full lore. 🌈


🌟 ERRORS

This request does never generate any errors. Zero. None. Clean record, no drama, we love that for it. πŸ’–

πŸŽ€ SEE ALSO

(There's nothing listed here in the original. Just vibes and an empty section. Consider this your moment of silence. πŸ™ˆ)


πŸ’… AUTHOR

Generated from randr.xml. If you want to send corrections or improvements, contact xcb@lists.freedesktop.org. They're the ones holding the pen β€” go tell them about those TODOs, bestie, they'd probably appreciate it. 🫢


Okay that's the whole page!! Now go forth and query those provider properties. This page came to you from X Version 11, libxcb 1.17.0 β€” thanks for reading, mwah, slay, periodt. πŸ’–βœ¨πŸŽ€πŸ¦‹