1 /* 2 * This file generated automatically from xc_misc.xml by c_client.py. 3 * Edit at your peril. 4 */ 5 6 #ifdef HAVE_CONFIG_H 7 #include "config.h" 8 #endif 9 #include <stdlib.h> 10 #include <string.h> 11 #include <assert.h> 12 #include <stddef.h> /* for offsetof() */ 13 #include "xcbext.h" 14 #include "xc_misc.h" 15 16 #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member) 17 18 xcb_extension_t xcb_xc_misc_id = { "XC-MISC", 0 }; 19 20 21 /***************************************************************************** 22 ** 23 ** xcb_xc_misc_get_version_cookie_t xcb_xc_misc_get_version 24 ** 25 ** @param xcb_connection_t *c 26 ** @param uint16_t client_major_version 27 ** @param uint16_t client_minor_version 28 ** @returns xcb_xc_misc_get_version_cookie_t 29 ** 30 *****************************************************************************/ 31 32 xcb_xc_misc_get_version_cookie_t 33 xcb_xc_misc_get_version (xcb_connection_t *c /**< */, 34 uint16_t client_major_version /**< */, 35 uint16_t client_minor_version /**< */) 36 { 37 static const xcb_protocol_request_t xcb_req = { 38 /* count */ 2, 39 /* ext */ &xcb_xc_misc_id, 40 /* opcode */ XCB_XC_MISC_GET_VERSION, 41 /* isvoid */ 0 42 }; 43 44 struct iovec xcb_parts[4]; 45 xcb_xc_misc_get_version_cookie_t xcb_ret; 46 xcb_xc_misc_get_version_request_t xcb_out; 47 48 xcb_out.client_major_version = client_major_version; 49 xcb_out.client_minor_version = client_minor_version; 50 51 xcb_parts[2].iov_base = (char *) &xcb_out; 52 xcb_parts[2].iov_len = sizeof(xcb_out); 53 xcb_parts[3].iov_base = 0; 54 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 55 56 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 57 return xcb_ret; 58 } 59 60 61 /***************************************************************************** 62 ** 63 ** xcb_xc_misc_get_version_cookie_t xcb_xc_misc_get_version_unchecked 64 ** 65 ** @param xcb_connection_t *c 66 ** @param uint16_t client_major_version 67 ** @param uint16_t client_minor_version 68 ** @returns xcb_xc_misc_get_version_cookie_t 69 ** 70 *****************************************************************************/ 71 72 xcb_xc_misc_get_version_cookie_t 73 xcb_xc_misc_get_version_unchecked (xcb_connection_t *c /**< */, 74 uint16_t client_major_version /**< */, 75 uint16_t client_minor_version /**< */) 76 { 77 static const xcb_protocol_request_t xcb_req = { 78 /* count */ 2, 79 /* ext */ &xcb_xc_misc_id, 80 /* opcode */ XCB_XC_MISC_GET_VERSION, 81 /* isvoid */ 0 82 }; 83 84 struct iovec xcb_parts[4]; 85 xcb_xc_misc_get_version_cookie_t xcb_ret; 86 xcb_xc_misc_get_version_request_t xcb_out; 87 88 xcb_out.client_major_version = client_major_version; 89 xcb_out.client_minor_version = client_minor_version; 90 91 xcb_parts[2].iov_base = (char *) &xcb_out; 92 xcb_parts[2].iov_len = sizeof(xcb_out); 93 xcb_parts[3].iov_base = 0; 94 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 95 96 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 97 return xcb_ret; 98 } 99 100 101 /***************************************************************************** 102 ** 103 ** xcb_xc_misc_get_version_reply_t * xcb_xc_misc_get_version_reply 104 ** 105 ** @param xcb_connection_t *c 106 ** @param xcb_xc_misc_get_version_cookie_t cookie 107 ** @param xcb_generic_error_t **e 108 ** @returns xcb_xc_misc_get_version_reply_t * 109 ** 110 *****************************************************************************/ 111 112 xcb_xc_misc_get_version_reply_t * 113 xcb_xc_misc_get_version_reply (xcb_connection_t *c /**< */, 114 xcb_xc_misc_get_version_cookie_t cookie /**< */, 115 xcb_generic_error_t **e /**< */) 116 { 117 return (xcb_xc_misc_get_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 118 } 119 120 121 /***************************************************************************** 122 ** 123 ** xcb_xc_misc_get_xid_range_cookie_t xcb_xc_misc_get_xid_range 124 ** 125 ** @param xcb_connection_t *c 126 ** @returns xcb_xc_misc_get_xid_range_cookie_t 127 ** 128 *****************************************************************************/ 129 130 xcb_xc_misc_get_xid_range_cookie_t 131 xcb_xc_misc_get_xid_range (xcb_connection_t *c /**< */) 132 { 133 static const xcb_protocol_request_t xcb_req = { 134 /* count */ 2, 135 /* ext */ &xcb_xc_misc_id, 136 /* opcode */ XCB_XC_MISC_GET_XID_RANGE, 137 /* isvoid */ 0 138 }; 139 140 struct iovec xcb_parts[4]; 141 xcb_xc_misc_get_xid_range_cookie_t xcb_ret; 142 xcb_xc_misc_get_xid_range_request_t xcb_out; 143 144 145 xcb_parts[2].iov_base = (char *) &xcb_out; 146 xcb_parts[2].iov_len = sizeof(xcb_out); 147 xcb_parts[3].iov_base = 0; 148 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 149 150 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 151 return xcb_ret; 152 } 153 154 155 /***************************************************************************** 156 ** 157 ** xcb_xc_misc_get_xid_range_cookie_t xcb_xc_misc_get_xid_range_unchecked 158 ** 159 ** @param xcb_connection_t *c 160 ** @returns xcb_xc_misc_get_xid_range_cookie_t 161 ** 162 *****************************************************************************/ 163 164 xcb_xc_misc_get_xid_range_cookie_t 165 xcb_xc_misc_get_xid_range_unchecked (xcb_connection_t *c /**< */) 166 { 167 static const xcb_protocol_request_t xcb_req = { 168 /* count */ 2, 169 /* ext */ &xcb_xc_misc_id, 170 /* opcode */ XCB_XC_MISC_GET_XID_RANGE, 171 /* isvoid */ 0 172 }; 173 174 struct iovec xcb_parts[4]; 175 xcb_xc_misc_get_xid_range_cookie_t xcb_ret; 176 xcb_xc_misc_get_xid_range_request_t xcb_out; 177 178 179 xcb_parts[2].iov_base = (char *) &xcb_out; 180 xcb_parts[2].iov_len = sizeof(xcb_out); 181 xcb_parts[3].iov_base = 0; 182 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 183 184 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 185 return xcb_ret; 186 } 187 188 189 /***************************************************************************** 190 ** 191 ** xcb_xc_misc_get_xid_range_reply_t * xcb_xc_misc_get_xid_range_reply 192 ** 193 ** @param xcb_connection_t *c 194 ** @param xcb_xc_misc_get_xid_range_cookie_t cookie 195 ** @param xcb_generic_error_t **e 196 ** @returns xcb_xc_misc_get_xid_range_reply_t * 197 ** 198 *****************************************************************************/ 199 200 xcb_xc_misc_get_xid_range_reply_t * 201 xcb_xc_misc_get_xid_range_reply (xcb_connection_t *c /**< */, 202 xcb_xc_misc_get_xid_range_cookie_t cookie /**< */, 203 xcb_generic_error_t **e /**< */) 204 { 205 return (xcb_xc_misc_get_xid_range_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 206 } 207 208 int 209 xcb_xc_misc_get_xid_list_sizeof (const void *_buffer /**< */) 210 { 211 char *xcb_tmp = (char *)_buffer; 212 const xcb_xc_misc_get_xid_list_reply_t *_aux = (xcb_xc_misc_get_xid_list_reply_t *)_buffer; 213 unsigned int xcb_buffer_len = 0; 214 unsigned int xcb_block_len = 0; 215 unsigned int xcb_pad = 0; 216 unsigned int xcb_align_to; 217 218 219 xcb_block_len += sizeof(xcb_xc_misc_get_xid_list_reply_t); 220 xcb_tmp += xcb_block_len; 221 /* ids */ 222 xcb_block_len += _aux->ids_len * sizeof(uint32_t); 223 xcb_tmp += xcb_block_len; 224 xcb_align_to = ALIGNOF(uint32_t); 225 /* insert padding */ 226 xcb_pad = -xcb_block_len & (xcb_align_to - 1); 227 xcb_buffer_len += xcb_block_len + xcb_pad; 228 if (0 != xcb_pad) { 229 xcb_tmp += xcb_pad; 230 xcb_pad = 0; 231 } 232 xcb_block_len = 0; 233 234 return xcb_buffer_len; 235 } 236 237 238 /***************************************************************************** 239 ** 240 ** xcb_xc_misc_get_xid_list_cookie_t xcb_xc_misc_get_xid_list 241 ** 242 ** @param xcb_connection_t *c 243 ** @param uint32_t count 244 ** @returns xcb_xc_misc_get_xid_list_cookie_t 245 ** 246 *****************************************************************************/ 247 248 xcb_xc_misc_get_xid_list_cookie_t 249 xcb_xc_misc_get_xid_list (xcb_connection_t *c /**< */, 250 uint32_t count /**< */) 251 { 252 static const xcb_protocol_request_t xcb_req = { 253 /* count */ 2, 254 /* ext */ &xcb_xc_misc_id, 255 /* opcode */ XCB_XC_MISC_GET_XID_LIST, 256 /* isvoid */ 0 257 }; 258 259 struct iovec xcb_parts[4]; 260 xcb_xc_misc_get_xid_list_cookie_t xcb_ret; 261 xcb_xc_misc_get_xid_list_request_t xcb_out; 262 263 xcb_out.count = count; 264 265 xcb_parts[2].iov_base = (char *) &xcb_out; 266 xcb_parts[2].iov_len = sizeof(xcb_out); 267 xcb_parts[3].iov_base = 0; 268 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 269 270 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 271 return xcb_ret; 272 } 273 274 275 /***************************************************************************** 276 ** 277 ** xcb_xc_misc_get_xid_list_cookie_t xcb_xc_misc_get_xid_list_unchecked 278 ** 279 ** @param xcb_connection_t *c 280 ** @param uint32_t count 281 ** @returns xcb_xc_misc_get_xid_list_cookie_t 282 ** 283 *****************************************************************************/ 284 285 xcb_xc_misc_get_xid_list_cookie_t 286 xcb_xc_misc_get_xid_list_unchecked (xcb_connection_t *c /**< */, 287 uint32_t count /**< */) 288 { 289 static const xcb_protocol_request_t xcb_req = { 290 /* count */ 2, 291 /* ext */ &xcb_xc_misc_id, 292 /* opcode */ XCB_XC_MISC_GET_XID_LIST, 293 /* isvoid */ 0 294 }; 295 296 struct iovec xcb_parts[4]; 297 xcb_xc_misc_get_xid_list_cookie_t xcb_ret; 298 xcb_xc_misc_get_xid_list_request_t xcb_out; 299 300 xcb_out.count = count; 301 302 xcb_parts[2].iov_base = (char *) &xcb_out; 303 xcb_parts[2].iov_len = sizeof(xcb_out); 304 xcb_parts[3].iov_base = 0; 305 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 306 307 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 308 return xcb_ret; 309 } 310 311 312 /***************************************************************************** 313 ** 314 ** uint32_t * xcb_xc_misc_get_xid_list_ids 315 ** 316 ** @param const xcb_xc_misc_get_xid_list_reply_t *R 317 ** @returns uint32_t * 318 ** 319 *****************************************************************************/ 320 321 uint32_t * 322 xcb_xc_misc_get_xid_list_ids (const xcb_xc_misc_get_xid_list_reply_t *R /**< */) 323 { 324 return (uint32_t *) (R + 1); 325 } 326 327 328 /***************************************************************************** 329 ** 330 ** int xcb_xc_misc_get_xid_list_ids_length 331 ** 332 ** @param const xcb_xc_misc_get_xid_list_reply_t *R 333 ** @returns int 334 ** 335 *****************************************************************************/ 336 337 int 338 xcb_xc_misc_get_xid_list_ids_length (const xcb_xc_misc_get_xid_list_reply_t *R /**< */) 339 { 340 return R->ids_len; 341 } 342 343 344 /***************************************************************************** 345 ** 346 ** xcb_generic_iterator_t xcb_xc_misc_get_xid_list_ids_end 347 ** 348 ** @param const xcb_xc_misc_get_xid_list_reply_t *R 349 ** @returns xcb_generic_iterator_t 350 ** 351 *****************************************************************************/ 352 353 xcb_generic_iterator_t 354 xcb_xc_misc_get_xid_list_ids_end (const xcb_xc_misc_get_xid_list_reply_t *R /**< */) 355 { 356 xcb_generic_iterator_t i; 357 i.data = ((uint32_t *) (R + 1)) + (R->ids_len); 358 i.rem = 0; 359 i.index = (char *) i.data - (char *) R; 360 return i; 361 } 362 363 364 /***************************************************************************** 365 ** 366 ** xcb_xc_misc_get_xid_list_reply_t * xcb_xc_misc_get_xid_list_reply 367 ** 368 ** @param xcb_connection_t *c 369 ** @param xcb_xc_misc_get_xid_list_cookie_t cookie 370 ** @param xcb_generic_error_t **e 371 ** @returns xcb_xc_misc_get_xid_list_reply_t * 372 ** 373 *****************************************************************************/ 374 375 xcb_xc_misc_get_xid_list_reply_t * 376 xcb_xc_misc_get_xid_list_reply (xcb_connection_t *c /**< */, 377 xcb_xc_misc_get_xid_list_cookie_t cookie /**< */, 378 xcb_generic_error_t **e /**< */) 379 { 380 return (xcb_xc_misc_get_xid_list_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 381 } 382 383