37#ifdef GCC_HAS_VISIBILITY
38#pragma GCC visibility push(hidden)
41#ifndef __has_attribute
42# define __has_attribute(x) 0
45#if __has_attribute(fallthrough)
46# define XCB_ALLOW_FALLTHRU __attribute__ ((fallthrough));
48# define XCB_ALLOW_FALLTHRU
53 WORKAROUND_GLX_GET_FB_CONFIGS_BUG,
54 WORKAROUND_EXTERNAL_SOCKET_OWNER
64#define XCB_PAD(i) (-(i) & 3)
66#define XCB_SEQUENCE_COMPARE(a,op,b) ((int64_t) ((a) - (b)) op 0)
69#define offsetof(type,member) ((size_t) &((type *)0)->member)
73#define MIN(x,y) ((x) < (y) ? (x) : (y))
76#define container_of(pointer,type,member) ((type *)(((char *)(pointer)) - offsetof(type, member)))
80typedef void (*xcb_list_free_func_t)(
void *);
85void _xcb_map_delete(
_xcb_map *q, xcb_list_free_func_t do_free);
86int _xcb_map_put(
_xcb_map *q, uint64_t key,
void *data);
87void *_xcb_map_remove(
_xcb_map *q, uint64_t key);
93#define XCB_MAX_PASS_FD 16
95typedef struct _xcb_fd {
96 int fd[XCB_MAX_PASS_FD];
106 pthread_cond_t socket_cond;
107 void (*return_socket)(
void *closure);
108 void *socket_closure;
111 char queue[XCB_QUEUE_BUFFER_SIZE];
115 uint64_t request_written;
116 uint64_t request_expected_written;
117 uint64_t total_written;
119 pthread_mutex_t reqlenlock;
120 enum lazy_reply_tag maximum_request_length_tag;
124 } maximum_request_length;
131void _xcb_out_destroy(
_xcb_out *out);
141 pthread_cond_t event_cond;
147 uint64_t request_expected;
148 uint64_t request_read;
149 uint64_t request_completed;
169void _xcb_in_destroy(
_xcb_in *in);
173int _xcb_in_expect_reply(
xcb_connection_t *c, uint64_t request,
enum workarounds workaround,
int flags);
183 pthread_mutex_t lock;
197 pthread_mutex_t lock;
217 pthread_mutex_t iolock;
237#ifdef GCC_HAS_VISIBILITY
238#pragma GCC visibility pop
Definition xcb_windefs.h:38
Container for authorization information.
Definition xcb.h:232
xcb_big_requests_enable_cookie_t
Definition bigreq.h:29
xcb_setup_t
Definition xproto.h:475