xcb_randr_get_provider_info(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

✨ xcb_randr_get_provider_info ✨

okay bestie, buckle UP πŸ’– this is xcb_randr_get_provider_info, a lil request from the xcb_randr crew (that's the XCB Requests manual, part of the X11 library family 🌸). It's giving "tell me everything about this display provider, pls and thank you" energy. Let's get into it 🫢


🌈 SYNOPSIS 🌈

First, the vibe-setter β€” you gotta pull in the header:

#include <xcb/randr.h>

πŸŽ€ Request function

xcb_randr_get_provider_info_cookie_t
xcb_randr_get_provider_info(xcb_connection_t *conn,
xcb_randr_provider_t provider, xcb_timestamp_t config_timestamp);

πŸ¦‹ Reply datastructure

typedef struct xcb_randr_get_provider_info_reply_t {
    uint8_t         response_type;
    uint8_t         status;
    uint16_t        sequence;
    uint32_t        length;
    xcb_timestamp_t timestamp;
    uint32_t        capabilities;
    uint16_t        num_crtcs;
    uint16_t        num_outputs;
    uint16_t        num_associated_providers;
    uint16_t        name_len;
    uint8_t         pad0[8];
} xcb_randr_get_provider_info_reply_t;

πŸ’… Reply function

xcb_randr_get_provider_info_reply_t
*xcb_randr_get_provider_info_reply(xcb_connection_t *conn,
xcb_randr_get_provider_info_cookie_t cookie,
xcb_generic_error_t **e);

✨ Reply accessors

these are the lil helpers that dig the good stuff out of the reply, no cap 🧚

xcb_randr_crtc_t *xcb_randr_get_provider_info_crtcs(const
xcb_randr_get_provider_info_request_t *reply);

int xcb_randr_get_provider_info_crtcs_length(const
xcb_randr_get_provider_info_reply_t *reply);

xcb_generic_iterator_t xcb_randr_get_provider_info_crtcs_end(const
xcb_randr_get_provider_info_reply_t *reply);

xcb_randr_output_t *xcb_randr_get_provider_info_outputs(const
xcb_randr_get_provider_info_request_t *reply);

int xcb_randr_get_provider_info_outputs_length(const
xcb_randr_get_provider_info_reply_t *reply);

xcb_generic_iterator_t xcb_randr_get_provider_info_outputs_end(const
xcb_randr_get_provider_info_reply_t *reply);

xcb_randr_provider_t
*xcb_randr_get_provider_info_associated_providers(const
xcb_randr_get_provider_info_request_t *reply);

int xcb_randr_get_provider_info_associated_providers_length(const
xcb_randr_get_provider_info_reply_t *reply);

xcb_generic_iterator_t
xcb_randr_get_provider_info_associated_providers_end(const
xcb_randr_get_provider_info_reply_t *reply);

uint32_t *xcb_randr_get_provider_info_associated_capability(const
xcb_randr_get_provider_info_request_t *reply);

int xcb_randr_get_provider_info_associated_capability_length(const
xcb_randr_get_provider_info_reply_t *reply);

xcb_generic_iterator_t
xcb_randr_get_provider_info_associated_capability_end(const
xcb_randr_get_provider_info_reply_t *reply);

char *xcb_randr_get_provider_info_name(const
xcb_randr_get_provider_info_request_t *reply);

int xcb_randr_get_provider_info_name_length(const
xcb_randr_get_provider_info_reply_t *reply);

xcb_generic_iterator_t xcb_randr_get_provider_info_name_end(const
xcb_randr_get_provider_info_reply_t *reply);

πŸ’œ REQUEST ARGUMENTS πŸ’œ

  • conn β€” your XCB connection to X11, the lil lifeline to the server πŸ’«
  • provider β€” TODO: NOT YET DOCUMENTED. πŸ™ˆ yeah girl, they really left us on read with this one
  • config_timestamp β€” TODO: NOT YET DOCUMENTED. πŸ’€ same, no notes, the docs just ghosted us here

πŸ”₯ REPLY FIELDS πŸ”₯

  • response_type β€” the type of this reply, and in this case it's XCB_RANDR_GET_PROVIDER_INFO. this field is also chillin' in the xcb_generic_reply_t, and you can use it to tell replies apart from each other πŸ‘‘
  • sequence β€” the sequence number of the last request the X11 server processed, iconic bookkeeping behavior
  • length β€” the length of the reply, in words (and a word here is 4 bytes, periodt)
  • status β€” TODO: NOT YET DOCUMENTED. 🌸
  • timestamp β€” TODO: NOT YET DOCUMENTED. ⭐
  • capabilities β€” TODO: NOT YET DOCUMENTED. πŸ’…
  • num_crtcs β€” TODO: NOT YET DOCUMENTED. πŸ¦‹
  • num_outputs β€” TODO: NOT YET DOCUMENTED. πŸŽ€
  • num_associated_providers β€” TODO: NOT YET DOCUMENTED. πŸ’–
  • name_len β€” TODO: NOT YET DOCUMENTED. πŸ“

🌟 DESCRIPTION 🌟

(yeah bestie, this section is literally empty in the original β€” we're not making stuff up, we're just vibing with the silence 🫢✨)


🌈 RETURN VALUE 🌈

You get back an xcb_randr_get_provider_info_cookie_t πŸͺ β€” cute, right? But heads up: errors have to be handled when you call the reply function xcb_randr_get_provider_info_reply.

If you'd rather handle errors in the event loop instead, use xcb_randr_get_provider_info_unchecked. See xcb-requests(3) for the deets πŸ‘‘


πŸ’€ ERRORS πŸ’€

This request does never generate any errors. Not a single one. Zero. Clean slate. Iconic behavior honestly πŸ™ˆβœ¨


πŸ‘€ SEE ALSO πŸ‘€

(nothing listed here in the original β€” an empty section, but we respect it and we leave it be πŸ’œ)


🫢 AUTHOR 🫢

Generated from randr.xml. Contact xcb@lists.freedesktop.org for corrections and improvements πŸ’Œ


ok that's the whole page bestie, you ate πŸ’… go forth and query those providers 🌸

X Version 11 Β· libxcb 1.17.0 Β· xcb_randr_get_provider_info(3) β€” mwah, love u, bye πŸ’–πŸŒˆβœ¨