annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/xcb/sync.h @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
rev   line source
jpayne@69 1 /*
jpayne@69 2 * This file generated automatically from sync.xml by c_client.py.
jpayne@69 3 * Edit at your peril.
jpayne@69 4 */
jpayne@69 5
jpayne@69 6 /**
jpayne@69 7 * @defgroup XCB_Sync_API XCB Sync API
jpayne@69 8 * @brief Sync XCB Protocol Implementation.
jpayne@69 9 * @{
jpayne@69 10 **/
jpayne@69 11
jpayne@69 12 #ifndef __SYNC_H
jpayne@69 13 #define __SYNC_H
jpayne@69 14
jpayne@69 15 #include "xcb.h"
jpayne@69 16 #include "xproto.h"
jpayne@69 17
jpayne@69 18 #ifdef __cplusplus
jpayne@69 19 extern "C" {
jpayne@69 20 #endif
jpayne@69 21
jpayne@69 22 #define XCB_SYNC_MAJOR_VERSION 3
jpayne@69 23 #define XCB_SYNC_MINOR_VERSION 1
jpayne@69 24
jpayne@69 25 extern xcb_extension_t xcb_sync_id;
jpayne@69 26
jpayne@69 27 typedef uint32_t xcb_sync_alarm_t;
jpayne@69 28
jpayne@69 29 /**
jpayne@69 30 * @brief xcb_sync_alarm_iterator_t
jpayne@69 31 **/
jpayne@69 32 typedef struct xcb_sync_alarm_iterator_t {
jpayne@69 33 xcb_sync_alarm_t *data;
jpayne@69 34 int rem;
jpayne@69 35 int index;
jpayne@69 36 } xcb_sync_alarm_iterator_t;
jpayne@69 37
jpayne@69 38 typedef enum xcb_sync_alarmstate_t {
jpayne@69 39 XCB_SYNC_ALARMSTATE_ACTIVE = 0,
jpayne@69 40 XCB_SYNC_ALARMSTATE_INACTIVE = 1,
jpayne@69 41 XCB_SYNC_ALARMSTATE_DESTROYED = 2
jpayne@69 42 } xcb_sync_alarmstate_t;
jpayne@69 43
jpayne@69 44 typedef uint32_t xcb_sync_counter_t;
jpayne@69 45
jpayne@69 46 /**
jpayne@69 47 * @brief xcb_sync_counter_iterator_t
jpayne@69 48 **/
jpayne@69 49 typedef struct xcb_sync_counter_iterator_t {
jpayne@69 50 xcb_sync_counter_t *data;
jpayne@69 51 int rem;
jpayne@69 52 int index;
jpayne@69 53 } xcb_sync_counter_iterator_t;
jpayne@69 54
jpayne@69 55 typedef uint32_t xcb_sync_fence_t;
jpayne@69 56
jpayne@69 57 /**
jpayne@69 58 * @brief xcb_sync_fence_iterator_t
jpayne@69 59 **/
jpayne@69 60 typedef struct xcb_sync_fence_iterator_t {
jpayne@69 61 xcb_sync_fence_t *data;
jpayne@69 62 int rem;
jpayne@69 63 int index;
jpayne@69 64 } xcb_sync_fence_iterator_t;
jpayne@69 65
jpayne@69 66 typedef enum xcb_sync_testtype_t {
jpayne@69 67 XCB_SYNC_TESTTYPE_POSITIVE_TRANSITION = 0,
jpayne@69 68 XCB_SYNC_TESTTYPE_NEGATIVE_TRANSITION = 1,
jpayne@69 69 XCB_SYNC_TESTTYPE_POSITIVE_COMPARISON = 2,
jpayne@69 70 XCB_SYNC_TESTTYPE_NEGATIVE_COMPARISON = 3
jpayne@69 71 } xcb_sync_testtype_t;
jpayne@69 72
jpayne@69 73 typedef enum xcb_sync_valuetype_t {
jpayne@69 74 XCB_SYNC_VALUETYPE_ABSOLUTE = 0,
jpayne@69 75 XCB_SYNC_VALUETYPE_RELATIVE = 1
jpayne@69 76 } xcb_sync_valuetype_t;
jpayne@69 77
jpayne@69 78 typedef enum xcb_sync_ca_t {
jpayne@69 79 XCB_SYNC_CA_COUNTER = 1,
jpayne@69 80 XCB_SYNC_CA_VALUE_TYPE = 2,
jpayne@69 81 XCB_SYNC_CA_VALUE = 4,
jpayne@69 82 XCB_SYNC_CA_TEST_TYPE = 8,
jpayne@69 83 XCB_SYNC_CA_DELTA = 16,
jpayne@69 84 XCB_SYNC_CA_EVENTS = 32
jpayne@69 85 } xcb_sync_ca_t;
jpayne@69 86
jpayne@69 87 /**
jpayne@69 88 * @brief xcb_sync_int64_t
jpayne@69 89 **/
jpayne@69 90 typedef struct xcb_sync_int64_t {
jpayne@69 91 int32_t hi;
jpayne@69 92 uint32_t lo;
jpayne@69 93 } xcb_sync_int64_t;
jpayne@69 94
jpayne@69 95 /**
jpayne@69 96 * @brief xcb_sync_int64_iterator_t
jpayne@69 97 **/
jpayne@69 98 typedef struct xcb_sync_int64_iterator_t {
jpayne@69 99 xcb_sync_int64_t *data;
jpayne@69 100 int rem;
jpayne@69 101 int index;
jpayne@69 102 } xcb_sync_int64_iterator_t;
jpayne@69 103
jpayne@69 104 /**
jpayne@69 105 * @brief xcb_sync_systemcounter_t
jpayne@69 106 **/
jpayne@69 107 typedef struct xcb_sync_systemcounter_t {
jpayne@69 108 xcb_sync_counter_t counter;
jpayne@69 109 xcb_sync_int64_t resolution;
jpayne@69 110 uint16_t name_len;
jpayne@69 111 } xcb_sync_systemcounter_t;
jpayne@69 112
jpayne@69 113 /**
jpayne@69 114 * @brief xcb_sync_systemcounter_iterator_t
jpayne@69 115 **/
jpayne@69 116 typedef struct xcb_sync_systemcounter_iterator_t {
jpayne@69 117 xcb_sync_systemcounter_t *data;
jpayne@69 118 int rem;
jpayne@69 119 int index;
jpayne@69 120 } xcb_sync_systemcounter_iterator_t;
jpayne@69 121
jpayne@69 122 /**
jpayne@69 123 * @brief xcb_sync_trigger_t
jpayne@69 124 **/
jpayne@69 125 typedef struct xcb_sync_trigger_t {
jpayne@69 126 xcb_sync_counter_t counter;
jpayne@69 127 uint32_t wait_type;
jpayne@69 128 xcb_sync_int64_t wait_value;
jpayne@69 129 uint32_t test_type;
jpayne@69 130 } xcb_sync_trigger_t;
jpayne@69 131
jpayne@69 132 /**
jpayne@69 133 * @brief xcb_sync_trigger_iterator_t
jpayne@69 134 **/
jpayne@69 135 typedef struct xcb_sync_trigger_iterator_t {
jpayne@69 136 xcb_sync_trigger_t *data;
jpayne@69 137 int rem;
jpayne@69 138 int index;
jpayne@69 139 } xcb_sync_trigger_iterator_t;
jpayne@69 140
jpayne@69 141 /**
jpayne@69 142 * @brief xcb_sync_waitcondition_t
jpayne@69 143 **/
jpayne@69 144 typedef struct xcb_sync_waitcondition_t {
jpayne@69 145 xcb_sync_trigger_t trigger;
jpayne@69 146 xcb_sync_int64_t event_threshold;
jpayne@69 147 } xcb_sync_waitcondition_t;
jpayne@69 148
jpayne@69 149 /**
jpayne@69 150 * @brief xcb_sync_waitcondition_iterator_t
jpayne@69 151 **/
jpayne@69 152 typedef struct xcb_sync_waitcondition_iterator_t {
jpayne@69 153 xcb_sync_waitcondition_t *data;
jpayne@69 154 int rem;
jpayne@69 155 int index;
jpayne@69 156 } xcb_sync_waitcondition_iterator_t;
jpayne@69 157
jpayne@69 158 /** Opcode for xcb_sync_counter. */
jpayne@69 159 #define XCB_SYNC_COUNTER 0
jpayne@69 160
jpayne@69 161 /**
jpayne@69 162 * @brief xcb_sync_counter_error_t
jpayne@69 163 **/
jpayne@69 164 typedef struct xcb_sync_counter_error_t {
jpayne@69 165 uint8_t response_type;
jpayne@69 166 uint8_t error_code;
jpayne@69 167 uint16_t sequence;
jpayne@69 168 uint32_t bad_counter;
jpayne@69 169 uint16_t minor_opcode;
jpayne@69 170 uint8_t major_opcode;
jpayne@69 171 } xcb_sync_counter_error_t;
jpayne@69 172
jpayne@69 173 /** Opcode for xcb_sync_alarm. */
jpayne@69 174 #define XCB_SYNC_ALARM 1
jpayne@69 175
jpayne@69 176 /**
jpayne@69 177 * @brief xcb_sync_alarm_error_t
jpayne@69 178 **/
jpayne@69 179 typedef struct xcb_sync_alarm_error_t {
jpayne@69 180 uint8_t response_type;
jpayne@69 181 uint8_t error_code;
jpayne@69 182 uint16_t sequence;
jpayne@69 183 uint32_t bad_alarm;
jpayne@69 184 uint16_t minor_opcode;
jpayne@69 185 uint8_t major_opcode;
jpayne@69 186 } xcb_sync_alarm_error_t;
jpayne@69 187
jpayne@69 188 /**
jpayne@69 189 * @brief xcb_sync_initialize_cookie_t
jpayne@69 190 **/
jpayne@69 191 typedef struct xcb_sync_initialize_cookie_t {
jpayne@69 192 unsigned int sequence;
jpayne@69 193 } xcb_sync_initialize_cookie_t;
jpayne@69 194
jpayne@69 195 /** Opcode for xcb_sync_initialize. */
jpayne@69 196 #define XCB_SYNC_INITIALIZE 0
jpayne@69 197
jpayne@69 198 /**
jpayne@69 199 * @brief xcb_sync_initialize_request_t
jpayne@69 200 **/
jpayne@69 201 typedef struct xcb_sync_initialize_request_t {
jpayne@69 202 uint8_t major_opcode;
jpayne@69 203 uint8_t minor_opcode;
jpayne@69 204 uint16_t length;
jpayne@69 205 uint8_t desired_major_version;
jpayne@69 206 uint8_t desired_minor_version;
jpayne@69 207 } xcb_sync_initialize_request_t;
jpayne@69 208
jpayne@69 209 /**
jpayne@69 210 * @brief xcb_sync_initialize_reply_t
jpayne@69 211 **/
jpayne@69 212 typedef struct xcb_sync_initialize_reply_t {
jpayne@69 213 uint8_t response_type;
jpayne@69 214 uint8_t pad0;
jpayne@69 215 uint16_t sequence;
jpayne@69 216 uint32_t length;
jpayne@69 217 uint8_t major_version;
jpayne@69 218 uint8_t minor_version;
jpayne@69 219 uint8_t pad1[22];
jpayne@69 220 } xcb_sync_initialize_reply_t;
jpayne@69 221
jpayne@69 222 /**
jpayne@69 223 * @brief xcb_sync_list_system_counters_cookie_t
jpayne@69 224 **/
jpayne@69 225 typedef struct xcb_sync_list_system_counters_cookie_t {
jpayne@69 226 unsigned int sequence;
jpayne@69 227 } xcb_sync_list_system_counters_cookie_t;
jpayne@69 228
jpayne@69 229 /** Opcode for xcb_sync_list_system_counters. */
jpayne@69 230 #define XCB_SYNC_LIST_SYSTEM_COUNTERS 1
jpayne@69 231
jpayne@69 232 /**
jpayne@69 233 * @brief xcb_sync_list_system_counters_request_t
jpayne@69 234 **/
jpayne@69 235 typedef struct xcb_sync_list_system_counters_request_t {
jpayne@69 236 uint8_t major_opcode;
jpayne@69 237 uint8_t minor_opcode;
jpayne@69 238 uint16_t length;
jpayne@69 239 } xcb_sync_list_system_counters_request_t;
jpayne@69 240
jpayne@69 241 /**
jpayne@69 242 * @brief xcb_sync_list_system_counters_reply_t
jpayne@69 243 **/
jpayne@69 244 typedef struct xcb_sync_list_system_counters_reply_t {
jpayne@69 245 uint8_t response_type;
jpayne@69 246 uint8_t pad0;
jpayne@69 247 uint16_t sequence;
jpayne@69 248 uint32_t length;
jpayne@69 249 uint32_t counters_len;
jpayne@69 250 uint8_t pad1[20];
jpayne@69 251 } xcb_sync_list_system_counters_reply_t;
jpayne@69 252
jpayne@69 253 /** Opcode for xcb_sync_create_counter. */
jpayne@69 254 #define XCB_SYNC_CREATE_COUNTER 2
jpayne@69 255
jpayne@69 256 /**
jpayne@69 257 * @brief xcb_sync_create_counter_request_t
jpayne@69 258 **/
jpayne@69 259 typedef struct xcb_sync_create_counter_request_t {
jpayne@69 260 uint8_t major_opcode;
jpayne@69 261 uint8_t minor_opcode;
jpayne@69 262 uint16_t length;
jpayne@69 263 xcb_sync_counter_t id;
jpayne@69 264 xcb_sync_int64_t initial_value;
jpayne@69 265 } xcb_sync_create_counter_request_t;
jpayne@69 266
jpayne@69 267 /** Opcode for xcb_sync_destroy_counter. */
jpayne@69 268 #define XCB_SYNC_DESTROY_COUNTER 6
jpayne@69 269
jpayne@69 270 /**
jpayne@69 271 * @brief xcb_sync_destroy_counter_request_t
jpayne@69 272 **/
jpayne@69 273 typedef struct xcb_sync_destroy_counter_request_t {
jpayne@69 274 uint8_t major_opcode;
jpayne@69 275 uint8_t minor_opcode;
jpayne@69 276 uint16_t length;
jpayne@69 277 xcb_sync_counter_t counter;
jpayne@69 278 } xcb_sync_destroy_counter_request_t;
jpayne@69 279
jpayne@69 280 /**
jpayne@69 281 * @brief xcb_sync_query_counter_cookie_t
jpayne@69 282 **/
jpayne@69 283 typedef struct xcb_sync_query_counter_cookie_t {
jpayne@69 284 unsigned int sequence;
jpayne@69 285 } xcb_sync_query_counter_cookie_t;
jpayne@69 286
jpayne@69 287 /** Opcode for xcb_sync_query_counter. */
jpayne@69 288 #define XCB_SYNC_QUERY_COUNTER 5
jpayne@69 289
jpayne@69 290 /**
jpayne@69 291 * @brief xcb_sync_query_counter_request_t
jpayne@69 292 **/
jpayne@69 293 typedef struct xcb_sync_query_counter_request_t {
jpayne@69 294 uint8_t major_opcode;
jpayne@69 295 uint8_t minor_opcode;
jpayne@69 296 uint16_t length;
jpayne@69 297 xcb_sync_counter_t counter;
jpayne@69 298 } xcb_sync_query_counter_request_t;
jpayne@69 299
jpayne@69 300 /**
jpayne@69 301 * @brief xcb_sync_query_counter_reply_t
jpayne@69 302 **/
jpayne@69 303 typedef struct xcb_sync_query_counter_reply_t {
jpayne@69 304 uint8_t response_type;
jpayne@69 305 uint8_t pad0;
jpayne@69 306 uint16_t sequence;
jpayne@69 307 uint32_t length;
jpayne@69 308 xcb_sync_int64_t counter_value;
jpayne@69 309 } xcb_sync_query_counter_reply_t;
jpayne@69 310
jpayne@69 311 /** Opcode for xcb_sync_await. */
jpayne@69 312 #define XCB_SYNC_AWAIT 7
jpayne@69 313
jpayne@69 314 /**
jpayne@69 315 * @brief xcb_sync_await_request_t
jpayne@69 316 **/
jpayne@69 317 typedef struct xcb_sync_await_request_t {
jpayne@69 318 uint8_t major_opcode;
jpayne@69 319 uint8_t minor_opcode;
jpayne@69 320 uint16_t length;
jpayne@69 321 } xcb_sync_await_request_t;
jpayne@69 322
jpayne@69 323 /** Opcode for xcb_sync_change_counter. */
jpayne@69 324 #define XCB_SYNC_CHANGE_COUNTER 4
jpayne@69 325
jpayne@69 326 /**
jpayne@69 327 * @brief xcb_sync_change_counter_request_t
jpayne@69 328 **/
jpayne@69 329 typedef struct xcb_sync_change_counter_request_t {
jpayne@69 330 uint8_t major_opcode;
jpayne@69 331 uint8_t minor_opcode;
jpayne@69 332 uint16_t length;
jpayne@69 333 xcb_sync_counter_t counter;
jpayne@69 334 xcb_sync_int64_t amount;
jpayne@69 335 } xcb_sync_change_counter_request_t;
jpayne@69 336
jpayne@69 337 /** Opcode for xcb_sync_set_counter. */
jpayne@69 338 #define XCB_SYNC_SET_COUNTER 3
jpayne@69 339
jpayne@69 340 /**
jpayne@69 341 * @brief xcb_sync_set_counter_request_t
jpayne@69 342 **/
jpayne@69 343 typedef struct xcb_sync_set_counter_request_t {
jpayne@69 344 uint8_t major_opcode;
jpayne@69 345 uint8_t minor_opcode;
jpayne@69 346 uint16_t length;
jpayne@69 347 xcb_sync_counter_t counter;
jpayne@69 348 xcb_sync_int64_t value;
jpayne@69 349 } xcb_sync_set_counter_request_t;
jpayne@69 350
jpayne@69 351 /**
jpayne@69 352 * @brief xcb_sync_create_alarm_value_list_t
jpayne@69 353 **/
jpayne@69 354 typedef struct xcb_sync_create_alarm_value_list_t {
jpayne@69 355 xcb_sync_counter_t counter;
jpayne@69 356 uint32_t valueType;
jpayne@69 357 xcb_sync_int64_t value;
jpayne@69 358 uint32_t testType;
jpayne@69 359 xcb_sync_int64_t delta;
jpayne@69 360 uint32_t events;
jpayne@69 361 } xcb_sync_create_alarm_value_list_t;
jpayne@69 362
jpayne@69 363 /** Opcode for xcb_sync_create_alarm. */
jpayne@69 364 #define XCB_SYNC_CREATE_ALARM 8
jpayne@69 365
jpayne@69 366 /**
jpayne@69 367 * @brief xcb_sync_create_alarm_request_t
jpayne@69 368 **/
jpayne@69 369 typedef struct xcb_sync_create_alarm_request_t {
jpayne@69 370 uint8_t major_opcode;
jpayne@69 371 uint8_t minor_opcode;
jpayne@69 372 uint16_t length;
jpayne@69 373 xcb_sync_alarm_t id;
jpayne@69 374 uint32_t value_mask;
jpayne@69 375 } xcb_sync_create_alarm_request_t;
jpayne@69 376
jpayne@69 377 /**
jpayne@69 378 * @brief xcb_sync_change_alarm_value_list_t
jpayne@69 379 **/
jpayne@69 380 typedef struct xcb_sync_change_alarm_value_list_t {
jpayne@69 381 xcb_sync_counter_t counter;
jpayne@69 382 uint32_t valueType;
jpayne@69 383 xcb_sync_int64_t value;
jpayne@69 384 uint32_t testType;
jpayne@69 385 xcb_sync_int64_t delta;
jpayne@69 386 uint32_t events;
jpayne@69 387 } xcb_sync_change_alarm_value_list_t;
jpayne@69 388
jpayne@69 389 /** Opcode for xcb_sync_change_alarm. */
jpayne@69 390 #define XCB_SYNC_CHANGE_ALARM 9
jpayne@69 391
jpayne@69 392 /**
jpayne@69 393 * @brief xcb_sync_change_alarm_request_t
jpayne@69 394 **/
jpayne@69 395 typedef struct xcb_sync_change_alarm_request_t {
jpayne@69 396 uint8_t major_opcode;
jpayne@69 397 uint8_t minor_opcode;
jpayne@69 398 uint16_t length;
jpayne@69 399 xcb_sync_alarm_t id;
jpayne@69 400 uint32_t value_mask;
jpayne@69 401 } xcb_sync_change_alarm_request_t;
jpayne@69 402
jpayne@69 403 /** Opcode for xcb_sync_destroy_alarm. */
jpayne@69 404 #define XCB_SYNC_DESTROY_ALARM 11
jpayne@69 405
jpayne@69 406 /**
jpayne@69 407 * @brief xcb_sync_destroy_alarm_request_t
jpayne@69 408 **/
jpayne@69 409 typedef struct xcb_sync_destroy_alarm_request_t {
jpayne@69 410 uint8_t major_opcode;
jpayne@69 411 uint8_t minor_opcode;
jpayne@69 412 uint16_t length;
jpayne@69 413 xcb_sync_alarm_t alarm;
jpayne@69 414 } xcb_sync_destroy_alarm_request_t;
jpayne@69 415
jpayne@69 416 /**
jpayne@69 417 * @brief xcb_sync_query_alarm_cookie_t
jpayne@69 418 **/
jpayne@69 419 typedef struct xcb_sync_query_alarm_cookie_t {
jpayne@69 420 unsigned int sequence;
jpayne@69 421 } xcb_sync_query_alarm_cookie_t;
jpayne@69 422
jpayne@69 423 /** Opcode for xcb_sync_query_alarm. */
jpayne@69 424 #define XCB_SYNC_QUERY_ALARM 10
jpayne@69 425
jpayne@69 426 /**
jpayne@69 427 * @brief xcb_sync_query_alarm_request_t
jpayne@69 428 **/
jpayne@69 429 typedef struct xcb_sync_query_alarm_request_t {
jpayne@69 430 uint8_t major_opcode;
jpayne@69 431 uint8_t minor_opcode;
jpayne@69 432 uint16_t length;
jpayne@69 433 xcb_sync_alarm_t alarm;
jpayne@69 434 } xcb_sync_query_alarm_request_t;
jpayne@69 435
jpayne@69 436 /**
jpayne@69 437 * @brief xcb_sync_query_alarm_reply_t
jpayne@69 438 **/
jpayne@69 439 typedef struct xcb_sync_query_alarm_reply_t {
jpayne@69 440 uint8_t response_type;
jpayne@69 441 uint8_t pad0;
jpayne@69 442 uint16_t sequence;
jpayne@69 443 uint32_t length;
jpayne@69 444 xcb_sync_trigger_t trigger;
jpayne@69 445 xcb_sync_int64_t delta;
jpayne@69 446 uint8_t events;
jpayne@69 447 uint8_t state;
jpayne@69 448 uint8_t pad1[2];
jpayne@69 449 } xcb_sync_query_alarm_reply_t;
jpayne@69 450
jpayne@69 451 /** Opcode for xcb_sync_set_priority. */
jpayne@69 452 #define XCB_SYNC_SET_PRIORITY 12
jpayne@69 453
jpayne@69 454 /**
jpayne@69 455 * @brief xcb_sync_set_priority_request_t
jpayne@69 456 **/
jpayne@69 457 typedef struct xcb_sync_set_priority_request_t {
jpayne@69 458 uint8_t major_opcode;
jpayne@69 459 uint8_t minor_opcode;
jpayne@69 460 uint16_t length;
jpayne@69 461 uint32_t id;
jpayne@69 462 int32_t priority;
jpayne@69 463 } xcb_sync_set_priority_request_t;
jpayne@69 464
jpayne@69 465 /**
jpayne@69 466 * @brief xcb_sync_get_priority_cookie_t
jpayne@69 467 **/
jpayne@69 468 typedef struct xcb_sync_get_priority_cookie_t {
jpayne@69 469 unsigned int sequence;
jpayne@69 470 } xcb_sync_get_priority_cookie_t;
jpayne@69 471
jpayne@69 472 /** Opcode for xcb_sync_get_priority. */
jpayne@69 473 #define XCB_SYNC_GET_PRIORITY 13
jpayne@69 474
jpayne@69 475 /**
jpayne@69 476 * @brief xcb_sync_get_priority_request_t
jpayne@69 477 **/
jpayne@69 478 typedef struct xcb_sync_get_priority_request_t {
jpayne@69 479 uint8_t major_opcode;
jpayne@69 480 uint8_t minor_opcode;
jpayne@69 481 uint16_t length;
jpayne@69 482 uint32_t id;
jpayne@69 483 } xcb_sync_get_priority_request_t;
jpayne@69 484
jpayne@69 485 /**
jpayne@69 486 * @brief xcb_sync_get_priority_reply_t
jpayne@69 487 **/
jpayne@69 488 typedef struct xcb_sync_get_priority_reply_t {
jpayne@69 489 uint8_t response_type;
jpayne@69 490 uint8_t pad0;
jpayne@69 491 uint16_t sequence;
jpayne@69 492 uint32_t length;
jpayne@69 493 int32_t priority;
jpayne@69 494 } xcb_sync_get_priority_reply_t;
jpayne@69 495
jpayne@69 496 /** Opcode for xcb_sync_create_fence. */
jpayne@69 497 #define XCB_SYNC_CREATE_FENCE 14
jpayne@69 498
jpayne@69 499 /**
jpayne@69 500 * @brief xcb_sync_create_fence_request_t
jpayne@69 501 **/
jpayne@69 502 typedef struct xcb_sync_create_fence_request_t {
jpayne@69 503 uint8_t major_opcode;
jpayne@69 504 uint8_t minor_opcode;
jpayne@69 505 uint16_t length;
jpayne@69 506 xcb_drawable_t drawable;
jpayne@69 507 xcb_sync_fence_t fence;
jpayne@69 508 uint8_t initially_triggered;
jpayne@69 509 } xcb_sync_create_fence_request_t;
jpayne@69 510
jpayne@69 511 /** Opcode for xcb_sync_trigger_fence. */
jpayne@69 512 #define XCB_SYNC_TRIGGER_FENCE 15
jpayne@69 513
jpayne@69 514 /**
jpayne@69 515 * @brief xcb_sync_trigger_fence_request_t
jpayne@69 516 **/
jpayne@69 517 typedef struct xcb_sync_trigger_fence_request_t {
jpayne@69 518 uint8_t major_opcode;
jpayne@69 519 uint8_t minor_opcode;
jpayne@69 520 uint16_t length;
jpayne@69 521 xcb_sync_fence_t fence;
jpayne@69 522 } xcb_sync_trigger_fence_request_t;
jpayne@69 523
jpayne@69 524 /** Opcode for xcb_sync_reset_fence. */
jpayne@69 525 #define XCB_SYNC_RESET_FENCE 16
jpayne@69 526
jpayne@69 527 /**
jpayne@69 528 * @brief xcb_sync_reset_fence_request_t
jpayne@69 529 **/
jpayne@69 530 typedef struct xcb_sync_reset_fence_request_t {
jpayne@69 531 uint8_t major_opcode;
jpayne@69 532 uint8_t minor_opcode;
jpayne@69 533 uint16_t length;
jpayne@69 534 xcb_sync_fence_t fence;
jpayne@69 535 } xcb_sync_reset_fence_request_t;
jpayne@69 536
jpayne@69 537 /** Opcode for xcb_sync_destroy_fence. */
jpayne@69 538 #define XCB_SYNC_DESTROY_FENCE 17
jpayne@69 539
jpayne@69 540 /**
jpayne@69 541 * @brief xcb_sync_destroy_fence_request_t
jpayne@69 542 **/
jpayne@69 543 typedef struct xcb_sync_destroy_fence_request_t {
jpayne@69 544 uint8_t major_opcode;
jpayne@69 545 uint8_t minor_opcode;
jpayne@69 546 uint16_t length;
jpayne@69 547 xcb_sync_fence_t fence;
jpayne@69 548 } xcb_sync_destroy_fence_request_t;
jpayne@69 549
jpayne@69 550 /**
jpayne@69 551 * @brief xcb_sync_query_fence_cookie_t
jpayne@69 552 **/
jpayne@69 553 typedef struct xcb_sync_query_fence_cookie_t {
jpayne@69 554 unsigned int sequence;
jpayne@69 555 } xcb_sync_query_fence_cookie_t;
jpayne@69 556
jpayne@69 557 /** Opcode for xcb_sync_query_fence. */
jpayne@69 558 #define XCB_SYNC_QUERY_FENCE 18
jpayne@69 559
jpayne@69 560 /**
jpayne@69 561 * @brief xcb_sync_query_fence_request_t
jpayne@69 562 **/
jpayne@69 563 typedef struct xcb_sync_query_fence_request_t {
jpayne@69 564 uint8_t major_opcode;
jpayne@69 565 uint8_t minor_opcode;
jpayne@69 566 uint16_t length;
jpayne@69 567 xcb_sync_fence_t fence;
jpayne@69 568 } xcb_sync_query_fence_request_t;
jpayne@69 569
jpayne@69 570 /**
jpayne@69 571 * @brief xcb_sync_query_fence_reply_t
jpayne@69 572 **/
jpayne@69 573 typedef struct xcb_sync_query_fence_reply_t {
jpayne@69 574 uint8_t response_type;
jpayne@69 575 uint8_t pad0;
jpayne@69 576 uint16_t sequence;
jpayne@69 577 uint32_t length;
jpayne@69 578 uint8_t triggered;
jpayne@69 579 uint8_t pad1[23];
jpayne@69 580 } xcb_sync_query_fence_reply_t;
jpayne@69 581
jpayne@69 582 /** Opcode for xcb_sync_await_fence. */
jpayne@69 583 #define XCB_SYNC_AWAIT_FENCE 19
jpayne@69 584
jpayne@69 585 /**
jpayne@69 586 * @brief xcb_sync_await_fence_request_t
jpayne@69 587 **/
jpayne@69 588 typedef struct xcb_sync_await_fence_request_t {
jpayne@69 589 uint8_t major_opcode;
jpayne@69 590 uint8_t minor_opcode;
jpayne@69 591 uint16_t length;
jpayne@69 592 } xcb_sync_await_fence_request_t;
jpayne@69 593
jpayne@69 594 /** Opcode for xcb_sync_counter_notify. */
jpayne@69 595 #define XCB_SYNC_COUNTER_NOTIFY 0
jpayne@69 596
jpayne@69 597 /**
jpayne@69 598 * @brief xcb_sync_counter_notify_event_t
jpayne@69 599 **/
jpayne@69 600 typedef struct xcb_sync_counter_notify_event_t {
jpayne@69 601 uint8_t response_type;
jpayne@69 602 uint8_t kind;
jpayne@69 603 uint16_t sequence;
jpayne@69 604 xcb_sync_counter_t counter;
jpayne@69 605 xcb_sync_int64_t wait_value;
jpayne@69 606 xcb_sync_int64_t counter_value;
jpayne@69 607 xcb_timestamp_t timestamp;
jpayne@69 608 uint16_t count;
jpayne@69 609 uint8_t destroyed;
jpayne@69 610 uint8_t pad0;
jpayne@69 611 } xcb_sync_counter_notify_event_t;
jpayne@69 612
jpayne@69 613 /** Opcode for xcb_sync_alarm_notify. */
jpayne@69 614 #define XCB_SYNC_ALARM_NOTIFY 1
jpayne@69 615
jpayne@69 616 /**
jpayne@69 617 * @brief xcb_sync_alarm_notify_event_t
jpayne@69 618 **/
jpayne@69 619 typedef struct xcb_sync_alarm_notify_event_t {
jpayne@69 620 uint8_t response_type;
jpayne@69 621 uint8_t kind;
jpayne@69 622 uint16_t sequence;
jpayne@69 623 xcb_sync_alarm_t alarm;
jpayne@69 624 xcb_sync_int64_t counter_value;
jpayne@69 625 xcb_sync_int64_t alarm_value;
jpayne@69 626 xcb_timestamp_t timestamp;
jpayne@69 627 uint8_t state;
jpayne@69 628 uint8_t pad0[3];
jpayne@69 629 } xcb_sync_alarm_notify_event_t;
jpayne@69 630
jpayne@69 631 /**
jpayne@69 632 * Get the next element of the iterator
jpayne@69 633 * @param i Pointer to a xcb_sync_alarm_iterator_t
jpayne@69 634 *
jpayne@69 635 * Get the next element in the iterator. The member rem is
jpayne@69 636 * decreased by one. The member data points to the next
jpayne@69 637 * element. The member index is increased by sizeof(xcb_sync_alarm_t)
jpayne@69 638 */
jpayne@69 639 void
jpayne@69 640 xcb_sync_alarm_next (xcb_sync_alarm_iterator_t *i);
jpayne@69 641
jpayne@69 642 /**
jpayne@69 643 * Return the iterator pointing to the last element
jpayne@69 644 * @param i An xcb_sync_alarm_iterator_t
jpayne@69 645 * @return The iterator pointing to the last element
jpayne@69 646 *
jpayne@69 647 * Set the current element in the iterator to the last element.
jpayne@69 648 * The member rem is set to 0. The member data points to the
jpayne@69 649 * last element.
jpayne@69 650 */
jpayne@69 651 xcb_generic_iterator_t
jpayne@69 652 xcb_sync_alarm_end (xcb_sync_alarm_iterator_t i);
jpayne@69 653
jpayne@69 654 /**
jpayne@69 655 * Get the next element of the iterator
jpayne@69 656 * @param i Pointer to a xcb_sync_counter_iterator_t
jpayne@69 657 *
jpayne@69 658 * Get the next element in the iterator. The member rem is
jpayne@69 659 * decreased by one. The member data points to the next
jpayne@69 660 * element. The member index is increased by sizeof(xcb_sync_counter_t)
jpayne@69 661 */
jpayne@69 662 void
jpayne@69 663 xcb_sync_counter_next (xcb_sync_counter_iterator_t *i);
jpayne@69 664
jpayne@69 665 /**
jpayne@69 666 * Return the iterator pointing to the last element
jpayne@69 667 * @param i An xcb_sync_counter_iterator_t
jpayne@69 668 * @return The iterator pointing to the last element
jpayne@69 669 *
jpayne@69 670 * Set the current element in the iterator to the last element.
jpayne@69 671 * The member rem is set to 0. The member data points to the
jpayne@69 672 * last element.
jpayne@69 673 */
jpayne@69 674 xcb_generic_iterator_t
jpayne@69 675 xcb_sync_counter_end (xcb_sync_counter_iterator_t i);
jpayne@69 676
jpayne@69 677 /**
jpayne@69 678 * Get the next element of the iterator
jpayne@69 679 * @param i Pointer to a xcb_sync_fence_iterator_t
jpayne@69 680 *
jpayne@69 681 * Get the next element in the iterator. The member rem is
jpayne@69 682 * decreased by one. The member data points to the next
jpayne@69 683 * element. The member index is increased by sizeof(xcb_sync_fence_t)
jpayne@69 684 */
jpayne@69 685 void
jpayne@69 686 xcb_sync_fence_next (xcb_sync_fence_iterator_t *i);
jpayne@69 687
jpayne@69 688 /**
jpayne@69 689 * Return the iterator pointing to the last element
jpayne@69 690 * @param i An xcb_sync_fence_iterator_t
jpayne@69 691 * @return The iterator pointing to the last element
jpayne@69 692 *
jpayne@69 693 * Set the current element in the iterator to the last element.
jpayne@69 694 * The member rem is set to 0. The member data points to the
jpayne@69 695 * last element.
jpayne@69 696 */
jpayne@69 697 xcb_generic_iterator_t
jpayne@69 698 xcb_sync_fence_end (xcb_sync_fence_iterator_t i);
jpayne@69 699
jpayne@69 700 /**
jpayne@69 701 * Get the next element of the iterator
jpayne@69 702 * @param i Pointer to a xcb_sync_int64_iterator_t
jpayne@69 703 *
jpayne@69 704 * Get the next element in the iterator. The member rem is
jpayne@69 705 * decreased by one. The member data points to the next
jpayne@69 706 * element. The member index is increased by sizeof(xcb_sync_int64_t)
jpayne@69 707 */
jpayne@69 708 void
jpayne@69 709 xcb_sync_int64_next (xcb_sync_int64_iterator_t *i);
jpayne@69 710
jpayne@69 711 /**
jpayne@69 712 * Return the iterator pointing to the last element
jpayne@69 713 * @param i An xcb_sync_int64_iterator_t
jpayne@69 714 * @return The iterator pointing to the last element
jpayne@69 715 *
jpayne@69 716 * Set the current element in the iterator to the last element.
jpayne@69 717 * The member rem is set to 0. The member data points to the
jpayne@69 718 * last element.
jpayne@69 719 */
jpayne@69 720 xcb_generic_iterator_t
jpayne@69 721 xcb_sync_int64_end (xcb_sync_int64_iterator_t i);
jpayne@69 722
jpayne@69 723 int
jpayne@69 724 xcb_sync_systemcounter_sizeof (const void *_buffer);
jpayne@69 725
jpayne@69 726 char *
jpayne@69 727 xcb_sync_systemcounter_name (const xcb_sync_systemcounter_t *R);
jpayne@69 728
jpayne@69 729 int
jpayne@69 730 xcb_sync_systemcounter_name_length (const xcb_sync_systemcounter_t *R);
jpayne@69 731
jpayne@69 732 xcb_generic_iterator_t
jpayne@69 733 xcb_sync_systemcounter_name_end (const xcb_sync_systemcounter_t *R);
jpayne@69 734
jpayne@69 735 /**
jpayne@69 736 * Get the next element of the iterator
jpayne@69 737 * @param i Pointer to a xcb_sync_systemcounter_iterator_t
jpayne@69 738 *
jpayne@69 739 * Get the next element in the iterator. The member rem is
jpayne@69 740 * decreased by one. The member data points to the next
jpayne@69 741 * element. The member index is increased by sizeof(xcb_sync_systemcounter_t)
jpayne@69 742 */
jpayne@69 743 void
jpayne@69 744 xcb_sync_systemcounter_next (xcb_sync_systemcounter_iterator_t *i);
jpayne@69 745
jpayne@69 746 /**
jpayne@69 747 * Return the iterator pointing to the last element
jpayne@69 748 * @param i An xcb_sync_systemcounter_iterator_t
jpayne@69 749 * @return The iterator pointing to the last element
jpayne@69 750 *
jpayne@69 751 * Set the current element in the iterator to the last element.
jpayne@69 752 * The member rem is set to 0. The member data points to the
jpayne@69 753 * last element.
jpayne@69 754 */
jpayne@69 755 xcb_generic_iterator_t
jpayne@69 756 xcb_sync_systemcounter_end (xcb_sync_systemcounter_iterator_t i);
jpayne@69 757
jpayne@69 758 /**
jpayne@69 759 * Get the next element of the iterator
jpayne@69 760 * @param i Pointer to a xcb_sync_trigger_iterator_t
jpayne@69 761 *
jpayne@69 762 * Get the next element in the iterator. The member rem is
jpayne@69 763 * decreased by one. The member data points to the next
jpayne@69 764 * element. The member index is increased by sizeof(xcb_sync_trigger_t)
jpayne@69 765 */
jpayne@69 766 void
jpayne@69 767 xcb_sync_trigger_next (xcb_sync_trigger_iterator_t *i);
jpayne@69 768
jpayne@69 769 /**
jpayne@69 770 * Return the iterator pointing to the last element
jpayne@69 771 * @param i An xcb_sync_trigger_iterator_t
jpayne@69 772 * @return The iterator pointing to the last element
jpayne@69 773 *
jpayne@69 774 * Set the current element in the iterator to the last element.
jpayne@69 775 * The member rem is set to 0. The member data points to the
jpayne@69 776 * last element.
jpayne@69 777 */
jpayne@69 778 xcb_generic_iterator_t
jpayne@69 779 xcb_sync_trigger_end (xcb_sync_trigger_iterator_t i);
jpayne@69 780
jpayne@69 781 /**
jpayne@69 782 * Get the next element of the iterator
jpayne@69 783 * @param i Pointer to a xcb_sync_waitcondition_iterator_t
jpayne@69 784 *
jpayne@69 785 * Get the next element in the iterator. The member rem is
jpayne@69 786 * decreased by one. The member data points to the next
jpayne@69 787 * element. The member index is increased by sizeof(xcb_sync_waitcondition_t)
jpayne@69 788 */
jpayne@69 789 void
jpayne@69 790 xcb_sync_waitcondition_next (xcb_sync_waitcondition_iterator_t *i);
jpayne@69 791
jpayne@69 792 /**
jpayne@69 793 * Return the iterator pointing to the last element
jpayne@69 794 * @param i An xcb_sync_waitcondition_iterator_t
jpayne@69 795 * @return The iterator pointing to the last element
jpayne@69 796 *
jpayne@69 797 * Set the current element in the iterator to the last element.
jpayne@69 798 * The member rem is set to 0. The member data points to the
jpayne@69 799 * last element.
jpayne@69 800 */
jpayne@69 801 xcb_generic_iterator_t
jpayne@69 802 xcb_sync_waitcondition_end (xcb_sync_waitcondition_iterator_t i);
jpayne@69 803
jpayne@69 804 /**
jpayne@69 805 *
jpayne@69 806 * @param c The connection
jpayne@69 807 * @return A cookie
jpayne@69 808 *
jpayne@69 809 * Delivers a request to the X server.
jpayne@69 810 *
jpayne@69 811 */
jpayne@69 812 xcb_sync_initialize_cookie_t
jpayne@69 813 xcb_sync_initialize (xcb_connection_t *c,
jpayne@69 814 uint8_t desired_major_version,
jpayne@69 815 uint8_t desired_minor_version);
jpayne@69 816
jpayne@69 817 /**
jpayne@69 818 *
jpayne@69 819 * @param c The connection
jpayne@69 820 * @return A cookie
jpayne@69 821 *
jpayne@69 822 * Delivers a request to the X server.
jpayne@69 823 *
jpayne@69 824 * This form can be used only if the request will cause
jpayne@69 825 * a reply to be generated. Any returned error will be
jpayne@69 826 * placed in the event queue.
jpayne@69 827 */
jpayne@69 828 xcb_sync_initialize_cookie_t
jpayne@69 829 xcb_sync_initialize_unchecked (xcb_connection_t *c,
jpayne@69 830 uint8_t desired_major_version,
jpayne@69 831 uint8_t desired_minor_version);
jpayne@69 832
jpayne@69 833 /**
jpayne@69 834 * Return the reply
jpayne@69 835 * @param c The connection
jpayne@69 836 * @param cookie The cookie
jpayne@69 837 * @param e The xcb_generic_error_t supplied
jpayne@69 838 *
jpayne@69 839 * Returns the reply of the request asked by
jpayne@69 840 *
jpayne@69 841 * The parameter @p e supplied to this function must be NULL if
jpayne@69 842 * xcb_sync_initialize_unchecked(). is used.
jpayne@69 843 * Otherwise, it stores the error if any.
jpayne@69 844 *
jpayne@69 845 * The returned value must be freed by the caller using free().
jpayne@69 846 */
jpayne@69 847 xcb_sync_initialize_reply_t *
jpayne@69 848 xcb_sync_initialize_reply (xcb_connection_t *c,
jpayne@69 849 xcb_sync_initialize_cookie_t cookie /**< */,
jpayne@69 850 xcb_generic_error_t **e);
jpayne@69 851
jpayne@69 852 int
jpayne@69 853 xcb_sync_list_system_counters_sizeof (const void *_buffer);
jpayne@69 854
jpayne@69 855 /**
jpayne@69 856 *
jpayne@69 857 * @param c The connection
jpayne@69 858 * @return A cookie
jpayne@69 859 *
jpayne@69 860 * Delivers a request to the X server.
jpayne@69 861 *
jpayne@69 862 */
jpayne@69 863 xcb_sync_list_system_counters_cookie_t
jpayne@69 864 xcb_sync_list_system_counters (xcb_connection_t *c);
jpayne@69 865
jpayne@69 866 /**
jpayne@69 867 *
jpayne@69 868 * @param c The connection
jpayne@69 869 * @return A cookie
jpayne@69 870 *
jpayne@69 871 * Delivers a request to the X server.
jpayne@69 872 *
jpayne@69 873 * This form can be used only if the request will cause
jpayne@69 874 * a reply to be generated. Any returned error will be
jpayne@69 875 * placed in the event queue.
jpayne@69 876 */
jpayne@69 877 xcb_sync_list_system_counters_cookie_t
jpayne@69 878 xcb_sync_list_system_counters_unchecked (xcb_connection_t *c);
jpayne@69 879
jpayne@69 880 int
jpayne@69 881 xcb_sync_list_system_counters_counters_length (const xcb_sync_list_system_counters_reply_t *R);
jpayne@69 882
jpayne@69 883 xcb_sync_systemcounter_iterator_t
jpayne@69 884 xcb_sync_list_system_counters_counters_iterator (const xcb_sync_list_system_counters_reply_t *R);
jpayne@69 885
jpayne@69 886 /**
jpayne@69 887 * Return the reply
jpayne@69 888 * @param c The connection
jpayne@69 889 * @param cookie The cookie
jpayne@69 890 * @param e The xcb_generic_error_t supplied
jpayne@69 891 *
jpayne@69 892 * Returns the reply of the request asked by
jpayne@69 893 *
jpayne@69 894 * The parameter @p e supplied to this function must be NULL if
jpayne@69 895 * xcb_sync_list_system_counters_unchecked(). is used.
jpayne@69 896 * Otherwise, it stores the error if any.
jpayne@69 897 *
jpayne@69 898 * The returned value must be freed by the caller using free().
jpayne@69 899 */
jpayne@69 900 xcb_sync_list_system_counters_reply_t *
jpayne@69 901 xcb_sync_list_system_counters_reply (xcb_connection_t *c,
jpayne@69 902 xcb_sync_list_system_counters_cookie_t cookie /**< */,
jpayne@69 903 xcb_generic_error_t **e);
jpayne@69 904
jpayne@69 905 /**
jpayne@69 906 *
jpayne@69 907 * @param c The connection
jpayne@69 908 * @return A cookie
jpayne@69 909 *
jpayne@69 910 * Delivers a request to the X server.
jpayne@69 911 *
jpayne@69 912 * This form can be used only if the request will not cause
jpayne@69 913 * a reply to be generated. Any returned error will be
jpayne@69 914 * saved for handling by xcb_request_check().
jpayne@69 915 */
jpayne@69 916 xcb_void_cookie_t
jpayne@69 917 xcb_sync_create_counter_checked (xcb_connection_t *c,
jpayne@69 918 xcb_sync_counter_t id,
jpayne@69 919 xcb_sync_int64_t initial_value);
jpayne@69 920
jpayne@69 921 /**
jpayne@69 922 *
jpayne@69 923 * @param c The connection
jpayne@69 924 * @return A cookie
jpayne@69 925 *
jpayne@69 926 * Delivers a request to the X server.
jpayne@69 927 *
jpayne@69 928 */
jpayne@69 929 xcb_void_cookie_t
jpayne@69 930 xcb_sync_create_counter (xcb_connection_t *c,
jpayne@69 931 xcb_sync_counter_t id,
jpayne@69 932 xcb_sync_int64_t initial_value);
jpayne@69 933
jpayne@69 934 /**
jpayne@69 935 *
jpayne@69 936 * @param c The connection
jpayne@69 937 * @return A cookie
jpayne@69 938 *
jpayne@69 939 * Delivers a request to the X server.
jpayne@69 940 *
jpayne@69 941 * This form can be used only if the request will not cause
jpayne@69 942 * a reply to be generated. Any returned error will be
jpayne@69 943 * saved for handling by xcb_request_check().
jpayne@69 944 */
jpayne@69 945 xcb_void_cookie_t
jpayne@69 946 xcb_sync_destroy_counter_checked (xcb_connection_t *c,
jpayne@69 947 xcb_sync_counter_t counter);
jpayne@69 948
jpayne@69 949 /**
jpayne@69 950 *
jpayne@69 951 * @param c The connection
jpayne@69 952 * @return A cookie
jpayne@69 953 *
jpayne@69 954 * Delivers a request to the X server.
jpayne@69 955 *
jpayne@69 956 */
jpayne@69 957 xcb_void_cookie_t
jpayne@69 958 xcb_sync_destroy_counter (xcb_connection_t *c,
jpayne@69 959 xcb_sync_counter_t counter);
jpayne@69 960
jpayne@69 961 /**
jpayne@69 962 *
jpayne@69 963 * @param c The connection
jpayne@69 964 * @return A cookie
jpayne@69 965 *
jpayne@69 966 * Delivers a request to the X server.
jpayne@69 967 *
jpayne@69 968 */
jpayne@69 969 xcb_sync_query_counter_cookie_t
jpayne@69 970 xcb_sync_query_counter (xcb_connection_t *c,
jpayne@69 971 xcb_sync_counter_t counter);
jpayne@69 972
jpayne@69 973 /**
jpayne@69 974 *
jpayne@69 975 * @param c The connection
jpayne@69 976 * @return A cookie
jpayne@69 977 *
jpayne@69 978 * Delivers a request to the X server.
jpayne@69 979 *
jpayne@69 980 * This form can be used only if the request will cause
jpayne@69 981 * a reply to be generated. Any returned error will be
jpayne@69 982 * placed in the event queue.
jpayne@69 983 */
jpayne@69 984 xcb_sync_query_counter_cookie_t
jpayne@69 985 xcb_sync_query_counter_unchecked (xcb_connection_t *c,
jpayne@69 986 xcb_sync_counter_t counter);
jpayne@69 987
jpayne@69 988 /**
jpayne@69 989 * Return the reply
jpayne@69 990 * @param c The connection
jpayne@69 991 * @param cookie The cookie
jpayne@69 992 * @param e The xcb_generic_error_t supplied
jpayne@69 993 *
jpayne@69 994 * Returns the reply of the request asked by
jpayne@69 995 *
jpayne@69 996 * The parameter @p e supplied to this function must be NULL if
jpayne@69 997 * xcb_sync_query_counter_unchecked(). is used.
jpayne@69 998 * Otherwise, it stores the error if any.
jpayne@69 999 *
jpayne@69 1000 * The returned value must be freed by the caller using free().
jpayne@69 1001 */
jpayne@69 1002 xcb_sync_query_counter_reply_t *
jpayne@69 1003 xcb_sync_query_counter_reply (xcb_connection_t *c,
jpayne@69 1004 xcb_sync_query_counter_cookie_t cookie /**< */,
jpayne@69 1005 xcb_generic_error_t **e);
jpayne@69 1006
jpayne@69 1007 int
jpayne@69 1008 xcb_sync_await_sizeof (const void *_buffer,
jpayne@69 1009 uint32_t wait_list_len);
jpayne@69 1010
jpayne@69 1011 /**
jpayne@69 1012 *
jpayne@69 1013 * @param c The connection
jpayne@69 1014 * @return A cookie
jpayne@69 1015 *
jpayne@69 1016 * Delivers a request to the X server.
jpayne@69 1017 *
jpayne@69 1018 * This form can be used only if the request will not cause
jpayne@69 1019 * a reply to be generated. Any returned error will be
jpayne@69 1020 * saved for handling by xcb_request_check().
jpayne@69 1021 */
jpayne@69 1022 xcb_void_cookie_t
jpayne@69 1023 xcb_sync_await_checked (xcb_connection_t *c,
jpayne@69 1024 uint32_t wait_list_len,
jpayne@69 1025 const xcb_sync_waitcondition_t *wait_list);
jpayne@69 1026
jpayne@69 1027 /**
jpayne@69 1028 *
jpayne@69 1029 * @param c The connection
jpayne@69 1030 * @return A cookie
jpayne@69 1031 *
jpayne@69 1032 * Delivers a request to the X server.
jpayne@69 1033 *
jpayne@69 1034 */
jpayne@69 1035 xcb_void_cookie_t
jpayne@69 1036 xcb_sync_await (xcb_connection_t *c,
jpayne@69 1037 uint32_t wait_list_len,
jpayne@69 1038 const xcb_sync_waitcondition_t *wait_list);
jpayne@69 1039
jpayne@69 1040 xcb_sync_waitcondition_t *
jpayne@69 1041 xcb_sync_await_wait_list (const xcb_sync_await_request_t *R);
jpayne@69 1042
jpayne@69 1043 int
jpayne@69 1044 xcb_sync_await_wait_list_length (const xcb_sync_await_request_t *R);
jpayne@69 1045
jpayne@69 1046 xcb_sync_waitcondition_iterator_t
jpayne@69 1047 xcb_sync_await_wait_list_iterator (const xcb_sync_await_request_t *R);
jpayne@69 1048
jpayne@69 1049 /**
jpayne@69 1050 *
jpayne@69 1051 * @param c The connection
jpayne@69 1052 * @return A cookie
jpayne@69 1053 *
jpayne@69 1054 * Delivers a request to the X server.
jpayne@69 1055 *
jpayne@69 1056 * This form can be used only if the request will not cause
jpayne@69 1057 * a reply to be generated. Any returned error will be
jpayne@69 1058 * saved for handling by xcb_request_check().
jpayne@69 1059 */
jpayne@69 1060 xcb_void_cookie_t
jpayne@69 1061 xcb_sync_change_counter_checked (xcb_connection_t *c,
jpayne@69 1062 xcb_sync_counter_t counter,
jpayne@69 1063 xcb_sync_int64_t amount);
jpayne@69 1064
jpayne@69 1065 /**
jpayne@69 1066 *
jpayne@69 1067 * @param c The connection
jpayne@69 1068 * @return A cookie
jpayne@69 1069 *
jpayne@69 1070 * Delivers a request to the X server.
jpayne@69 1071 *
jpayne@69 1072 */
jpayne@69 1073 xcb_void_cookie_t
jpayne@69 1074 xcb_sync_change_counter (xcb_connection_t *c,
jpayne@69 1075 xcb_sync_counter_t counter,
jpayne@69 1076 xcb_sync_int64_t amount);
jpayne@69 1077
jpayne@69 1078 /**
jpayne@69 1079 *
jpayne@69 1080 * @param c The connection
jpayne@69 1081 * @return A cookie
jpayne@69 1082 *
jpayne@69 1083 * Delivers a request to the X server.
jpayne@69 1084 *
jpayne@69 1085 * This form can be used only if the request will not cause
jpayne@69 1086 * a reply to be generated. Any returned error will be
jpayne@69 1087 * saved for handling by xcb_request_check().
jpayne@69 1088 */
jpayne@69 1089 xcb_void_cookie_t
jpayne@69 1090 xcb_sync_set_counter_checked (xcb_connection_t *c,
jpayne@69 1091 xcb_sync_counter_t counter,
jpayne@69 1092 xcb_sync_int64_t value);
jpayne@69 1093
jpayne@69 1094 /**
jpayne@69 1095 *
jpayne@69 1096 * @param c The connection
jpayne@69 1097 * @return A cookie
jpayne@69 1098 *
jpayne@69 1099 * Delivers a request to the X server.
jpayne@69 1100 *
jpayne@69 1101 */
jpayne@69 1102 xcb_void_cookie_t
jpayne@69 1103 xcb_sync_set_counter (xcb_connection_t *c,
jpayne@69 1104 xcb_sync_counter_t counter,
jpayne@69 1105 xcb_sync_int64_t value);
jpayne@69 1106
jpayne@69 1107 int
jpayne@69 1108 xcb_sync_create_alarm_value_list_serialize (void **_buffer,
jpayne@69 1109 uint32_t value_mask,
jpayne@69 1110 const xcb_sync_create_alarm_value_list_t *_aux);
jpayne@69 1111
jpayne@69 1112 int
jpayne@69 1113 xcb_sync_create_alarm_value_list_unpack (const void *_buffer,
jpayne@69 1114 uint32_t value_mask,
jpayne@69 1115 xcb_sync_create_alarm_value_list_t *_aux);
jpayne@69 1116
jpayne@69 1117 int
jpayne@69 1118 xcb_sync_create_alarm_value_list_sizeof (const void *_buffer,
jpayne@69 1119 uint32_t value_mask);
jpayne@69 1120
jpayne@69 1121 int
jpayne@69 1122 xcb_sync_create_alarm_sizeof (const void *_buffer);
jpayne@69 1123
jpayne@69 1124 /**
jpayne@69 1125 *
jpayne@69 1126 * @param c The connection
jpayne@69 1127 * @return A cookie
jpayne@69 1128 *
jpayne@69 1129 * Delivers a request to the X server.
jpayne@69 1130 *
jpayne@69 1131 * This form can be used only if the request will not cause
jpayne@69 1132 * a reply to be generated. Any returned error will be
jpayne@69 1133 * saved for handling by xcb_request_check().
jpayne@69 1134 */
jpayne@69 1135 xcb_void_cookie_t
jpayne@69 1136 xcb_sync_create_alarm_checked (xcb_connection_t *c,
jpayne@69 1137 xcb_sync_alarm_t id,
jpayne@69 1138 uint32_t value_mask,
jpayne@69 1139 const void *value_list);
jpayne@69 1140
jpayne@69 1141 /**
jpayne@69 1142 *
jpayne@69 1143 * @param c The connection
jpayne@69 1144 * @return A cookie
jpayne@69 1145 *
jpayne@69 1146 * Delivers a request to the X server.
jpayne@69 1147 *
jpayne@69 1148 */
jpayne@69 1149 xcb_void_cookie_t
jpayne@69 1150 xcb_sync_create_alarm (xcb_connection_t *c,
jpayne@69 1151 xcb_sync_alarm_t id,
jpayne@69 1152 uint32_t value_mask,
jpayne@69 1153 const void *value_list);
jpayne@69 1154
jpayne@69 1155 /**
jpayne@69 1156 *
jpayne@69 1157 * @param c The connection
jpayne@69 1158 * @return A cookie
jpayne@69 1159 *
jpayne@69 1160 * Delivers a request to the X server.
jpayne@69 1161 *
jpayne@69 1162 * This form can be used only if the request will not cause
jpayne@69 1163 * a reply to be generated. Any returned error will be
jpayne@69 1164 * saved for handling by xcb_request_check().
jpayne@69 1165 */
jpayne@69 1166 xcb_void_cookie_t
jpayne@69 1167 xcb_sync_create_alarm_aux_checked (xcb_connection_t *c,
jpayne@69 1168 xcb_sync_alarm_t id,
jpayne@69 1169 uint32_t value_mask,
jpayne@69 1170 const xcb_sync_create_alarm_value_list_t *value_list);
jpayne@69 1171
jpayne@69 1172 /**
jpayne@69 1173 *
jpayne@69 1174 * @param c The connection
jpayne@69 1175 * @return A cookie
jpayne@69 1176 *
jpayne@69 1177 * Delivers a request to the X server.
jpayne@69 1178 *
jpayne@69 1179 */
jpayne@69 1180 xcb_void_cookie_t
jpayne@69 1181 xcb_sync_create_alarm_aux (xcb_connection_t *c,
jpayne@69 1182 xcb_sync_alarm_t id,
jpayne@69 1183 uint32_t value_mask,
jpayne@69 1184 const xcb_sync_create_alarm_value_list_t *value_list);
jpayne@69 1185
jpayne@69 1186 void *
jpayne@69 1187 xcb_sync_create_alarm_value_list (const xcb_sync_create_alarm_request_t *R);
jpayne@69 1188
jpayne@69 1189 int
jpayne@69 1190 xcb_sync_change_alarm_value_list_serialize (void **_buffer,
jpayne@69 1191 uint32_t value_mask,
jpayne@69 1192 const xcb_sync_change_alarm_value_list_t *_aux);
jpayne@69 1193
jpayne@69 1194 int
jpayne@69 1195 xcb_sync_change_alarm_value_list_unpack (const void *_buffer,
jpayne@69 1196 uint32_t value_mask,
jpayne@69 1197 xcb_sync_change_alarm_value_list_t *_aux);
jpayne@69 1198
jpayne@69 1199 int
jpayne@69 1200 xcb_sync_change_alarm_value_list_sizeof (const void *_buffer,
jpayne@69 1201 uint32_t value_mask);
jpayne@69 1202
jpayne@69 1203 int
jpayne@69 1204 xcb_sync_change_alarm_sizeof (const void *_buffer);
jpayne@69 1205
jpayne@69 1206 /**
jpayne@69 1207 *
jpayne@69 1208 * @param c The connection
jpayne@69 1209 * @return A cookie
jpayne@69 1210 *
jpayne@69 1211 * Delivers a request to the X server.
jpayne@69 1212 *
jpayne@69 1213 * This form can be used only if the request will not cause
jpayne@69 1214 * a reply to be generated. Any returned error will be
jpayne@69 1215 * saved for handling by xcb_request_check().
jpayne@69 1216 */
jpayne@69 1217 xcb_void_cookie_t
jpayne@69 1218 xcb_sync_change_alarm_checked (xcb_connection_t *c,
jpayne@69 1219 xcb_sync_alarm_t id,
jpayne@69 1220 uint32_t value_mask,
jpayne@69 1221 const void *value_list);
jpayne@69 1222
jpayne@69 1223 /**
jpayne@69 1224 *
jpayne@69 1225 * @param c The connection
jpayne@69 1226 * @return A cookie
jpayne@69 1227 *
jpayne@69 1228 * Delivers a request to the X server.
jpayne@69 1229 *
jpayne@69 1230 */
jpayne@69 1231 xcb_void_cookie_t
jpayne@69 1232 xcb_sync_change_alarm (xcb_connection_t *c,
jpayne@69 1233 xcb_sync_alarm_t id,
jpayne@69 1234 uint32_t value_mask,
jpayne@69 1235 const void *value_list);
jpayne@69 1236
jpayne@69 1237 /**
jpayne@69 1238 *
jpayne@69 1239 * @param c The connection
jpayne@69 1240 * @return A cookie
jpayne@69 1241 *
jpayne@69 1242 * Delivers a request to the X server.
jpayne@69 1243 *
jpayne@69 1244 * This form can be used only if the request will not cause
jpayne@69 1245 * a reply to be generated. Any returned error will be
jpayne@69 1246 * saved for handling by xcb_request_check().
jpayne@69 1247 */
jpayne@69 1248 xcb_void_cookie_t
jpayne@69 1249 xcb_sync_change_alarm_aux_checked (xcb_connection_t *c,
jpayne@69 1250 xcb_sync_alarm_t id,
jpayne@69 1251 uint32_t value_mask,
jpayne@69 1252 const xcb_sync_change_alarm_value_list_t *value_list);
jpayne@69 1253
jpayne@69 1254 /**
jpayne@69 1255 *
jpayne@69 1256 * @param c The connection
jpayne@69 1257 * @return A cookie
jpayne@69 1258 *
jpayne@69 1259 * Delivers a request to the X server.
jpayne@69 1260 *
jpayne@69 1261 */
jpayne@69 1262 xcb_void_cookie_t
jpayne@69 1263 xcb_sync_change_alarm_aux (xcb_connection_t *c,
jpayne@69 1264 xcb_sync_alarm_t id,
jpayne@69 1265 uint32_t value_mask,
jpayne@69 1266 const xcb_sync_change_alarm_value_list_t *value_list);
jpayne@69 1267
jpayne@69 1268 void *
jpayne@69 1269 xcb_sync_change_alarm_value_list (const xcb_sync_change_alarm_request_t *R);
jpayne@69 1270
jpayne@69 1271 /**
jpayne@69 1272 *
jpayne@69 1273 * @param c The connection
jpayne@69 1274 * @return A cookie
jpayne@69 1275 *
jpayne@69 1276 * Delivers a request to the X server.
jpayne@69 1277 *
jpayne@69 1278 * This form can be used only if the request will not cause
jpayne@69 1279 * a reply to be generated. Any returned error will be
jpayne@69 1280 * saved for handling by xcb_request_check().
jpayne@69 1281 */
jpayne@69 1282 xcb_void_cookie_t
jpayne@69 1283 xcb_sync_destroy_alarm_checked (xcb_connection_t *c,
jpayne@69 1284 xcb_sync_alarm_t alarm);
jpayne@69 1285
jpayne@69 1286 /**
jpayne@69 1287 *
jpayne@69 1288 * @param c The connection
jpayne@69 1289 * @return A cookie
jpayne@69 1290 *
jpayne@69 1291 * Delivers a request to the X server.
jpayne@69 1292 *
jpayne@69 1293 */
jpayne@69 1294 xcb_void_cookie_t
jpayne@69 1295 xcb_sync_destroy_alarm (xcb_connection_t *c,
jpayne@69 1296 xcb_sync_alarm_t alarm);
jpayne@69 1297
jpayne@69 1298 /**
jpayne@69 1299 *
jpayne@69 1300 * @param c The connection
jpayne@69 1301 * @return A cookie
jpayne@69 1302 *
jpayne@69 1303 * Delivers a request to the X server.
jpayne@69 1304 *
jpayne@69 1305 */
jpayne@69 1306 xcb_sync_query_alarm_cookie_t
jpayne@69 1307 xcb_sync_query_alarm (xcb_connection_t *c,
jpayne@69 1308 xcb_sync_alarm_t alarm);
jpayne@69 1309
jpayne@69 1310 /**
jpayne@69 1311 *
jpayne@69 1312 * @param c The connection
jpayne@69 1313 * @return A cookie
jpayne@69 1314 *
jpayne@69 1315 * Delivers a request to the X server.
jpayne@69 1316 *
jpayne@69 1317 * This form can be used only if the request will cause
jpayne@69 1318 * a reply to be generated. Any returned error will be
jpayne@69 1319 * placed in the event queue.
jpayne@69 1320 */
jpayne@69 1321 xcb_sync_query_alarm_cookie_t
jpayne@69 1322 xcb_sync_query_alarm_unchecked (xcb_connection_t *c,
jpayne@69 1323 xcb_sync_alarm_t alarm);
jpayne@69 1324
jpayne@69 1325 /**
jpayne@69 1326 * Return the reply
jpayne@69 1327 * @param c The connection
jpayne@69 1328 * @param cookie The cookie
jpayne@69 1329 * @param e The xcb_generic_error_t supplied
jpayne@69 1330 *
jpayne@69 1331 * Returns the reply of the request asked by
jpayne@69 1332 *
jpayne@69 1333 * The parameter @p e supplied to this function must be NULL if
jpayne@69 1334 * xcb_sync_query_alarm_unchecked(). is used.
jpayne@69 1335 * Otherwise, it stores the error if any.
jpayne@69 1336 *
jpayne@69 1337 * The returned value must be freed by the caller using free().
jpayne@69 1338 */
jpayne@69 1339 xcb_sync_query_alarm_reply_t *
jpayne@69 1340 xcb_sync_query_alarm_reply (xcb_connection_t *c,
jpayne@69 1341 xcb_sync_query_alarm_cookie_t cookie /**< */,
jpayne@69 1342 xcb_generic_error_t **e);
jpayne@69 1343
jpayne@69 1344 /**
jpayne@69 1345 *
jpayne@69 1346 * @param c The connection
jpayne@69 1347 * @return A cookie
jpayne@69 1348 *
jpayne@69 1349 * Delivers a request to the X server.
jpayne@69 1350 *
jpayne@69 1351 * This form can be used only if the request will not cause
jpayne@69 1352 * a reply to be generated. Any returned error will be
jpayne@69 1353 * saved for handling by xcb_request_check().
jpayne@69 1354 */
jpayne@69 1355 xcb_void_cookie_t
jpayne@69 1356 xcb_sync_set_priority_checked (xcb_connection_t *c,
jpayne@69 1357 uint32_t id,
jpayne@69 1358 int32_t priority);
jpayne@69 1359
jpayne@69 1360 /**
jpayne@69 1361 *
jpayne@69 1362 * @param c The connection
jpayne@69 1363 * @return A cookie
jpayne@69 1364 *
jpayne@69 1365 * Delivers a request to the X server.
jpayne@69 1366 *
jpayne@69 1367 */
jpayne@69 1368 xcb_void_cookie_t
jpayne@69 1369 xcb_sync_set_priority (xcb_connection_t *c,
jpayne@69 1370 uint32_t id,
jpayne@69 1371 int32_t priority);
jpayne@69 1372
jpayne@69 1373 /**
jpayne@69 1374 *
jpayne@69 1375 * @param c The connection
jpayne@69 1376 * @return A cookie
jpayne@69 1377 *
jpayne@69 1378 * Delivers a request to the X server.
jpayne@69 1379 *
jpayne@69 1380 */
jpayne@69 1381 xcb_sync_get_priority_cookie_t
jpayne@69 1382 xcb_sync_get_priority (xcb_connection_t *c,
jpayne@69 1383 uint32_t id);
jpayne@69 1384
jpayne@69 1385 /**
jpayne@69 1386 *
jpayne@69 1387 * @param c The connection
jpayne@69 1388 * @return A cookie
jpayne@69 1389 *
jpayne@69 1390 * Delivers a request to the X server.
jpayne@69 1391 *
jpayne@69 1392 * This form can be used only if the request will cause
jpayne@69 1393 * a reply to be generated. Any returned error will be
jpayne@69 1394 * placed in the event queue.
jpayne@69 1395 */
jpayne@69 1396 xcb_sync_get_priority_cookie_t
jpayne@69 1397 xcb_sync_get_priority_unchecked (xcb_connection_t *c,
jpayne@69 1398 uint32_t id);
jpayne@69 1399
jpayne@69 1400 /**
jpayne@69 1401 * Return the reply
jpayne@69 1402 * @param c The connection
jpayne@69 1403 * @param cookie The cookie
jpayne@69 1404 * @param e The xcb_generic_error_t supplied
jpayne@69 1405 *
jpayne@69 1406 * Returns the reply of the request asked by
jpayne@69 1407 *
jpayne@69 1408 * The parameter @p e supplied to this function must be NULL if
jpayne@69 1409 * xcb_sync_get_priority_unchecked(). is used.
jpayne@69 1410 * Otherwise, it stores the error if any.
jpayne@69 1411 *
jpayne@69 1412 * The returned value must be freed by the caller using free().
jpayne@69 1413 */
jpayne@69 1414 xcb_sync_get_priority_reply_t *
jpayne@69 1415 xcb_sync_get_priority_reply (xcb_connection_t *c,
jpayne@69 1416 xcb_sync_get_priority_cookie_t cookie /**< */,
jpayne@69 1417 xcb_generic_error_t **e);
jpayne@69 1418
jpayne@69 1419 /**
jpayne@69 1420 *
jpayne@69 1421 * @param c The connection
jpayne@69 1422 * @return A cookie
jpayne@69 1423 *
jpayne@69 1424 * Delivers a request to the X server.
jpayne@69 1425 *
jpayne@69 1426 * This form can be used only if the request will not cause
jpayne@69 1427 * a reply to be generated. Any returned error will be
jpayne@69 1428 * saved for handling by xcb_request_check().
jpayne@69 1429 */
jpayne@69 1430 xcb_void_cookie_t
jpayne@69 1431 xcb_sync_create_fence_checked (xcb_connection_t *c,
jpayne@69 1432 xcb_drawable_t drawable,
jpayne@69 1433 xcb_sync_fence_t fence,
jpayne@69 1434 uint8_t initially_triggered);
jpayne@69 1435
jpayne@69 1436 /**
jpayne@69 1437 *
jpayne@69 1438 * @param c The connection
jpayne@69 1439 * @return A cookie
jpayne@69 1440 *
jpayne@69 1441 * Delivers a request to the X server.
jpayne@69 1442 *
jpayne@69 1443 */
jpayne@69 1444 xcb_void_cookie_t
jpayne@69 1445 xcb_sync_create_fence (xcb_connection_t *c,
jpayne@69 1446 xcb_drawable_t drawable,
jpayne@69 1447 xcb_sync_fence_t fence,
jpayne@69 1448 uint8_t initially_triggered);
jpayne@69 1449
jpayne@69 1450 /**
jpayne@69 1451 *
jpayne@69 1452 * @param c The connection
jpayne@69 1453 * @return A cookie
jpayne@69 1454 *
jpayne@69 1455 * Delivers a request to the X server.
jpayne@69 1456 *
jpayne@69 1457 * This form can be used only if the request will not cause
jpayne@69 1458 * a reply to be generated. Any returned error will be
jpayne@69 1459 * saved for handling by xcb_request_check().
jpayne@69 1460 */
jpayne@69 1461 xcb_void_cookie_t
jpayne@69 1462 xcb_sync_trigger_fence_checked (xcb_connection_t *c,
jpayne@69 1463 xcb_sync_fence_t fence);
jpayne@69 1464
jpayne@69 1465 /**
jpayne@69 1466 *
jpayne@69 1467 * @param c The connection
jpayne@69 1468 * @return A cookie
jpayne@69 1469 *
jpayne@69 1470 * Delivers a request to the X server.
jpayne@69 1471 *
jpayne@69 1472 */
jpayne@69 1473 xcb_void_cookie_t
jpayne@69 1474 xcb_sync_trigger_fence (xcb_connection_t *c,
jpayne@69 1475 xcb_sync_fence_t fence);
jpayne@69 1476
jpayne@69 1477 /**
jpayne@69 1478 *
jpayne@69 1479 * @param c The connection
jpayne@69 1480 * @return A cookie
jpayne@69 1481 *
jpayne@69 1482 * Delivers a request to the X server.
jpayne@69 1483 *
jpayne@69 1484 * This form can be used only if the request will not cause
jpayne@69 1485 * a reply to be generated. Any returned error will be
jpayne@69 1486 * saved for handling by xcb_request_check().
jpayne@69 1487 */
jpayne@69 1488 xcb_void_cookie_t
jpayne@69 1489 xcb_sync_reset_fence_checked (xcb_connection_t *c,
jpayne@69 1490 xcb_sync_fence_t fence);
jpayne@69 1491
jpayne@69 1492 /**
jpayne@69 1493 *
jpayne@69 1494 * @param c The connection
jpayne@69 1495 * @return A cookie
jpayne@69 1496 *
jpayne@69 1497 * Delivers a request to the X server.
jpayne@69 1498 *
jpayne@69 1499 */
jpayne@69 1500 xcb_void_cookie_t
jpayne@69 1501 xcb_sync_reset_fence (xcb_connection_t *c,
jpayne@69 1502 xcb_sync_fence_t fence);
jpayne@69 1503
jpayne@69 1504 /**
jpayne@69 1505 *
jpayne@69 1506 * @param c The connection
jpayne@69 1507 * @return A cookie
jpayne@69 1508 *
jpayne@69 1509 * Delivers a request to the X server.
jpayne@69 1510 *
jpayne@69 1511 * This form can be used only if the request will not cause
jpayne@69 1512 * a reply to be generated. Any returned error will be
jpayne@69 1513 * saved for handling by xcb_request_check().
jpayne@69 1514 */
jpayne@69 1515 xcb_void_cookie_t
jpayne@69 1516 xcb_sync_destroy_fence_checked (xcb_connection_t *c,
jpayne@69 1517 xcb_sync_fence_t fence);
jpayne@69 1518
jpayne@69 1519 /**
jpayne@69 1520 *
jpayne@69 1521 * @param c The connection
jpayne@69 1522 * @return A cookie
jpayne@69 1523 *
jpayne@69 1524 * Delivers a request to the X server.
jpayne@69 1525 *
jpayne@69 1526 */
jpayne@69 1527 xcb_void_cookie_t
jpayne@69 1528 xcb_sync_destroy_fence (xcb_connection_t *c,
jpayne@69 1529 xcb_sync_fence_t fence);
jpayne@69 1530
jpayne@69 1531 /**
jpayne@69 1532 *
jpayne@69 1533 * @param c The connection
jpayne@69 1534 * @return A cookie
jpayne@69 1535 *
jpayne@69 1536 * Delivers a request to the X server.
jpayne@69 1537 *
jpayne@69 1538 */
jpayne@69 1539 xcb_sync_query_fence_cookie_t
jpayne@69 1540 xcb_sync_query_fence (xcb_connection_t *c,
jpayne@69 1541 xcb_sync_fence_t fence);
jpayne@69 1542
jpayne@69 1543 /**
jpayne@69 1544 *
jpayne@69 1545 * @param c The connection
jpayne@69 1546 * @return A cookie
jpayne@69 1547 *
jpayne@69 1548 * Delivers a request to the X server.
jpayne@69 1549 *
jpayne@69 1550 * This form can be used only if the request will cause
jpayne@69 1551 * a reply to be generated. Any returned error will be
jpayne@69 1552 * placed in the event queue.
jpayne@69 1553 */
jpayne@69 1554 xcb_sync_query_fence_cookie_t
jpayne@69 1555 xcb_sync_query_fence_unchecked (xcb_connection_t *c,
jpayne@69 1556 xcb_sync_fence_t fence);
jpayne@69 1557
jpayne@69 1558 /**
jpayne@69 1559 * Return the reply
jpayne@69 1560 * @param c The connection
jpayne@69 1561 * @param cookie The cookie
jpayne@69 1562 * @param e The xcb_generic_error_t supplied
jpayne@69 1563 *
jpayne@69 1564 * Returns the reply of the request asked by
jpayne@69 1565 *
jpayne@69 1566 * The parameter @p e supplied to this function must be NULL if
jpayne@69 1567 * xcb_sync_query_fence_unchecked(). is used.
jpayne@69 1568 * Otherwise, it stores the error if any.
jpayne@69 1569 *
jpayne@69 1570 * The returned value must be freed by the caller using free().
jpayne@69 1571 */
jpayne@69 1572 xcb_sync_query_fence_reply_t *
jpayne@69 1573 xcb_sync_query_fence_reply (xcb_connection_t *c,
jpayne@69 1574 xcb_sync_query_fence_cookie_t cookie /**< */,
jpayne@69 1575 xcb_generic_error_t **e);
jpayne@69 1576
jpayne@69 1577 int
jpayne@69 1578 xcb_sync_await_fence_sizeof (const void *_buffer,
jpayne@69 1579 uint32_t fence_list_len);
jpayne@69 1580
jpayne@69 1581 /**
jpayne@69 1582 *
jpayne@69 1583 * @param c The connection
jpayne@69 1584 * @return A cookie
jpayne@69 1585 *
jpayne@69 1586 * Delivers a request to the X server.
jpayne@69 1587 *
jpayne@69 1588 * This form can be used only if the request will not cause
jpayne@69 1589 * a reply to be generated. Any returned error will be
jpayne@69 1590 * saved for handling by xcb_request_check().
jpayne@69 1591 */
jpayne@69 1592 xcb_void_cookie_t
jpayne@69 1593 xcb_sync_await_fence_checked (xcb_connection_t *c,
jpayne@69 1594 uint32_t fence_list_len,
jpayne@69 1595 const xcb_sync_fence_t *fence_list);
jpayne@69 1596
jpayne@69 1597 /**
jpayne@69 1598 *
jpayne@69 1599 * @param c The connection
jpayne@69 1600 * @return A cookie
jpayne@69 1601 *
jpayne@69 1602 * Delivers a request to the X server.
jpayne@69 1603 *
jpayne@69 1604 */
jpayne@69 1605 xcb_void_cookie_t
jpayne@69 1606 xcb_sync_await_fence (xcb_connection_t *c,
jpayne@69 1607 uint32_t fence_list_len,
jpayne@69 1608 const xcb_sync_fence_t *fence_list);
jpayne@69 1609
jpayne@69 1610 xcb_sync_fence_t *
jpayne@69 1611 xcb_sync_await_fence_fence_list (const xcb_sync_await_fence_request_t *R);
jpayne@69 1612
jpayne@69 1613 int
jpayne@69 1614 xcb_sync_await_fence_fence_list_length (const xcb_sync_await_fence_request_t *R);
jpayne@69 1615
jpayne@69 1616 xcb_generic_iterator_t
jpayne@69 1617 xcb_sync_await_fence_fence_list_end (const xcb_sync_await_fence_request_t *R);
jpayne@69 1618
jpayne@69 1619
jpayne@69 1620 #ifdef __cplusplus
jpayne@69 1621 }
jpayne@69 1622 #endif
jpayne@69 1623
jpayne@69 1624 #endif
jpayne@69 1625
jpayne@69 1626 /**
jpayne@69 1627 * @}
jpayne@69 1628 */