00001
00002
00003
00004
00005
00012 #ifndef __XC_MISC_H
00013 #define __XC_MISC_H
00014
00015 #include "xcb.h"
00016
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020
00021 #define XCB_XCMISC_MAJOR_VERSION 1
00022 #define XCB_XCMISC_MINOR_VERSION 1
00023
00024 extern xcb_extension_t xcb_xc_misc_id;
00025
00029 typedef struct xcb_xc_misc_get_version_cookie_t {
00030 unsigned int sequence;
00031 } xcb_xc_misc_get_version_cookie_t;
00032
00034 #define XCB_XC_MISC_GET_VERSION 0
00035
00039 typedef struct xcb_xc_misc_get_version_request_t {
00040 uint8_t major_opcode;
00041 uint8_t minor_opcode;
00042 uint16_t length;
00043 uint16_t client_major_version;
00044 uint16_t client_minor_version;
00045 } xcb_xc_misc_get_version_request_t;
00046
00050 typedef struct xcb_xc_misc_get_version_reply_t {
00051 uint8_t response_type;
00052 uint8_t pad0;
00053 uint16_t sequence;
00054 uint32_t length;
00055 uint16_t server_major_version;
00056 uint16_t server_minor_version;
00057 } xcb_xc_misc_get_version_reply_t;
00058
00062 typedef struct xcb_xc_misc_get_xid_range_cookie_t {
00063 unsigned int sequence;
00064 } xcb_xc_misc_get_xid_range_cookie_t;
00065
00067 #define XCB_XC_MISC_GET_XID_RANGE 1
00068
00072 typedef struct xcb_xc_misc_get_xid_range_request_t {
00073 uint8_t major_opcode;
00074 uint8_t minor_opcode;
00075 uint16_t length;
00076 } xcb_xc_misc_get_xid_range_request_t;
00077
00081 typedef struct xcb_xc_misc_get_xid_range_reply_t {
00082 uint8_t response_type;
00083 uint8_t pad0;
00084 uint16_t sequence;
00085 uint32_t length;
00086 uint32_t start_id;
00087 uint32_t count;
00088 } xcb_xc_misc_get_xid_range_reply_t;
00089
00093 typedef struct xcb_xc_misc_get_xid_list_cookie_t {
00094 unsigned int sequence;
00095 } xcb_xc_misc_get_xid_list_cookie_t;
00096
00098 #define XCB_XC_MISC_GET_XID_LIST 2
00099
00103 typedef struct xcb_xc_misc_get_xid_list_request_t {
00104 uint8_t major_opcode;
00105 uint8_t minor_opcode;
00106 uint16_t length;
00107 uint32_t count;
00108 } xcb_xc_misc_get_xid_list_request_t;
00109
00113 typedef struct xcb_xc_misc_get_xid_list_reply_t {
00114 uint8_t response_type;
00115 uint8_t pad0;
00116 uint16_t sequence;
00117 uint32_t length;
00118 uint32_t ids_len;
00119 uint8_t pad1[20];
00120 } xcb_xc_misc_get_xid_list_reply_t;
00121
00130 xcb_xc_misc_get_version_cookie_t
00131 xcb_xc_misc_get_version (xcb_connection_t *c ,
00132 uint16_t client_major_version ,
00133 uint16_t client_minor_version );
00134
00146 xcb_xc_misc_get_version_cookie_t
00147 xcb_xc_misc_get_version_unchecked (xcb_connection_t *c ,
00148 uint16_t client_major_version ,
00149 uint16_t client_minor_version );
00150
00165 xcb_xc_misc_get_version_reply_t *
00166 xcb_xc_misc_get_version_reply (xcb_connection_t *c ,
00167 xcb_xc_misc_get_version_cookie_t cookie ,
00168 xcb_generic_error_t **e );
00169
00178 xcb_xc_misc_get_xid_range_cookie_t
00179 xcb_xc_misc_get_xid_range (xcb_connection_t *c );
00180
00192 xcb_xc_misc_get_xid_range_cookie_t
00193 xcb_xc_misc_get_xid_range_unchecked (xcb_connection_t *c );
00194
00209 xcb_xc_misc_get_xid_range_reply_t *
00210 xcb_xc_misc_get_xid_range_reply (xcb_connection_t *c ,
00211 xcb_xc_misc_get_xid_range_cookie_t cookie ,
00212 xcb_generic_error_t **e );
00213
00214 int
00215 xcb_xc_misc_get_xid_list_sizeof (const void *_buffer );
00216
00225 xcb_xc_misc_get_xid_list_cookie_t
00226 xcb_xc_misc_get_xid_list (xcb_connection_t *c ,
00227 uint32_t count );
00228
00240 xcb_xc_misc_get_xid_list_cookie_t
00241 xcb_xc_misc_get_xid_list_unchecked (xcb_connection_t *c ,
00242 uint32_t count );
00243
00244 uint32_t *
00245 xcb_xc_misc_get_xid_list_ids (const xcb_xc_misc_get_xid_list_reply_t *R );
00246
00247 int
00248 xcb_xc_misc_get_xid_list_ids_length (const xcb_xc_misc_get_xid_list_reply_t *R );
00249
00250 xcb_generic_iterator_t
00251 xcb_xc_misc_get_xid_list_ids_end (const xcb_xc_misc_get_xid_list_reply_t *R );
00252
00267 xcb_xc_misc_get_xid_list_reply_t *
00268 xcb_xc_misc_get_xid_list_reply (xcb_connection_t *c ,
00269 xcb_xc_misc_get_xid_list_cookie_t cookie ,
00270 xcb_generic_error_t **e );
00271
00272
00273 #ifdef __cplusplus
00274 }
00275 #endif
00276
00277 #endif
00278