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 = 0; 217 218 219 xcb_block_len += sizeof(xcb_xc_misc_get_xid_list_reply_t); 220 xcb_tmp += xcb_block_len; 221 xcb_buffer_len += xcb_block_len; 222 xcb_block_len = 0; 223 /* ids */ 224 xcb_block_len += _aux->ids_len * sizeof(uint32_t); 225 xcb_tmp += xcb_block_len; 226 xcb_align_to = ALIGNOF(uint32_t); 227 /* insert padding */ 228 xcb_pad = -xcb_block_len & (xcb_align_to - 1); 229 xcb_buffer_len += xcb_block_len + xcb_pad; 230 if (0 != xcb_pad) { 231 xcb_tmp += xcb_pad; 232 xcb_pad = 0; 233 } 234 xcb_block_len = 0; 235 236 return xcb_buffer_len; 237 } 238 239 240 /***************************************************************************** 241 ** 242 ** xcb_xc_misc_get_xid_list_cookie_t xcb_xc_misc_get_xid_list 243 ** 244 ** @param xcb_connection_t *c 245 ** @param uint32_t count 246 ** @returns xcb_xc_misc_get_xid_list_cookie_t 247 ** 248 *****************************************************************************/ 249 250 xcb_xc_misc_get_xid_list_cookie_t 251 xcb_xc_misc_get_xid_list (xcb_connection_t *c /**< */, 252 uint32_t count /**< */) 253 { 254 static const xcb_protocol_request_t xcb_req = { 255 /* count */ 2, 256 /* ext */ &xcb_xc_misc_id, 257 /* opcode */ XCB_XC_MISC_GET_XID_LIST, 258 /* isvoid */ 0 259 }; 260 261 struct iovec xcb_parts[4]; 262 xcb_xc_misc_get_xid_list_cookie_t xcb_ret; 263 xcb_xc_misc_get_xid_list_request_t xcb_out; 264 265 xcb_out.count = count; 266 267 xcb_parts[2].iov_base = (char *) &xcb_out; 268 xcb_parts[2].iov_len = sizeof(xcb_out); 269 xcb_parts[3].iov_base = 0; 270 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 271 272 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 273 return xcb_ret; 274 } 275 276 277 /***************************************************************************** 278 ** 279 ** xcb_xc_misc_get_xid_list_cookie_t xcb_xc_misc_get_xid_list_unchecked 280 ** 281 ** @param xcb_connection_t *c 282 ** @param uint32_t count 283 ** @returns xcb_xc_misc_get_xid_list_cookie_t 284 ** 285 *****************************************************************************/ 286 287 xcb_xc_misc_get_xid_list_cookie_t 288 xcb_xc_misc_get_xid_list_unchecked (xcb_connection_t *c /**< */, 289 uint32_t count /**< */) 290 { 291 static const xcb_protocol_request_t xcb_req = { 292 /* count */ 2, 293 /* ext */ &xcb_xc_misc_id, 294 /* opcode */ XCB_XC_MISC_GET_XID_LIST, 295 /* isvoid */ 0 296 }; 297 298 struct iovec xcb_parts[4]; 299 xcb_xc_misc_get_xid_list_cookie_t xcb_ret; 300 xcb_xc_misc_get_xid_list_request_t xcb_out; 301 302 xcb_out.count = count; 303 304 xcb_parts[2].iov_base = (char *) &xcb_out; 305 xcb_parts[2].iov_len = sizeof(xcb_out); 306 xcb_parts[3].iov_base = 0; 307 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 308 309 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 310 return xcb_ret; 311 } 312 313 314 /***************************************************************************** 315 ** 316 ** uint32_t * xcb_xc_misc_get_xid_list_ids 317 ** 318 ** @param const xcb_xc_misc_get_xid_list_reply_t *R 319 ** @returns uint32_t * 320 ** 321 *****************************************************************************/ 322 323 uint32_t * 324 xcb_xc_misc_get_xid_list_ids (const xcb_xc_misc_get_xid_list_reply_t *R /**< */) 325 { 326 return (uint32_t *) (R + 1); 327 } 328 329 330 /***************************************************************************** 331 ** 332 ** int xcb_xc_misc_get_xid_list_ids_length 333 ** 334 ** @param const xcb_xc_misc_get_xid_list_reply_t *R 335 ** @returns int 336 ** 337 *****************************************************************************/ 338 339 int 340 xcb_xc_misc_get_xid_list_ids_length (const xcb_xc_misc_get_xid_list_reply_t *R /**< */) 341 { 342 return R->ids_len; 343 } 344 345 346 /***************************************************************************** 347 ** 348 ** xcb_generic_iterator_t xcb_xc_misc_get_xid_list_ids_end 349 ** 350 ** @param const xcb_xc_misc_get_xid_list_reply_t *R 351 ** @returns xcb_generic_iterator_t 352 ** 353 *****************************************************************************/ 354 355 xcb_generic_iterator_t 356 xcb_xc_misc_get_xid_list_ids_end (const xcb_xc_misc_get_xid_list_reply_t *R /**< */) 357 { 358 xcb_generic_iterator_t i; 359 i.data = ((uint32_t *) (R + 1)) + (R->ids_len); 360 i.rem = 0; 361 i.index = (char *) i.data - (char *) R; 362 return i; 363 } 364 365 366 /***************************************************************************** 367 ** 368 ** xcb_xc_misc_get_xid_list_reply_t * xcb_xc_misc_get_xid_list_reply 369 ** 370 ** @param xcb_connection_t *c 371 ** @param xcb_xc_misc_get_xid_list_cookie_t cookie 372 ** @param xcb_generic_error_t **e 373 ** @returns xcb_xc_misc_get_xid_list_reply_t * 374 ** 375 *****************************************************************************/ 376 377 xcb_xc_misc_get_xid_list_reply_t * 378 xcb_xc_misc_get_xid_list_reply (xcb_connection_t *c /**< */, 379 xcb_xc_misc_get_xid_list_cookie_t cookie /**< */, 380 xcb_generic_error_t **e /**< */) 381 { 382 return (xcb_xc_misc_get_xid_list_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 383 } 384 385