aboutsummaryrefslogtreecommitdiff
path: root/libxcb/src/xcbext.h
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2009-07-25 09:42:39 +0000
committermarha <marha@users.sourceforge.net>2009-07-25 09:42:39 +0000
commit87db695311f33c4ff560b2cafdbd1d2e421f29bb (patch)
tree0444c3b5f1e2d033667c4b550129ba92d3b72406 /libxcb/src/xcbext.h
parent27ac49b145c8504b59dfc71a0cdf96ec63bd93b9 (diff)
downloadvcxsrv-87db695311f33c4ff560b2cafdbd1d2e421f29bb.tar.gz
vcxsrv-87db695311f33c4ff560b2cafdbd1d2e421f29bb.tar.bz2
vcxsrv-87db695311f33c4ff560b2cafdbd1d2e421f29bb.zip
Added libxcb-1.4.tar.gz
Diffstat (limited to 'libxcb/src/xcbext.h')
-rw-r--r--libxcb/src/xcbext.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/libxcb/src/xcbext.h b/libxcb/src/xcbext.h
index 01dd59015..2e10ba203 100644
--- a/libxcb/src/xcbext.h
+++ b/libxcb/src/xcbext.h
@@ -59,6 +59,23 @@ enum xcb_send_request_flags_t {
unsigned int xcb_send_request(xcb_connection_t *c, int flags, struct iovec *vector, const xcb_protocol_request_t *request);
+/* xcb_take_socket allows external code to ask XCB for permission to
+ * take over the write side of the socket and send raw data with
+ * xcb_writev. xcb_take_socket provides the sequence number of the last
+ * request XCB sent. The caller of xcb_take_socket must supply a
+ * callback which XCB can call when it wants the write side of the
+ * socket back to make a request. This callback synchronizes with the
+ * external socket owner, flushes any output queues if appropriate, and
+ * then returns the sequence number of the last request sent over the
+ * socket. */
+int xcb_take_socket(xcb_connection_t *c, void (*return_socket)(void *closure), void *closure, int flags, uint64_t *sent);
+
+/* You must own the write-side of the socket (you've called
+ * xcb_take_socket, and haven't returned from return_socket yet) to call
+ * xcb_writev. Also, the iovec must have at least 1 byte of data in it.
+ * */
+int xcb_writev(xcb_connection_t *c, struct iovec *vector, int count, uint64_t requests);
+
/* xcb_in.c */