More return value changes, and make _xcb_in_read_packet static since it is not called...
[free-sw/xcb/libxcb] / src / xcbint.h
index 057a315..eb90fc3 100644 (file)
     _xcb_assert_sequence_less((c)->out.request_written, (c)->out.request); \
 } while(0)
 
+enum workarounds {
+    WORKAROUND_NONE,
+    WORKAROUND_GLX_GET_FB_CONFIGS_BUG
+};
+
 /* xcb_list.c */
 
 typedef struct _xcb_list _xcb_list;
@@ -94,7 +99,6 @@ typedef struct _xcb_out {
     struct iovec *vec;
     int vec_len;
 
-    void *last_request;
     unsigned int request;
     unsigned int request_written;
 
@@ -125,14 +129,15 @@ typedef struct _xcb_in {
     _xcb_map *replies;
     _xcb_queue *events;
     _xcb_list *readers;
+
+    _xcb_queue *pending_replies;
 } _xcb_in;
 
 int _xcb_in_init(_xcb_in *in);
 void _xcb_in_destroy(_xcb_in *in);
 
-int _xcb_in_expect_reply(XCBConnection *c, unsigned int request);
+int _xcb_in_expect_reply(XCBConnection *c, unsigned int request, enum workarounds workaround);
 
-int _xcb_in_read_packet(XCBConnection *c);
 int _xcb_in_read(XCBConnection *c);
 int _xcb_in_read_block(XCBConnection *c, void *buf, int nread);