summaryrefslogtreecommitdiff
path: root/src/xcb.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/xcb.h')
-rw-r--r--src/xcb.h22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/xcb.h b/src/xcb.h
index 4c3e079..5a1c01a 100644
--- a/src/xcb.h
+++ b/src/xcb.h
@@ -183,8 +183,7 @@ typedef struct xcb_auth_info_t {
int xcb_flush(xcb_connection_t *c);
/**
- * @brief Returns the maximum request length field from the connection
- * setup data.
+ * @brief Returns the maximum request length that this server accepts.
* @param c: The connection to the X server.
* @return The maximum request length field.
*
@@ -200,6 +199,25 @@ int xcb_flush(xcb_connection_t *c);
*/
uint32_t xcb_get_maximum_request_length(xcb_connection_t *c);
+/**
+ * @brief Prefetch the maximum request length without blocking.
+ * @param c: The connection to the X server.
+ *
+ * Without blocking, does as much work as possible toward computing
+ * the maximum request length accepted by the X server.
+ *
+ * Invoking this function may cause a call to xcb_big_requests_enable,
+ * but will not block waiting for the reply.
+ * xcb_get_maximum_request_length will return the prefetched data
+ * after possibly blocking while the reply is retrieved.
+ *
+ * Note that in order for this function to be fully non-blocking, the
+ * application must previously have called
+ * xcb_prefetch_extension_data(c, &xcb_big_requests_id) and the reply
+ * must have already arrived.
+ */
+void xcb_prefetch_maximum_request_length(xcb_connection_t *c);
+
/* xcb_in.c */