Move _xcb_write and _xcb_writev to xcb_out.c and make them static, since only _xcb_ou...
[free-sw/xcb/libxcb] / src / xcbint.h
index 057a315..402b042 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;
@@ -79,8 +84,6 @@ void *_xcb_map_remove(_xcb_map *q, unsigned int key);
 int _xcb_set_fd_flags(const int fd);
 int _xcb_readn(const int fd, void *buf, const int buflen, int *count);
 int _xcb_read_block(const int fd, void *buf, const size_t len);
-int _xcb_write(const int fd, char (*buf)[], int *count);
-int _xcb_writev(const int fd, struct iovec *vec, int count);
 
 
 /* xcb_out.c */
@@ -94,7 +97,6 @@ typedef struct _xcb_out {
     struct iovec *vec;
     int vec_len;
 
-    void *last_request;
     unsigned int request;
     unsigned int request_written;
 
@@ -125,14 +127,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);