Xxcbint.h revision 88de56cc
1/* Copyright (C) 2003-2006 Jamey Sharp, Josh Triplett 2 * This file is licensed under the MIT license. See the file COPYING. */ 3 4#ifndef XXCBINT_H 5#define XXCBINT_H 6 7#include <assert.h> 8#include <stdint.h> 9#include <X11/Xlibint.h> 10#include <X11/Xlib-xcb.h> 11#include "locking.h" 12 13#define XLIB_SEQUENCE_COMPARE(a,op,b) (((long) (a) - (long) (b)) op 0) 14 15typedef struct PendingRequest PendingRequest; 16struct PendingRequest { 17 PendingRequest *next; 18 unsigned long sequence; 19 unsigned reply_waiter; 20}; 21 22typedef struct _X11XCBPrivate { 23 xcb_connection_t *connection; 24 PendingRequest *pending_requests; 25 PendingRequest *pending_requests_tail; 26 xcb_generic_event_t *next_event; 27 char *real_bufmax; 28 char *reply_data; 29 int reply_length; 30 int reply_consumed; 31 uint64_t last_flushed; 32 enum XEventQueueOwner event_owner; 33 XID next_xid; 34 35 /* handle simultaneous threads waiting for responses */ 36 xcondition_t event_notify; 37 int event_waiter; 38 xcondition_t reply_notify; 39} _X11XCBPrivate; 40 41/* xcb_disp.c */ 42 43int _XConnectXCB(Display *dpy, _Xconst char *display, char **fullnamep, int *screenp); 44void _XFreeX11XCBStructure(Display *dpy); 45 46#endif /* XXCBINT_H */ 47