aboutsummaryrefslogtreecommitdiff
path: root/libX11/src/Xxcbint.h
diff options
context:
space:
mode:
Diffstat (limited to 'libX11/src/Xxcbint.h')
-rw-r--r--libX11/src/Xxcbint.h34
1 files changed, 12 insertions, 22 deletions
diff --git a/libX11/src/Xxcbint.h b/libX11/src/Xxcbint.h
index cc73749aa..f6afa1834 100644
--- a/libX11/src/Xxcbint.h
+++ b/libX11/src/Xxcbint.h
@@ -5,36 +5,37 @@
#define XXCBINT_H
#include <assert.h>
+#include <stdint.h>
#include <X11/Xlibint.h>
#include <X11/Xlib-xcb.h>
-#include "locking.h" /* really just want X11/Xthreads.h but can't have it. */
+#include "locking.h"
-#define XCB_SEQUENCE_COMPARE(a,op,b) ((int) ((a) - (b)) op 0)
-#define assert_sequence_less(a,b) assert(XCB_SEQUENCE_COMPARE((a), <=, (b)))
+#define XLIB_SEQUENCE_COMPARE(a,op,b) (((long) (a) - (long) (b)) op 0)
typedef struct PendingRequest PendingRequest;
struct PendingRequest {
PendingRequest *next;
- xcondition_rec condition;
- int waiters; /* Number of threads waiting; -1 if no wait needed */
- unsigned int sequence;
+ unsigned long sequence;
};
typedef struct _X11XCBPrivate {
- struct _XLockPtrs lock_fns;
xcb_connection_t *connection;
PendingRequest *pending_requests;
PendingRequest **pending_requests_tail;
xcb_generic_event_t *next_event;
- const char *request_extra;
- int request_extra_size;
- char *partial_request;
- int partial_request_offset;
+ char *real_bufmax;
char *reply_data;
int reply_length;
int reply_consumed;
+ uint64_t last_flushed;
enum XEventQueueOwner event_owner;
XID next_xid;
+
+ /* handle simultaneous threads waiting for events,
+ * used in wait_or_poll_for_event
+ */
+ xcondition_t event_notify;
+ int event_waiter;
} _X11XCBPrivate;
/* xcb_disp.c */
@@ -42,15 +43,4 @@ typedef struct _X11XCBPrivate {
int _XConnectXCB(Display *dpy, _Xconst char *display, char **fullnamep, int *screenp);
void _XFreeX11XCBStructure(Display *dpy);
-/* xcb_lock.c */
-
-int _XCBInitDisplayLock(Display *dpy);
-void _XCBShutdownDisplayLock(Display *dpy);
-
-/* _XGetXCBBuffer and _XPutXCBBuffer calls must be paired and must not
- * be nested. */
-
-void _XGetXCBBuffer(Display *dpy);
-void _XPutXCBBuffer(Display *dpy);
-
#endif /* XXCBINT_H */