Edit

IABSD.fr/xenocara/lib/libxcb/src/res.h

Branch :

  • Show log

    Commit

  • Author : matthieu
    Date : 2016-09-02 10:09:43
    Hash : 778b53e3
    Message : Update to xcb-proto/libxcb 1.12. "Just commit it" naddy@

  • lib/libxcb/src/res.h
  • /*
     * This file generated automatically from res.xml by c_client.py.
     * Edit at your peril.
     */
    
    /**
     * @defgroup XCB_Res_API XCB Res API
     * @brief Res XCB Protocol Implementation.
     * @{
     **/
    
    #ifndef __RES_H
    #define __RES_H
    
    #include "xcb.h"
    #include "xproto.h"
    
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    #define XCB_RES_MAJOR_VERSION 1
    #define XCB_RES_MINOR_VERSION 2
    
    extern xcb_extension_t xcb_res_id;
    
    /**
     * @brief xcb_res_client_t
     **/
    typedef struct xcb_res_client_t {
        uint32_t resource_base;
        uint32_t resource_mask;
    } xcb_res_client_t;
    
    /**
     * @brief xcb_res_client_iterator_t
     **/
    typedef struct xcb_res_client_iterator_t {
        xcb_res_client_t *data;
        int               rem;
        int               index;
    } xcb_res_client_iterator_t;
    
    /**
     * @brief xcb_res_type_t
     **/
    typedef struct xcb_res_type_t {
        xcb_atom_t resource_type;
        uint32_t   count;
    } xcb_res_type_t;
    
    /**
     * @brief xcb_res_type_iterator_t
     **/
    typedef struct xcb_res_type_iterator_t {
        xcb_res_type_t *data;
        int             rem;
        int             index;
    } xcb_res_type_iterator_t;
    
    typedef enum xcb_res_client_id_mask_t {
        XCB_RES_CLIENT_ID_MASK_CLIENT_XID = 1,
        XCB_RES_CLIENT_ID_MASK_LOCAL_CLIENT_PID = 2
    } xcb_res_client_id_mask_t;
    
    /**
     * @brief xcb_res_client_id_spec_t
     **/
    typedef struct xcb_res_client_id_spec_t {
        uint32_t client;
        uint32_t mask;
    } xcb_res_client_id_spec_t;
    
    /**
     * @brief xcb_res_client_id_spec_iterator_t
     **/
    typedef struct xcb_res_client_id_spec_iterator_t {
        xcb_res_client_id_spec_t *data;
        int                       rem;
        int                       index;
    } xcb_res_client_id_spec_iterator_t;
    
    /**
     * @brief xcb_res_client_id_value_t
     **/
    typedef struct xcb_res_client_id_value_t {
        xcb_res_client_id_spec_t spec;
        uint32_t                 length;
    } xcb_res_client_id_value_t;
    
    /**
     * @brief xcb_res_client_id_value_iterator_t
     **/
    typedef struct xcb_res_client_id_value_iterator_t {
        xcb_res_client_id_value_t *data;
        int                        rem;
        int                        index;
    } xcb_res_client_id_value_iterator_t;
    
    /**
     * @brief xcb_res_resource_id_spec_t
     **/
    typedef struct xcb_res_resource_id_spec_t {
        uint32_t resource;
        uint32_t type;
    } xcb_res_resource_id_spec_t;
    
    /**
     * @brief xcb_res_resource_id_spec_iterator_t
     **/
    typedef struct xcb_res_resource_id_spec_iterator_t {
        xcb_res_resource_id_spec_t *data;
        int                         rem;
        int                         index;
    } xcb_res_resource_id_spec_iterator_t;
    
    /**
     * @brief xcb_res_resource_size_spec_t
     **/
    typedef struct xcb_res_resource_size_spec_t {
        xcb_res_resource_id_spec_t spec;
        uint32_t                   bytes;
        uint32_t                   ref_count;
        uint32_t                   use_count;
    } xcb_res_resource_size_spec_t;
    
    /**
     * @brief xcb_res_resource_size_spec_iterator_t
     **/
    typedef struct xcb_res_resource_size_spec_iterator_t {
        xcb_res_resource_size_spec_t *data;
        int                           rem;
        int                           index;
    } xcb_res_resource_size_spec_iterator_t;
    
    /**
     * @brief xcb_res_resource_size_value_t
     **/
    typedef struct xcb_res_resource_size_value_t {
        xcb_res_resource_size_spec_t size;
        uint32_t                     num_cross_references;
    } xcb_res_resource_size_value_t;
    
    /**
     * @brief xcb_res_resource_size_value_iterator_t
     **/
    typedef struct xcb_res_resource_size_value_iterator_t {
        xcb_res_resource_size_value_t *data;
        int                            rem;
        int                            index;
    } xcb_res_resource_size_value_iterator_t;
    
    /**
     * @brief xcb_res_query_version_cookie_t
     **/
    typedef struct xcb_res_query_version_cookie_t {
        unsigned int sequence;
    } xcb_res_query_version_cookie_t;
    
    /** Opcode for xcb_res_query_version. */
    #define XCB_RES_QUERY_VERSION 0
    
    /**
     * @brief xcb_res_query_version_request_t
     **/
    typedef struct xcb_res_query_version_request_t {
        uint8_t  major_opcode;
        uint8_t  minor_opcode;
        uint16_t length;
        uint8_t  client_major;
        uint8_t  client_minor;
    } xcb_res_query_version_request_t;
    
    /**
     * @brief xcb_res_query_version_reply_t
     **/
    typedef struct xcb_res_query_version_reply_t {
        uint8_t  response_type;
        uint8_t  pad0;
        uint16_t sequence;
        uint32_t length;
        uint16_t server_major;
        uint16_t server_minor;
    } xcb_res_query_version_reply_t;
    
    /**
     * @brief xcb_res_query_clients_cookie_t
     **/
    typedef struct xcb_res_query_clients_cookie_t {
        unsigned int sequence;
    } xcb_res_query_clients_cookie_t;
    
    /** Opcode for xcb_res_query_clients. */
    #define XCB_RES_QUERY_CLIENTS 1
    
    /**
     * @brief xcb_res_query_clients_request_t
     **/
    typedef struct xcb_res_query_clients_request_t {
        uint8_t  major_opcode;
        uint8_t  minor_opcode;
        uint16_t length;
    } xcb_res_query_clients_request_t;
    
    /**
     * @brief xcb_res_query_clients_reply_t
     **/
    typedef struct xcb_res_query_clients_reply_t {
        uint8_t  response_type;
        uint8_t  pad0;
        uint16_t sequence;
        uint32_t length;
        uint32_t num_clients;
        uint8_t  pad1[20];
    } xcb_res_query_clients_reply_t;
    
    /**
     * @brief xcb_res_query_client_resources_cookie_t
     **/
    typedef struct xcb_res_query_client_resources_cookie_t {
        unsigned int sequence;
    } xcb_res_query_client_resources_cookie_t;
    
    /** Opcode for xcb_res_query_client_resources. */
    #define XCB_RES_QUERY_CLIENT_RESOURCES 2
    
    /**
     * @brief xcb_res_query_client_resources_request_t
     **/
    typedef struct xcb_res_query_client_resources_request_t {
        uint8_t  major_opcode;
        uint8_t  minor_opcode;
        uint16_t length;
        uint32_t xid;
    } xcb_res_query_client_resources_request_t;
    
    /**
     * @brief xcb_res_query_client_resources_reply_t
     **/
    typedef struct xcb_res_query_client_resources_reply_t {
        uint8_t  response_type;
        uint8_t  pad0;
        uint16_t sequence;
        uint32_t length;
        uint32_t num_types;
        uint8_t  pad1[20];
    } xcb_res_query_client_resources_reply_t;
    
    /**
     * @brief xcb_res_query_client_pixmap_bytes_cookie_t
     **/
    typedef struct xcb_res_query_client_pixmap_bytes_cookie_t {
        unsigned int sequence;
    } xcb_res_query_client_pixmap_bytes_cookie_t;
    
    /** Opcode for xcb_res_query_client_pixmap_bytes. */
    #define XCB_RES_QUERY_CLIENT_PIXMAP_BYTES 3
    
    /**
     * @brief xcb_res_query_client_pixmap_bytes_request_t
     **/
    typedef struct xcb_res_query_client_pixmap_bytes_request_t {
        uint8_t  major_opcode;
        uint8_t  minor_opcode;
        uint16_t length;
        uint32_t xid;
    } xcb_res_query_client_pixmap_bytes_request_t;
    
    /**
     * @brief xcb_res_query_client_pixmap_bytes_reply_t
     **/
    typedef struct xcb_res_query_client_pixmap_bytes_reply_t {
        uint8_t  response_type;
        uint8_t  pad0;
        uint16_t sequence;
        uint32_t length;
        uint32_t bytes;
        uint32_t bytes_overflow;
    } xcb_res_query_client_pixmap_bytes_reply_t;
    
    /**
     * @brief xcb_res_query_client_ids_cookie_t
     **/
    typedef struct xcb_res_query_client_ids_cookie_t {
        unsigned int sequence;
    } xcb_res_query_client_ids_cookie_t;
    
    /** Opcode for xcb_res_query_client_ids. */
    #define XCB_RES_QUERY_CLIENT_IDS 4
    
    /**
     * @brief xcb_res_query_client_ids_request_t
     **/
    typedef struct xcb_res_query_client_ids_request_t {
        uint8_t  major_opcode;
        uint8_t  minor_opcode;
        uint16_t length;
        uint32_t num_specs;
    } xcb_res_query_client_ids_request_t;
    
    /**
     * @brief xcb_res_query_client_ids_reply_t
     **/
    typedef struct xcb_res_query_client_ids_reply_t {
        uint8_t  response_type;
        uint8_t  pad0;
        uint16_t sequence;
        uint32_t length;
        uint32_t num_ids;
        uint8_t  pad1[20];
    } xcb_res_query_client_ids_reply_t;
    
    /**
     * @brief xcb_res_query_resource_bytes_cookie_t
     **/
    typedef struct xcb_res_query_resource_bytes_cookie_t {
        unsigned int sequence;
    } xcb_res_query_resource_bytes_cookie_t;
    
    /** Opcode for xcb_res_query_resource_bytes. */
    #define XCB_RES_QUERY_RESOURCE_BYTES 5
    
    /**
     * @brief xcb_res_query_resource_bytes_request_t
     **/
    typedef struct xcb_res_query_resource_bytes_request_t {
        uint8_t  major_opcode;
        uint8_t  minor_opcode;
        uint16_t length;
        uint32_t client;
        uint32_t num_specs;
    } xcb_res_query_resource_bytes_request_t;
    
    /**
     * @brief xcb_res_query_resource_bytes_reply_t
     **/
    typedef struct xcb_res_query_resource_bytes_reply_t {
        uint8_t  response_type;
        uint8_t  pad0;
        uint16_t sequence;
        uint32_t length;
        uint32_t num_sizes;
        uint8_t  pad1[20];
    } xcb_res_query_resource_bytes_reply_t;
    
    /**
     * Get the next element of the iterator
     * @param i Pointer to a xcb_res_client_iterator_t
     *
     * Get the next element in the iterator. The member rem is
     * decreased by one. The member data points to the next
     * element. The member index is increased by sizeof(xcb_res_client_t)
     */
    void
    xcb_res_client_next (xcb_res_client_iterator_t *i);
    
    /**
     * Return the iterator pointing to the last element
     * @param i An xcb_res_client_iterator_t
     * @return  The iterator pointing to the last element
     *
     * Set the current element in the iterator to the last element.
     * The member rem is set to 0. The member data points to the
     * last element.
     */
    xcb_generic_iterator_t
    xcb_res_client_end (xcb_res_client_iterator_t i);
    
    /**
     * Get the next element of the iterator
     * @param i Pointer to a xcb_res_type_iterator_t
     *
     * Get the next element in the iterator. The member rem is
     * decreased by one. The member data points to the next
     * element. The member index is increased by sizeof(xcb_res_type_t)
     */
    void
    xcb_res_type_next (xcb_res_type_iterator_t *i);
    
    /**
     * Return the iterator pointing to the last element
     * @param i An xcb_res_type_iterator_t
     * @return  The iterator pointing to the last element
     *
     * Set the current element in the iterator to the last element.
     * The member rem is set to 0. The member data points to the
     * last element.
     */
    xcb_generic_iterator_t
    xcb_res_type_end (xcb_res_type_iterator_t i);
    
    /**
     * Get the next element of the iterator
     * @param i Pointer to a xcb_res_client_id_spec_iterator_t
     *
     * Get the next element in the iterator. The member rem is
     * decreased by one. The member data points to the next
     * element. The member index is increased by sizeof(xcb_res_client_id_spec_t)
     */
    void
    xcb_res_client_id_spec_next (xcb_res_client_id_spec_iterator_t *i);
    
    /**
     * Return the iterator pointing to the last element
     * @param i An xcb_res_client_id_spec_iterator_t
     * @return  The iterator pointing to the last element
     *
     * Set the current element in the iterator to the last element.
     * The member rem is set to 0. The member data points to the
     * last element.
     */
    xcb_generic_iterator_t
    xcb_res_client_id_spec_end (xcb_res_client_id_spec_iterator_t i);
    
    int
    xcb_res_client_id_value_sizeof (const void  *_buffer);
    
    uint32_t *
    xcb_res_client_id_value_value (const xcb_res_client_id_value_t *R);
    
    int
    xcb_res_client_id_value_value_length (const xcb_res_client_id_value_t *R);
    
    xcb_generic_iterator_t
    xcb_res_client_id_value_value_end (const xcb_res_client_id_value_t *R);
    
    /**
     * Get the next element of the iterator
     * @param i Pointer to a xcb_res_client_id_value_iterator_t
     *
     * Get the next element in the iterator. The member rem is
     * decreased by one. The member data points to the next
     * element. The member index is increased by sizeof(xcb_res_client_id_value_t)
     */
    void
    xcb_res_client_id_value_next (xcb_res_client_id_value_iterator_t *i);
    
    /**
     * Return the iterator pointing to the last element
     * @param i An xcb_res_client_id_value_iterator_t
     * @return  The iterator pointing to the last element
     *
     * Set the current element in the iterator to the last element.
     * The member rem is set to 0. The member data points to the
     * last element.
     */
    xcb_generic_iterator_t
    xcb_res_client_id_value_end (xcb_res_client_id_value_iterator_t i);
    
    /**
     * Get the next element of the iterator
     * @param i Pointer to a xcb_res_resource_id_spec_iterator_t
     *
     * Get the next element in the iterator. The member rem is
     * decreased by one. The member data points to the next
     * element. The member index is increased by sizeof(xcb_res_resource_id_spec_t)
     */
    void
    xcb_res_resource_id_spec_next (xcb_res_resource_id_spec_iterator_t *i);
    
    /**
     * Return the iterator pointing to the last element
     * @param i An xcb_res_resource_id_spec_iterator_t
     * @return  The iterator pointing to the last element
     *
     * Set the current element in the iterator to the last element.
     * The member rem is set to 0. The member data points to the
     * last element.
     */
    xcb_generic_iterator_t
    xcb_res_resource_id_spec_end (xcb_res_resource_id_spec_iterator_t i);
    
    /**
     * Get the next element of the iterator
     * @param i Pointer to a xcb_res_resource_size_spec_iterator_t
     *
     * Get the next element in the iterator. The member rem is
     * decreased by one. The member data points to the next
     * element. The member index is increased by sizeof(xcb_res_resource_size_spec_t)
     */
    void
    xcb_res_resource_size_spec_next (xcb_res_resource_size_spec_iterator_t *i);
    
    /**
     * Return the iterator pointing to the last element
     * @param i An xcb_res_resource_size_spec_iterator_t
     * @return  The iterator pointing to the last element
     *
     * Set the current element in the iterator to the last element.
     * The member rem is set to 0. The member data points to the
     * last element.
     */
    xcb_generic_iterator_t
    xcb_res_resource_size_spec_end (xcb_res_resource_size_spec_iterator_t i);
    
    int
    xcb_res_resource_size_value_sizeof (const void  *_buffer);
    
    xcb_res_resource_size_spec_t *
    xcb_res_resource_size_value_cross_references (const xcb_res_resource_size_value_t *R);
    
    int
    xcb_res_resource_size_value_cross_references_length (const xcb_res_resource_size_value_t *R);
    
    xcb_res_resource_size_spec_iterator_t
    xcb_res_resource_size_value_cross_references_iterator (const xcb_res_resource_size_value_t *R);
    
    /**
     * Get the next element of the iterator
     * @param i Pointer to a xcb_res_resource_size_value_iterator_t
     *
     * Get the next element in the iterator. The member rem is
     * decreased by one. The member data points to the next
     * element. The member index is increased by sizeof(xcb_res_resource_size_value_t)
     */
    void
    xcb_res_resource_size_value_next (xcb_res_resource_size_value_iterator_t *i);
    
    /**
     * Return the iterator pointing to the last element
     * @param i An xcb_res_resource_size_value_iterator_t
     * @return  The iterator pointing to the last element
     *
     * Set the current element in the iterator to the last element.
     * The member rem is set to 0. The member data points to the
     * last element.
     */
    xcb_generic_iterator_t
    xcb_res_resource_size_value_end (xcb_res_resource_size_value_iterator_t i);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     */
    xcb_res_query_version_cookie_t
    xcb_res_query_version (xcb_connection_t *c,
                           uint8_t           client_major,
                           uint8_t           client_minor);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     * This form can be used only if the request will cause
     * a reply to be generated. Any returned error will be
     * placed in the event queue.
     */
    xcb_res_query_version_cookie_t
    xcb_res_query_version_unchecked (xcb_connection_t *c,
                                     uint8_t           client_major,
                                     uint8_t           client_minor);
    
    /**
     * Return the reply
     * @param c      The connection
     * @param cookie The cookie
     * @param e      The xcb_generic_error_t supplied
     *
     * Returns the reply of the request asked by
     *
     * The parameter @p e supplied to this function must be NULL if
     * xcb_res_query_version_unchecked(). is used.
     * Otherwise, it stores the error if any.
     *
     * The returned value must be freed by the caller using free().
     */
    xcb_res_query_version_reply_t *
    xcb_res_query_version_reply (xcb_connection_t                *c,
                                 xcb_res_query_version_cookie_t   cookie  /**< */,
                                 xcb_generic_error_t            **e);
    
    int
    xcb_res_query_clients_sizeof (const void  *_buffer);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     */
    xcb_res_query_clients_cookie_t
    xcb_res_query_clients (xcb_connection_t *c);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     * This form can be used only if the request will cause
     * a reply to be generated. Any returned error will be
     * placed in the event queue.
     */
    xcb_res_query_clients_cookie_t
    xcb_res_query_clients_unchecked (xcb_connection_t *c);
    
    xcb_res_client_t *
    xcb_res_query_clients_clients (const xcb_res_query_clients_reply_t *R);
    
    int
    xcb_res_query_clients_clients_length (const xcb_res_query_clients_reply_t *R);
    
    xcb_res_client_iterator_t
    xcb_res_query_clients_clients_iterator (const xcb_res_query_clients_reply_t *R);
    
    /**
     * Return the reply
     * @param c      The connection
     * @param cookie The cookie
     * @param e      The xcb_generic_error_t supplied
     *
     * Returns the reply of the request asked by
     *
     * The parameter @p e supplied to this function must be NULL if
     * xcb_res_query_clients_unchecked(). is used.
     * Otherwise, it stores the error if any.
     *
     * The returned value must be freed by the caller using free().
     */
    xcb_res_query_clients_reply_t *
    xcb_res_query_clients_reply (xcb_connection_t                *c,
                                 xcb_res_query_clients_cookie_t   cookie  /**< */,
                                 xcb_generic_error_t            **e);
    
    int
    xcb_res_query_client_resources_sizeof (const void  *_buffer);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     */
    xcb_res_query_client_resources_cookie_t
    xcb_res_query_client_resources (xcb_connection_t *c,
                                    uint32_t          xid);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     * This form can be used only if the request will cause
     * a reply to be generated. Any returned error will be
     * placed in the event queue.
     */
    xcb_res_query_client_resources_cookie_t
    xcb_res_query_client_resources_unchecked (xcb_connection_t *c,
                                              uint32_t          xid);
    
    xcb_res_type_t *
    xcb_res_query_client_resources_types (const xcb_res_query_client_resources_reply_t *R);
    
    int
    xcb_res_query_client_resources_types_length (const xcb_res_query_client_resources_reply_t *R);
    
    xcb_res_type_iterator_t
    xcb_res_query_client_resources_types_iterator (const xcb_res_query_client_resources_reply_t *R);
    
    /**
     * Return the reply
     * @param c      The connection
     * @param cookie The cookie
     * @param e      The xcb_generic_error_t supplied
     *
     * Returns the reply of the request asked by
     *
     * The parameter @p e supplied to this function must be NULL if
     * xcb_res_query_client_resources_unchecked(). is used.
     * Otherwise, it stores the error if any.
     *
     * The returned value must be freed by the caller using free().
     */
    xcb_res_query_client_resources_reply_t *
    xcb_res_query_client_resources_reply (xcb_connection_t                         *c,
                                          xcb_res_query_client_resources_cookie_t   cookie  /**< */,
                                          xcb_generic_error_t                     **e);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     */
    xcb_res_query_client_pixmap_bytes_cookie_t
    xcb_res_query_client_pixmap_bytes (xcb_connection_t *c,
                                       uint32_t          xid);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     * This form can be used only if the request will cause
     * a reply to be generated. Any returned error will be
     * placed in the event queue.
     */
    xcb_res_query_client_pixmap_bytes_cookie_t
    xcb_res_query_client_pixmap_bytes_unchecked (xcb_connection_t *c,
                                                 uint32_t          xid);
    
    /**
     * Return the reply
     * @param c      The connection
     * @param cookie The cookie
     * @param e      The xcb_generic_error_t supplied
     *
     * Returns the reply of the request asked by
     *
     * The parameter @p e supplied to this function must be NULL if
     * xcb_res_query_client_pixmap_bytes_unchecked(). is used.
     * Otherwise, it stores the error if any.
     *
     * The returned value must be freed by the caller using free().
     */
    xcb_res_query_client_pixmap_bytes_reply_t *
    xcb_res_query_client_pixmap_bytes_reply (xcb_connection_t                            *c,
                                             xcb_res_query_client_pixmap_bytes_cookie_t   cookie  /**< */,
                                             xcb_generic_error_t                        **e);
    
    int
    xcb_res_query_client_ids_sizeof (const void  *_buffer);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     */
    xcb_res_query_client_ids_cookie_t
    xcb_res_query_client_ids (xcb_connection_t               *c,
                              uint32_t                        num_specs,
                              const xcb_res_client_id_spec_t *specs);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     * This form can be used only if the request will cause
     * a reply to be generated. Any returned error will be
     * placed in the event queue.
     */
    xcb_res_query_client_ids_cookie_t
    xcb_res_query_client_ids_unchecked (xcb_connection_t               *c,
                                        uint32_t                        num_specs,
                                        const xcb_res_client_id_spec_t *specs);
    
    int
    xcb_res_query_client_ids_ids_length (const xcb_res_query_client_ids_reply_t *R);
    
    xcb_res_client_id_value_iterator_t
    xcb_res_query_client_ids_ids_iterator (const xcb_res_query_client_ids_reply_t *R);
    
    /**
     * Return the reply
     * @param c      The connection
     * @param cookie The cookie
     * @param e      The xcb_generic_error_t supplied
     *
     * Returns the reply of the request asked by
     *
     * The parameter @p e supplied to this function must be NULL if
     * xcb_res_query_client_ids_unchecked(). is used.
     * Otherwise, it stores the error if any.
     *
     * The returned value must be freed by the caller using free().
     */
    xcb_res_query_client_ids_reply_t *
    xcb_res_query_client_ids_reply (xcb_connection_t                   *c,
                                    xcb_res_query_client_ids_cookie_t   cookie  /**< */,
                                    xcb_generic_error_t               **e);
    
    int
    xcb_res_query_resource_bytes_sizeof (const void  *_buffer);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     */
    xcb_res_query_resource_bytes_cookie_t
    xcb_res_query_resource_bytes (xcb_connection_t                 *c,
                                  uint32_t                          client,
                                  uint32_t                          num_specs,
                                  const xcb_res_resource_id_spec_t *specs);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     * This form can be used only if the request will cause
     * a reply to be generated. Any returned error will be
     * placed in the event queue.
     */
    xcb_res_query_resource_bytes_cookie_t
    xcb_res_query_resource_bytes_unchecked (xcb_connection_t                 *c,
                                            uint32_t                          client,
                                            uint32_t                          num_specs,
                                            const xcb_res_resource_id_spec_t *specs);
    
    int
    xcb_res_query_resource_bytes_sizes_length (const xcb_res_query_resource_bytes_reply_t *R);
    
    xcb_res_resource_size_value_iterator_t
    xcb_res_query_resource_bytes_sizes_iterator (const xcb_res_query_resource_bytes_reply_t *R);
    
    /**
     * Return the reply
     * @param c      The connection
     * @param cookie The cookie
     * @param e      The xcb_generic_error_t supplied
     *
     * Returns the reply of the request asked by
     *
     * The parameter @p e supplied to this function must be NULL if
     * xcb_res_query_resource_bytes_unchecked(). is used.
     * Otherwise, it stores the error if any.
     *
     * The returned value must be freed by the caller using free().
     */
    xcb_res_query_resource_bytes_reply_t *
    xcb_res_query_resource_bytes_reply (xcb_connection_t                       *c,
                                        xcb_res_query_resource_bytes_cookie_t   cookie  /**< */,
                                        xcb_generic_error_t                   **e);
    
    
    #ifdef __cplusplus
    }
    #endif
    
    #endif
    
    /**
     * @}
     */