summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@digia.com>2012-10-29 12:59:09 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-11-07 16:55:50 +0100
commit21bd66e1ea06e466754ab06ee2c5f8b737bb4bd7 (patch)
tree2680ca806c003ca2b37d3f6c8b5431f51a3695fe
parentf4121624e9067078249f0fad171c1f8c98271877 (diff)
Add configure option to minimize xcb runtime dependencies
Some of the xcb- libraries we depend upon are not (yet) common across distributions. This is problematic for binaries that should be working on different distributions. The patch mitigates this by: Adding the files from libxcb-proto (version 0.1.6), compiled with libxcb-1.5 xcb-util (version 0.3.9) xcb-util-image (version 0.3.9) xcb-util-keysyms (version 0.3.9) xcb-util-renderutil (version 0.3.8) xcb-util-wm (version 0.3.9) from xcb.freedesktop.org/dist to src/3rdparty/xcb. Adding a configure option '-qt-xcb' to use the sources instead of linking to the respective runtime libraries. Task-number: QTBUG-27803 Change-Id: I6ea87daa382871b2b9072a601511523fa0b9f44b Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
-rw-r--r--config.tests/qpa/xcb-syslibs/xcb-syslibs.pro5
-rw-r--r--config.tests/qpa/xcb-syslibs/xcb.cpp66
-rw-r--r--config.tests/qpa/xcb/xcb.cpp19
-rw-r--r--config.tests/qpa/xcb/xcb.pro2
-rwxr-xr-xconfigure56
-rw-r--r--src/3rdparty/xcb/README13
-rw-r--r--src/3rdparty/xcb/include/xcb/randr.h5020
-rw-r--r--src/3rdparty/xcb/include/xcb/render.h4412
-rw-r--r--src/3rdparty/xcb/include/xcb/shape.h1096
-rw-r--r--src/3rdparty/xcb/include/xcb/shm.h738
-rw-r--r--src/3rdparty/xcb/include/xcb/sync.h1707
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_atom.h18
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_aux.h214
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_bitops.h212
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_event.h90
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_icccm.h1049
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_image.h630
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_keysyms.h71
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_pixel.h171
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_renderutil.h142
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_util.h8
-rw-r--r--src/3rdparty/xcb/include/xcb/xfixes.h2790
-rw-r--r--src/3rdparty/xcb/libxcb/randr.c4827
-rw-r--r--src/3rdparty/xcb/libxcb/render.c4353
-rw-r--r--src/3rdparty/xcb/libxcb/shape.c1017
-rw-r--r--src/3rdparty/xcb/libxcb/shm.c705
-rw-r--r--src/3rdparty/xcb/libxcb/sync.c1511
-rw-r--r--src/3rdparty/xcb/libxcb/xfixes.c2953
-rw-r--r--src/3rdparty/xcb/sysinclude/render.h1
-rw-r--r--src/3rdparty/xcb/sysinclude/xcb.h1
-rw-r--r--src/3rdparty/xcb/sysinclude/xcbext.h1
-rw-r--r--src/3rdparty/xcb/sysinclude/xproto.h1
-rw-r--r--src/3rdparty/xcb/xcb-util-image/xcb_image.c1011
-rw-r--r--src/3rdparty/xcb/xcb-util-keysyms/keysyms.c498
-rw-r--r--src/3rdparty/xcb/xcb-util-renderutil/util.c251
-rw-r--r--src/3rdparty/xcb/xcb-util-wm/icccm.c845
-rw-r--r--src/3rdparty/xcb/xcb-util/atoms.c76
-rw-r--r--src/3rdparty/xcb/xcb-util/event.c257
-rw-r--r--src/3rdparty/xcb/xcb-util/xcb_aux.c374
-rw-r--r--src/plugins/platforms/xcb/README8
-rw-r--r--src/plugins/platforms/xcb/xcb-plugin.pro117
-rw-r--r--src/plugins/platforms/xcb/xcb-static/xcb-static.pro70
-rw-r--r--src/plugins/platforms/xcb/xcb.pro113
43 files changed, 37376 insertions, 143 deletions
diff --git a/config.tests/qpa/xcb-syslibs/xcb-syslibs.pro b/config.tests/qpa/xcb-syslibs/xcb-syslibs.pro
new file mode 100644
index 0000000000..23eedb03a7
--- /dev/null
+++ b/config.tests/qpa/xcb-syslibs/xcb-syslibs.pro
@@ -0,0 +1,5 @@
+SOURCES = xcb.cpp
+CONFIG -= qt
+
+LIBS += -lxcb -lxcb-image -lxcb-keysyms -lxcb-icccm -lxcb-sync -lxcb-xfixes -lxcb-randr
+
diff --git a/config.tests/qpa/xcb-syslibs/xcb.cpp b/config.tests/qpa/xcb-syslibs/xcb.cpp
new file mode 100644
index 0000000000..0a59ba708f
--- /dev/null
+++ b/config.tests/qpa/xcb-syslibs/xcb.cpp
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the config.tests of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <xcb/xcb.h>
+
+// FIXME This workaround can be removed for xcb-icccm > 3.8
+#define class class_name
+#include <xcb/xcb_icccm.h>
+#undef class
+
+#include <xcb/xfixes.h>
+#include <xcb/xcb_image.h>
+#include <xcb/xcb_keysyms.h>
+#include <xcb/sync.h>
+#include <xcb/randr.h>
+#include <xcb/shm.h>
+
+int main(int, char **)
+{
+ int primaryScreen = 0;
+
+ xcb_connection_t *connection = xcb_connect("", &primaryScreen);
+
+ // This won't compile unless libxcb >= 1.5 which defines XCB_ATOM_PRIMARY.
+ int xcbAtomPrimary = XCB_ATOM_PRIMARY;
+
+ return 0;
+}
diff --git a/config.tests/qpa/xcb/xcb.cpp b/config.tests/qpa/xcb/xcb.cpp
index 0a59ba708f..8f46e4c5d0 100644
--- a/config.tests/qpa/xcb/xcb.cpp
+++ b/config.tests/qpa/xcb/xcb.cpp
@@ -41,26 +41,9 @@
#include <xcb/xcb.h>
-// FIXME This workaround can be removed for xcb-icccm > 3.8
-#define class class_name
-#include <xcb/xcb_icccm.h>
-#undef class
-
-#include <xcb/xfixes.h>
-#include <xcb/xcb_image.h>
-#include <xcb/xcb_keysyms.h>
-#include <xcb/sync.h>
-#include <xcb/randr.h>
-#include <xcb/shm.h>
-
int main(int, char **)
{
int primaryScreen = 0;
-
- xcb_connection_t *connection = xcb_connect("", &primaryScreen);
-
- // This won't compile unless libxcb >= 1.5 which defines XCB_ATOM_PRIMARY.
- int xcbAtomPrimary = XCB_ATOM_PRIMARY;
-
+ xcb_connection_t *t = xcb_connect("", &primaryScreen);
return 0;
}
diff --git a/config.tests/qpa/xcb/xcb.pro b/config.tests/qpa/xcb/xcb.pro
index 23eedb03a7..a48fdbd15f 100644
--- a/config.tests/qpa/xcb/xcb.pro
+++ b/config.tests/qpa/xcb/xcb.pro
@@ -1,5 +1,5 @@
SOURCES = xcb.cpp
CONFIG -= qt
-LIBS += -lxcb -lxcb-image -lxcb-keysyms -lxcb-icccm -lxcb-sync -lxcb-xfixes -lxcb-randr
+LIBS += -lxcb
diff --git a/configure b/configure
index 97479f6432..06c61ef2a5 100755
--- a/configure
+++ b/configure
@@ -1722,8 +1722,11 @@ while [ "$#" -gt 0 ]; do
fi
;;
xcb)
- if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ] || [ "$VAL" = "qt" ]; then
CFG_XCB="$VAL"
+ if [ "$VAL" = "yes" ]; then
+ CFG_XCB="system"
+ fi
else
UNKNOWN_OPT=yes
fi
@@ -3201,6 +3204,10 @@ Third Party Libraries:
-qt-pcre ........... Use the PCRE library bundled with Qt.
+ -system-pcre ....... Use the PCRE library from the operating system.
+ -qt-xcb ............ Use xcb- libraries bundled with Qt.
+ (libxcb.so will still be used from operating system).
+ + -system-xcb ........ Use xcb- libraries from the operating system.
+
Additional options:
-make <part> ....... Add part to the list of parts to be built at make time.
@@ -4800,18 +4807,37 @@ fi
if [ "$CFG_XCB" != "no" ]; then
if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xcb >= 1.5" 2>/dev/null; then
- QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb xcb-image xcb-keysyms xcb-icccm xcb-sync xcb-xfixes xcb-randr 2>/dev/null`"
- QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb xcb-image xcb-keysyms xcb-icccm xcb-sync xcb-xfixes xcb-randr 2>/dev/null`"
+ QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`"
+ QMAKE_LIBS_XCB="`$PKG_CONFIG --libs xcb 2>/dev/null`"
fi
if compileTest qpa/xcb "xcb" $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
- CFG_XCB=yes
- if compileTest qpa/xcb-render "xcb-render" $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
- QT_CONFIG="$QT_CONFIG xcb-render"
- fi
- if compileTest qpa/xcb-glx "xcb-glx" $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
- CFG_XCB_GLX=yes
- QT_CONFIG="$QT_CONFIG xcb-glx"
+ if [ "$CFG_XCB" = "qt" ]; then
+ QT_CONFIG="$QT_CONFIG xcb-qt"
+ else
+ CFG_XCB="system"
+
+ if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xcb >= 1.5" 2>/dev/null; then
+ XCB_PACKAGES="xcb xcb-shm xcb-sync xcb-xfixes xcb-randr xcb-image xcb-keysyms xcb-icccm"
+ QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags $XCB_PACKAGES 2>/dev/null`"
+ QMAKE_LIBS_XCB="`$PKG_CONFIG --libs $XCB_PACKAGES 2>/dev/null`"
+ fi
+
+ if compileTest qpa/xcb-syslibs "xcb-syslibs" $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
+ if compileTest qpa/xcb-render "xcb-render" $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
+ QT_CONFIG="$QT_CONFIG xcb-render"
+ fi
+
+ if compileTest qpa/xcb-glx "xcb-glx" $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
+ CFG_XCB_GLX=yes
+ QT_CONFIG="$QT_CONFIG xcb-glx"
+ fi
+ else
+ echo "The test for linking against libxcb and support libraries failed!"
+ echo " You might need install dependency packages, or pass -qt-xcb."
+ echo " See src/plugins/platforms/xcb/README."
+ exit 1
+ fi
fi
if compileTest qpa/xcb-xlib "xcb-xlib" $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then
@@ -4836,9 +4862,9 @@ if [ "$CFG_XCB" != "no" ]; then
fi
fi
else
- if [ "$CFG_XCB" = "yes" ]; then
- echo "The XCB test failed!"
- echo " You might need to install dependency packages."
+ if [ "$CFG_XCB" != "auto" ]; then
+ echo "The test for linking against libxcb failed!"
+ echo " You might need to install dependency packages for libxcb."
echo " See src/plugins/platforms/xcb/README."
exit 1
fi
@@ -5465,7 +5491,7 @@ fi
[ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
[ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
[ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
-[ "$CFG_XCB" = "yes" ] && QT_CONFIG="$QT_CONFIG xcb"
+[ "$CFG_XCB" != "no" ] && QT_CONFIG="$QT_CONFIG xcb"
[ "$CFG_XINPUT2" = "yes" ] && QT_CONFIG="$QT_CONFIG xinput2"
[ "$CFG_SYSTEM_PROXIES" = "yes" ] && QT_CONFIG="$QT_CONFIG system-proxies"
@@ -6304,7 +6330,7 @@ echo "libICU support ......... $CFG_ICU"
echo "PCRE support ........... $CFG_PCRE"
echo "Xcb support ............ $CFG_XCB"
echo "Xrender support ........ $CFG_XRENDER"
-if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
+if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" != "no" ]; then
echo "XInput2 support ........ $CFG_XINPUT2"
fi
echo "EGLFS support .......... $CFG_EGLFS"
diff --git a/src/3rdparty/xcb/README b/src/3rdparty/xcb/README
new file mode 100644
index 0000000000..0a66dafd03
--- /dev/null
+++ b/src/3rdparty/xcb/README
@@ -0,0 +1,13 @@
+Contains the header and sources files from selected xcb libraries:
+
+ libxcb-1.5 together with xcb-proto-1.6 (sync, xfixes, randr sources)
+ libxcb-util-image-0.3.9
+ libxcb-util-keysyms-0.3.9
+ libxcb-util-renderutil-0.3.8
+ libxcb-util-wm-0.3.9
+
+The 'include' directory was obtained by compiling and installing all of the modules.
+They have been tested to run also with libxcb 1.5 (the oldest version we support).
+
+Use the -qt-xcb configure option to use the files instead of system xcb libraries.
+See src/plugins/platforms/xcb/README for details.
diff --git a/src/3rdparty/xcb/include/xcb/randr.h b/src/3rdparty/xcb/include/xcb/randr.h
new file mode 100644
index 0000000000..1035c4043c
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/randr.h
@@ -0,0 +1,5020 @@
+/*
+ * This file generated automatically from randr.xml by c_client.py.
+ * Edit at your peril.
+ */
+
+/**
+ * @defgroup XCB_RandR_API XCB RandR API
+ * @brief RandR XCB Protocol Implementation.
+ * @{
+ **/
+
+#ifndef __RANDR_H
+#define __RANDR_H
+
+#include "xcb.h"
+#include "xproto.h"
+#include "render.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define XCB_RANDR_MAJOR_VERSION 1
+#define XCB_RANDR_MINOR_VERSION 3
+
+extern xcb_extension_t xcb_randr_id;
+
+typedef uint32_t xcb_randr_mode_t;
+
+/**
+ * @brief xcb_randr_mode_iterator_t
+ **/
+typedef struct xcb_randr_mode_iterator_t {
+ xcb_randr_mode_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_randr_mode_iterator_t;
+
+typedef uint32_t xcb_randr_crtc_t;
+
+/**
+ * @brief xcb_randr_crtc_iterator_t
+ **/
+typedef struct xcb_randr_crtc_iterator_t {
+ xcb_randr_crtc_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_randr_crtc_iterator_t;
+
+typedef uint32_t xcb_randr_output_t;
+
+/**
+ * @brief xcb_randr_output_iterator_t
+ **/
+typedef struct xcb_randr_output_iterator_t {
+ xcb_randr_output_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_randr_output_iterator_t;
+
+/** Opcode for xcb_randr_bad_output. */
+#define XCB_RANDR_BAD_OUTPUT 0
+
+/**
+ * @brief xcb_randr_bad_output_error_t
+ **/
+typedef struct xcb_randr_bad_output_error_t {
+ uint8_t response_type; /**< */
+ uint8_t error_code; /**< */
+ uint16_t sequence; /**< */
+} xcb_randr_bad_output_error_t;
+
+/** Opcode for xcb_randr_bad_crtc. */
+#define XCB_RANDR_BAD_CRTC 1
+
+/**
+ * @brief xcb_randr_bad_crtc_error_t
+ **/
+typedef struct xcb_randr_bad_crtc_error_t {
+ uint8_t response_type; /**< */
+ uint8_t error_code; /**< */
+ uint16_t sequence; /**< */
+} xcb_randr_bad_crtc_error_t;
+
+/** Opcode for xcb_randr_bad_mode. */
+#define XCB_RANDR_BAD_MODE 2
+
+/**
+ * @brief xcb_randr_bad_mode_error_t
+ **/
+typedef struct xcb_randr_bad_mode_error_t {
+ uint8_t response_type; /**< */
+ uint8_t error_code; /**< */
+ uint16_t sequence; /**< */
+} xcb_randr_bad_mode_error_t;
+
+typedef enum xcb_randr_rotation_t {
+ XCB_RANDR_ROTATION_ROTATE_0 = 1,
+ XCB_RANDR_ROTATION_ROTATE_90 = 2,
+ XCB_RANDR_ROTATION_ROTATE_180 = 4,
+ XCB_RANDR_ROTATION_ROTATE_270 = 8,
+ XCB_RANDR_ROTATION_REFLECT_X = 16,
+ XCB_RANDR_ROTATION_REFLECT_Y = 32
+} xcb_randr_rotation_t;
+
+/**
+ * @brief xcb_randr_screen_size_t
+ **/
+typedef struct xcb_randr_screen_size_t {
+ uint16_t width; /**< */
+ uint16_t height; /**< */
+ uint16_t mwidth; /**< */
+ uint16_t mheight; /**< */
+} xcb_randr_screen_size_t;
+
+/**
+ * @brief xcb_randr_screen_size_iterator_t
+ **/
+typedef struct xcb_randr_screen_size_iterator_t {
+ xcb_randr_screen_size_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_randr_screen_size_iterator_t;
+
+/**
+ * @brief xcb_randr_refresh_rates_t
+ **/
+typedef struct xcb_randr_refresh_rates_t {
+ uint16_t nRates; /**< */
+} xcb_randr_refresh_rates_t;
+
+/**
+ * @brief xcb_randr_refresh_rates_iterator_t
+ **/
+typedef struct xcb_randr_refresh_rates_iterator_t {
+ xcb_randr_refresh_rates_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_randr_refresh_rates_iterator_t;
+
+/**
+ * @brief xcb_randr_query_version_cookie_t
+ **/
+typedef struct xcb_randr_query_version_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_query_version_cookie_t;
+
+/** Opcode for xcb_randr_query_version. */
+#define XCB_RANDR_QUERY_VERSION 0
+
+/**
+ * @brief xcb_randr_query_version_request_t
+ **/
+typedef struct xcb_randr_query_version_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ uint32_t major_version; /**< */
+ uint32_t minor_version; /**< */
+} xcb_randr_query_version_request_t;
+
+/**
+ * @brief xcb_randr_query_version_reply_t
+ **/
+typedef struct xcb_randr_query_version_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ uint32_t major_version; /**< */
+ uint32_t minor_version; /**< */
+ uint8_t pad1[16]; /**< */
+} xcb_randr_query_version_reply_t;
+
+typedef enum xcb_randr_set_config_t {
+ XCB_RANDR_SET_CONFIG_SUCCESS = 0,
+ XCB_RANDR_SET_CONFIG_INVALID_CONFIG_TIME = 1,
+ XCB_RANDR_SET_CONFIG_INVALID_TIME = 2,
+ XCB_RANDR_SET_CONFIG_FAILED = 3
+} xcb_randr_set_config_t;
+
+/**
+ * @brief xcb_randr_set_screen_config_cookie_t
+ **/
+typedef struct xcb_randr_set_screen_config_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_set_screen_config_cookie_t;
+
+/** Opcode for xcb_randr_set_screen_config. */
+#define XCB_RANDR_SET_SCREEN_CONFIG 2
+
+/**
+ * @brief xcb_randr_set_screen_config_request_t
+ **/
+typedef struct xcb_randr_set_screen_config_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t window; /**< */
+ xcb_timestamp_t timestamp; /**< */
+ xcb_timestamp_t config_timestamp; /**< */
+ uint16_t sizeID; /**< */
+ uint16_t rotation; /**< */
+ uint16_t rate; /**< */
+ uint8_t pad0[2]; /**< */
+} xcb_randr_set_screen_config_request_t;
+
+/**
+ * @brief xcb_randr_set_screen_config_reply_t
+ **/
+typedef struct xcb_randr_set_screen_config_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t status; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_timestamp_t new_timestamp; /**< */
+ xcb_timestamp_t config_timestamp; /**< */
+ xcb_window_t root; /**< */
+ uint16_t subpixel_order; /**< */
+ uint8_t pad0[10]; /**< */
+} xcb_randr_set_screen_config_reply_t;
+
+typedef enum xcb_randr_notify_mask_t {
+ XCB_RANDR_NOTIFY_MASK_SCREEN_CHANGE = 1,
+ XCB_RANDR_NOTIFY_MASK_CRTC_CHANGE = 2,
+ XCB_RANDR_NOTIFY_MASK_OUTPUT_CHANGE = 4,
+ XCB_RANDR_NOTIFY_MASK_OUTPUT_PROPERTY = 8
+} xcb_randr_notify_mask_t;
+
+/** Opcode for xcb_randr_select_input. */
+#define XCB_RANDR_SELECT_INPUT 4
+
+/**
+ * @brief xcb_randr_select_input_request_t
+ **/
+typedef struct xcb_randr_select_input_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t window; /**< */
+ uint16_t enable; /**< */
+ uint8_t pad0[2]; /**< */
+} xcb_randr_select_input_request_t;
+
+/**
+ * @brief xcb_randr_get_screen_info_cookie_t
+ **/
+typedef struct xcb_randr_get_screen_info_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_get_screen_info_cookie_t;
+
+/** Opcode for xcb_randr_get_screen_info. */
+#define XCB_RANDR_GET_SCREEN_INFO 5
+
+/**
+ * @brief xcb_randr_get_screen_info_request_t
+ **/
+typedef struct xcb_randr_get_screen_info_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t window; /**< */
+} xcb_randr_get_screen_info_request_t;
+
+/**
+ * @brief xcb_randr_get_screen_info_reply_t
+ **/
+typedef struct xcb_randr_get_screen_info_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t rotations; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_window_t root; /**< */
+ xcb_timestamp_t timestamp; /**< */
+ xcb_timestamp_t config_timestamp; /**< */
+ uint16_t nSizes; /**< */
+ uint16_t sizeID; /**< */
+ uint16_t rotation; /**< */
+ uint16_t rate; /**< */
+ uint16_t nInfo; /**< */
+ uint8_t pad0[2]; /**< */
+} xcb_randr_get_screen_info_reply_t;
+
+/**
+ * @brief xcb_randr_get_screen_size_range_cookie_t
+ **/
+typedef struct xcb_randr_get_screen_size_range_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_get_screen_size_range_cookie_t;
+
+/** Opcode for xcb_randr_get_screen_size_range. */
+#define XCB_RANDR_GET_SCREEN_SIZE_RANGE 6
+
+/**
+ * @brief xcb_randr_get_screen_size_range_request_t
+ **/
+typedef struct xcb_randr_get_screen_size_range_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t window; /**< */
+} xcb_randr_get_screen_size_range_request_t;
+
+/**
+ * @brief xcb_randr_get_screen_size_range_reply_t
+ **/
+typedef struct xcb_randr_get_screen_size_range_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ uint16_t min_width; /**< */
+ uint16_t min_height; /**< */
+ uint16_t max_width; /**< */
+ uint16_t max_height; /**< */
+ uint8_t pad1[16]; /**< */
+} xcb_randr_get_screen_size_range_reply_t;
+
+/** Opcode for xcb_randr_set_screen_size. */
+#define XCB_RANDR_SET_SCREEN_SIZE 7
+
+/**
+ * @brief xcb_randr_set_screen_size_request_t
+ **/
+typedef struct xcb_randr_set_screen_size_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t window; /**< */
+ uint16_t width; /**< */
+ uint16_t height; /**< */
+ uint32_t mm_width; /**< */
+ uint32_t mm_height; /**< */
+} xcb_randr_set_screen_size_request_t;
+
+typedef enum xcb_randr_mode_flag_t {
+ XCB_RANDR_MODE_FLAG_HSYNC_POSITIVE = 1,
+ XCB_RANDR_MODE_FLAG_HSYNC_NEGATIVE = 2,
+ XCB_RANDR_MODE_FLAG_VSYNC_POSITIVE = 4,
+ XCB_RANDR_MODE_FLAG_VSYNC_NEGATIVE = 8,
+ XCB_RANDR_MODE_FLAG_INTERLACE = 16,
+ XCB_RANDR_MODE_FLAG_DOUBLE_SCAN = 32,
+ XCB_RANDR_MODE_FLAG_CSYNC = 64,
+ XCB_RANDR_MODE_FLAG_CSYNC_POSITIVE = 128,
+ XCB_RANDR_MODE_FLAG_CSYNC_NEGATIVE = 256,
+ XCB_RANDR_MODE_FLAG_HSKEW_PRESENT = 512,
+ XCB_RANDR_MODE_FLAG_BCAST = 1024,
+ XCB_RANDR_MODE_FLAG_PIXEL_MULTIPLEX = 2048,
+ XCB_RANDR_MODE_FLAG_DOUBLE_CLOCK = 4096,
+ XCB_RANDR_MODE_FLAG_HALVE_CLOCK = 8192
+} xcb_randr_mode_flag_t;
+
+/**
+ * @brief xcb_randr_mode_info_t
+ **/
+typedef struct xcb_randr_mode_info_t {
+ uint32_t id; /**< */
+ uint16_t width; /**< */
+ uint16_t height; /**< */
+ uint32_t dot_clock; /**< */
+ uint16_t hsync_start; /**< */
+ uint16_t hsync_end; /**< */
+ uint16_t htotal; /**< */
+ uint16_t hskew; /**< */
+ uint16_t vsync_start; /**< */
+ uint16_t vsync_end; /**< */
+ uint16_t vtotal; /**< */
+ uint16_t name_len; /**< */
+ uint32_t mode_flags; /**< */
+} xcb_randr_mode_info_t;
+
+/**
+ * @brief xcb_randr_mode_info_iterator_t
+ **/
+typedef struct xcb_randr_mode_info_iterator_t {
+ xcb_randr_mode_info_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_randr_mode_info_iterator_t;
+
+/**
+ * @brief xcb_randr_get_screen_resources_cookie_t
+ **/
+typedef struct xcb_randr_get_screen_resources_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_get_screen_resources_cookie_t;
+
+/** Opcode for xcb_randr_get_screen_resources. */
+#define XCB_RANDR_GET_SCREEN_RESOURCES 8
+
+/**
+ * @brief xcb_randr_get_screen_resources_request_t
+ **/
+typedef struct xcb_randr_get_screen_resources_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t window; /**< */
+} xcb_randr_get_screen_resources_request_t;
+
+/**
+ * @brief xcb_randr_get_screen_resources_reply_t
+ **/
+typedef struct xcb_randr_get_screen_resources_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_timestamp_t timestamp; /**< */
+ xcb_timestamp_t config_timestamp; /**< */
+ uint16_t num_crtcs; /**< */
+ uint16_t num_outputs; /**< */
+ uint16_t num_modes; /**< */
+ uint16_t names_len; /**< */
+ uint8_t pad1[8]; /**< */
+} xcb_randr_get_screen_resources_reply_t;
+
+typedef enum xcb_randr_connection_t {
+ XCB_RANDR_CONNECTION_CONNECTED,
+ XCB_RANDR_CONNECTION_DISCONNECTED,
+ XCB_RANDR_CONNECTION_UNKNOWN
+} xcb_randr_connection_t;
+
+/**
+ * @brief xcb_randr_get_output_info_cookie_t
+ **/
+typedef struct xcb_randr_get_output_info_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_get_output_info_cookie_t;
+
+/** Opcode for xcb_randr_get_output_info. */
+#define XCB_RANDR_GET_OUTPUT_INFO 9
+
+/**
+ * @brief xcb_randr_get_output_info_request_t
+ **/
+typedef struct xcb_randr_get_output_info_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_output_t output; /**< */
+ xcb_timestamp_t config_timestamp; /**< */
+} xcb_randr_get_output_info_request_t;
+
+/**
+ * @brief xcb_randr_get_output_info_reply_t
+ **/
+typedef struct xcb_randr_get_output_info_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t status; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_timestamp_t timestamp; /**< */
+ xcb_randr_crtc_t crtc; /**< */
+ uint32_t mm_width; /**< */
+ uint32_t mm_height; /**< */
+ uint8_t connection; /**< */
+ uint8_t subpixel_order; /**< */
+ uint16_t num_crtcs; /**< */
+ uint16_t num_modes; /**< */
+ uint16_t num_preferred; /**< */
+ uint16_t num_clones; /**< */
+ uint16_t name_len; /**< */
+} xcb_randr_get_output_info_reply_t;
+
+/**
+ * @brief xcb_randr_list_output_properties_cookie_t
+ **/
+typedef struct xcb_randr_list_output_properties_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_list_output_properties_cookie_t;
+
+/** Opcode for xcb_randr_list_output_properties. */
+#define XCB_RANDR_LIST_OUTPUT_PROPERTIES 10
+
+/**
+ * @brief xcb_randr_list_output_properties_request_t
+ **/
+typedef struct xcb_randr_list_output_properties_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_output_t output; /**< */
+} xcb_randr_list_output_properties_request_t;
+
+/**
+ * @brief xcb_randr_list_output_properties_reply_t
+ **/
+typedef struct xcb_randr_list_output_properties_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ uint16_t num_atoms; /**< */
+ uint8_t pad1[22]; /**< */
+} xcb_randr_list_output_properties_reply_t;
+
+/**
+ * @brief xcb_randr_query_output_property_cookie_t
+ **/
+typedef struct xcb_randr_query_output_property_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_query_output_property_cookie_t;
+
+/** Opcode for xcb_randr_query_output_property. */
+#define XCB_RANDR_QUERY_OUTPUT_PROPERTY 11
+
+/**
+ * @brief xcb_randr_query_output_property_request_t
+ **/
+typedef struct xcb_randr_query_output_property_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_output_t output; /**< */
+ xcb_atom_t property; /**< */
+} xcb_randr_query_output_property_request_t;
+
+/**
+ * @brief xcb_randr_query_output_property_reply_t
+ **/
+typedef struct xcb_randr_query_output_property_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ uint8_t pending; /**< */
+ uint8_t range; /**< */
+ uint8_t immutable; /**< */
+ uint8_t pad1[21]; /**< */
+} xcb_randr_query_output_property_reply_t;
+
+/** Opcode for xcb_randr_configure_output_property. */
+#define XCB_RANDR_CONFIGURE_OUTPUT_PROPERTY 12
+
+/**
+ * @brief xcb_randr_configure_output_property_request_t
+ **/
+typedef struct xcb_randr_configure_output_property_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_output_t output; /**< */
+ xcb_atom_t property; /**< */
+ uint8_t pending; /**< */
+ uint8_t range; /**< */
+ uint8_t pad0[2]; /**< */
+} xcb_randr_configure_output_property_request_t;
+
+/** Opcode for xcb_randr_change_output_property. */
+#define XCB_RANDR_CHANGE_OUTPUT_PROPERTY 13
+
+/**
+ * @brief xcb_randr_change_output_property_request_t
+ **/
+typedef struct xcb_randr_change_output_property_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_output_t output; /**< */
+ xcb_atom_t property; /**< */
+ xcb_atom_t type; /**< */
+ uint8_t format; /**< */
+ uint8_t mode; /**< */
+ uint8_t pad0[2]; /**< */
+ uint32_t num_units; /**< */
+} xcb_randr_change_output_property_request_t;
+
+/** Opcode for xcb_randr_delete_output_property. */
+#define XCB_RANDR_DELETE_OUTPUT_PROPERTY 14
+
+/**
+ * @brief xcb_randr_delete_output_property_request_t
+ **/
+typedef struct xcb_randr_delete_output_property_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_output_t output; /**< */
+ xcb_atom_t property; /**< */
+} xcb_randr_delete_output_property_request_t;
+
+/**
+ * @brief xcb_randr_get_output_property_cookie_t
+ **/
+typedef struct xcb_randr_get_output_property_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_get_output_property_cookie_t;
+
+/** Opcode for xcb_randr_get_output_property. */
+#define XCB_RANDR_GET_OUTPUT_PROPERTY 15
+
+/**
+ * @brief xcb_randr_get_output_property_request_t
+ **/
+typedef struct xcb_randr_get_output_property_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_output_t output; /**< */
+ xcb_atom_t property; /**< */
+ xcb_atom_t type; /**< */
+ uint32_t long_offset; /**< */
+ uint32_t long_length; /**< */
+ uint8_t _delete; /**< */
+ uint8_t pending; /**< */
+ uint8_t pad0[2]; /**< */
+} xcb_randr_get_output_property_request_t;
+
+/**
+ * @brief xcb_randr_get_output_property_reply_t
+ **/
+typedef struct xcb_randr_get_output_property_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t format; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_atom_t type; /**< */
+ uint32_t bytes_after; /**< */
+ uint32_t num_items; /**< */
+ uint8_t pad0[12]; /**< */
+} xcb_randr_get_output_property_reply_t;
+
+/**
+ * @brief xcb_randr_create_mode_cookie_t
+ **/
+typedef struct xcb_randr_create_mode_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_create_mode_cookie_t;
+
+/** Opcode for xcb_randr_create_mode. */
+#define XCB_RANDR_CREATE_MODE 16
+
+/**
+ * @brief xcb_randr_create_mode_request_t
+ **/
+typedef struct xcb_randr_create_mode_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t window; /**< */
+ xcb_randr_mode_info_t mode_info; /**< */
+} xcb_randr_create_mode_request_t;
+
+/**
+ * @brief xcb_randr_create_mode_reply_t
+ **/
+typedef struct xcb_randr_create_mode_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_randr_mode_t mode; /**< */
+ uint8_t pad1[20]; /**< */
+} xcb_randr_create_mode_reply_t;
+
+/** Opcode for xcb_randr_destroy_mode. */
+#define XCB_RANDR_DESTROY_MODE 17
+
+/**
+ * @brief xcb_randr_destroy_mode_request_t
+ **/
+typedef struct xcb_randr_destroy_mode_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_mode_t mode; /**< */
+} xcb_randr_destroy_mode_request_t;
+
+/** Opcode for xcb_randr_add_output_mode. */
+#define XCB_RANDR_ADD_OUTPUT_MODE 18
+
+/**
+ * @brief xcb_randr_add_output_mode_request_t
+ **/
+typedef struct xcb_randr_add_output_mode_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_output_t output; /**< */
+ xcb_randr_mode_t mode; /**< */
+} xcb_randr_add_output_mode_request_t;
+
+/** Opcode for xcb_randr_delete_output_mode. */
+#define XCB_RANDR_DELETE_OUTPUT_MODE 19
+
+/**
+ * @brief xcb_randr_delete_output_mode_request_t
+ **/
+typedef struct xcb_randr_delete_output_mode_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_output_t output; /**< */
+ xcb_randr_mode_t mode; /**< */
+} xcb_randr_delete_output_mode_request_t;
+
+/**
+ * @brief xcb_randr_get_crtc_info_cookie_t
+ **/
+typedef struct xcb_randr_get_crtc_info_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_get_crtc_info_cookie_t;
+
+/** Opcode for xcb_randr_get_crtc_info. */
+#define XCB_RANDR_GET_CRTC_INFO 20
+
+/**
+ * @brief xcb_randr_get_crtc_info_request_t
+ **/
+typedef struct xcb_randr_get_crtc_info_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_crtc_t crtc; /**< */
+ xcb_timestamp_t config_timestamp; /**< */
+} xcb_randr_get_crtc_info_request_t;
+
+/**
+ * @brief xcb_randr_get_crtc_info_reply_t
+ **/
+typedef struct xcb_randr_get_crtc_info_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t status; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_timestamp_t timestamp; /**< */
+ int16_t x; /**< */
+ int16_t y; /**< */
+ uint16_t width; /**< */
+ uint16_t height; /**< */
+ xcb_randr_mode_t mode; /**< */
+ uint16_t rotation; /**< */
+ uint16_t rotations; /**< */
+ uint16_t num_outputs; /**< */
+ uint16_t num_possible_outputs; /**< */
+} xcb_randr_get_crtc_info_reply_t;
+
+/**
+ * @brief xcb_randr_set_crtc_config_cookie_t
+ **/
+typedef struct xcb_randr_set_crtc_config_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_set_crtc_config_cookie_t;
+
+/** Opcode for xcb_randr_set_crtc_config. */
+#define XCB_RANDR_SET_CRTC_CONFIG 21
+
+/**
+ * @brief xcb_randr_set_crtc_config_request_t
+ **/
+typedef struct xcb_randr_set_crtc_config_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_crtc_t crtc; /**< */
+ xcb_timestamp_t timestamp; /**< */
+ xcb_timestamp_t config_timestamp; /**< */
+ int16_t x; /**< */
+ int16_t y; /**< */
+ xcb_randr_mode_t mode; /**< */
+ uint16_t rotation; /**< */
+ uint8_t pad0[2]; /**< */
+} xcb_randr_set_crtc_config_request_t;
+
+/**
+ * @brief xcb_randr_set_crtc_config_reply_t
+ **/
+typedef struct xcb_randr_set_crtc_config_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t status; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_timestamp_t timestamp; /**< */
+ uint8_t pad0[20]; /**< */
+} xcb_randr_set_crtc_config_reply_t;
+
+/**
+ * @brief xcb_randr_get_crtc_gamma_size_cookie_t
+ **/
+typedef struct xcb_randr_get_crtc_gamma_size_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_get_crtc_gamma_size_cookie_t;
+
+/** Opcode for xcb_randr_get_crtc_gamma_size. */
+#define XCB_RANDR_GET_CRTC_GAMMA_SIZE 22
+
+/**
+ * @brief xcb_randr_get_crtc_gamma_size_request_t
+ **/
+typedef struct xcb_randr_get_crtc_gamma_size_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_crtc_t crtc; /**< */
+} xcb_randr_get_crtc_gamma_size_request_t;
+
+/**
+ * @brief xcb_randr_get_crtc_gamma_size_reply_t
+ **/
+typedef struct xcb_randr_get_crtc_gamma_size_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ uint16_t size; /**< */
+ uint8_t pad1[22]; /**< */
+} xcb_randr_get_crtc_gamma_size_reply_t;
+
+/**
+ * @brief xcb_randr_get_crtc_gamma_cookie_t
+ **/
+typedef struct xcb_randr_get_crtc_gamma_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_get_crtc_gamma_cookie_t;
+
+/** Opcode for xcb_randr_get_crtc_gamma. */
+#define XCB_RANDR_GET_CRTC_GAMMA 23
+
+/**
+ * @brief xcb_randr_get_crtc_gamma_request_t
+ **/
+typedef struct xcb_randr_get_crtc_gamma_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_crtc_t crtc; /**< */
+} xcb_randr_get_crtc_gamma_request_t;
+
+/**
+ * @brief xcb_randr_get_crtc_gamma_reply_t
+ **/
+typedef struct xcb_randr_get_crtc_gamma_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ uint16_t size; /**< */
+ uint8_t pad1[22]; /**< */
+} xcb_randr_get_crtc_gamma_reply_t;
+
+/** Opcode for xcb_randr_set_crtc_gamma. */
+#define XCB_RANDR_SET_CRTC_GAMMA 24
+
+/**
+ * @brief xcb_randr_set_crtc_gamma_request_t
+ **/
+typedef struct xcb_randr_set_crtc_gamma_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_crtc_t crtc; /**< */
+ uint16_t size; /**< */
+ uint8_t pad0[2]; /**< */
+} xcb_randr_set_crtc_gamma_request_t;
+
+/**
+ * @brief xcb_randr_get_screen_resources_current_cookie_t
+ **/
+typedef struct xcb_randr_get_screen_resources_current_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_get_screen_resources_current_cookie_t;
+
+/** Opcode for xcb_randr_get_screen_resources_current. */
+#define XCB_RANDR_GET_SCREEN_RESOURCES_CURRENT 25
+
+/**
+ * @brief xcb_randr_get_screen_resources_current_request_t
+ **/
+typedef struct xcb_randr_get_screen_resources_current_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t window; /**< */
+} xcb_randr_get_screen_resources_current_request_t;
+
+/**
+ * @brief xcb_randr_get_screen_resources_current_reply_t
+ **/
+typedef struct xcb_randr_get_screen_resources_current_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_timestamp_t timestamp; /**< */
+ xcb_timestamp_t config_timestamp; /**< */
+ uint16_t num_crtcs; /**< */
+ uint16_t num_outputs; /**< */
+ uint16_t num_modes; /**< */
+ uint16_t names_len; /**< */
+ uint8_t pad1[8]; /**< */
+} xcb_randr_get_screen_resources_current_reply_t;
+
+/** Opcode for xcb_randr_set_crtc_transform. */
+#define XCB_RANDR_SET_CRTC_TRANSFORM 26
+
+/**
+ * @brief xcb_randr_set_crtc_transform_request_t
+ **/
+typedef struct xcb_randr_set_crtc_transform_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_crtc_t crtc; /**< */
+ xcb_render_transform_t transform; /**< */
+ uint16_t filter_len; /**< */
+ uint8_t pad0[2]; /**< */
+} xcb_randr_set_crtc_transform_request_t;
+
+/**
+ * @brief xcb_randr_get_crtc_transform_cookie_t
+ **/
+typedef struct xcb_randr_get_crtc_transform_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_get_crtc_transform_cookie_t;
+
+/** Opcode for xcb_randr_get_crtc_transform. */
+#define XCB_RANDR_GET_CRTC_TRANSFORM 27
+
+/**
+ * @brief xcb_randr_get_crtc_transform_request_t
+ **/
+typedef struct xcb_randr_get_crtc_transform_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_crtc_t crtc; /**< */
+} xcb_randr_get_crtc_transform_request_t;
+
+/**
+ * @brief xcb_randr_get_crtc_transform_reply_t
+ **/
+typedef struct xcb_randr_get_crtc_transform_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_render_transform_t pending_transform; /**< */
+ uint8_t has_transforms; /**< */
+ uint8_t pad1[3]; /**< */
+ xcb_render_transform_t current_transform; /**< */
+ uint8_t pad2[4]; /**< */
+ uint16_t pending_len; /**< */
+ uint16_t pending_nparams; /**< */
+ uint16_t current_len; /**< */
+ uint16_t current_nparams; /**< */
+} xcb_randr_get_crtc_transform_reply_t;
+
+/**
+ * @brief xcb_randr_get_panning_cookie_t
+ **/
+typedef struct xcb_randr_get_panning_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_get_panning_cookie_t;
+
+/** Opcode for xcb_randr_get_panning. */
+#define XCB_RANDR_GET_PANNING 28
+
+/**
+ * @brief xcb_randr_get_panning_request_t
+ **/
+typedef struct xcb_randr_get_panning_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_crtc_t crtc; /**< */
+} xcb_randr_get_panning_request_t;
+
+/**
+ * @brief xcb_randr_get_panning_reply_t
+ **/
+typedef struct xcb_randr_get_panning_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t status; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_timestamp_t timestamp; /**< */
+ uint16_t left; /**< */
+ uint16_t top; /**< */
+ uint16_t width; /**< */
+ uint16_t height; /**< */
+ uint16_t track_left; /**< */
+ uint16_t track_top; /**< */
+ uint16_t track_width; /**< */
+ uint16_t track_height; /**< */
+ int16_t border_left; /**< */
+ int16_t border_top; /**< */
+ int16_t border_right; /**< */
+ int16_t border_bottom; /**< */
+} xcb_randr_get_panning_reply_t;
+
+/**
+ * @brief xcb_randr_set_panning_cookie_t
+ **/
+typedef struct xcb_randr_set_panning_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_set_panning_cookie_t;
+
+/** Opcode for xcb_randr_set_panning. */
+#define XCB_RANDR_SET_PANNING 29
+
+/**
+ * @brief xcb_randr_set_panning_request_t
+ **/
+typedef struct xcb_randr_set_panning_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_randr_crtc_t crtc; /**< */
+ xcb_timestamp_t timestamp; /**< */
+ uint16_t left; /**< */
+ uint16_t top; /**< */
+ uint16_t width; /**< */
+ uint16_t height; /**< */
+ uint16_t track_left; /**< */
+ uint16_t track_top; /**< */
+ uint16_t track_width; /**< */
+ uint16_t track_height; /**< */
+ int16_t border_left; /**< */
+ int16_t border_top; /**< */
+ int16_t border_right; /**< */
+ int16_t border_bottom; /**< */
+} xcb_randr_set_panning_request_t;
+
+/**
+ * @brief xcb_randr_set_panning_reply_t
+ **/
+typedef struct xcb_randr_set_panning_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t status; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_timestamp_t timestamp; /**< */
+} xcb_randr_set_panning_reply_t;
+
+/** Opcode for xcb_randr_set_output_primary. */
+#define XCB_RANDR_SET_OUTPUT_PRIMARY 30
+
+/**
+ * @brief xcb_randr_set_output_primary_request_t
+ **/
+typedef struct xcb_randr_set_output_primary_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t window; /**< */
+ xcb_randr_output_t output; /**< */
+} xcb_randr_set_output_primary_request_t;
+
+/**
+ * @brief xcb_randr_get_output_primary_cookie_t
+ **/
+typedef struct xcb_randr_get_output_primary_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_randr_get_output_primary_cookie_t;
+
+/** Opcode for xcb_randr_get_output_primary. */
+#define XCB_RANDR_GET_OUTPUT_PRIMARY 31
+
+/**
+ * @brief xcb_randr_get_output_primary_request_t
+ **/
+typedef struct xcb_randr_get_output_primary_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t window; /**< */
+} xcb_randr_get_output_primary_request_t;
+
+/**
+ * @brief xcb_randr_get_output_primary_reply_t
+ **/
+typedef struct xcb_randr_get_output_primary_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_randr_output_t output; /**< */
+} xcb_randr_get_output_primary_reply_t;
+
+/** Opcode for xcb_randr_screen_change_notify. */
+#define XCB_RANDR_SCREEN_CHANGE_NOTIFY 0
+
+/**
+ * @brief xcb_randr_screen_change_notify_event_t
+ **/
+typedef struct xcb_randr_screen_change_notify_event_t {
+ uint8_t response_type; /**< */
+ uint8_t rotation; /**< */
+ uint16_t sequence; /**< */
+ xcb_timestamp_t timestamp; /**< */
+ xcb_timestamp_t config_timestamp; /**< */
+ xcb_window_t root; /**< */
+ xcb_window_t request_window; /**< */
+ uint16_t sizeID; /**< */
+ uint16_t subpixel_order; /**< */
+ uint16_t width; /**< */
+ uint16_t height; /**< */
+ uint16_t mwidth; /**< */
+ uint16_t mheight; /**< */
+} xcb_randr_screen_change_notify_event_t;
+
+typedef enum xcb_randr_notify_t {
+ XCB_RANDR_NOTIFY_CRTC_CHANGE = 0,
+ XCB_RANDR_NOTIFY_OUTPUT_CHANGE = 1,
+ XCB_RANDR_NOTIFY_OUTPUT_PROPERTY = 2
+} xcb_randr_notify_t;
+
+/**
+ * @brief xcb_randr_crtc_change_t
+ **/
+typedef struct xcb_randr_crtc_change_t {
+ xcb_timestamp_t timestamp; /**< */
+ xcb_window_t window; /**< */
+ xcb_randr_crtc_t crtc; /**< */
+ xcb_randr_mode_t mode; /**< */
+ uint16_t rotation; /**< */
+ uint8_t pad0[2]; /**< */
+ int16_t x; /**< */
+ int16_t y; /**< */
+ uint16_t width; /**< */
+ uint16_t height; /**< */
+} xcb_randr_crtc_change_t;
+
+/**
+ * @brief xcb_randr_crtc_change_iterator_t
+ **/
+typedef struct xcb_randr_crtc_change_iterator_t {
+ xcb_randr_crtc_change_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_randr_crtc_change_iterator_t;
+
+/**
+ * @brief xcb_randr_output_change_t
+ **/
+typedef struct xcb_randr_output_change_t {
+ xcb_timestamp_t timestamp; /**< */
+ xcb_timestamp_t config_timestamp; /**< */
+ xcb_window_t window; /**< */
+ xcb_randr_output_t output; /**< */
+ xcb_randr_crtc_t crtc; /**< */
+ xcb_randr_mode_t mode; /**< */
+ uint16_t rotation; /**< */
+ uint8_t connection; /**< */
+ uint8_t subpixel_order; /**< */
+} xcb_randr_output_change_t;
+
+/**
+ * @brief xcb_randr_output_change_iterator_t
+ **/
+typedef struct xcb_randr_output_change_iterator_t {
+ xcb_randr_output_change_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_randr_output_change_iterator_t;
+
+/**
+ * @brief xcb_randr_output_property_t
+ **/
+typedef struct xcb_randr_output_property_t {
+ xcb_window_t window; /**< */
+ xcb_randr_output_t output; /**< */
+ xcb_atom_t atom; /**< */
+ xcb_timestamp_t timestamp; /**< */
+ uint8_t status; /**< */
+ uint8_t pad0[11]; /**< */
+} xcb_randr_output_property_t;
+
+/**
+ * @brief xcb_randr_output_property_iterator_t
+ **/
+typedef struct xcb_randr_output_property_iterator_t {
+ xcb_randr_output_property_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_randr_output_property_iterator_t;
+
+/**
+ * @brief xcb_randr_notify_data_t
+ **/
+typedef union xcb_randr_notify_data_t {
+ xcb_randr_crtc_change_t cc; /**< */
+ xcb_randr_output_change_t oc; /**< */
+ xcb_randr_output_property_t op; /**< */
+} xcb_randr_notify_data_t;
+
+/**
+ * @brief xcb_randr_notify_data_iterator_t
+ **/
+typedef struct xcb_randr_notify_data_iterator_t {
+ xcb_randr_notify_data_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_randr_notify_data_iterator_t;
+
+/** Opcode for xcb_randr_notify. */
+#define XCB_RANDR_NOTIFY 1
+
+/**
+ * @brief xcb_randr_notify_event_t
+ **/
+typedef struct xcb_randr_notify_event_t {
+ uint8_t response_type; /**< */
+ uint8_t subCode; /**< */
+ uint16_t sequence; /**< */
+ xcb_randr_notify_data_t u; /**< */
+} xcb_randr_notify_event_t;
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_randr_mode_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_randr_mode_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_randr_mode_next
+ **
+ ** @param xcb_randr_mode_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_randr_mode_next (xcb_randr_mode_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_randr_mode_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_mode_end
+ **
+ ** @param xcb_randr_mode_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_mode_end (xcb_randr_mode_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_randr_crtc_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_randr_crtc_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_randr_crtc_next
+ **
+ ** @param xcb_randr_crtc_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_randr_crtc_next (xcb_randr_crtc_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_randr_crtc_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_crtc_end
+ **
+ ** @param xcb_randr_crtc_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_crtc_end (xcb_randr_crtc_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_randr_output_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_randr_output_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_randr_output_next
+ **
+ ** @param xcb_randr_output_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_randr_output_next (xcb_randr_output_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_randr_output_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_output_end
+ **
+ ** @param xcb_randr_output_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_output_end (xcb_randr_output_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_randr_screen_size_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_randr_screen_size_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_randr_screen_size_next
+ **
+ ** @param xcb_randr_screen_size_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_randr_screen_size_next (xcb_randr_screen_size_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_randr_screen_size_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_screen_size_end
+ **
+ ** @param xcb_randr_screen_size_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_screen_size_end (xcb_randr_screen_size_iterator_t i /**< */);
+
+
+/*****************************************************************************
+ **
+ ** uint16_t * xcb_randr_refresh_rates_rates
+ **
+ ** @param const xcb_randr_refresh_rates_t *R
+ ** @returns uint16_t *
+ **
+ *****************************************************************************/
+
+uint16_t *
+xcb_randr_refresh_rates_rates (const xcb_randr_refresh_rates_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_refresh_rates_rates_length
+ **
+ ** @param const xcb_randr_refresh_rates_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_refresh_rates_rates_length (const xcb_randr_refresh_rates_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_refresh_rates_rates_end
+ **
+ ** @param const xcb_randr_refresh_rates_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_refresh_rates_rates_end (const xcb_randr_refresh_rates_t *R /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_randr_refresh_rates_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_randr_refresh_rates_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_randr_refresh_rates_next
+ **
+ ** @param xcb_randr_refresh_rates_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_randr_refresh_rates_next (xcb_randr_refresh_rates_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_randr_refresh_rates_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_refresh_rates_end
+ **
+ ** @param xcb_randr_refresh_rates_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_refresh_rates_end (xcb_randr_refresh_rates_iterator_t i /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_query_version_cookie_t xcb_randr_query_version
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint32_t major_version
+ ** @param uint32_t minor_version
+ ** @returns xcb_randr_query_version_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_query_version_cookie_t
+xcb_randr_query_version (xcb_connection_t *c /**< */,
+ uint32_t major_version /**< */,
+ uint32_t minor_version /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_query_version_cookie_t xcb_randr_query_version_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint32_t major_version
+ ** @param uint32_t minor_version
+ ** @returns xcb_randr_query_version_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_query_version_cookie_t
+xcb_randr_query_version_unchecked (xcb_connection_t *c /**< */,
+ uint32_t major_version /**< */,
+ uint32_t minor_version /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_query_version_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_query_version_reply_t * xcb_randr_query_version_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_query_version_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_query_version_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_query_version_reply_t *
+xcb_randr_query_version_reply (xcb_connection_t *c /**< */,
+ xcb_randr_query_version_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_set_screen_config_cookie_t xcb_randr_set_screen_config
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @param xcb_timestamp_t timestamp
+ ** @param xcb_timestamp_t config_timestamp
+ ** @param uint16_t sizeID
+ ** @param uint16_t rotation
+ ** @param uint16_t rate
+ ** @returns xcb_randr_set_screen_config_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_set_screen_config_cookie_t
+xcb_randr_set_screen_config (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */,
+ xcb_timestamp_t timestamp /**< */,
+ xcb_timestamp_t config_timestamp /**< */,
+ uint16_t sizeID /**< */,
+ uint16_t rotation /**< */,
+ uint16_t rate /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_set_screen_config_cookie_t xcb_randr_set_screen_config_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @param xcb_timestamp_t timestamp
+ ** @param xcb_timestamp_t config_timestamp
+ ** @param uint16_t sizeID
+ ** @param uint16_t rotation
+ ** @param uint16_t rate
+ ** @returns xcb_randr_set_screen_config_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_set_screen_config_cookie_t
+xcb_randr_set_screen_config_unchecked (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */,
+ xcb_timestamp_t timestamp /**< */,
+ xcb_timestamp_t config_timestamp /**< */,
+ uint16_t sizeID /**< */,
+ uint16_t rotation /**< */,
+ uint16_t rate /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_set_screen_config_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_set_screen_config_reply_t * xcb_randr_set_screen_config_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_set_screen_config_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_set_screen_config_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_set_screen_config_reply_t *
+xcb_randr_set_screen_config_reply (xcb_connection_t *c /**< */,
+ xcb_randr_set_screen_config_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_select_input_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @param uint16_t enable
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_select_input_checked (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */,
+ uint16_t enable /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_select_input
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @param uint16_t enable
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_select_input (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */,
+ uint16_t enable /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_screen_info_cookie_t xcb_randr_get_screen_info
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @returns xcb_randr_get_screen_info_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_screen_info_cookie_t
+xcb_randr_get_screen_info (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_screen_info_cookie_t xcb_randr_get_screen_info_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @returns xcb_randr_get_screen_info_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_screen_info_cookie_t
+xcb_randr_get_screen_info_unchecked (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_randr_screen_size_t * xcb_randr_get_screen_info_sizes
+ **
+ ** @param const xcb_randr_get_screen_info_reply_t *R
+ ** @returns xcb_randr_screen_size_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_screen_size_t *
+xcb_randr_get_screen_info_sizes (const xcb_randr_get_screen_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_screen_info_sizes_length
+ **
+ ** @param const xcb_randr_get_screen_info_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_screen_info_sizes_length (const xcb_randr_get_screen_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_randr_screen_size_iterator_t xcb_randr_get_screen_info_sizes_iterator
+ **
+ ** @param const xcb_randr_get_screen_info_reply_t *R
+ ** @returns xcb_randr_screen_size_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_randr_screen_size_iterator_t
+xcb_randr_get_screen_info_sizes_iterator (const xcb_randr_get_screen_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_screen_info_rates_length
+ **
+ ** @param const xcb_randr_get_screen_info_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_screen_info_rates_length (const xcb_randr_get_screen_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_randr_refresh_rates_iterator_t xcb_randr_get_screen_info_rates_iterator
+ **
+ ** @param const xcb_randr_get_screen_info_reply_t *R
+ ** @returns xcb_randr_refresh_rates_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_randr_refresh_rates_iterator_t
+xcb_randr_get_screen_info_rates_iterator (const xcb_randr_get_screen_info_reply_t *R /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_get_screen_info_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_screen_info_reply_t * xcb_randr_get_screen_info_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_get_screen_info_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_get_screen_info_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_get_screen_info_reply_t *
+xcb_randr_get_screen_info_reply (xcb_connection_t *c /**< */,
+ xcb_randr_get_screen_info_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_screen_size_range_cookie_t xcb_randr_get_screen_size_range
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @returns xcb_randr_get_screen_size_range_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_screen_size_range_cookie_t
+xcb_randr_get_screen_size_range (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_screen_size_range_cookie_t xcb_randr_get_screen_size_range_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @returns xcb_randr_get_screen_size_range_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_screen_size_range_cookie_t
+xcb_randr_get_screen_size_range_unchecked (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_get_screen_size_range_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_screen_size_range_reply_t * xcb_randr_get_screen_size_range_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_get_screen_size_range_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_get_screen_size_range_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_get_screen_size_range_reply_t *
+xcb_randr_get_screen_size_range_reply (xcb_connection_t *c /**< */,
+ xcb_randr_get_screen_size_range_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_set_screen_size_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @param uint16_t width
+ ** @param uint16_t height
+ ** @param uint32_t mm_width
+ ** @param uint32_t mm_height
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_set_screen_size_checked (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */,
+ uint16_t width /**< */,
+ uint16_t height /**< */,
+ uint32_t mm_width /**< */,
+ uint32_t mm_height /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_set_screen_size
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @param uint16_t width
+ ** @param uint16_t height
+ ** @param uint32_t mm_width
+ ** @param uint32_t mm_height
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_set_screen_size (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */,
+ uint16_t width /**< */,
+ uint16_t height /**< */,
+ uint32_t mm_width /**< */,
+ uint32_t mm_height /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_randr_mode_info_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_randr_mode_info_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_randr_mode_info_next
+ **
+ ** @param xcb_randr_mode_info_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_randr_mode_info_next (xcb_randr_mode_info_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_randr_mode_info_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_mode_info_end
+ **
+ ** @param xcb_randr_mode_info_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_mode_info_end (xcb_randr_mode_info_iterator_t i /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_screen_resources_cookie_t xcb_randr_get_screen_resources
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @returns xcb_randr_get_screen_resources_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_screen_resources_cookie_t
+xcb_randr_get_screen_resources (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_screen_resources_cookie_t xcb_randr_get_screen_resources_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @returns xcb_randr_get_screen_resources_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_screen_resources_cookie_t
+xcb_randr_get_screen_resources_unchecked (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_randr_crtc_t * xcb_randr_get_screen_resources_crtcs
+ **
+ ** @param const xcb_randr_get_screen_resources_reply_t *R
+ ** @returns xcb_randr_crtc_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_crtc_t *
+xcb_randr_get_screen_resources_crtcs (const xcb_randr_get_screen_resources_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_screen_resources_crtcs_length
+ **
+ ** @param const xcb_randr_get_screen_resources_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_screen_resources_crtcs_length (const xcb_randr_get_screen_resources_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_screen_resources_crtcs_end
+ **
+ ** @param const xcb_randr_get_screen_resources_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_screen_resources_crtcs_end (const xcb_randr_get_screen_resources_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_randr_output_t * xcb_randr_get_screen_resources_outputs
+ **
+ ** @param const xcb_randr_get_screen_resources_reply_t *R
+ ** @returns xcb_randr_output_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_output_t *
+xcb_randr_get_screen_resources_outputs (const xcb_randr_get_screen_resources_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_screen_resources_outputs_length
+ **
+ ** @param const xcb_randr_get_screen_resources_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_screen_resources_outputs_length (const xcb_randr_get_screen_resources_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_screen_resources_outputs_end
+ **
+ ** @param const xcb_randr_get_screen_resources_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_screen_resources_outputs_end (const xcb_randr_get_screen_resources_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_randr_mode_info_t * xcb_randr_get_screen_resources_modes
+ **
+ ** @param const xcb_randr_get_screen_resources_reply_t *R
+ ** @returns xcb_randr_mode_info_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_mode_info_t *
+xcb_randr_get_screen_resources_modes (const xcb_randr_get_screen_resources_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_screen_resources_modes_length
+ **
+ ** @param const xcb_randr_get_screen_resources_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_screen_resources_modes_length (const xcb_randr_get_screen_resources_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_randr_mode_info_iterator_t xcb_randr_get_screen_resources_modes_iterator
+ **
+ ** @param const xcb_randr_get_screen_resources_reply_t *R
+ ** @returns xcb_randr_mode_info_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_randr_mode_info_iterator_t
+xcb_randr_get_screen_resources_modes_iterator (const xcb_randr_get_screen_resources_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** uint8_t * xcb_randr_get_screen_resources_names
+ **
+ ** @param const xcb_randr_get_screen_resources_reply_t *R
+ ** @returns uint8_t *
+ **
+ *****************************************************************************/
+
+uint8_t *
+xcb_randr_get_screen_resources_names (const xcb_randr_get_screen_resources_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_screen_resources_names_length
+ **
+ ** @param const xcb_randr_get_screen_resources_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_screen_resources_names_length (const xcb_randr_get_screen_resources_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_screen_resources_names_end
+ **
+ ** @param const xcb_randr_get_screen_resources_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_screen_resources_names_end (const xcb_randr_get_screen_resources_reply_t *R /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_get_screen_resources_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_screen_resources_reply_t * xcb_randr_get_screen_resources_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_get_screen_resources_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_get_screen_resources_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_get_screen_resources_reply_t *
+xcb_randr_get_screen_resources_reply (xcb_connection_t *c /**< */,
+ xcb_randr_get_screen_resources_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_output_info_cookie_t xcb_randr_get_output_info
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @param xcb_timestamp_t config_timestamp
+ ** @returns xcb_randr_get_output_info_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_output_info_cookie_t
+xcb_randr_get_output_info (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */,
+ xcb_timestamp_t config_timestamp /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_output_info_cookie_t xcb_randr_get_output_info_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @param xcb_timestamp_t config_timestamp
+ ** @returns xcb_randr_get_output_info_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_output_info_cookie_t
+xcb_randr_get_output_info_unchecked (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */,
+ xcb_timestamp_t config_timestamp /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_randr_crtc_t * xcb_randr_get_output_info_crtcs
+ **
+ ** @param const xcb_randr_get_output_info_reply_t *R
+ ** @returns xcb_randr_crtc_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_crtc_t *
+xcb_randr_get_output_info_crtcs (const xcb_randr_get_output_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_output_info_crtcs_length
+ **
+ ** @param const xcb_randr_get_output_info_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_output_info_crtcs_length (const xcb_randr_get_output_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_output_info_crtcs_end
+ **
+ ** @param const xcb_randr_get_output_info_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_output_info_crtcs_end (const xcb_randr_get_output_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_randr_mode_t * xcb_randr_get_output_info_modes
+ **
+ ** @param const xcb_randr_get_output_info_reply_t *R
+ ** @returns xcb_randr_mode_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_mode_t *
+xcb_randr_get_output_info_modes (const xcb_randr_get_output_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_output_info_modes_length
+ **
+ ** @param const xcb_randr_get_output_info_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_output_info_modes_length (const xcb_randr_get_output_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_output_info_modes_end
+ **
+ ** @param const xcb_randr_get_output_info_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_output_info_modes_end (const xcb_randr_get_output_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_randr_output_t * xcb_randr_get_output_info_clones
+ **
+ ** @param const xcb_randr_get_output_info_reply_t *R
+ ** @returns xcb_randr_output_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_output_t *
+xcb_randr_get_output_info_clones (const xcb_randr_get_output_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_output_info_clones_length
+ **
+ ** @param const xcb_randr_get_output_info_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_output_info_clones_length (const xcb_randr_get_output_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_output_info_clones_end
+ **
+ ** @param const xcb_randr_get_output_info_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_output_info_clones_end (const xcb_randr_get_output_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** uint8_t * xcb_randr_get_output_info_name
+ **
+ ** @param const xcb_randr_get_output_info_reply_t *R
+ ** @returns uint8_t *
+ **
+ *****************************************************************************/
+
+uint8_t *
+xcb_randr_get_output_info_name (const xcb_randr_get_output_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_output_info_name_length
+ **
+ ** @param const xcb_randr_get_output_info_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_output_info_name_length (const xcb_randr_get_output_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_output_info_name_end
+ **
+ ** @param const xcb_randr_get_output_info_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_output_info_name_end (const xcb_randr_get_output_info_reply_t *R /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_get_output_info_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_output_info_reply_t * xcb_randr_get_output_info_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_get_output_info_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_get_output_info_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_get_output_info_reply_t *
+xcb_randr_get_output_info_reply (xcb_connection_t *c /**< */,
+ xcb_randr_get_output_info_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_list_output_properties_cookie_t xcb_randr_list_output_properties
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @returns xcb_randr_list_output_properties_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_list_output_properties_cookie_t
+xcb_randr_list_output_properties (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_list_output_properties_cookie_t xcb_randr_list_output_properties_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @returns xcb_randr_list_output_properties_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_list_output_properties_cookie_t
+xcb_randr_list_output_properties_unchecked (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_atom_t * xcb_randr_list_output_properties_atoms
+ **
+ ** @param const xcb_randr_list_output_properties_reply_t *R
+ ** @returns xcb_atom_t *
+ **
+ *****************************************************************************/
+
+xcb_atom_t *
+xcb_randr_list_output_properties_atoms (const xcb_randr_list_output_properties_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_list_output_properties_atoms_length
+ **
+ ** @param const xcb_randr_list_output_properties_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_list_output_properties_atoms_length (const xcb_randr_list_output_properties_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_list_output_properties_atoms_end
+ **
+ ** @param const xcb_randr_list_output_properties_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_list_output_properties_atoms_end (const xcb_randr_list_output_properties_reply_t *R /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_list_output_properties_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_list_output_properties_reply_t * xcb_randr_list_output_properties_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_list_output_properties_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_list_output_properties_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_list_output_properties_reply_t *
+xcb_randr_list_output_properties_reply (xcb_connection_t *c /**< */,
+ xcb_randr_list_output_properties_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_query_output_property_cookie_t xcb_randr_query_output_property
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @param xcb_atom_t property
+ ** @returns xcb_randr_query_output_property_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_query_output_property_cookie_t
+xcb_randr_query_output_property (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */,
+ xcb_atom_t property /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_query_output_property_cookie_t xcb_randr_query_output_property_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @param xcb_atom_t property
+ ** @returns xcb_randr_query_output_property_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_query_output_property_cookie_t
+xcb_randr_query_output_property_unchecked (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */,
+ xcb_atom_t property /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int32_t * xcb_randr_query_output_property_valid_values
+ **
+ ** @param const xcb_randr_query_output_property_reply_t *R
+ ** @returns int32_t *
+ **
+ *****************************************************************************/
+
+int32_t *
+xcb_randr_query_output_property_valid_values (const xcb_randr_query_output_property_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_query_output_property_valid_values_length
+ **
+ ** @param const xcb_randr_query_output_property_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_query_output_property_valid_values_length (const xcb_randr_query_output_property_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_query_output_property_valid_values_end
+ **
+ ** @param const xcb_randr_query_output_property_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_query_output_property_valid_values_end (const xcb_randr_query_output_property_reply_t *R /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_query_output_property_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_query_output_property_reply_t * xcb_randr_query_output_property_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_query_output_property_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_query_output_property_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_query_output_property_reply_t *
+xcb_randr_query_output_property_reply (xcb_connection_t *c /**< */,
+ xcb_randr_query_output_property_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_configure_output_property_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @param xcb_atom_t property
+ ** @param uint8_t pending
+ ** @param uint8_t range
+ ** @param uint32_t values_len
+ ** @param const int32_t *values
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_configure_output_property_checked (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */,
+ xcb_atom_t property /**< */,
+ uint8_t pending /**< */,
+ uint8_t range /**< */,
+ uint32_t values_len /**< */,
+ const int32_t *values /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_configure_output_property
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @param xcb_atom_t property
+ ** @param uint8_t pending
+ ** @param uint8_t range
+ ** @param uint32_t values_len
+ ** @param const int32_t *values
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_configure_output_property (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */,
+ xcb_atom_t property /**< */,
+ uint8_t pending /**< */,
+ uint8_t range /**< */,
+ uint32_t values_len /**< */,
+ const int32_t *values /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_change_output_property_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @param xcb_atom_t property
+ ** @param xcb_atom_t type
+ ** @param uint8_t format
+ ** @param uint8_t mode
+ ** @param uint32_t num_units
+ ** @param const void *data
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_change_output_property_checked (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */,
+ xcb_atom_t property /**< */,
+ xcb_atom_t type /**< */,
+ uint8_t format /**< */,
+ uint8_t mode /**< */,
+ uint32_t num_units /**< */,
+ const void *data /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_change_output_property
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @param xcb_atom_t property
+ ** @param xcb_atom_t type
+ ** @param uint8_t format
+ ** @param uint8_t mode
+ ** @param uint32_t num_units
+ ** @param const void *data
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_change_output_property (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */,
+ xcb_atom_t property /**< */,
+ xcb_atom_t type /**< */,
+ uint8_t format /**< */,
+ uint8_t mode /**< */,
+ uint32_t num_units /**< */,
+ const void *data /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_delete_output_property_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @param xcb_atom_t property
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_delete_output_property_checked (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */,
+ xcb_atom_t property /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_delete_output_property
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @param xcb_atom_t property
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_delete_output_property (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */,
+ xcb_atom_t property /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_output_property_cookie_t xcb_randr_get_output_property
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @param xcb_atom_t property
+ ** @param xcb_atom_t type
+ ** @param uint32_t long_offset
+ ** @param uint32_t long_length
+ ** @param uint8_t _delete
+ ** @param uint8_t pending
+ ** @returns xcb_randr_get_output_property_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_output_property_cookie_t
+xcb_randr_get_output_property (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */,
+ xcb_atom_t property /**< */,
+ xcb_atom_t type /**< */,
+ uint32_t long_offset /**< */,
+ uint32_t long_length /**< */,
+ uint8_t _delete /**< */,
+ uint8_t pending /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_output_property_cookie_t xcb_randr_get_output_property_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @param xcb_atom_t property
+ ** @param xcb_atom_t type
+ ** @param uint32_t long_offset
+ ** @param uint32_t long_length
+ ** @param uint8_t _delete
+ ** @param uint8_t pending
+ ** @returns xcb_randr_get_output_property_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_output_property_cookie_t
+xcb_randr_get_output_property_unchecked (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */,
+ xcb_atom_t property /**< */,
+ xcb_atom_t type /**< */,
+ uint32_t long_offset /**< */,
+ uint32_t long_length /**< */,
+ uint8_t _delete /**< */,
+ uint8_t pending /**< */);
+
+
+/*****************************************************************************
+ **
+ ** uint8_t * xcb_randr_get_output_property_data
+ **
+ ** @param const xcb_randr_get_output_property_reply_t *R
+ ** @returns uint8_t *
+ **
+ *****************************************************************************/
+
+uint8_t *
+xcb_randr_get_output_property_data (const xcb_randr_get_output_property_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_output_property_data_length
+ **
+ ** @param const xcb_randr_get_output_property_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_output_property_data_length (const xcb_randr_get_output_property_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_output_property_data_end
+ **
+ ** @param const xcb_randr_get_output_property_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_output_property_data_end (const xcb_randr_get_output_property_reply_t *R /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_get_output_property_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_output_property_reply_t * xcb_randr_get_output_property_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_get_output_property_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_get_output_property_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_get_output_property_reply_t *
+xcb_randr_get_output_property_reply (xcb_connection_t *c /**< */,
+ xcb_randr_get_output_property_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_create_mode_cookie_t xcb_randr_create_mode
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @param xcb_randr_mode_info_t mode_info
+ ** @param uint32_t name_len
+ ** @param const char *name
+ ** @returns xcb_randr_create_mode_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_create_mode_cookie_t
+xcb_randr_create_mode (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */,
+ xcb_randr_mode_info_t mode_info /**< */,
+ uint32_t name_len /**< */,
+ const char *name /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_create_mode_cookie_t xcb_randr_create_mode_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @param xcb_randr_mode_info_t mode_info
+ ** @param uint32_t name_len
+ ** @param const char *name
+ ** @returns xcb_randr_create_mode_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_create_mode_cookie_t
+xcb_randr_create_mode_unchecked (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */,
+ xcb_randr_mode_info_t mode_info /**< */,
+ uint32_t name_len /**< */,
+ const char *name /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_create_mode_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_create_mode_reply_t * xcb_randr_create_mode_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_create_mode_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_create_mode_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_create_mode_reply_t *
+xcb_randr_create_mode_reply (xcb_connection_t *c /**< */,
+ xcb_randr_create_mode_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_destroy_mode_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_mode_t mode
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_destroy_mode_checked (xcb_connection_t *c /**< */,
+ xcb_randr_mode_t mode /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_destroy_mode
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_mode_t mode
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_destroy_mode (xcb_connection_t *c /**< */,
+ xcb_randr_mode_t mode /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_add_output_mode_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @param xcb_randr_mode_t mode
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_add_output_mode_checked (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */,
+ xcb_randr_mode_t mode /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_add_output_mode
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @param xcb_randr_mode_t mode
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_add_output_mode (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */,
+ xcb_randr_mode_t mode /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_delete_output_mode_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @param xcb_randr_mode_t mode
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_delete_output_mode_checked (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */,
+ xcb_randr_mode_t mode /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_delete_output_mode
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_output_t output
+ ** @param xcb_randr_mode_t mode
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_delete_output_mode (xcb_connection_t *c /**< */,
+ xcb_randr_output_t output /**< */,
+ xcb_randr_mode_t mode /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_crtc_info_cookie_t xcb_randr_get_crtc_info
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @param xcb_timestamp_t config_timestamp
+ ** @returns xcb_randr_get_crtc_info_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_crtc_info_cookie_t
+xcb_randr_get_crtc_info (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */,
+ xcb_timestamp_t config_timestamp /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_crtc_info_cookie_t xcb_randr_get_crtc_info_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @param xcb_timestamp_t config_timestamp
+ ** @returns xcb_randr_get_crtc_info_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_crtc_info_cookie_t
+xcb_randr_get_crtc_info_unchecked (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */,
+ xcb_timestamp_t config_timestamp /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_randr_output_t * xcb_randr_get_crtc_info_outputs
+ **
+ ** @param const xcb_randr_get_crtc_info_reply_t *R
+ ** @returns xcb_randr_output_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_output_t *
+xcb_randr_get_crtc_info_outputs (const xcb_randr_get_crtc_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_crtc_info_outputs_length
+ **
+ ** @param const xcb_randr_get_crtc_info_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_crtc_info_outputs_length (const xcb_randr_get_crtc_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_crtc_info_outputs_end
+ **
+ ** @param const xcb_randr_get_crtc_info_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_crtc_info_outputs_end (const xcb_randr_get_crtc_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_randr_output_t * xcb_randr_get_crtc_info_possible
+ **
+ ** @param const xcb_randr_get_crtc_info_reply_t *R
+ ** @returns xcb_randr_output_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_output_t *
+xcb_randr_get_crtc_info_possible (const xcb_randr_get_crtc_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_crtc_info_possible_length
+ **
+ ** @param const xcb_randr_get_crtc_info_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_crtc_info_possible_length (const xcb_randr_get_crtc_info_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_crtc_info_possible_end
+ **
+ ** @param const xcb_randr_get_crtc_info_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_crtc_info_possible_end (const xcb_randr_get_crtc_info_reply_t *R /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_get_crtc_info_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_crtc_info_reply_t * xcb_randr_get_crtc_info_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_get_crtc_info_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_get_crtc_info_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_get_crtc_info_reply_t *
+xcb_randr_get_crtc_info_reply (xcb_connection_t *c /**< */,
+ xcb_randr_get_crtc_info_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_set_crtc_config_cookie_t xcb_randr_set_crtc_config
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @param xcb_timestamp_t timestamp
+ ** @param xcb_timestamp_t config_timestamp
+ ** @param int16_t x
+ ** @param int16_t y
+ ** @param xcb_randr_mode_t mode
+ ** @param uint16_t rotation
+ ** @param uint32_t outputs_len
+ ** @param const xcb_randr_output_t *outputs
+ ** @returns xcb_randr_set_crtc_config_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_set_crtc_config_cookie_t
+xcb_randr_set_crtc_config (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */,
+ xcb_timestamp_t timestamp /**< */,
+ xcb_timestamp_t config_timestamp /**< */,
+ int16_t x /**< */,
+ int16_t y /**< */,
+ xcb_randr_mode_t mode /**< */,
+ uint16_t rotation /**< */,
+ uint32_t outputs_len /**< */,
+ const xcb_randr_output_t *outputs /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_set_crtc_config_cookie_t xcb_randr_set_crtc_config_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @param xcb_timestamp_t timestamp
+ ** @param xcb_timestamp_t config_timestamp
+ ** @param int16_t x
+ ** @param int16_t y
+ ** @param xcb_randr_mode_t mode
+ ** @param uint16_t rotation
+ ** @param uint32_t outputs_len
+ ** @param const xcb_randr_output_t *outputs
+ ** @returns xcb_randr_set_crtc_config_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_set_crtc_config_cookie_t
+xcb_randr_set_crtc_config_unchecked (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */,
+ xcb_timestamp_t timestamp /**< */,
+ xcb_timestamp_t config_timestamp /**< */,
+ int16_t x /**< */,
+ int16_t y /**< */,
+ xcb_randr_mode_t mode /**< */,
+ uint16_t rotation /**< */,
+ uint32_t outputs_len /**< */,
+ const xcb_randr_output_t *outputs /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_set_crtc_config_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_set_crtc_config_reply_t * xcb_randr_set_crtc_config_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_set_crtc_config_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_set_crtc_config_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_set_crtc_config_reply_t *
+xcb_randr_set_crtc_config_reply (xcb_connection_t *c /**< */,
+ xcb_randr_set_crtc_config_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_crtc_gamma_size_cookie_t xcb_randr_get_crtc_gamma_size
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @returns xcb_randr_get_crtc_gamma_size_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_crtc_gamma_size_cookie_t
+xcb_randr_get_crtc_gamma_size (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_crtc_gamma_size_cookie_t xcb_randr_get_crtc_gamma_size_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @returns xcb_randr_get_crtc_gamma_size_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_crtc_gamma_size_cookie_t
+xcb_randr_get_crtc_gamma_size_unchecked (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_get_crtc_gamma_size_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_crtc_gamma_size_reply_t * xcb_randr_get_crtc_gamma_size_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_get_crtc_gamma_size_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_get_crtc_gamma_size_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_get_crtc_gamma_size_reply_t *
+xcb_randr_get_crtc_gamma_size_reply (xcb_connection_t *c /**< */,
+ xcb_randr_get_crtc_gamma_size_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_crtc_gamma_cookie_t xcb_randr_get_crtc_gamma
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @returns xcb_randr_get_crtc_gamma_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_crtc_gamma_cookie_t
+xcb_randr_get_crtc_gamma (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_crtc_gamma_cookie_t xcb_randr_get_crtc_gamma_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @returns xcb_randr_get_crtc_gamma_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_crtc_gamma_cookie_t
+xcb_randr_get_crtc_gamma_unchecked (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */);
+
+
+/*****************************************************************************
+ **
+ ** uint16_t * xcb_randr_get_crtc_gamma_red
+ **
+ ** @param const xcb_randr_get_crtc_gamma_reply_t *R
+ ** @returns uint16_t *
+ **
+ *****************************************************************************/
+
+uint16_t *
+xcb_randr_get_crtc_gamma_red (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_crtc_gamma_red_length
+ **
+ ** @param const xcb_randr_get_crtc_gamma_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_crtc_gamma_red_length (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_crtc_gamma_red_end
+ **
+ ** @param const xcb_randr_get_crtc_gamma_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_crtc_gamma_red_end (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** uint16_t * xcb_randr_get_crtc_gamma_green
+ **
+ ** @param const xcb_randr_get_crtc_gamma_reply_t *R
+ ** @returns uint16_t *
+ **
+ *****************************************************************************/
+
+uint16_t *
+xcb_randr_get_crtc_gamma_green (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_crtc_gamma_green_length
+ **
+ ** @param const xcb_randr_get_crtc_gamma_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_crtc_gamma_green_length (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_crtc_gamma_green_end
+ **
+ ** @param const xcb_randr_get_crtc_gamma_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_crtc_gamma_green_end (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** uint16_t * xcb_randr_get_crtc_gamma_blue
+ **
+ ** @param const xcb_randr_get_crtc_gamma_reply_t *R
+ ** @returns uint16_t *
+ **
+ *****************************************************************************/
+
+uint16_t *
+xcb_randr_get_crtc_gamma_blue (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_crtc_gamma_blue_length
+ **
+ ** @param const xcb_randr_get_crtc_gamma_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_crtc_gamma_blue_length (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_crtc_gamma_blue_end
+ **
+ ** @param const xcb_randr_get_crtc_gamma_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_crtc_gamma_blue_end (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_get_crtc_gamma_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_crtc_gamma_reply_t * xcb_randr_get_crtc_gamma_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_get_crtc_gamma_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_get_crtc_gamma_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_get_crtc_gamma_reply_t *
+xcb_randr_get_crtc_gamma_reply (xcb_connection_t *c /**< */,
+ xcb_randr_get_crtc_gamma_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_set_crtc_gamma_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @param uint16_t size
+ ** @param const uint16_t *red
+ ** @param const uint16_t *green
+ ** @param const uint16_t *blue
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_set_crtc_gamma_checked (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */,
+ uint16_t size /**< */,
+ const uint16_t *red /**< */,
+ const uint16_t *green /**< */,
+ const uint16_t *blue /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_set_crtc_gamma
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @param uint16_t size
+ ** @param const uint16_t *red
+ ** @param const uint16_t *green
+ ** @param const uint16_t *blue
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_set_crtc_gamma (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */,
+ uint16_t size /**< */,
+ const uint16_t *red /**< */,
+ const uint16_t *green /**< */,
+ const uint16_t *blue /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_screen_resources_current_cookie_t xcb_randr_get_screen_resources_current
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @returns xcb_randr_get_screen_resources_current_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_screen_resources_current_cookie_t
+xcb_randr_get_screen_resources_current (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_screen_resources_current_cookie_t xcb_randr_get_screen_resources_current_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @returns xcb_randr_get_screen_resources_current_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_screen_resources_current_cookie_t
+xcb_randr_get_screen_resources_current_unchecked (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_randr_crtc_t * xcb_randr_get_screen_resources_current_crtcs
+ **
+ ** @param const xcb_randr_get_screen_resources_current_reply_t *R
+ ** @returns xcb_randr_crtc_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_crtc_t *
+xcb_randr_get_screen_resources_current_crtcs (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_screen_resources_current_crtcs_length
+ **
+ ** @param const xcb_randr_get_screen_resources_current_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_screen_resources_current_crtcs_length (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_screen_resources_current_crtcs_end
+ **
+ ** @param const xcb_randr_get_screen_resources_current_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_screen_resources_current_crtcs_end (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_randr_output_t * xcb_randr_get_screen_resources_current_outputs
+ **
+ ** @param const xcb_randr_get_screen_resources_current_reply_t *R
+ ** @returns xcb_randr_output_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_output_t *
+xcb_randr_get_screen_resources_current_outputs (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_screen_resources_current_outputs_length
+ **
+ ** @param const xcb_randr_get_screen_resources_current_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_screen_resources_current_outputs_length (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_screen_resources_current_outputs_end
+ **
+ ** @param const xcb_randr_get_screen_resources_current_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_screen_resources_current_outputs_end (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_randr_mode_info_t * xcb_randr_get_screen_resources_current_modes
+ **
+ ** @param const xcb_randr_get_screen_resources_current_reply_t *R
+ ** @returns xcb_randr_mode_info_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_mode_info_t *
+xcb_randr_get_screen_resources_current_modes (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_screen_resources_current_modes_length
+ **
+ ** @param const xcb_randr_get_screen_resources_current_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_screen_resources_current_modes_length (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_randr_mode_info_iterator_t xcb_randr_get_screen_resources_current_modes_iterator
+ **
+ ** @param const xcb_randr_get_screen_resources_current_reply_t *R
+ ** @returns xcb_randr_mode_info_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_randr_mode_info_iterator_t
+xcb_randr_get_screen_resources_current_modes_iterator (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** uint8_t * xcb_randr_get_screen_resources_current_names
+ **
+ ** @param const xcb_randr_get_screen_resources_current_reply_t *R
+ ** @returns uint8_t *
+ **
+ *****************************************************************************/
+
+uint8_t *
+xcb_randr_get_screen_resources_current_names (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_screen_resources_current_names_length
+ **
+ ** @param const xcb_randr_get_screen_resources_current_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_screen_resources_current_names_length (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_screen_resources_current_names_end
+ **
+ ** @param const xcb_randr_get_screen_resources_current_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_screen_resources_current_names_end (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_get_screen_resources_current_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_screen_resources_current_reply_t * xcb_randr_get_screen_resources_current_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_get_screen_resources_current_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_get_screen_resources_current_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_get_screen_resources_current_reply_t *
+xcb_randr_get_screen_resources_current_reply (xcb_connection_t *c /**< */,
+ xcb_randr_get_screen_resources_current_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_set_crtc_transform_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @param xcb_render_transform_t transform
+ ** @param uint16_t filter_len
+ ** @param const char *filter_name
+ ** @param uint32_t filter_params_len
+ ** @param const xcb_render_fixed_t *filter_params
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_set_crtc_transform_checked (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */,
+ xcb_render_transform_t transform /**< */,
+ uint16_t filter_len /**< */,
+ const char *filter_name /**< */,
+ uint32_t filter_params_len /**< */,
+ const xcb_render_fixed_t *filter_params /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_set_crtc_transform
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @param xcb_render_transform_t transform
+ ** @param uint16_t filter_len
+ ** @param const char *filter_name
+ ** @param uint32_t filter_params_len
+ ** @param const xcb_render_fixed_t *filter_params
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_set_crtc_transform (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */,
+ xcb_render_transform_t transform /**< */,
+ uint16_t filter_len /**< */,
+ const char *filter_name /**< */,
+ uint32_t filter_params_len /**< */,
+ const xcb_render_fixed_t *filter_params /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_crtc_transform_cookie_t xcb_randr_get_crtc_transform
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @returns xcb_randr_get_crtc_transform_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_crtc_transform_cookie_t
+xcb_randr_get_crtc_transform (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_crtc_transform_cookie_t xcb_randr_get_crtc_transform_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @returns xcb_randr_get_crtc_transform_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_crtc_transform_cookie_t
+xcb_randr_get_crtc_transform_unchecked (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */);
+
+
+/*****************************************************************************
+ **
+ ** char * xcb_randr_get_crtc_transform_pending_filter_name
+ **
+ ** @param const xcb_randr_get_crtc_transform_reply_t *R
+ ** @returns char *
+ **
+ *****************************************************************************/
+
+char *
+xcb_randr_get_crtc_transform_pending_filter_name (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_crtc_transform_pending_filter_name_length
+ **
+ ** @param const xcb_randr_get_crtc_transform_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_crtc_transform_pending_filter_name_length (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_crtc_transform_pending_filter_name_end
+ **
+ ** @param const xcb_randr_get_crtc_transform_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_crtc_transform_pending_filter_name_end (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_render_fixed_t * xcb_randr_get_crtc_transform_pending_params
+ **
+ ** @param const xcb_randr_get_crtc_transform_reply_t *R
+ ** @returns xcb_render_fixed_t *
+ **
+ *****************************************************************************/
+
+xcb_render_fixed_t *
+xcb_randr_get_crtc_transform_pending_params (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_crtc_transform_pending_params_length
+ **
+ ** @param const xcb_randr_get_crtc_transform_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_crtc_transform_pending_params_length (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_crtc_transform_pending_params_end
+ **
+ ** @param const xcb_randr_get_crtc_transform_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_crtc_transform_pending_params_end (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** char * xcb_randr_get_crtc_transform_current_filter_name
+ **
+ ** @param const xcb_randr_get_crtc_transform_reply_t *R
+ ** @returns char *
+ **
+ *****************************************************************************/
+
+char *
+xcb_randr_get_crtc_transform_current_filter_name (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_crtc_transform_current_filter_name_length
+ **
+ ** @param const xcb_randr_get_crtc_transform_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_crtc_transform_current_filter_name_length (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_crtc_transform_current_filter_name_end
+ **
+ ** @param const xcb_randr_get_crtc_transform_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_crtc_transform_current_filter_name_end (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_render_fixed_t * xcb_randr_get_crtc_transform_current_params
+ **
+ ** @param const xcb_randr_get_crtc_transform_reply_t *R
+ ** @returns xcb_render_fixed_t *
+ **
+ *****************************************************************************/
+
+xcb_render_fixed_t *
+xcb_randr_get_crtc_transform_current_params (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_randr_get_crtc_transform_current_params_length
+ **
+ ** @param const xcb_randr_get_crtc_transform_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_randr_get_crtc_transform_current_params_length (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_get_crtc_transform_current_params_end
+ **
+ ** @param const xcb_randr_get_crtc_transform_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_get_crtc_transform_current_params_end (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_get_crtc_transform_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_crtc_transform_reply_t * xcb_randr_get_crtc_transform_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_get_crtc_transform_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_get_crtc_transform_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_get_crtc_transform_reply_t *
+xcb_randr_get_crtc_transform_reply (xcb_connection_t *c /**< */,
+ xcb_randr_get_crtc_transform_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_panning_cookie_t xcb_randr_get_panning
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @returns xcb_randr_get_panning_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_panning_cookie_t
+xcb_randr_get_panning (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_panning_cookie_t xcb_randr_get_panning_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @returns xcb_randr_get_panning_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_panning_cookie_t
+xcb_randr_get_panning_unchecked (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_get_panning_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_panning_reply_t * xcb_randr_get_panning_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_get_panning_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_get_panning_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_get_panning_reply_t *
+xcb_randr_get_panning_reply (xcb_connection_t *c /**< */,
+ xcb_randr_get_panning_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_set_panning_cookie_t xcb_randr_set_panning
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @param xcb_timestamp_t timestamp
+ ** @param uint16_t left
+ ** @param uint16_t top
+ ** @param uint16_t width
+ ** @param uint16_t height
+ ** @param uint16_t track_left
+ ** @param uint16_t track_top
+ ** @param uint16_t track_width
+ ** @param uint16_t track_height
+ ** @param int16_t border_left
+ ** @param int16_t border_top
+ ** @param int16_t border_right
+ ** @param int16_t border_bottom
+ ** @returns xcb_randr_set_panning_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_set_panning_cookie_t
+xcb_randr_set_panning (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */,
+ xcb_timestamp_t timestamp /**< */,
+ uint16_t left /**< */,
+ uint16_t top /**< */,
+ uint16_t width /**< */,
+ uint16_t height /**< */,
+ uint16_t track_left /**< */,
+ uint16_t track_top /**< */,
+ uint16_t track_width /**< */,
+ uint16_t track_height /**< */,
+ int16_t border_left /**< */,
+ int16_t border_top /**< */,
+ int16_t border_right /**< */,
+ int16_t border_bottom /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_set_panning_cookie_t xcb_randr_set_panning_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_crtc_t crtc
+ ** @param xcb_timestamp_t timestamp
+ ** @param uint16_t left
+ ** @param uint16_t top
+ ** @param uint16_t width
+ ** @param uint16_t height
+ ** @param uint16_t track_left
+ ** @param uint16_t track_top
+ ** @param uint16_t track_width
+ ** @param uint16_t track_height
+ ** @param int16_t border_left
+ ** @param int16_t border_top
+ ** @param int16_t border_right
+ ** @param int16_t border_bottom
+ ** @returns xcb_randr_set_panning_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_set_panning_cookie_t
+xcb_randr_set_panning_unchecked (xcb_connection_t *c /**< */,
+ xcb_randr_crtc_t crtc /**< */,
+ xcb_timestamp_t timestamp /**< */,
+ uint16_t left /**< */,
+ uint16_t top /**< */,
+ uint16_t width /**< */,
+ uint16_t height /**< */,
+ uint16_t track_left /**< */,
+ uint16_t track_top /**< */,
+ uint16_t track_width /**< */,
+ uint16_t track_height /**< */,
+ int16_t border_left /**< */,
+ int16_t border_top /**< */,
+ int16_t border_right /**< */,
+ int16_t border_bottom /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_set_panning_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_set_panning_reply_t * xcb_randr_set_panning_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_set_panning_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_set_panning_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_set_panning_reply_t *
+xcb_randr_set_panning_reply (xcb_connection_t *c /**< */,
+ xcb_randr_set_panning_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_set_output_primary_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @param xcb_randr_output_t output
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_set_output_primary_checked (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */,
+ xcb_randr_output_t output /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_randr_set_output_primary
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @param xcb_randr_output_t output
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_randr_set_output_primary (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */,
+ xcb_randr_output_t output /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_output_primary_cookie_t xcb_randr_get_output_primary
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @returns xcb_randr_get_output_primary_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_output_primary_cookie_t
+xcb_randr_get_output_primary (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_output_primary_cookie_t xcb_randr_get_output_primary_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @returns xcb_randr_get_output_primary_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_randr_get_output_primary_cookie_t
+xcb_randr_get_output_primary_unchecked (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_randr_get_output_primary_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_randr_get_output_primary_reply_t * xcb_randr_get_output_primary_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_randr_get_output_primary_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_randr_get_output_primary_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_randr_get_output_primary_reply_t *
+xcb_randr_get_output_primary_reply (xcb_connection_t *c /**< */,
+ xcb_randr_get_output_primary_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_randr_crtc_change_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_randr_crtc_change_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_randr_crtc_change_next
+ **
+ ** @param xcb_randr_crtc_change_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_randr_crtc_change_next (xcb_randr_crtc_change_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_randr_crtc_change_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_crtc_change_end
+ **
+ ** @param xcb_randr_crtc_change_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_crtc_change_end (xcb_randr_crtc_change_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_randr_output_change_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_randr_output_change_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_randr_output_change_next
+ **
+ ** @param xcb_randr_output_change_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_randr_output_change_next (xcb_randr_output_change_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_randr_output_change_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_output_change_end
+ **
+ ** @param xcb_randr_output_change_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_output_change_end (xcb_randr_output_change_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_randr_output_property_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_randr_output_property_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_randr_output_property_next
+ **
+ ** @param xcb_randr_output_property_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_randr_output_property_next (xcb_randr_output_property_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_randr_output_property_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_output_property_end
+ **
+ ** @param xcb_randr_output_property_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_output_property_end (xcb_randr_output_property_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_randr_notify_data_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_randr_notify_data_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_randr_notify_data_next
+ **
+ ** @param xcb_randr_notify_data_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_randr_notify_data_next (xcb_randr_notify_data_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_randr_notify_data_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_randr_notify_data_end
+ **
+ ** @param xcb_randr_notify_data_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_randr_notify_data_end (xcb_randr_notify_data_iterator_t i /**< */);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+/**
+ * @}
+ */
diff --git a/src/3rdparty/xcb/include/xcb/render.h b/src/3rdparty/xcb/include/xcb/render.h
new file mode 100644
index 0000000000..0f96ca1fbc
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/render.h
@@ -0,0 +1,4412 @@
+/*
+ * This file generated automatically from render.xml by c_client.py.
+ * Edit at your peril.
+ */
+
+/**
+ * @defgroup XCB_Render_API XCB Render API
+ * @brief Render XCB Protocol Implementation.
+ * @{
+ **/
+
+#ifndef __RENDER_H
+#define __RENDER_H
+
+#include "xcb.h"
+#include "xproto.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define XCB_RENDER_MAJOR_VERSION 0
+#define XCB_RENDER_MINOR_VERSION 10
+
+extern xcb_extension_t xcb_render_id;
+
+typedef enum xcb_render_pict_type_t {
+ XCB_RENDER_PICT_TYPE_INDEXED,
+ XCB_RENDER_PICT_TYPE_DIRECT
+} xcb_render_pict_type_t;
+
+typedef enum xcb_render_picture_enum_t {
+ XCB_RENDER_PICTURE_NONE
+} xcb_render_picture_enum_t;
+
+typedef enum xcb_render_pict_op_t {
+ XCB_RENDER_PICT_OP_CLEAR,
+ XCB_RENDER_PICT_OP_SRC,
+ XCB_RENDER_PICT_OP_DST,
+ XCB_RENDER_PICT_OP_OVER,
+ XCB_RENDER_PICT_OP_OVER_REVERSE,
+ XCB_RENDER_PICT_OP_IN,
+ XCB_RENDER_PICT_OP_IN_REVERSE,
+ XCB_RENDER_PICT_OP_OUT,
+ XCB_RENDER_PICT_OP_OUT_REVERSE,
+ XCB_RENDER_PICT_OP_ATOP,
+ XCB_RENDER_PICT_OP_ATOP_REVERSE,
+ XCB_RENDER_PICT_OP_XOR,
+ XCB_RENDER_PICT_OP_ADD,
+ XCB_RENDER_PICT_OP_SATURATE,
+ XCB_RENDER_PICT_OP_DISJOINT_CLEAR = 16,
+ XCB_RENDER_PICT_OP_DISJOINT_SRC,
+ XCB_RENDER_PICT_OP_DISJOINT_DST,
+ XCB_RENDER_PICT_OP_DISJOINT_OVER,
+ XCB_RENDER_PICT_OP_DISJOINT_OVER_REVERSE,
+ XCB_RENDER_PICT_OP_DISJOINT_IN,
+ XCB_RENDER_PICT_OP_DISJOINT_IN_REVERSE,
+ XCB_RENDER_PICT_OP_DISJOINT_OUT,
+ XCB_RENDER_PICT_OP_DISJOINT_OUT_REVERSE,
+ XCB_RENDER_PICT_OP_DISJOINT_ATOP,
+ XCB_RENDER_PICT_OP_DISJOINT_ATOP_REVERSE,
+ XCB_RENDER_PICT_OP_DISJOINT_XOR,
+ XCB_RENDER_PICT_OP_CONJOINT_CLEAR = 32,
+ XCB_RENDER_PICT_OP_CONJOINT_SRC,
+ XCB_RENDER_PICT_OP_CONJOINT_DST,
+ XCB_RENDER_PICT_OP_CONJOINT_OVER,
+ XCB_RENDER_PICT_OP_CONJOINT_OVER_REVERSE,
+ XCB_RENDER_PICT_OP_CONJOINT_IN,
+ XCB_RENDER_PICT_OP_CONJOINT_IN_REVERSE,
+ XCB_RENDER_PICT_OP_CONJOINT_OUT,
+ XCB_RENDER_PICT_OP_CONJOINT_OUT_REVERSE,
+ XCB_RENDER_PICT_OP_CONJOINT_ATOP,
+ XCB_RENDER_PICT_OP_CONJOINT_ATOP_REVERSE,
+ XCB_RENDER_PICT_OP_CONJOINT_XOR
+} xcb_render_pict_op_t;
+
+typedef enum xcb_render_poly_edge_t {
+ XCB_RENDER_POLY_EDGE_SHARP,
+ XCB_RENDER_POLY_EDGE_SMOOTH
+} xcb_render_poly_edge_t;
+
+typedef enum xcb_render_poly_mode_t {
+ XCB_RENDER_POLY_MODE_PRECISE,
+ XCB_RENDER_POLY_MODE_IMPRECISE
+} xcb_render_poly_mode_t;
+
+typedef enum xcb_render_cp_t {
+ XCB_RENDER_CP_REPEAT = 1,
+ XCB_RENDER_CP_ALPHA_MAP = 2,
+ XCB_RENDER_CP_ALPHA_X_ORIGIN = 4,
+ XCB_RENDER_CP_ALPHA_Y_ORIGIN = 8,
+ XCB_RENDER_CP_CLIP_X_ORIGIN = 16,
+ XCB_RENDER_CP_CLIP_Y_ORIGIN = 32,
+ XCB_RENDER_CP_CLIP_MASK = 64,
+ XCB_RENDER_CP_GRAPHICS_EXPOSURE = 128,
+ XCB_RENDER_CP_SUBWINDOW_MODE = 256,
+ XCB_RENDER_CP_POLY_EDGE = 512,
+ XCB_RENDER_CP_POLY_MODE = 1024,
+ XCB_RENDER_CP_DITHER = 2048,
+ XCB_RENDER_CP_COMPONENT_ALPHA = 4096
+} xcb_render_cp_t;
+
+typedef enum xcb_render_sub_pixel_t {
+ XCB_RENDER_SUB_PIXEL_UNKNOWN,
+ XCB_RENDER_SUB_PIXEL_HORIZONTAL_RGB,
+ XCB_RENDER_SUB_PIXEL_HORIZONTAL_BGR,
+ XCB_RENDER_SUB_PIXEL_VERTICAL_RGB,
+ XCB_RENDER_SUB_PIXEL_VERTICAL_BGR,
+ XCB_RENDER_SUB_PIXEL_NONE
+} xcb_render_sub_pixel_t;
+
+typedef enum xcb_render_repeat_t {
+ XCB_RENDER_REPEAT_NONE,
+ XCB_RENDER_REPEAT_NORMAL,
+ XCB_RENDER_REPEAT_PAD,
+ XCB_RENDER_REPEAT_REFLECT
+} xcb_render_repeat_t;
+
+typedef uint32_t xcb_render_glyph_t;
+
+/**
+ * @brief xcb_render_glyph_iterator_t
+ **/
+typedef struct xcb_render_glyph_iterator_t {
+ xcb_render_glyph_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_glyph_iterator_t;
+
+typedef uint32_t xcb_render_glyphset_t;
+
+/**
+ * @brief xcb_render_glyphset_iterator_t
+ **/
+typedef struct xcb_render_glyphset_iterator_t {
+ xcb_render_glyphset_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_glyphset_iterator_t;
+
+typedef uint32_t xcb_render_picture_t;
+
+/**
+ * @brief xcb_render_picture_iterator_t
+ **/
+typedef struct xcb_render_picture_iterator_t {
+ xcb_render_picture_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_picture_iterator_t;
+
+typedef uint32_t xcb_render_pictformat_t;
+
+/**
+ * @brief xcb_render_pictformat_iterator_t
+ **/
+typedef struct xcb_render_pictformat_iterator_t {
+ xcb_render_pictformat_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_pictformat_iterator_t;
+
+typedef int32_t xcb_render_fixed_t;
+
+/**
+ * @brief xcb_render_fixed_iterator_t
+ **/
+typedef struct xcb_render_fixed_iterator_t {
+ xcb_render_fixed_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_fixed_iterator_t;
+
+/** Opcode for xcb_render_pict_format. */
+#define XCB_RENDER_PICT_FORMAT 0
+
+/**
+ * @brief xcb_render_pict_format_error_t
+ **/
+typedef struct xcb_render_pict_format_error_t {
+ uint8_t response_type; /**< */
+ uint8_t error_code; /**< */
+ uint16_t sequence; /**< */
+} xcb_render_pict_format_error_t;
+
+/** Opcode for xcb_render_picture. */
+#define XCB_RENDER_PICTURE 1
+
+/**
+ * @brief xcb_render_picture_error_t
+ **/
+typedef struct xcb_render_picture_error_t {
+ uint8_t response_type; /**< */
+ uint8_t error_code; /**< */
+ uint16_t sequence; /**< */
+} xcb_render_picture_error_t;
+
+/** Opcode for xcb_render_pict_op. */
+#define XCB_RENDER_PICT_OP 2
+
+/**
+ * @brief xcb_render_pict_op_error_t
+ **/
+typedef struct xcb_render_pict_op_error_t {
+ uint8_t response_type; /**< */
+ uint8_t error_code; /**< */
+ uint16_t sequence; /**< */
+} xcb_render_pict_op_error_t;
+
+/** Opcode for xcb_render_glyph_set. */
+#define XCB_RENDER_GLYPH_SET 3
+
+/**
+ * @brief xcb_render_glyph_set_error_t
+ **/
+typedef struct xcb_render_glyph_set_error_t {
+ uint8_t response_type; /**< */
+ uint8_t error_code; /**< */
+ uint16_t sequence; /**< */
+} xcb_render_glyph_set_error_t;
+
+/** Opcode for xcb_render_glyph. */
+#define XCB_RENDER_GLYPH 4
+
+/**
+ * @brief xcb_render_glyph_error_t
+ **/
+typedef struct xcb_render_glyph_error_t {
+ uint8_t response_type; /**< */
+ uint8_t error_code; /**< */
+ uint16_t sequence; /**< */
+} xcb_render_glyph_error_t;
+
+/**
+ * @brief xcb_render_directformat_t
+ **/
+typedef struct xcb_render_directformat_t {
+ uint16_t red_shift; /**< */
+ uint16_t red_mask; /**< */
+ uint16_t green_shift; /**< */
+ uint16_t green_mask; /**< */
+ uint16_t blue_shift; /**< */
+ uint16_t blue_mask; /**< */
+ uint16_t alpha_shift; /**< */
+ uint16_t alpha_mask; /**< */
+} xcb_render_directformat_t;
+
+/**
+ * @brief xcb_render_directformat_iterator_t
+ **/
+typedef struct xcb_render_directformat_iterator_t {
+ xcb_render_directformat_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_directformat_iterator_t;
+
+/**
+ * @brief xcb_render_pictforminfo_t
+ **/
+typedef struct xcb_render_pictforminfo_t {
+ xcb_render_pictformat_t id; /**< */
+ uint8_t type; /**< */
+ uint8_t depth; /**< */
+ uint8_t pad0[2]; /**< */
+ xcb_render_directformat_t direct; /**< */
+ xcb_colormap_t colormap; /**< */
+} xcb_render_pictforminfo_t;
+
+/**
+ * @brief xcb_render_pictforminfo_iterator_t
+ **/
+typedef struct xcb_render_pictforminfo_iterator_t {
+ xcb_render_pictforminfo_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_pictforminfo_iterator_t;
+
+/**
+ * @brief xcb_render_pictvisual_t
+ **/
+typedef struct xcb_render_pictvisual_t {
+ xcb_visualid_t visual; /**< */
+ xcb_render_pictformat_t format; /**< */
+} xcb_render_pictvisual_t;
+
+/**
+ * @brief xcb_render_pictvisual_iterator_t
+ **/
+typedef struct xcb_render_pictvisual_iterator_t {
+ xcb_render_pictvisual_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_pictvisual_iterator_t;
+
+/**
+ * @brief xcb_render_pictdepth_t
+ **/
+typedef struct xcb_render_pictdepth_t {
+ uint8_t depth; /**< */
+ uint8_t pad0; /**< */
+ uint16_t num_visuals; /**< */
+ uint8_t pad1[4]; /**< */
+} xcb_render_pictdepth_t;
+
+/**
+ * @brief xcb_render_pictdepth_iterator_t
+ **/
+typedef struct xcb_render_pictdepth_iterator_t {
+ xcb_render_pictdepth_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_pictdepth_iterator_t;
+
+/**
+ * @brief xcb_render_pictscreen_t
+ **/
+typedef struct xcb_render_pictscreen_t {
+ uint32_t num_depths; /**< */
+ xcb_render_pictformat_t fallback; /**< */
+} xcb_render_pictscreen_t;
+
+/**
+ * @brief xcb_render_pictscreen_iterator_t
+ **/
+typedef struct xcb_render_pictscreen_iterator_t {
+ xcb_render_pictscreen_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_pictscreen_iterator_t;
+
+/**
+ * @brief xcb_render_indexvalue_t
+ **/
+typedef struct xcb_render_indexvalue_t {
+ uint32_t pixel; /**< */
+ uint16_t red; /**< */
+ uint16_t green; /**< */
+ uint16_t blue; /**< */
+ uint16_t alpha; /**< */
+} xcb_render_indexvalue_t;
+
+/**
+ * @brief xcb_render_indexvalue_iterator_t
+ **/
+typedef struct xcb_render_indexvalue_iterator_t {
+ xcb_render_indexvalue_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_indexvalue_iterator_t;
+
+/**
+ * @brief xcb_render_color_t
+ **/
+typedef struct xcb_render_color_t {
+ uint16_t red; /**< */
+ uint16_t green; /**< */
+ uint16_t blue; /**< */
+ uint16_t alpha; /**< */
+} xcb_render_color_t;
+
+/**
+ * @brief xcb_render_color_iterator_t
+ **/
+typedef struct xcb_render_color_iterator_t {
+ xcb_render_color_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_color_iterator_t;
+
+/**
+ * @brief xcb_render_pointfix_t
+ **/
+typedef struct xcb_render_pointfix_t {
+ xcb_render_fixed_t x; /**< */
+ xcb_render_fixed_t y; /**< */
+} xcb_render_pointfix_t;
+
+/**
+ * @brief xcb_render_pointfix_iterator_t
+ **/
+typedef struct xcb_render_pointfix_iterator_t {
+ xcb_render_pointfix_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_pointfix_iterator_t;
+
+/**
+ * @brief xcb_render_linefix_t
+ **/
+typedef struct xcb_render_linefix_t {
+ xcb_render_pointfix_t p1; /**< */
+ xcb_render_pointfix_t p2; /**< */
+} xcb_render_linefix_t;
+
+/**
+ * @brief xcb_render_linefix_iterator_t
+ **/
+typedef struct xcb_render_linefix_iterator_t {
+ xcb_render_linefix_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_linefix_iterator_t;
+
+/**
+ * @brief xcb_render_triangle_t
+ **/
+typedef struct xcb_render_triangle_t {
+ xcb_render_pointfix_t p1; /**< */
+ xcb_render_pointfix_t p2; /**< */
+ xcb_render_pointfix_t p3; /**< */
+} xcb_render_triangle_t;
+
+/**
+ * @brief xcb_render_triangle_iterator_t
+ **/
+typedef struct xcb_render_triangle_iterator_t {
+ xcb_render_triangle_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_triangle_iterator_t;
+
+/**
+ * @brief xcb_render_trapezoid_t
+ **/
+typedef struct xcb_render_trapezoid_t {
+ xcb_render_fixed_t top; /**< */
+ xcb_render_fixed_t bottom; /**< */
+ xcb_render_linefix_t left; /**< */
+ xcb_render_linefix_t right; /**< */
+} xcb_render_trapezoid_t;
+
+/**
+ * @brief xcb_render_trapezoid_iterator_t
+ **/
+typedef struct xcb_render_trapezoid_iterator_t {
+ xcb_render_trapezoid_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_trapezoid_iterator_t;
+
+/**
+ * @brief xcb_render_glyphinfo_t
+ **/
+typedef struct xcb_render_glyphinfo_t {
+ uint16_t width; /**< */
+ uint16_t height; /**< */
+ int16_t x; /**< */
+ int16_t y; /**< */
+ int16_t x_off; /**< */
+ int16_t y_off; /**< */
+} xcb_render_glyphinfo_t;
+
+/**
+ * @brief xcb_render_glyphinfo_iterator_t
+ **/
+typedef struct xcb_render_glyphinfo_iterator_t {
+ xcb_render_glyphinfo_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_glyphinfo_iterator_t;
+
+/**
+ * @brief xcb_render_query_version_cookie_t
+ **/
+typedef struct xcb_render_query_version_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_render_query_version_cookie_t;
+
+/** Opcode for xcb_render_query_version. */
+#define XCB_RENDER_QUERY_VERSION 0
+
+/**
+ * @brief xcb_render_query_version_request_t
+ **/
+typedef struct xcb_render_query_version_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ uint32_t client_major_version; /**< */
+ uint32_t client_minor_version; /**< */
+} xcb_render_query_version_request_t;
+
+/**
+ * @brief xcb_render_query_version_reply_t
+ **/
+typedef struct xcb_render_query_version_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ uint32_t major_version; /**< */
+ uint32_t minor_version; /**< */
+ uint8_t pad1[16]; /**< */
+} xcb_render_query_version_reply_t;
+
+/**
+ * @brief xcb_render_query_pict_formats_cookie_t
+ **/
+typedef struct xcb_render_query_pict_formats_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_render_query_pict_formats_cookie_t;
+
+/** Opcode for xcb_render_query_pict_formats. */
+#define XCB_RENDER_QUERY_PICT_FORMATS 1
+
+/**
+ * @brief xcb_render_query_pict_formats_request_t
+ **/
+typedef struct xcb_render_query_pict_formats_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+} xcb_render_query_pict_formats_request_t;
+
+/**
+ * @brief xcb_render_query_pict_formats_reply_t
+ **/
+typedef struct xcb_render_query_pict_formats_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ uint32_t num_formats; /**< */
+ uint32_t num_screens; /**< */
+ uint32_t num_depths; /**< */
+ uint32_t num_visuals; /**< */
+ uint32_t num_subpixel; /**< */
+ uint8_t pad1[4]; /**< */
+} xcb_render_query_pict_formats_reply_t;
+
+/**
+ * @brief xcb_render_query_pict_index_values_cookie_t
+ **/
+typedef struct xcb_render_query_pict_index_values_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_render_query_pict_index_values_cookie_t;
+
+/** Opcode for xcb_render_query_pict_index_values. */
+#define XCB_RENDER_QUERY_PICT_INDEX_VALUES 2
+
+/**
+ * @brief xcb_render_query_pict_index_values_request_t
+ **/
+typedef struct xcb_render_query_pict_index_values_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_pictformat_t format; /**< */
+} xcb_render_query_pict_index_values_request_t;
+
+/**
+ * @brief xcb_render_query_pict_index_values_reply_t
+ **/
+typedef struct xcb_render_query_pict_index_values_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ uint32_t num_values; /**< */
+ uint8_t pad1[20]; /**< */
+} xcb_render_query_pict_index_values_reply_t;
+
+/** Opcode for xcb_render_create_picture. */
+#define XCB_RENDER_CREATE_PICTURE 4
+
+/**
+ * @brief xcb_render_create_picture_request_t
+ **/
+typedef struct xcb_render_create_picture_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_picture_t pid; /**< */
+ xcb_drawable_t drawable; /**< */
+ xcb_render_pictformat_t format; /**< */
+ uint32_t value_mask; /**< */
+} xcb_render_create_picture_request_t;
+
+/** Opcode for xcb_render_change_picture. */
+#define XCB_RENDER_CHANGE_PICTURE 5
+
+/**
+ * @brief xcb_render_change_picture_request_t
+ **/
+typedef struct xcb_render_change_picture_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_picture_t picture; /**< */
+ uint32_t value_mask; /**< */
+} xcb_render_change_picture_request_t;
+
+/** Opcode for xcb_render_set_picture_clip_rectangles. */
+#define XCB_RENDER_SET_PICTURE_CLIP_RECTANGLES 6
+
+/**
+ * @brief xcb_render_set_picture_clip_rectangles_request_t
+ **/
+typedef struct xcb_render_set_picture_clip_rectangles_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_picture_t picture; /**< */
+ int16_t clip_x_origin; /**< */
+ int16_t clip_y_origin; /**< */
+} xcb_render_set_picture_clip_rectangles_request_t;
+
+/** Opcode for xcb_render_free_picture. */
+#define XCB_RENDER_FREE_PICTURE 7
+
+/**
+ * @brief xcb_render_free_picture_request_t
+ **/
+typedef struct xcb_render_free_picture_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_picture_t picture; /**< */
+} xcb_render_free_picture_request_t;
+
+/** Opcode for xcb_render_composite. */
+#define XCB_RENDER_COMPOSITE 8
+
+/**
+ * @brief xcb_render_composite_request_t
+ **/
+typedef struct xcb_render_composite_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ uint8_t op; /**< */
+ uint8_t pad0[3]; /**< */
+ xcb_render_picture_t src; /**< */
+ xcb_render_picture_t mask; /**< */
+ xcb_render_picture_t dst; /**< */
+ int16_t src_x; /**< */
+ int16_t src_y; /**< */
+ int16_t mask_x; /**< */
+ int16_t mask_y; /**< */
+ int16_t dst_x; /**< */
+ int16_t dst_y; /**< */
+ uint16_t width; /**< */
+ uint16_t height; /**< */
+} xcb_render_composite_request_t;
+
+/** Opcode for xcb_render_trapezoids. */
+#define XCB_RENDER_TRAPEZOIDS 10
+
+/**
+ * @brief xcb_render_trapezoids_request_t
+ **/
+typedef struct xcb_render_trapezoids_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ uint8_t op; /**< */
+ uint8_t pad0[3]; /**< */
+ xcb_render_picture_t src; /**< */
+ xcb_render_picture_t dst; /**< */
+ xcb_render_pictformat_t mask_format; /**< */
+ int16_t src_x; /**< */
+ int16_t src_y; /**< */
+} xcb_render_trapezoids_request_t;
+
+/** Opcode for xcb_render_triangles. */
+#define XCB_RENDER_TRIANGLES 11
+
+/**
+ * @brief xcb_render_triangles_request_t
+ **/
+typedef struct xcb_render_triangles_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ uint8_t op; /**< */
+ uint8_t pad0[3]; /**< */
+ xcb_render_picture_t src; /**< */
+ xcb_render_picture_t dst; /**< */
+ xcb_render_pictformat_t mask_format; /**< */
+ int16_t src_x; /**< */
+ int16_t src_y; /**< */
+} xcb_render_triangles_request_t;
+
+/** Opcode for xcb_render_tri_strip. */
+#define XCB_RENDER_TRI_STRIP 12
+
+/**
+ * @brief xcb_render_tri_strip_request_t
+ **/
+typedef struct xcb_render_tri_strip_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ uint8_t op; /**< */
+ uint8_t pad0[3]; /**< */
+ xcb_render_picture_t src; /**< */
+ xcb_render_picture_t dst; /**< */
+ xcb_render_pictformat_t mask_format; /**< */
+ int16_t src_x; /**< */
+ int16_t src_y; /**< */
+} xcb_render_tri_strip_request_t;
+
+/** Opcode for xcb_render_tri_fan. */
+#define XCB_RENDER_TRI_FAN 13
+
+/**
+ * @brief xcb_render_tri_fan_request_t
+ **/
+typedef struct xcb_render_tri_fan_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ uint8_t op; /**< */
+ uint8_t pad0[3]; /**< */
+ xcb_render_picture_t src; /**< */
+ xcb_render_picture_t dst; /**< */
+ xcb_render_pictformat_t mask_format; /**< */
+ int16_t src_x; /**< */
+ int16_t src_y; /**< */
+} xcb_render_tri_fan_request_t;
+
+/** Opcode for xcb_render_create_glyph_set. */
+#define XCB_RENDER_CREATE_GLYPH_SET 17
+
+/**
+ * @brief xcb_render_create_glyph_set_request_t
+ **/
+typedef struct xcb_render_create_glyph_set_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_glyphset_t gsid; /**< */
+ xcb_render_pictformat_t format; /**< */
+} xcb_render_create_glyph_set_request_t;
+
+/** Opcode for xcb_render_reference_glyph_set. */
+#define XCB_RENDER_REFERENCE_GLYPH_SET 18
+
+/**
+ * @brief xcb_render_reference_glyph_set_request_t
+ **/
+typedef struct xcb_render_reference_glyph_set_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_glyphset_t gsid; /**< */
+ xcb_render_glyphset_t existing; /**< */
+} xcb_render_reference_glyph_set_request_t;
+
+/** Opcode for xcb_render_free_glyph_set. */
+#define XCB_RENDER_FREE_GLYPH_SET 19
+
+/**
+ * @brief xcb_render_free_glyph_set_request_t
+ **/
+typedef struct xcb_render_free_glyph_set_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_glyphset_t glyphset; /**< */
+} xcb_render_free_glyph_set_request_t;
+
+/** Opcode for xcb_render_add_glyphs. */
+#define XCB_RENDER_ADD_GLYPHS 20
+
+/**
+ * @brief xcb_render_add_glyphs_request_t
+ **/
+typedef struct xcb_render_add_glyphs_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_glyphset_t glyphset; /**< */
+ uint32_t glyphs_len; /**< */
+} xcb_render_add_glyphs_request_t;
+
+/** Opcode for xcb_render_free_glyphs. */
+#define XCB_RENDER_FREE_GLYPHS 22
+
+/**
+ * @brief xcb_render_free_glyphs_request_t
+ **/
+typedef struct xcb_render_free_glyphs_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_glyphset_t glyphset; /**< */
+} xcb_render_free_glyphs_request_t;
+
+/** Opcode for xcb_render_composite_glyphs_8. */
+#define XCB_RENDER_COMPOSITE_GLYPHS_8 23
+
+/**
+ * @brief xcb_render_composite_glyphs_8_request_t
+ **/
+typedef struct xcb_render_composite_glyphs_8_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ uint8_t op; /**< */
+ uint8_t pad0[3]; /**< */
+ xcb_render_picture_t src; /**< */
+ xcb_render_picture_t dst; /**< */
+ xcb_render_pictformat_t mask_format; /**< */
+ xcb_render_glyphset_t glyphset; /**< */
+ int16_t src_x; /**< */
+ int16_t src_y; /**< */
+} xcb_render_composite_glyphs_8_request_t;
+
+/** Opcode for xcb_render_composite_glyphs_16. */
+#define XCB_RENDER_COMPOSITE_GLYPHS_16 24
+
+/**
+ * @brief xcb_render_composite_glyphs_16_request_t
+ **/
+typedef struct xcb_render_composite_glyphs_16_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ uint8_t op; /**< */
+ uint8_t pad0[3]; /**< */
+ xcb_render_picture_t src; /**< */
+ xcb_render_picture_t dst; /**< */
+ xcb_render_pictformat_t mask_format; /**< */
+ xcb_render_glyphset_t glyphset; /**< */
+ int16_t src_x; /**< */
+ int16_t src_y; /**< */
+} xcb_render_composite_glyphs_16_request_t;
+
+/** Opcode for xcb_render_composite_glyphs_32. */
+#define XCB_RENDER_COMPOSITE_GLYPHS_32 25
+
+/**
+ * @brief xcb_render_composite_glyphs_32_request_t
+ **/
+typedef struct xcb_render_composite_glyphs_32_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ uint8_t op; /**< */
+ uint8_t pad0[3]; /**< */
+ xcb_render_picture_t src; /**< */
+ xcb_render_picture_t dst; /**< */
+ xcb_render_pictformat_t mask_format; /**< */
+ xcb_render_glyphset_t glyphset; /**< */
+ int16_t src_x; /**< */
+ int16_t src_y; /**< */
+} xcb_render_composite_glyphs_32_request_t;
+
+/** Opcode for xcb_render_fill_rectangles. */
+#define XCB_RENDER_FILL_RECTANGLES 26
+
+/**
+ * @brief xcb_render_fill_rectangles_request_t
+ **/
+typedef struct xcb_render_fill_rectangles_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ uint8_t op; /**< */
+ uint8_t pad0[3]; /**< */
+ xcb_render_picture_t dst; /**< */
+ xcb_render_color_t color; /**< */
+} xcb_render_fill_rectangles_request_t;
+
+/** Opcode for xcb_render_create_cursor. */
+#define XCB_RENDER_CREATE_CURSOR 27
+
+/**
+ * @brief xcb_render_create_cursor_request_t
+ **/
+typedef struct xcb_render_create_cursor_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_cursor_t cid; /**< */
+ xcb_render_picture_t source; /**< */
+ uint16_t x; /**< */
+ uint16_t y; /**< */
+} xcb_render_create_cursor_request_t;
+
+/**
+ * @brief xcb_render_transform_t
+ **/
+typedef struct xcb_render_transform_t {
+ xcb_render_fixed_t matrix11; /**< */
+ xcb_render_fixed_t matrix12; /**< */
+ xcb_render_fixed_t matrix13; /**< */
+ xcb_render_fixed_t matrix21; /**< */
+ xcb_render_fixed_t matrix22; /**< */
+ xcb_render_fixed_t matrix23; /**< */
+ xcb_render_fixed_t matrix31; /**< */
+ xcb_render_fixed_t matrix32; /**< */
+ xcb_render_fixed_t matrix33; /**< */
+} xcb_render_transform_t;
+
+/**
+ * @brief xcb_render_transform_iterator_t
+ **/
+typedef struct xcb_render_transform_iterator_t {
+ xcb_render_transform_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_transform_iterator_t;
+
+/** Opcode for xcb_render_set_picture_transform. */
+#define XCB_RENDER_SET_PICTURE_TRANSFORM 28
+
+/**
+ * @brief xcb_render_set_picture_transform_request_t
+ **/
+typedef struct xcb_render_set_picture_transform_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_picture_t picture; /**< */
+ xcb_render_transform_t transform; /**< */
+} xcb_render_set_picture_transform_request_t;
+
+/**
+ * @brief xcb_render_query_filters_cookie_t
+ **/
+typedef struct xcb_render_query_filters_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_render_query_filters_cookie_t;
+
+/** Opcode for xcb_render_query_filters. */
+#define XCB_RENDER_QUERY_FILTERS 29
+
+/**
+ * @brief xcb_render_query_filters_request_t
+ **/
+typedef struct xcb_render_query_filters_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_drawable_t drawable; /**< */
+} xcb_render_query_filters_request_t;
+
+/**
+ * @brief xcb_render_query_filters_reply_t
+ **/
+typedef struct xcb_render_query_filters_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ uint32_t num_aliases; /**< */
+ uint32_t num_filters; /**< */
+ uint8_t pad1[16]; /**< */
+} xcb_render_query_filters_reply_t;
+
+/** Opcode for xcb_render_set_picture_filter. */
+#define XCB_RENDER_SET_PICTURE_FILTER 30
+
+/**
+ * @brief xcb_render_set_picture_filter_request_t
+ **/
+typedef struct xcb_render_set_picture_filter_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_picture_t picture; /**< */
+ uint16_t filter_len; /**< */
+ uint8_t pad0[2]; /**< */
+} xcb_render_set_picture_filter_request_t;
+
+/**
+ * @brief xcb_render_animcursorelt_t
+ **/
+typedef struct xcb_render_animcursorelt_t {
+ xcb_cursor_t cursor; /**< */
+ uint32_t delay; /**< */
+} xcb_render_animcursorelt_t;
+
+/**
+ * @brief xcb_render_animcursorelt_iterator_t
+ **/
+typedef struct xcb_render_animcursorelt_iterator_t {
+ xcb_render_animcursorelt_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_animcursorelt_iterator_t;
+
+/** Opcode for xcb_render_create_anim_cursor. */
+#define XCB_RENDER_CREATE_ANIM_CURSOR 31
+
+/**
+ * @brief xcb_render_create_anim_cursor_request_t
+ **/
+typedef struct xcb_render_create_anim_cursor_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_cursor_t cid; /**< */
+} xcb_render_create_anim_cursor_request_t;
+
+/**
+ * @brief xcb_render_spanfix_t
+ **/
+typedef struct xcb_render_spanfix_t {
+ xcb_render_fixed_t l; /**< */
+ xcb_render_fixed_t r; /**< */
+ xcb_render_fixed_t y; /**< */
+} xcb_render_spanfix_t;
+
+/**
+ * @brief xcb_render_spanfix_iterator_t
+ **/
+typedef struct xcb_render_spanfix_iterator_t {
+ xcb_render_spanfix_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_spanfix_iterator_t;
+
+/**
+ * @brief xcb_render_trap_t
+ **/
+typedef struct xcb_render_trap_t {
+ xcb_render_spanfix_t top; /**< */
+ xcb_render_spanfix_t bot; /**< */
+} xcb_render_trap_t;
+
+/**
+ * @brief xcb_render_trap_iterator_t
+ **/
+typedef struct xcb_render_trap_iterator_t {
+ xcb_render_trap_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_render_trap_iterator_t;
+
+/** Opcode for xcb_render_add_traps. */
+#define XCB_RENDER_ADD_TRAPS 32
+
+/**
+ * @brief xcb_render_add_traps_request_t
+ **/
+typedef struct xcb_render_add_traps_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_picture_t picture; /**< */
+ int16_t x_off; /**< */
+ int16_t y_off; /**< */
+} xcb_render_add_traps_request_t;
+
+/** Opcode for xcb_render_create_solid_fill. */
+#define XCB_RENDER_CREATE_SOLID_FILL 33
+
+/**
+ * @brief xcb_render_create_solid_fill_request_t
+ **/
+typedef struct xcb_render_create_solid_fill_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_picture_t picture; /**< */
+ xcb_render_color_t color; /**< */
+} xcb_render_create_solid_fill_request_t;
+
+/** Opcode for xcb_render_create_linear_gradient. */
+#define XCB_RENDER_CREATE_LINEAR_GRADIENT 34
+
+/**
+ * @brief xcb_render_create_linear_gradient_request_t
+ **/
+typedef struct xcb_render_create_linear_gradient_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_picture_t picture; /**< */
+ xcb_render_pointfix_t p1; /**< */
+ xcb_render_pointfix_t p2; /**< */
+ uint32_t num_stops; /**< */
+} xcb_render_create_linear_gradient_request_t;
+
+/** Opcode for xcb_render_create_radial_gradient. */
+#define XCB_RENDER_CREATE_RADIAL_GRADIENT 35
+
+/**
+ * @brief xcb_render_create_radial_gradient_request_t
+ **/
+typedef struct xcb_render_create_radial_gradient_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_picture_t picture; /**< */
+ xcb_render_pointfix_t inner; /**< */
+ xcb_render_pointfix_t outer; /**< */
+ xcb_render_fixed_t inner_radius; /**< */
+ xcb_render_fixed_t outer_radius; /**< */
+ uint32_t num_stops; /**< */
+} xcb_render_create_radial_gradient_request_t;
+
+/** Opcode for xcb_render_create_conical_gradient. */
+#define XCB_RENDER_CREATE_CONICAL_GRADIENT 36
+
+/**
+ * @brief xcb_render_create_conical_gradient_request_t
+ **/
+typedef struct xcb_render_create_conical_gradient_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_picture_t picture; /**< */
+ xcb_render_pointfix_t center; /**< */
+ xcb_render_fixed_t angle; /**< */
+ uint32_t num_stops; /**< */
+} xcb_render_create_conical_gradient_request_t;
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_glyph_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_glyph_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_glyph_next
+ **
+ ** @param xcb_render_glyph_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_glyph_next (xcb_render_glyph_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_glyph_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_glyph_end
+ **
+ ** @param xcb_render_glyph_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_glyph_end (xcb_render_glyph_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_glyphset_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_glyphset_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_glyphset_next
+ **
+ ** @param xcb_render_glyphset_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_glyphset_next (xcb_render_glyphset_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_glyphset_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_glyphset_end
+ **
+ ** @param xcb_render_glyphset_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_glyphset_end (xcb_render_glyphset_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_picture_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_picture_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_picture_next
+ **
+ ** @param xcb_render_picture_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_picture_next (xcb_render_picture_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_picture_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_picture_end
+ **
+ ** @param xcb_render_picture_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_picture_end (xcb_render_picture_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_pictformat_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_pictformat_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_pictformat_next
+ **
+ ** @param xcb_render_pictformat_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_pictformat_next (xcb_render_pictformat_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_pictformat_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_pictformat_end
+ **
+ ** @param xcb_render_pictformat_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_pictformat_end (xcb_render_pictformat_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_fixed_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_fixed_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_fixed_next
+ **
+ ** @param xcb_render_fixed_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_fixed_next (xcb_render_fixed_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_fixed_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_fixed_end
+ **
+ ** @param xcb_render_fixed_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_fixed_end (xcb_render_fixed_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_directformat_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_directformat_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_directformat_next
+ **
+ ** @param xcb_render_directformat_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_directformat_next (xcb_render_directformat_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_directformat_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_directformat_end
+ **
+ ** @param xcb_render_directformat_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_directformat_end (xcb_render_directformat_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_pictforminfo_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_pictforminfo_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_pictforminfo_next
+ **
+ ** @param xcb_render_pictforminfo_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_pictforminfo_next (xcb_render_pictforminfo_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_pictforminfo_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_pictforminfo_end
+ **
+ ** @param xcb_render_pictforminfo_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_pictforminfo_end (xcb_render_pictforminfo_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_pictvisual_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_pictvisual_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_pictvisual_next
+ **
+ ** @param xcb_render_pictvisual_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_pictvisual_next (xcb_render_pictvisual_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_pictvisual_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_pictvisual_end
+ **
+ ** @param xcb_render_pictvisual_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_pictvisual_end (xcb_render_pictvisual_iterator_t i /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_render_pictvisual_t * xcb_render_pictdepth_visuals
+ **
+ ** @param const xcb_render_pictdepth_t *R
+ ** @returns xcb_render_pictvisual_t *
+ **
+ *****************************************************************************/
+
+xcb_render_pictvisual_t *
+xcb_render_pictdepth_visuals (const xcb_render_pictdepth_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_render_pictdepth_visuals_length
+ **
+ ** @param const xcb_render_pictdepth_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_render_pictdepth_visuals_length (const xcb_render_pictdepth_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_render_pictvisual_iterator_t xcb_render_pictdepth_visuals_iterator
+ **
+ ** @param const xcb_render_pictdepth_t *R
+ ** @returns xcb_render_pictvisual_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_render_pictvisual_iterator_t
+xcb_render_pictdepth_visuals_iterator (const xcb_render_pictdepth_t *R /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_pictdepth_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_pictdepth_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_pictdepth_next
+ **
+ ** @param xcb_render_pictdepth_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_pictdepth_next (xcb_render_pictdepth_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_pictdepth_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_pictdepth_end
+ **
+ ** @param xcb_render_pictdepth_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_pictdepth_end (xcb_render_pictdepth_iterator_t i /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_render_pictscreen_depths_length
+ **
+ ** @param const xcb_render_pictscreen_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_render_pictscreen_depths_length (const xcb_render_pictscreen_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_render_pictdepth_iterator_t xcb_render_pictscreen_depths_iterator
+ **
+ ** @param const xcb_render_pictscreen_t *R
+ ** @returns xcb_render_pictdepth_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_render_pictdepth_iterator_t
+xcb_render_pictscreen_depths_iterator (const xcb_render_pictscreen_t *R /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_pictscreen_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_pictscreen_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_pictscreen_next
+ **
+ ** @param xcb_render_pictscreen_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_pictscreen_next (xcb_render_pictscreen_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_pictscreen_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_pictscreen_end
+ **
+ ** @param xcb_render_pictscreen_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_pictscreen_end (xcb_render_pictscreen_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_indexvalue_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_indexvalue_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_indexvalue_next
+ **
+ ** @param xcb_render_indexvalue_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_indexvalue_next (xcb_render_indexvalue_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_indexvalue_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_indexvalue_end
+ **
+ ** @param xcb_render_indexvalue_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_indexvalue_end (xcb_render_indexvalue_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_color_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_color_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_color_next
+ **
+ ** @param xcb_render_color_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_color_next (xcb_render_color_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_color_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_color_end
+ **
+ ** @param xcb_render_color_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_color_end (xcb_render_color_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_pointfix_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_pointfix_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_pointfix_next
+ **
+ ** @param xcb_render_pointfix_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_pointfix_next (xcb_render_pointfix_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_pointfix_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_pointfix_end
+ **
+ ** @param xcb_render_pointfix_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_pointfix_end (xcb_render_pointfix_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_linefix_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_linefix_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_linefix_next
+ **
+ ** @param xcb_render_linefix_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_linefix_next (xcb_render_linefix_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_linefix_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_linefix_end
+ **
+ ** @param xcb_render_linefix_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_linefix_end (xcb_render_linefix_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_triangle_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_triangle_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_triangle_next
+ **
+ ** @param xcb_render_triangle_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_triangle_next (xcb_render_triangle_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_triangle_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_triangle_end
+ **
+ ** @param xcb_render_triangle_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_triangle_end (xcb_render_triangle_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_trapezoid_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_trapezoid_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_trapezoid_next
+ **
+ ** @param xcb_render_trapezoid_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_trapezoid_next (xcb_render_trapezoid_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_trapezoid_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_trapezoid_end
+ **
+ ** @param xcb_render_trapezoid_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_trapezoid_end (xcb_render_trapezoid_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_glyphinfo_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_glyphinfo_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_glyphinfo_next
+ **
+ ** @param xcb_render_glyphinfo_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_glyphinfo_next (xcb_render_glyphinfo_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_glyphinfo_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_glyphinfo_end
+ **
+ ** @param xcb_render_glyphinfo_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_glyphinfo_end (xcb_render_glyphinfo_iterator_t i /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_render_query_version_cookie_t xcb_render_query_version
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint32_t client_major_version
+ ** @param uint32_t client_minor_version
+ ** @returns xcb_render_query_version_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_render_query_version_cookie_t
+xcb_render_query_version (xcb_connection_t *c /**< */,
+ uint32_t client_major_version /**< */,
+ uint32_t client_minor_version /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_render_query_version_cookie_t xcb_render_query_version_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint32_t client_major_version
+ ** @param uint32_t client_minor_version
+ ** @returns xcb_render_query_version_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_render_query_version_cookie_t
+xcb_render_query_version_unchecked (xcb_connection_t *c /**< */,
+ uint32_t client_major_version /**< */,
+ uint32_t client_minor_version /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_render_query_version_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_render_query_version_reply_t * xcb_render_query_version_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_query_version_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_render_query_version_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_render_query_version_reply_t *
+xcb_render_query_version_reply (xcb_connection_t *c /**< */,
+ xcb_render_query_version_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_render_query_pict_formats_cookie_t xcb_render_query_pict_formats
+ **
+ ** @param xcb_connection_t *c
+ ** @returns xcb_render_query_pict_formats_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_render_query_pict_formats_cookie_t
+xcb_render_query_pict_formats (xcb_connection_t *c /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_render_query_pict_formats_cookie_t xcb_render_query_pict_formats_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @returns xcb_render_query_pict_formats_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_render_query_pict_formats_cookie_t
+xcb_render_query_pict_formats_unchecked (xcb_connection_t *c /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_render_pictforminfo_t * xcb_render_query_pict_formats_formats
+ **
+ ** @param const xcb_render_query_pict_formats_reply_t *R
+ ** @returns xcb_render_pictforminfo_t *
+ **
+ *****************************************************************************/
+
+xcb_render_pictforminfo_t *
+xcb_render_query_pict_formats_formats (const xcb_render_query_pict_formats_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_render_query_pict_formats_formats_length
+ **
+ ** @param const xcb_render_query_pict_formats_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_render_query_pict_formats_formats_length (const xcb_render_query_pict_formats_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_render_pictforminfo_iterator_t xcb_render_query_pict_formats_formats_iterator
+ **
+ ** @param const xcb_render_query_pict_formats_reply_t *R
+ ** @returns xcb_render_pictforminfo_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_render_pictforminfo_iterator_t
+xcb_render_query_pict_formats_formats_iterator (const xcb_render_query_pict_formats_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_render_query_pict_formats_screens_length
+ **
+ ** @param const xcb_render_query_pict_formats_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_render_query_pict_formats_screens_length (const xcb_render_query_pict_formats_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_render_pictscreen_iterator_t xcb_render_query_pict_formats_screens_iterator
+ **
+ ** @param const xcb_render_query_pict_formats_reply_t *R
+ ** @returns xcb_render_pictscreen_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_render_pictscreen_iterator_t
+xcb_render_query_pict_formats_screens_iterator (const xcb_render_query_pict_formats_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** uint32_t * xcb_render_query_pict_formats_subpixels
+ **
+ ** @param const xcb_render_query_pict_formats_reply_t *R
+ ** @returns uint32_t *
+ **
+ *****************************************************************************/
+
+uint32_t *
+xcb_render_query_pict_formats_subpixels (const xcb_render_query_pict_formats_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_render_query_pict_formats_subpixels_length
+ **
+ ** @param const xcb_render_query_pict_formats_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_render_query_pict_formats_subpixels_length (const xcb_render_query_pict_formats_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_query_pict_formats_subpixels_end
+ **
+ ** @param const xcb_render_query_pict_formats_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_query_pict_formats_subpixels_end (const xcb_render_query_pict_formats_reply_t *R /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_render_query_pict_formats_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_render_query_pict_formats_reply_t * xcb_render_query_pict_formats_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_query_pict_formats_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_render_query_pict_formats_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_render_query_pict_formats_reply_t *
+xcb_render_query_pict_formats_reply (xcb_connection_t *c /**< */,
+ xcb_render_query_pict_formats_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_render_query_pict_index_values_cookie_t xcb_render_query_pict_index_values
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_pictformat_t format
+ ** @returns xcb_render_query_pict_index_values_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_render_query_pict_index_values_cookie_t
+xcb_render_query_pict_index_values (xcb_connection_t *c /**< */,
+ xcb_render_pictformat_t format /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_render_query_pict_index_values_cookie_t xcb_render_query_pict_index_values_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_pictformat_t format
+ ** @returns xcb_render_query_pict_index_values_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_render_query_pict_index_values_cookie_t
+xcb_render_query_pict_index_values_unchecked (xcb_connection_t *c /**< */,
+ xcb_render_pictformat_t format /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_render_indexvalue_t * xcb_render_query_pict_index_values_values
+ **
+ ** @param const xcb_render_query_pict_index_values_reply_t *R
+ ** @returns xcb_render_indexvalue_t *
+ **
+ *****************************************************************************/
+
+xcb_render_indexvalue_t *
+xcb_render_query_pict_index_values_values (const xcb_render_query_pict_index_values_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_render_query_pict_index_values_values_length
+ **
+ ** @param const xcb_render_query_pict_index_values_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_render_query_pict_index_values_values_length (const xcb_render_query_pict_index_values_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_render_indexvalue_iterator_t xcb_render_query_pict_index_values_values_iterator
+ **
+ ** @param const xcb_render_query_pict_index_values_reply_t *R
+ ** @returns xcb_render_indexvalue_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_render_indexvalue_iterator_t
+xcb_render_query_pict_index_values_values_iterator (const xcb_render_query_pict_index_values_reply_t *R /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_render_query_pict_index_values_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_render_query_pict_index_values_reply_t * xcb_render_query_pict_index_values_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_query_pict_index_values_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_render_query_pict_index_values_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_render_query_pict_index_values_reply_t *
+xcb_render_query_pict_index_values_reply (xcb_connection_t *c /**< */,
+ xcb_render_query_pict_index_values_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_create_picture_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t pid
+ ** @param xcb_drawable_t drawable
+ ** @param xcb_render_pictformat_t format
+ ** @param uint32_t value_mask
+ ** @param const uint32_t *value_list
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_create_picture_checked (xcb_connection_t *c /**< */,
+ xcb_render_picture_t pid /**< */,
+ xcb_drawable_t drawable /**< */,
+ xcb_render_pictformat_t format /**< */,
+ uint32_t value_mask /**< */,
+ const uint32_t *value_list /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_create_picture
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t pid
+ ** @param xcb_drawable_t drawable
+ ** @param xcb_render_pictformat_t format
+ ** @param uint32_t value_mask
+ ** @param const uint32_t *value_list
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_create_picture (xcb_connection_t *c /**< */,
+ xcb_render_picture_t pid /**< */,
+ xcb_drawable_t drawable /**< */,
+ xcb_render_pictformat_t format /**< */,
+ uint32_t value_mask /**< */,
+ const uint32_t *value_list /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_change_picture_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param uint32_t value_mask
+ ** @param const uint32_t *value_list
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_change_picture_checked (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ uint32_t value_mask /**< */,
+ const uint32_t *value_list /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_change_picture
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param uint32_t value_mask
+ ** @param const uint32_t *value_list
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_change_picture (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ uint32_t value_mask /**< */,
+ const uint32_t *value_list /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_set_picture_clip_rectangles_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param int16_t clip_x_origin
+ ** @param int16_t clip_y_origin
+ ** @param uint32_t rectangles_len
+ ** @param const xcb_rectangle_t *rectangles
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_set_picture_clip_rectangles_checked (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ int16_t clip_x_origin /**< */,
+ int16_t clip_y_origin /**< */,
+ uint32_t rectangles_len /**< */,
+ const xcb_rectangle_t *rectangles /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_set_picture_clip_rectangles
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param int16_t clip_x_origin
+ ** @param int16_t clip_y_origin
+ ** @param uint32_t rectangles_len
+ ** @param const xcb_rectangle_t *rectangles
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_set_picture_clip_rectangles (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ int16_t clip_x_origin /**< */,
+ int16_t clip_y_origin /**< */,
+ uint32_t rectangles_len /**< */,
+ const xcb_rectangle_t *rectangles /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_free_picture_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_free_picture_checked (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_free_picture
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_free_picture (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_composite_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t src
+ ** @param xcb_render_picture_t mask
+ ** @param xcb_render_picture_t dst
+ ** @param int16_t src_x
+ ** @param int16_t src_y
+ ** @param int16_t mask_x
+ ** @param int16_t mask_y
+ ** @param int16_t dst_x
+ ** @param int16_t dst_y
+ ** @param uint16_t width
+ ** @param uint16_t height
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_composite_checked (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t src /**< */,
+ xcb_render_picture_t mask /**< */,
+ xcb_render_picture_t dst /**< */,
+ int16_t src_x /**< */,
+ int16_t src_y /**< */,
+ int16_t mask_x /**< */,
+ int16_t mask_y /**< */,
+ int16_t dst_x /**< */,
+ int16_t dst_y /**< */,
+ uint16_t width /**< */,
+ uint16_t height /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_composite
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t src
+ ** @param xcb_render_picture_t mask
+ ** @param xcb_render_picture_t dst
+ ** @param int16_t src_x
+ ** @param int16_t src_y
+ ** @param int16_t mask_x
+ ** @param int16_t mask_y
+ ** @param int16_t dst_x
+ ** @param int16_t dst_y
+ ** @param uint16_t width
+ ** @param uint16_t height
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_composite (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t src /**< */,
+ xcb_render_picture_t mask /**< */,
+ xcb_render_picture_t dst /**< */,
+ int16_t src_x /**< */,
+ int16_t src_y /**< */,
+ int16_t mask_x /**< */,
+ int16_t mask_y /**< */,
+ int16_t dst_x /**< */,
+ int16_t dst_y /**< */,
+ uint16_t width /**< */,
+ uint16_t height /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_trapezoids_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t src
+ ** @param xcb_render_picture_t dst
+ ** @param xcb_render_pictformat_t mask_format
+ ** @param int16_t src_x
+ ** @param int16_t src_y
+ ** @param uint32_t traps_len
+ ** @param const xcb_render_trapezoid_t *traps
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_trapezoids_checked (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t src /**< */,
+ xcb_render_picture_t dst /**< */,
+ xcb_render_pictformat_t mask_format /**< */,
+ int16_t src_x /**< */,
+ int16_t src_y /**< */,
+ uint32_t traps_len /**< */,
+ const xcb_render_trapezoid_t *traps /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_trapezoids
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t src
+ ** @param xcb_render_picture_t dst
+ ** @param xcb_render_pictformat_t mask_format
+ ** @param int16_t src_x
+ ** @param int16_t src_y
+ ** @param uint32_t traps_len
+ ** @param const xcb_render_trapezoid_t *traps
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_trapezoids (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t src /**< */,
+ xcb_render_picture_t dst /**< */,
+ xcb_render_pictformat_t mask_format /**< */,
+ int16_t src_x /**< */,
+ int16_t src_y /**< */,
+ uint32_t traps_len /**< */,
+ const xcb_render_trapezoid_t *traps /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_triangles_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t src
+ ** @param xcb_render_picture_t dst
+ ** @param xcb_render_pictformat_t mask_format
+ ** @param int16_t src_x
+ ** @param int16_t src_y
+ ** @param uint32_t triangles_len
+ ** @param const xcb_render_triangle_t *triangles
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_triangles_checked (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t src /**< */,
+ xcb_render_picture_t dst /**< */,
+ xcb_render_pictformat_t mask_format /**< */,
+ int16_t src_x /**< */,
+ int16_t src_y /**< */,
+ uint32_t triangles_len /**< */,
+ const xcb_render_triangle_t *triangles /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_triangles
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t src
+ ** @param xcb_render_picture_t dst
+ ** @param xcb_render_pictformat_t mask_format
+ ** @param int16_t src_x
+ ** @param int16_t src_y
+ ** @param uint32_t triangles_len
+ ** @param const xcb_render_triangle_t *triangles
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_triangles (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t src /**< */,
+ xcb_render_picture_t dst /**< */,
+ xcb_render_pictformat_t mask_format /**< */,
+ int16_t src_x /**< */,
+ int16_t src_y /**< */,
+ uint32_t triangles_len /**< */,
+ const xcb_render_triangle_t *triangles /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_tri_strip_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t src
+ ** @param xcb_render_picture_t dst
+ ** @param xcb_render_pictformat_t mask_format
+ ** @param int16_t src_x
+ ** @param int16_t src_y
+ ** @param uint32_t points_len
+ ** @param const xcb_render_pointfix_t *points
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_tri_strip_checked (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t src /**< */,
+ xcb_render_picture_t dst /**< */,
+ xcb_render_pictformat_t mask_format /**< */,
+ int16_t src_x /**< */,
+ int16_t src_y /**< */,
+ uint32_t points_len /**< */,
+ const xcb_render_pointfix_t *points /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_tri_strip
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t src
+ ** @param xcb_render_picture_t dst
+ ** @param xcb_render_pictformat_t mask_format
+ ** @param int16_t src_x
+ ** @param int16_t src_y
+ ** @param uint32_t points_len
+ ** @param const xcb_render_pointfix_t *points
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_tri_strip (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t src /**< */,
+ xcb_render_picture_t dst /**< */,
+ xcb_render_pictformat_t mask_format /**< */,
+ int16_t src_x /**< */,
+ int16_t src_y /**< */,
+ uint32_t points_len /**< */,
+ const xcb_render_pointfix_t *points /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_tri_fan_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t src
+ ** @param xcb_render_picture_t dst
+ ** @param xcb_render_pictformat_t mask_format
+ ** @param int16_t src_x
+ ** @param int16_t src_y
+ ** @param uint32_t points_len
+ ** @param const xcb_render_pointfix_t *points
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_tri_fan_checked (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t src /**< */,
+ xcb_render_picture_t dst /**< */,
+ xcb_render_pictformat_t mask_format /**< */,
+ int16_t src_x /**< */,
+ int16_t src_y /**< */,
+ uint32_t points_len /**< */,
+ const xcb_render_pointfix_t *points /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_tri_fan
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t src
+ ** @param xcb_render_picture_t dst
+ ** @param xcb_render_pictformat_t mask_format
+ ** @param int16_t src_x
+ ** @param int16_t src_y
+ ** @param uint32_t points_len
+ ** @param const xcb_render_pointfix_t *points
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_tri_fan (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t src /**< */,
+ xcb_render_picture_t dst /**< */,
+ xcb_render_pictformat_t mask_format /**< */,
+ int16_t src_x /**< */,
+ int16_t src_y /**< */,
+ uint32_t points_len /**< */,
+ const xcb_render_pointfix_t *points /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_create_glyph_set_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_glyphset_t gsid
+ ** @param xcb_render_pictformat_t format
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_create_glyph_set_checked (xcb_connection_t *c /**< */,
+ xcb_render_glyphset_t gsid /**< */,
+ xcb_render_pictformat_t format /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_create_glyph_set
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_glyphset_t gsid
+ ** @param xcb_render_pictformat_t format
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_create_glyph_set (xcb_connection_t *c /**< */,
+ xcb_render_glyphset_t gsid /**< */,
+ xcb_render_pictformat_t format /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_reference_glyph_set_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_glyphset_t gsid
+ ** @param xcb_render_glyphset_t existing
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_reference_glyph_set_checked (xcb_connection_t *c /**< */,
+ xcb_render_glyphset_t gsid /**< */,
+ xcb_render_glyphset_t existing /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_reference_glyph_set
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_glyphset_t gsid
+ ** @param xcb_render_glyphset_t existing
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_reference_glyph_set (xcb_connection_t *c /**< */,
+ xcb_render_glyphset_t gsid /**< */,
+ xcb_render_glyphset_t existing /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_free_glyph_set_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_glyphset_t glyphset
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_free_glyph_set_checked (xcb_connection_t *c /**< */,
+ xcb_render_glyphset_t glyphset /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_free_glyph_set
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_glyphset_t glyphset
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_free_glyph_set (xcb_connection_t *c /**< */,
+ xcb_render_glyphset_t glyphset /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_add_glyphs_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_glyphset_t glyphset
+ ** @param uint32_t glyphs_len
+ ** @param const uint32_t *glyphids
+ ** @param const xcb_render_glyphinfo_t *glyphs
+ ** @param uint32_t data_len
+ ** @param const uint8_t *data
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_add_glyphs_checked (xcb_connection_t *c /**< */,
+ xcb_render_glyphset_t glyphset /**< */,
+ uint32_t glyphs_len /**< */,
+ const uint32_t *glyphids /**< */,
+ const xcb_render_glyphinfo_t *glyphs /**< */,
+ uint32_t data_len /**< */,
+ const uint8_t *data /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_add_glyphs
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_glyphset_t glyphset
+ ** @param uint32_t glyphs_len
+ ** @param const uint32_t *glyphids
+ ** @param const xcb_render_glyphinfo_t *glyphs
+ ** @param uint32_t data_len
+ ** @param const uint8_t *data
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_add_glyphs (xcb_connection_t *c /**< */,
+ xcb_render_glyphset_t glyphset /**< */,
+ uint32_t glyphs_len /**< */,
+ const uint32_t *glyphids /**< */,
+ const xcb_render_glyphinfo_t *glyphs /**< */,
+ uint32_t data_len /**< */,
+ const uint8_t *data /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_free_glyphs_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_glyphset_t glyphset
+ ** @param uint32_t glyphs_len
+ ** @param const xcb_render_glyph_t *glyphs
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_free_glyphs_checked (xcb_connection_t *c /**< */,
+ xcb_render_glyphset_t glyphset /**< */,
+ uint32_t glyphs_len /**< */,
+ const xcb_render_glyph_t *glyphs /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_free_glyphs
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_glyphset_t glyphset
+ ** @param uint32_t glyphs_len
+ ** @param const xcb_render_glyph_t *glyphs
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_free_glyphs (xcb_connection_t *c /**< */,
+ xcb_render_glyphset_t glyphset /**< */,
+ uint32_t glyphs_len /**< */,
+ const xcb_render_glyph_t *glyphs /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_composite_glyphs_8_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t src
+ ** @param xcb_render_picture_t dst
+ ** @param xcb_render_pictformat_t mask_format
+ ** @param xcb_render_glyphset_t glyphset
+ ** @param int16_t src_x
+ ** @param int16_t src_y
+ ** @param uint32_t glyphcmds_len
+ ** @param const uint8_t *glyphcmds
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_composite_glyphs_8_checked (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t src /**< */,
+ xcb_render_picture_t dst /**< */,
+ xcb_render_pictformat_t mask_format /**< */,
+ xcb_render_glyphset_t glyphset /**< */,
+ int16_t src_x /**< */,
+ int16_t src_y /**< */,
+ uint32_t glyphcmds_len /**< */,
+ const uint8_t *glyphcmds /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_composite_glyphs_8
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t src
+ ** @param xcb_render_picture_t dst
+ ** @param xcb_render_pictformat_t mask_format
+ ** @param xcb_render_glyphset_t glyphset
+ ** @param int16_t src_x
+ ** @param int16_t src_y
+ ** @param uint32_t glyphcmds_len
+ ** @param const uint8_t *glyphcmds
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_composite_glyphs_8 (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t src /**< */,
+ xcb_render_picture_t dst /**< */,
+ xcb_render_pictformat_t mask_format /**< */,
+ xcb_render_glyphset_t glyphset /**< */,
+ int16_t src_x /**< */,
+ int16_t src_y /**< */,
+ uint32_t glyphcmds_len /**< */,
+ const uint8_t *glyphcmds /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_composite_glyphs_16_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t src
+ ** @param xcb_render_picture_t dst
+ ** @param xcb_render_pictformat_t mask_format
+ ** @param xcb_render_glyphset_t glyphset
+ ** @param int16_t src_x
+ ** @param int16_t src_y
+ ** @param uint32_t glyphcmds_len
+ ** @param const uint8_t *glyphcmds
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_composite_glyphs_16_checked (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t src /**< */,
+ xcb_render_picture_t dst /**< */,
+ xcb_render_pictformat_t mask_format /**< */,
+ xcb_render_glyphset_t glyphset /**< */,
+ int16_t src_x /**< */,
+ int16_t src_y /**< */,
+ uint32_t glyphcmds_len /**< */,
+ const uint8_t *glyphcmds /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_composite_glyphs_16
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t src
+ ** @param xcb_render_picture_t dst
+ ** @param xcb_render_pictformat_t mask_format
+ ** @param xcb_render_glyphset_t glyphset
+ ** @param int16_t src_x
+ ** @param int16_t src_y
+ ** @param uint32_t glyphcmds_len
+ ** @param const uint8_t *glyphcmds
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_composite_glyphs_16 (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t src /**< */,
+ xcb_render_picture_t dst /**< */,
+ xcb_render_pictformat_t mask_format /**< */,
+ xcb_render_glyphset_t glyphset /**< */,
+ int16_t src_x /**< */,
+ int16_t src_y /**< */,
+ uint32_t glyphcmds_len /**< */,
+ const uint8_t *glyphcmds /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_composite_glyphs_32_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t src
+ ** @param xcb_render_picture_t dst
+ ** @param xcb_render_pictformat_t mask_format
+ ** @param xcb_render_glyphset_t glyphset
+ ** @param int16_t src_x
+ ** @param int16_t src_y
+ ** @param uint32_t glyphcmds_len
+ ** @param const uint8_t *glyphcmds
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_composite_glyphs_32_checked (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t src /**< */,
+ xcb_render_picture_t dst /**< */,
+ xcb_render_pictformat_t mask_format /**< */,
+ xcb_render_glyphset_t glyphset /**< */,
+ int16_t src_x /**< */,
+ int16_t src_y /**< */,
+ uint32_t glyphcmds_len /**< */,
+ const uint8_t *glyphcmds /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_composite_glyphs_32
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t src
+ ** @param xcb_render_picture_t dst
+ ** @param xcb_render_pictformat_t mask_format
+ ** @param xcb_render_glyphset_t glyphset
+ ** @param int16_t src_x
+ ** @param int16_t src_y
+ ** @param uint32_t glyphcmds_len
+ ** @param const uint8_t *glyphcmds
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_composite_glyphs_32 (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t src /**< */,
+ xcb_render_picture_t dst /**< */,
+ xcb_render_pictformat_t mask_format /**< */,
+ xcb_render_glyphset_t glyphset /**< */,
+ int16_t src_x /**< */,
+ int16_t src_y /**< */,
+ uint32_t glyphcmds_len /**< */,
+ const uint8_t *glyphcmds /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_fill_rectangles_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t dst
+ ** @param xcb_render_color_t color
+ ** @param uint32_t rects_len
+ ** @param const xcb_rectangle_t *rects
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_fill_rectangles_checked (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t dst /**< */,
+ xcb_render_color_t color /**< */,
+ uint32_t rects_len /**< */,
+ const xcb_rectangle_t *rects /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_fill_rectangles
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t op
+ ** @param xcb_render_picture_t dst
+ ** @param xcb_render_color_t color
+ ** @param uint32_t rects_len
+ ** @param const xcb_rectangle_t *rects
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_fill_rectangles (xcb_connection_t *c /**< */,
+ uint8_t op /**< */,
+ xcb_render_picture_t dst /**< */,
+ xcb_render_color_t color /**< */,
+ uint32_t rects_len /**< */,
+ const xcb_rectangle_t *rects /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_create_cursor_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_cursor_t cid
+ ** @param xcb_render_picture_t source
+ ** @param uint16_t x
+ ** @param uint16_t y
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_create_cursor_checked (xcb_connection_t *c /**< */,
+ xcb_cursor_t cid /**< */,
+ xcb_render_picture_t source /**< */,
+ uint16_t x /**< */,
+ uint16_t y /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_create_cursor
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_cursor_t cid
+ ** @param xcb_render_picture_t source
+ ** @param uint16_t x
+ ** @param uint16_t y
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_create_cursor (xcb_connection_t *c /**< */,
+ xcb_cursor_t cid /**< */,
+ xcb_render_picture_t source /**< */,
+ uint16_t x /**< */,
+ uint16_t y /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_transform_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_transform_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_transform_next
+ **
+ ** @param xcb_render_transform_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_transform_next (xcb_render_transform_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_transform_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_transform_end
+ **
+ ** @param xcb_render_transform_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_transform_end (xcb_render_transform_iterator_t i /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_set_picture_transform_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param xcb_render_transform_t transform
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_set_picture_transform_checked (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ xcb_render_transform_t transform /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_set_picture_transform
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param xcb_render_transform_t transform
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_set_picture_transform (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ xcb_render_transform_t transform /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_render_query_filters_cookie_t xcb_render_query_filters
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_drawable_t drawable
+ ** @returns xcb_render_query_filters_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_render_query_filters_cookie_t
+xcb_render_query_filters (xcb_connection_t *c /**< */,
+ xcb_drawable_t drawable /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_render_query_filters_cookie_t xcb_render_query_filters_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_drawable_t drawable
+ ** @returns xcb_render_query_filters_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_render_query_filters_cookie_t
+xcb_render_query_filters_unchecked (xcb_connection_t *c /**< */,
+ xcb_drawable_t drawable /**< */);
+
+
+/*****************************************************************************
+ **
+ ** uint16_t * xcb_render_query_filters_aliases
+ **
+ ** @param const xcb_render_query_filters_reply_t *R
+ ** @returns uint16_t *
+ **
+ *****************************************************************************/
+
+uint16_t *
+xcb_render_query_filters_aliases (const xcb_render_query_filters_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_render_query_filters_aliases_length
+ **
+ ** @param const xcb_render_query_filters_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_render_query_filters_aliases_length (const xcb_render_query_filters_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_query_filters_aliases_end
+ **
+ ** @param const xcb_render_query_filters_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_query_filters_aliases_end (const xcb_render_query_filters_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_render_query_filters_filters_length
+ **
+ ** @param const xcb_render_query_filters_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_render_query_filters_filters_length (const xcb_render_query_filters_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_str_iterator_t xcb_render_query_filters_filters_iterator
+ **
+ ** @param const xcb_render_query_filters_reply_t *R
+ ** @returns xcb_str_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_str_iterator_t
+xcb_render_query_filters_filters_iterator (const xcb_render_query_filters_reply_t *R /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_render_query_filters_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_render_query_filters_reply_t * xcb_render_query_filters_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_query_filters_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_render_query_filters_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_render_query_filters_reply_t *
+xcb_render_query_filters_reply (xcb_connection_t *c /**< */,
+ xcb_render_query_filters_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_set_picture_filter_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param uint16_t filter_len
+ ** @param const char *filter
+ ** @param uint32_t values_len
+ ** @param const xcb_render_fixed_t *values
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_set_picture_filter_checked (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ uint16_t filter_len /**< */,
+ const char *filter /**< */,
+ uint32_t values_len /**< */,
+ const xcb_render_fixed_t *values /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_set_picture_filter
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param uint16_t filter_len
+ ** @param const char *filter
+ ** @param uint32_t values_len
+ ** @param const xcb_render_fixed_t *values
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_set_picture_filter (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ uint16_t filter_len /**< */,
+ const char *filter /**< */,
+ uint32_t values_len /**< */,
+ const xcb_render_fixed_t *values /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_animcursorelt_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_animcursorelt_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_animcursorelt_next
+ **
+ ** @param xcb_render_animcursorelt_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_animcursorelt_next (xcb_render_animcursorelt_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_animcursorelt_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_animcursorelt_end
+ **
+ ** @param xcb_render_animcursorelt_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_animcursorelt_end (xcb_render_animcursorelt_iterator_t i /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_create_anim_cursor_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_cursor_t cid
+ ** @param uint32_t cursors_len
+ ** @param const xcb_render_animcursorelt_t *cursors
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_create_anim_cursor_checked (xcb_connection_t *c /**< */,
+ xcb_cursor_t cid /**< */,
+ uint32_t cursors_len /**< */,
+ const xcb_render_animcursorelt_t *cursors /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_create_anim_cursor
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_cursor_t cid
+ ** @param uint32_t cursors_len
+ ** @param const xcb_render_animcursorelt_t *cursors
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_create_anim_cursor (xcb_connection_t *c /**< */,
+ xcb_cursor_t cid /**< */,
+ uint32_t cursors_len /**< */,
+ const xcb_render_animcursorelt_t *cursors /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_spanfix_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_spanfix_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_spanfix_next
+ **
+ ** @param xcb_render_spanfix_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_spanfix_next (xcb_render_spanfix_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_spanfix_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_spanfix_end
+ **
+ ** @param xcb_render_spanfix_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_spanfix_end (xcb_render_spanfix_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_render_trap_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_render_trap_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_render_trap_next
+ **
+ ** @param xcb_render_trap_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_render_trap_next (xcb_render_trap_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_render_trap_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_render_trap_end
+ **
+ ** @param xcb_render_trap_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_render_trap_end (xcb_render_trap_iterator_t i /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_add_traps_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param int16_t x_off
+ ** @param int16_t y_off
+ ** @param uint32_t traps_len
+ ** @param const xcb_render_trap_t *traps
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_add_traps_checked (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ int16_t x_off /**< */,
+ int16_t y_off /**< */,
+ uint32_t traps_len /**< */,
+ const xcb_render_trap_t *traps /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_add_traps
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param int16_t x_off
+ ** @param int16_t y_off
+ ** @param uint32_t traps_len
+ ** @param const xcb_render_trap_t *traps
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_add_traps (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ int16_t x_off /**< */,
+ int16_t y_off /**< */,
+ uint32_t traps_len /**< */,
+ const xcb_render_trap_t *traps /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_create_solid_fill_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param xcb_render_color_t color
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_create_solid_fill_checked (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ xcb_render_color_t color /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_create_solid_fill
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param xcb_render_color_t color
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_create_solid_fill (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ xcb_render_color_t color /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_create_linear_gradient_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param xcb_render_pointfix_t p1
+ ** @param xcb_render_pointfix_t p2
+ ** @param uint32_t num_stops
+ ** @param const xcb_render_fixed_t *stops
+ ** @param const xcb_render_color_t *colors
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_create_linear_gradient_checked (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ xcb_render_pointfix_t p1 /**< */,
+ xcb_render_pointfix_t p2 /**< */,
+ uint32_t num_stops /**< */,
+ const xcb_render_fixed_t *stops /**< */,
+ const xcb_render_color_t *colors /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_create_linear_gradient
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param xcb_render_pointfix_t p1
+ ** @param xcb_render_pointfix_t p2
+ ** @param uint32_t num_stops
+ ** @param const xcb_render_fixed_t *stops
+ ** @param const xcb_render_color_t *colors
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_create_linear_gradient (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ xcb_render_pointfix_t p1 /**< */,
+ xcb_render_pointfix_t p2 /**< */,
+ uint32_t num_stops /**< */,
+ const xcb_render_fixed_t *stops /**< */,
+ const xcb_render_color_t *colors /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_create_radial_gradient_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param xcb_render_pointfix_t inner
+ ** @param xcb_render_pointfix_t outer
+ ** @param xcb_render_fixed_t inner_radius
+ ** @param xcb_render_fixed_t outer_radius
+ ** @param uint32_t num_stops
+ ** @param const xcb_render_fixed_t *stops
+ ** @param const xcb_render_color_t *colors
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_create_radial_gradient_checked (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ xcb_render_pointfix_t inner /**< */,
+ xcb_render_pointfix_t outer /**< */,
+ xcb_render_fixed_t inner_radius /**< */,
+ xcb_render_fixed_t outer_radius /**< */,
+ uint32_t num_stops /**< */,
+ const xcb_render_fixed_t *stops /**< */,
+ const xcb_render_color_t *colors /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_create_radial_gradient
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param xcb_render_pointfix_t inner
+ ** @param xcb_render_pointfix_t outer
+ ** @param xcb_render_fixed_t inner_radius
+ ** @param xcb_render_fixed_t outer_radius
+ ** @param uint32_t num_stops
+ ** @param const xcb_render_fixed_t *stops
+ ** @param const xcb_render_color_t *colors
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_create_radial_gradient (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ xcb_render_pointfix_t inner /**< */,
+ xcb_render_pointfix_t outer /**< */,
+ xcb_render_fixed_t inner_radius /**< */,
+ xcb_render_fixed_t outer_radius /**< */,
+ uint32_t num_stops /**< */,
+ const xcb_render_fixed_t *stops /**< */,
+ const xcb_render_color_t *colors /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_create_conical_gradient_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param xcb_render_pointfix_t center
+ ** @param xcb_render_fixed_t angle
+ ** @param uint32_t num_stops
+ ** @param const xcb_render_fixed_t *stops
+ ** @param const xcb_render_color_t *colors
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_create_conical_gradient_checked (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ xcb_render_pointfix_t center /**< */,
+ xcb_render_fixed_t angle /**< */,
+ uint32_t num_stops /**< */,
+ const xcb_render_fixed_t *stops /**< */,
+ const xcb_render_color_t *colors /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_render_create_conical_gradient
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_render_picture_t picture
+ ** @param xcb_render_pointfix_t center
+ ** @param xcb_render_fixed_t angle
+ ** @param uint32_t num_stops
+ ** @param const xcb_render_fixed_t *stops
+ ** @param const xcb_render_color_t *colors
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_render_create_conical_gradient (xcb_connection_t *c /**< */,
+ xcb_render_picture_t picture /**< */,
+ xcb_render_pointfix_t center /**< */,
+ xcb_render_fixed_t angle /**< */,
+ uint32_t num_stops /**< */,
+ const xcb_render_fixed_t *stops /**< */,
+ const xcb_render_color_t *colors /**< */);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+/**
+ * @}
+ */
diff --git a/src/3rdparty/xcb/include/xcb/shape.h b/src/3rdparty/xcb/include/xcb/shape.h
new file mode 100644
index 0000000000..107d2ff748
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/shape.h
@@ -0,0 +1,1096 @@
+/*
+ * This file generated automatically from shape.xml by c_client.py.
+ * Edit at your peril.
+ */
+
+/**
+ * @defgroup XCB_Shape_API XCB Shape API
+ * @brief Shape XCB Protocol Implementation.
+ * @{
+ **/
+
+#ifndef __SHAPE_H
+#define __SHAPE_H
+
+#include "xcb.h"
+#include "xproto.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define XCB_SHAPE_MAJOR_VERSION 1
+#define XCB_SHAPE_MINOR_VERSION 1
+
+extern xcb_extension_t xcb_shape_id;
+
+typedef uint8_t xcb_shape_op_t;
+
+/**
+ * @brief xcb_shape_op_iterator_t
+ **/
+typedef struct xcb_shape_op_iterator_t {
+ xcb_shape_op_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_shape_op_iterator_t;
+
+typedef uint8_t xcb_shape_kind_t;
+
+/**
+ * @brief xcb_shape_kind_iterator_t
+ **/
+typedef struct xcb_shape_kind_iterator_t {
+ xcb_shape_kind_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_shape_kind_iterator_t;
+
+typedef enum xcb_shape_so_t {
+ XCB_SHAPE_SO_SET,
+ XCB_SHAPE_SO_UNION,
+ XCB_SHAPE_SO_INTERSECT,
+ XCB_SHAPE_SO_SUBTRACT,
+ XCB_SHAPE_SO_INVERT
+} xcb_shape_so_t;
+
+typedef enum xcb_shape_sk_t {
+ XCB_SHAPE_SK_BOUNDING,
+ XCB_SHAPE_SK_CLIP,
+ XCB_SHAPE_SK_INPUT
+} xcb_shape_sk_t;
+
+/** Opcode for xcb_shape_notify. */
+#define XCB_SHAPE_NOTIFY 0
+
+/**
+ * @brief xcb_shape_notify_event_t
+ **/
+typedef struct xcb_shape_notify_event_t {
+ uint8_t response_type; /**< */
+ xcb_shape_kind_t shape_kind; /**< */
+ uint16_t sequence; /**< */
+ xcb_window_t affected_window; /**< */
+ int16_t extents_x; /**< */
+ int16_t extents_y; /**< */
+ uint16_t extents_width; /**< */
+ uint16_t extents_height; /**< */
+ xcb_timestamp_t server_time; /**< */
+ uint8_t shaped; /**< */
+ uint8_t pad0[11]; /**< */
+} xcb_shape_notify_event_t;
+
+/**
+ * @brief xcb_shape_query_version_cookie_t
+ **/
+typedef struct xcb_shape_query_version_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_shape_query_version_cookie_t;
+
+/** Opcode for xcb_shape_query_version. */
+#define XCB_SHAPE_QUERY_VERSION 0
+
+/**
+ * @brief xcb_shape_query_version_request_t
+ **/
+typedef struct xcb_shape_query_version_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+} xcb_shape_query_version_request_t;
+
+/**
+ * @brief xcb_shape_query_version_reply_t
+ **/
+typedef struct xcb_shape_query_version_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ uint16_t major_version; /**< */
+ uint16_t minor_version; /**< */
+} xcb_shape_query_version_reply_t;
+
+/** Opcode for xcb_shape_rectangles. */
+#define XCB_SHAPE_RECTANGLES 1
+
+/**
+ * @brief xcb_shape_rectangles_request_t
+ **/
+typedef struct xcb_shape_rectangles_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_shape_op_t operation; /**< */
+ xcb_shape_kind_t destination_kind; /**< */
+ uint8_t ordering; /**< */
+ uint8_t pad0; /**< */
+ xcb_window_t destination_window; /**< */
+ int16_t x_offset; /**< */
+ int16_t y_offset; /**< */
+} xcb_shape_rectangles_request_t;
+
+/** Opcode for xcb_shape_mask. */
+#define XCB_SHAPE_MASK 2
+
+/**
+ * @brief xcb_shape_mask_request_t
+ **/
+typedef struct xcb_shape_mask_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_shape_op_t operation; /**< */
+ xcb_shape_kind_t destination_kind; /**< */
+ uint8_t pad0[2]; /**< */
+ xcb_window_t destination_window; /**< */
+ int16_t x_offset; /**< */
+ int16_t y_offset; /**< */
+ xcb_pixmap_t source_bitmap; /**< */
+} xcb_shape_mask_request_t;
+
+/** Opcode for xcb_shape_combine. */
+#define XCB_SHAPE_COMBINE 3
+
+/**
+ * @brief xcb_shape_combine_request_t
+ **/
+typedef struct xcb_shape_combine_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_shape_op_t operation; /**< */
+ xcb_shape_kind_t destination_kind; /**< */
+ xcb_shape_kind_t source_kind; /**< */
+ uint8_t pad0; /**< */
+ xcb_window_t destination_window; /**< */
+ int16_t x_offset; /**< */
+ int16_t y_offset; /**< */
+ xcb_window_t source_window; /**< */
+} xcb_shape_combine_request_t;
+
+/** Opcode for xcb_shape_offset. */
+#define XCB_SHAPE_OFFSET 4
+
+/**
+ * @brief xcb_shape_offset_request_t
+ **/
+typedef struct xcb_shape_offset_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_shape_kind_t destination_kind; /**< */
+ uint8_t pad0[3]; /**< */
+ xcb_window_t destination_window; /**< */
+ int16_t x_offset; /**< */
+ int16_t y_offset; /**< */
+} xcb_shape_offset_request_t;
+
+/**
+ * @brief xcb_shape_query_extents_cookie_t
+ **/
+typedef struct xcb_shape_query_extents_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_shape_query_extents_cookie_t;
+
+/** Opcode for xcb_shape_query_extents. */
+#define XCB_SHAPE_QUERY_EXTENTS 5
+
+/**
+ * @brief xcb_shape_query_extents_request_t
+ **/
+typedef struct xcb_shape_query_extents_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t destination_window; /**< */
+} xcb_shape_query_extents_request_t;
+
+/**
+ * @brief xcb_shape_query_extents_reply_t
+ **/
+typedef struct xcb_shape_query_extents_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ uint8_t bounding_shaped; /**< */
+ uint8_t clip_shaped; /**< */
+ uint8_t pad1[2]; /**< */
+ int16_t bounding_shape_extents_x; /**< */
+ int16_t bounding_shape_extents_y; /**< */
+ uint16_t bounding_shape_extents_width; /**< */
+ uint16_t bounding_shape_extents_height; /**< */
+ int16_t clip_shape_extents_x; /**< */
+ int16_t clip_shape_extents_y; /**< */
+ uint16_t clip_shape_extents_width; /**< */
+ uint16_t clip_shape_extents_height; /**< */
+} xcb_shape_query_extents_reply_t;
+
+/** Opcode for xcb_shape_select_input. */
+#define XCB_SHAPE_SELECT_INPUT 6
+
+/**
+ * @brief xcb_shape_select_input_request_t
+ **/
+typedef struct xcb_shape_select_input_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t destination_window; /**< */
+ uint8_t enable; /**< */
+ uint8_t pad0[3]; /**< */
+} xcb_shape_select_input_request_t;
+
+/**
+ * @brief xcb_shape_input_selected_cookie_t
+ **/
+typedef struct xcb_shape_input_selected_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_shape_input_selected_cookie_t;
+
+/** Opcode for xcb_shape_input_selected. */
+#define XCB_SHAPE_INPUT_SELECTED 7
+
+/**
+ * @brief xcb_shape_input_selected_request_t
+ **/
+typedef struct xcb_shape_input_selected_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t destination_window; /**< */
+} xcb_shape_input_selected_request_t;
+
+/**
+ * @brief xcb_shape_input_selected_reply_t
+ **/
+typedef struct xcb_shape_input_selected_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t enabled; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+} xcb_shape_input_selected_reply_t;
+
+/**
+ * @brief xcb_shape_get_rectangles_cookie_t
+ **/
+typedef struct xcb_shape_get_rectangles_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_shape_get_rectangles_cookie_t;
+
+/** Opcode for xcb_shape_get_rectangles. */
+#define XCB_SHAPE_GET_RECTANGLES 8
+
+/**
+ * @brief xcb_shape_get_rectangles_request_t
+ **/
+typedef struct xcb_shape_get_rectangles_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t window; /**< */
+ xcb_shape_kind_t source_kind; /**< */
+ uint8_t pad0[3]; /**< */
+} xcb_shape_get_rectangles_request_t;
+
+/**
+ * @brief xcb_shape_get_rectangles_reply_t
+ **/
+typedef struct xcb_shape_get_rectangles_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t ordering; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ uint32_t rectangles_len; /**< */
+ uint8_t pad0[20]; /**< */
+} xcb_shape_get_rectangles_reply_t;
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_shape_op_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_shape_op_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_shape_op_next
+ **
+ ** @param xcb_shape_op_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_shape_op_next (xcb_shape_op_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_shape_op_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_shape_op_end
+ **
+ ** @param xcb_shape_op_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_shape_op_end (xcb_shape_op_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_shape_kind_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_shape_kind_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_shape_kind_next
+ **
+ ** @param xcb_shape_kind_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_shape_kind_next (xcb_shape_kind_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_shape_kind_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_shape_kind_end
+ **
+ ** @param xcb_shape_kind_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_shape_kind_end (xcb_shape_kind_iterator_t i /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shape_query_version_cookie_t xcb_shape_query_version
+ **
+ ** @param xcb_connection_t *c
+ ** @returns xcb_shape_query_version_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_shape_query_version_cookie_t
+xcb_shape_query_version (xcb_connection_t *c /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shape_query_version_cookie_t xcb_shape_query_version_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @returns xcb_shape_query_version_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_shape_query_version_cookie_t
+xcb_shape_query_version_unchecked (xcb_connection_t *c /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_shape_query_version_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shape_query_version_reply_t * xcb_shape_query_version_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shape_query_version_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_shape_query_version_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_shape_query_version_reply_t *
+xcb_shape_query_version_reply (xcb_connection_t *c /**< */,
+ xcb_shape_query_version_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shape_rectangles_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shape_op_t operation
+ ** @param xcb_shape_kind_t destination_kind
+ ** @param uint8_t ordering
+ ** @param xcb_window_t destination_window
+ ** @param int16_t x_offset
+ ** @param int16_t y_offset
+ ** @param uint32_t rectangles_len
+ ** @param const xcb_rectangle_t *rectangles
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shape_rectangles_checked (xcb_connection_t *c /**< */,
+ xcb_shape_op_t operation /**< */,
+ xcb_shape_kind_t destination_kind /**< */,
+ uint8_t ordering /**< */,
+ xcb_window_t destination_window /**< */,
+ int16_t x_offset /**< */,
+ int16_t y_offset /**< */,
+ uint32_t rectangles_len /**< */,
+ const xcb_rectangle_t *rectangles /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shape_rectangles
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shape_op_t operation
+ ** @param xcb_shape_kind_t destination_kind
+ ** @param uint8_t ordering
+ ** @param xcb_window_t destination_window
+ ** @param int16_t x_offset
+ ** @param int16_t y_offset
+ ** @param uint32_t rectangles_len
+ ** @param const xcb_rectangle_t *rectangles
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shape_rectangles (xcb_connection_t *c /**< */,
+ xcb_shape_op_t operation /**< */,
+ xcb_shape_kind_t destination_kind /**< */,
+ uint8_t ordering /**< */,
+ xcb_window_t destination_window /**< */,
+ int16_t x_offset /**< */,
+ int16_t y_offset /**< */,
+ uint32_t rectangles_len /**< */,
+ const xcb_rectangle_t *rectangles /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shape_mask_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shape_op_t operation
+ ** @param xcb_shape_kind_t destination_kind
+ ** @param xcb_window_t destination_window
+ ** @param int16_t x_offset
+ ** @param int16_t y_offset
+ ** @param xcb_pixmap_t source_bitmap
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shape_mask_checked (xcb_connection_t *c /**< */,
+ xcb_shape_op_t operation /**< */,
+ xcb_shape_kind_t destination_kind /**< */,
+ xcb_window_t destination_window /**< */,
+ int16_t x_offset /**< */,
+ int16_t y_offset /**< */,
+ xcb_pixmap_t source_bitmap /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shape_mask
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shape_op_t operation
+ ** @param xcb_shape_kind_t destination_kind
+ ** @param xcb_window_t destination_window
+ ** @param int16_t x_offset
+ ** @param int16_t y_offset
+ ** @param xcb_pixmap_t source_bitmap
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shape_mask (xcb_connection_t *c /**< */,
+ xcb_shape_op_t operation /**< */,
+ xcb_shape_kind_t destination_kind /**< */,
+ xcb_window_t destination_window /**< */,
+ int16_t x_offset /**< */,
+ int16_t y_offset /**< */,
+ xcb_pixmap_t source_bitmap /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shape_combine_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shape_op_t operation
+ ** @param xcb_shape_kind_t destination_kind
+ ** @param xcb_shape_kind_t source_kind
+ ** @param xcb_window_t destination_window
+ ** @param int16_t x_offset
+ ** @param int16_t y_offset
+ ** @param xcb_window_t source_window
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shape_combine_checked (xcb_connection_t *c /**< */,
+ xcb_shape_op_t operation /**< */,
+ xcb_shape_kind_t destination_kind /**< */,
+ xcb_shape_kind_t source_kind /**< */,
+ xcb_window_t destination_window /**< */,
+ int16_t x_offset /**< */,
+ int16_t y_offset /**< */,
+ xcb_window_t source_window /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shape_combine
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shape_op_t operation
+ ** @param xcb_shape_kind_t destination_kind
+ ** @param xcb_shape_kind_t source_kind
+ ** @param xcb_window_t destination_window
+ ** @param int16_t x_offset
+ ** @param int16_t y_offset
+ ** @param xcb_window_t source_window
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shape_combine (xcb_connection_t *c /**< */,
+ xcb_shape_op_t operation /**< */,
+ xcb_shape_kind_t destination_kind /**< */,
+ xcb_shape_kind_t source_kind /**< */,
+ xcb_window_t destination_window /**< */,
+ int16_t x_offset /**< */,
+ int16_t y_offset /**< */,
+ xcb_window_t source_window /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shape_offset_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shape_kind_t destination_kind
+ ** @param xcb_window_t destination_window
+ ** @param int16_t x_offset
+ ** @param int16_t y_offset
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shape_offset_checked (xcb_connection_t *c /**< */,
+ xcb_shape_kind_t destination_kind /**< */,
+ xcb_window_t destination_window /**< */,
+ int16_t x_offset /**< */,
+ int16_t y_offset /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shape_offset
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shape_kind_t destination_kind
+ ** @param xcb_window_t destination_window
+ ** @param int16_t x_offset
+ ** @param int16_t y_offset
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shape_offset (xcb_connection_t *c /**< */,
+ xcb_shape_kind_t destination_kind /**< */,
+ xcb_window_t destination_window /**< */,
+ int16_t x_offset /**< */,
+ int16_t y_offset /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shape_query_extents_cookie_t xcb_shape_query_extents
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t destination_window
+ ** @returns xcb_shape_query_extents_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_shape_query_extents_cookie_t
+xcb_shape_query_extents (xcb_connection_t *c /**< */,
+ xcb_window_t destination_window /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shape_query_extents_cookie_t xcb_shape_query_extents_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t destination_window
+ ** @returns xcb_shape_query_extents_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_shape_query_extents_cookie_t
+xcb_shape_query_extents_unchecked (xcb_connection_t *c /**< */,
+ xcb_window_t destination_window /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_shape_query_extents_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shape_query_extents_reply_t * xcb_shape_query_extents_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shape_query_extents_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_shape_query_extents_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_shape_query_extents_reply_t *
+xcb_shape_query_extents_reply (xcb_connection_t *c /**< */,
+ xcb_shape_query_extents_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shape_select_input_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t destination_window
+ ** @param uint8_t enable
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shape_select_input_checked (xcb_connection_t *c /**< */,
+ xcb_window_t destination_window /**< */,
+ uint8_t enable /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shape_select_input
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t destination_window
+ ** @param uint8_t enable
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shape_select_input (xcb_connection_t *c /**< */,
+ xcb_window_t destination_window /**< */,
+ uint8_t enable /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shape_input_selected_cookie_t xcb_shape_input_selected
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t destination_window
+ ** @returns xcb_shape_input_selected_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_shape_input_selected_cookie_t
+xcb_shape_input_selected (xcb_connection_t *c /**< */,
+ xcb_window_t destination_window /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shape_input_selected_cookie_t xcb_shape_input_selected_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t destination_window
+ ** @returns xcb_shape_input_selected_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_shape_input_selected_cookie_t
+xcb_shape_input_selected_unchecked (xcb_connection_t *c /**< */,
+ xcb_window_t destination_window /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_shape_input_selected_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shape_input_selected_reply_t * xcb_shape_input_selected_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shape_input_selected_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_shape_input_selected_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_shape_input_selected_reply_t *
+xcb_shape_input_selected_reply (xcb_connection_t *c /**< */,
+ xcb_shape_input_selected_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shape_get_rectangles_cookie_t xcb_shape_get_rectangles
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @param xcb_shape_kind_t source_kind
+ ** @returns xcb_shape_get_rectangles_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_shape_get_rectangles_cookie_t
+xcb_shape_get_rectangles (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */,
+ xcb_shape_kind_t source_kind /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shape_get_rectangles_cookie_t xcb_shape_get_rectangles_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @param xcb_shape_kind_t source_kind
+ ** @returns xcb_shape_get_rectangles_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_shape_get_rectangles_cookie_t
+xcb_shape_get_rectangles_unchecked (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */,
+ xcb_shape_kind_t source_kind /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_rectangle_t * xcb_shape_get_rectangles_rectangles
+ **
+ ** @param const xcb_shape_get_rectangles_reply_t *R
+ ** @returns xcb_rectangle_t *
+ **
+ *****************************************************************************/
+
+xcb_rectangle_t *
+xcb_shape_get_rectangles_rectangles (const xcb_shape_get_rectangles_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_shape_get_rectangles_rectangles_length
+ **
+ ** @param const xcb_shape_get_rectangles_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_shape_get_rectangles_rectangles_length (const xcb_shape_get_rectangles_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_rectangle_iterator_t xcb_shape_get_rectangles_rectangles_iterator
+ **
+ ** @param const xcb_shape_get_rectangles_reply_t *R
+ ** @returns xcb_rectangle_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_rectangle_iterator_t
+xcb_shape_get_rectangles_rectangles_iterator (const xcb_shape_get_rectangles_reply_t *R /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_shape_get_rectangles_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shape_get_rectangles_reply_t * xcb_shape_get_rectangles_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shape_get_rectangles_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_shape_get_rectangles_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_shape_get_rectangles_reply_t *
+xcb_shape_get_rectangles_reply (xcb_connection_t *c /**< */,
+ xcb_shape_get_rectangles_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+/**
+ * @}
+ */
diff --git a/src/3rdparty/xcb/include/xcb/shm.h b/src/3rdparty/xcb/include/xcb/shm.h
new file mode 100644
index 0000000000..bcb60d81f1
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/shm.h
@@ -0,0 +1,738 @@
+/*
+ * This file generated automatically from shm.xml by c_client.py.
+ * Edit at your peril.
+ */
+
+/**
+ * @defgroup XCB_Shm_API XCB Shm API
+ * @brief Shm XCB Protocol Implementation.
+ * @{
+ **/
+
+#ifndef __SHM_H
+#define __SHM_H
+
+#include "xcb.h"
+#include "xproto.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define XCB_SHM_MAJOR_VERSION 1
+#define XCB_SHM_MINOR_VERSION 1
+
+extern xcb_extension_t xcb_shm_id;
+
+typedef uint32_t xcb_shm_seg_t;
+
+/**
+ * @brief xcb_shm_seg_iterator_t
+ **/
+typedef struct xcb_shm_seg_iterator_t {
+ xcb_shm_seg_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_shm_seg_iterator_t;
+
+/** Opcode for xcb_shm_completion. */
+#define XCB_SHM_COMPLETION 0
+
+/**
+ * @brief xcb_shm_completion_event_t
+ **/
+typedef struct xcb_shm_completion_event_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ xcb_drawable_t drawable; /**< */
+ uint16_t minor_event; /**< */
+ uint8_t major_event; /**< */
+ uint8_t pad1; /**< */
+ xcb_shm_seg_t shmseg; /**< */
+ uint32_t offset; /**< */
+} xcb_shm_completion_event_t;
+
+/** Opcode for xcb_shm_bad_seg. */
+#define XCB_SHM_BAD_SEG 0
+
+typedef xcb_value_error_t xcb_shm_bad_seg_error_t;
+
+/**
+ * @brief xcb_shm_query_version_cookie_t
+ **/
+typedef struct xcb_shm_query_version_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_shm_query_version_cookie_t;
+
+/** Opcode for xcb_shm_query_version. */
+#define XCB_SHM_QUERY_VERSION 0
+
+/**
+ * @brief xcb_shm_query_version_request_t
+ **/
+typedef struct xcb_shm_query_version_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+} xcb_shm_query_version_request_t;
+
+/**
+ * @brief xcb_shm_query_version_reply_t
+ **/
+typedef struct xcb_shm_query_version_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t shared_pixmaps; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ uint16_t major_version; /**< */
+ uint16_t minor_version; /**< */
+ uint16_t uid; /**< */
+ uint16_t gid; /**< */
+ uint8_t pixmap_format; /**< */
+ uint8_t pad0[15]; /**< */
+} xcb_shm_query_version_reply_t;
+
+/** Opcode for xcb_shm_attach. */
+#define XCB_SHM_ATTACH 1
+
+/**
+ * @brief xcb_shm_attach_request_t
+ **/
+typedef struct xcb_shm_attach_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_shm_seg_t shmseg; /**< */
+ uint32_t shmid; /**< */
+ uint8_t read_only; /**< */
+ uint8_t pad0[3]; /**< */
+} xcb_shm_attach_request_t;
+
+/** Opcode for xcb_shm_detach. */
+#define XCB_SHM_DETACH 2
+
+/**
+ * @brief xcb_shm_detach_request_t
+ **/
+typedef struct xcb_shm_detach_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_shm_seg_t shmseg; /**< */
+} xcb_shm_detach_request_t;
+
+/** Opcode for xcb_shm_put_image. */
+#define XCB_SHM_PUT_IMAGE 3
+
+/**
+ * @brief xcb_shm_put_image_request_t
+ **/
+typedef struct xcb_shm_put_image_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_drawable_t drawable; /**< */
+ xcb_gcontext_t gc; /**< */
+ uint16_t total_width; /**< */
+ uint16_t total_height; /**< */
+ uint16_t src_x; /**< */
+ uint16_t src_y; /**< */
+ uint16_t src_width; /**< */
+ uint16_t src_height; /**< */
+ int16_t dst_x; /**< */
+ int16_t dst_y; /**< */
+ uint8_t depth; /**< */
+ uint8_t format; /**< */
+ uint8_t send_event; /**< */
+ uint8_t pad0; /**< */
+ xcb_shm_seg_t shmseg; /**< */
+ uint32_t offset; /**< */
+} xcb_shm_put_image_request_t;
+
+/**
+ * @brief xcb_shm_get_image_cookie_t
+ **/
+typedef struct xcb_shm_get_image_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_shm_get_image_cookie_t;
+
+/** Opcode for xcb_shm_get_image. */
+#define XCB_SHM_GET_IMAGE 4
+
+/**
+ * @brief xcb_shm_get_image_request_t
+ **/
+typedef struct xcb_shm_get_image_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_drawable_t drawable; /**< */
+ int16_t x; /**< */
+ int16_t y; /**< */
+ uint16_t width; /**< */
+ uint16_t height; /**< */
+ uint32_t plane_mask; /**< */
+ uint8_t format; /**< */
+ uint8_t pad0[3]; /**< */
+ xcb_shm_seg_t shmseg; /**< */
+ uint32_t offset; /**< */
+} xcb_shm_get_image_request_t;
+
+/**
+ * @brief xcb_shm_get_image_reply_t
+ **/
+typedef struct xcb_shm_get_image_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t depth; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_visualid_t visual; /**< */
+ uint32_t size; /**< */
+} xcb_shm_get_image_reply_t;
+
+/** Opcode for xcb_shm_create_pixmap. */
+#define XCB_SHM_CREATE_PIXMAP 5
+
+/**
+ * @brief xcb_shm_create_pixmap_request_t
+ **/
+typedef struct xcb_shm_create_pixmap_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_pixmap_t pid; /**< */
+ xcb_drawable_t drawable; /**< */
+ uint16_t width; /**< */
+ uint16_t height; /**< */
+ uint8_t depth; /**< */
+ uint8_t pad0[3]; /**< */
+ xcb_shm_seg_t shmseg; /**< */
+ uint32_t offset; /**< */
+} xcb_shm_create_pixmap_request_t;
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_shm_seg_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_shm_seg_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_shm_seg_next
+ **
+ ** @param xcb_shm_seg_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_shm_seg_next (xcb_shm_seg_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_shm_seg_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_shm_seg_end
+ **
+ ** @param xcb_shm_seg_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_shm_seg_end (xcb_shm_seg_iterator_t i /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shm_query_version_cookie_t xcb_shm_query_version
+ **
+ ** @param xcb_connection_t *c
+ ** @returns xcb_shm_query_version_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_shm_query_version_cookie_t
+xcb_shm_query_version (xcb_connection_t *c /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shm_query_version_cookie_t xcb_shm_query_version_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @returns xcb_shm_query_version_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_shm_query_version_cookie_t
+xcb_shm_query_version_unchecked (xcb_connection_t *c /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_shm_query_version_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shm_query_version_reply_t * xcb_shm_query_version_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shm_query_version_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_shm_query_version_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_shm_query_version_reply_t *
+xcb_shm_query_version_reply (xcb_connection_t *c /**< */,
+ xcb_shm_query_version_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shm_attach_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shm_seg_t shmseg
+ ** @param uint32_t shmid
+ ** @param uint8_t read_only
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shm_attach_checked (xcb_connection_t *c /**< */,
+ xcb_shm_seg_t shmseg /**< */,
+ uint32_t shmid /**< */,
+ uint8_t read_only /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shm_attach
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shm_seg_t shmseg
+ ** @param uint32_t shmid
+ ** @param uint8_t read_only
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shm_attach (xcb_connection_t *c /**< */,
+ xcb_shm_seg_t shmseg /**< */,
+ uint32_t shmid /**< */,
+ uint8_t read_only /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shm_detach_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shm_seg_t shmseg
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shm_detach_checked (xcb_connection_t *c /**< */,
+ xcb_shm_seg_t shmseg /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shm_detach
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shm_seg_t shmseg
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shm_detach (xcb_connection_t *c /**< */,
+ xcb_shm_seg_t shmseg /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shm_put_image_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_drawable_t drawable
+ ** @param xcb_gcontext_t gc
+ ** @param uint16_t total_width
+ ** @param uint16_t total_height
+ ** @param uint16_t src_x
+ ** @param uint16_t src_y
+ ** @param uint16_t src_width
+ ** @param uint16_t src_height
+ ** @param int16_t dst_x
+ ** @param int16_t dst_y
+ ** @param uint8_t depth
+ ** @param uint8_t format
+ ** @param uint8_t send_event
+ ** @param xcb_shm_seg_t shmseg
+ ** @param uint32_t offset
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shm_put_image_checked (xcb_connection_t *c /**< */,
+ xcb_drawable_t drawable /**< */,
+ xcb_gcontext_t gc /**< */,
+ uint16_t total_width /**< */,
+ uint16_t total_height /**< */,
+ uint16_t src_x /**< */,
+ uint16_t src_y /**< */,
+ uint16_t src_width /**< */,
+ uint16_t src_height /**< */,
+ int16_t dst_x /**< */,
+ int16_t dst_y /**< */,
+ uint8_t depth /**< */,
+ uint8_t format /**< */,
+ uint8_t send_event /**< */,
+ xcb_shm_seg_t shmseg /**< */,
+ uint32_t offset /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shm_put_image
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_drawable_t drawable
+ ** @param xcb_gcontext_t gc
+ ** @param uint16_t total_width
+ ** @param uint16_t total_height
+ ** @param uint16_t src_x
+ ** @param uint16_t src_y
+ ** @param uint16_t src_width
+ ** @param uint16_t src_height
+ ** @param int16_t dst_x
+ ** @param int16_t dst_y
+ ** @param uint8_t depth
+ ** @param uint8_t format
+ ** @param uint8_t send_event
+ ** @param xcb_shm_seg_t shmseg
+ ** @param uint32_t offset
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shm_put_image (xcb_connection_t *c /**< */,
+ xcb_drawable_t drawable /**< */,
+ xcb_gcontext_t gc /**< */,
+ uint16_t total_width /**< */,
+ uint16_t total_height /**< */,
+ uint16_t src_x /**< */,
+ uint16_t src_y /**< */,
+ uint16_t src_width /**< */,
+ uint16_t src_height /**< */,
+ int16_t dst_x /**< */,
+ int16_t dst_y /**< */,
+ uint8_t depth /**< */,
+ uint8_t format /**< */,
+ uint8_t send_event /**< */,
+ xcb_shm_seg_t shmseg /**< */,
+ uint32_t offset /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shm_get_image_cookie_t xcb_shm_get_image
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_drawable_t drawable
+ ** @param int16_t x
+ ** @param int16_t y
+ ** @param uint16_t width
+ ** @param uint16_t height
+ ** @param uint32_t plane_mask
+ ** @param uint8_t format
+ ** @param xcb_shm_seg_t shmseg
+ ** @param uint32_t offset
+ ** @returns xcb_shm_get_image_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_shm_get_image_cookie_t
+xcb_shm_get_image (xcb_connection_t *c /**< */,
+ xcb_drawable_t drawable /**< */,
+ int16_t x /**< */,
+ int16_t y /**< */,
+ uint16_t width /**< */,
+ uint16_t height /**< */,
+ uint32_t plane_mask /**< */,
+ uint8_t format /**< */,
+ xcb_shm_seg_t shmseg /**< */,
+ uint32_t offset /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shm_get_image_cookie_t xcb_shm_get_image_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_drawable_t drawable
+ ** @param int16_t x
+ ** @param int16_t y
+ ** @param uint16_t width
+ ** @param uint16_t height
+ ** @param uint32_t plane_mask
+ ** @param uint8_t format
+ ** @param xcb_shm_seg_t shmseg
+ ** @param uint32_t offset
+ ** @returns xcb_shm_get_image_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_shm_get_image_cookie_t
+xcb_shm_get_image_unchecked (xcb_connection_t *c /**< */,
+ xcb_drawable_t drawable /**< */,
+ int16_t x /**< */,
+ int16_t y /**< */,
+ uint16_t width /**< */,
+ uint16_t height /**< */,
+ uint32_t plane_mask /**< */,
+ uint8_t format /**< */,
+ xcb_shm_seg_t shmseg /**< */,
+ uint32_t offset /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_shm_get_image_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_shm_get_image_reply_t * xcb_shm_get_image_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_shm_get_image_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_shm_get_image_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_shm_get_image_reply_t *
+xcb_shm_get_image_reply (xcb_connection_t *c /**< */,
+ xcb_shm_get_image_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shm_create_pixmap_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_pixmap_t pid
+ ** @param xcb_drawable_t drawable
+ ** @param uint16_t width
+ ** @param uint16_t height
+ ** @param uint8_t depth
+ ** @param xcb_shm_seg_t shmseg
+ ** @param uint32_t offset
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shm_create_pixmap_checked (xcb_connection_t *c /**< */,
+ xcb_pixmap_t pid /**< */,
+ xcb_drawable_t drawable /**< */,
+ uint16_t width /**< */,
+ uint16_t height /**< */,
+ uint8_t depth /**< */,
+ xcb_shm_seg_t shmseg /**< */,
+ uint32_t offset /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_shm_create_pixmap
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_pixmap_t pid
+ ** @param xcb_drawable_t drawable
+ ** @param uint16_t width
+ ** @param uint16_t height
+ ** @param uint8_t depth
+ ** @param xcb_shm_seg_t shmseg
+ ** @param uint32_t offset
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_shm_create_pixmap (xcb_connection_t *c /**< */,
+ xcb_pixmap_t pid /**< */,
+ xcb_drawable_t drawable /**< */,
+ uint16_t width /**< */,
+ uint16_t height /**< */,
+ uint8_t depth /**< */,
+ xcb_shm_seg_t shmseg /**< */,
+ uint32_t offset /**< */);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+/**
+ * @}
+ */
diff --git a/src/3rdparty/xcb/include/xcb/sync.h b/src/3rdparty/xcb/include/xcb/sync.h
new file mode 100644
index 0000000000..50665c2865
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/sync.h
@@ -0,0 +1,1707 @@
+/*
+ * This file generated automatically from sync.xml by c_client.py.
+ * Edit at your peril.
+ */
+
+/**
+ * @defgroup XCB_Sync_API XCB Sync API
+ * @brief Sync XCB Protocol Implementation.
+ * @{
+ **/
+
+#ifndef __SYNC_H
+#define __SYNC_H
+
+#include "xcb.h"
+#include "xproto.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define XCB_SYNC_MAJOR_VERSION 3
+#define XCB_SYNC_MINOR_VERSION 0
+
+extern xcb_extension_t xcb_sync_id;
+
+typedef uint32_t xcb_sync_alarm_t;
+
+/**
+ * @brief xcb_sync_alarm_iterator_t
+ **/
+typedef struct xcb_sync_alarm_iterator_t {
+ xcb_sync_alarm_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_sync_alarm_iterator_t;
+
+typedef enum xcb_sync_alarmstate_t {
+ XCB_SYNC_ALARMSTATE_ACTIVE,
+ XCB_SYNC_ALARMSTATE_INACTIVE,
+ XCB_SYNC_ALARMSTATE_DESTROYED
+} xcb_sync_alarmstate_t;
+
+typedef uint32_t xcb_sync_counter_t;
+
+/**
+ * @brief xcb_sync_counter_iterator_t
+ **/
+typedef struct xcb_sync_counter_iterator_t {
+ xcb_sync_counter_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_sync_counter_iterator_t;
+
+typedef enum xcb_sync_testtype_t {
+ XCB_SYNC_TESTTYPE_POSITIVE_TRANSITION,
+ XCB_SYNC_TESTTYPE_NEGATIVE_TRANSITION,
+ XCB_SYNC_TESTTYPE_POSITIVE_COMPARISON,
+ XCB_SYNC_TESTTYPE_NEGATIVE_COMPARISON
+} xcb_sync_testtype_t;
+
+typedef enum xcb_sync_valuetype_t {
+ XCB_SYNC_VALUETYPE_ABSOLUTE,
+ XCB_SYNC_VALUETYPE_RELATIVE
+} xcb_sync_valuetype_t;
+
+typedef enum xcb_sync_ca_t {
+ XCB_SYNC_CA_COUNTER = 1,
+ XCB_SYNC_CA_VALUE_TYPE = 2,
+ XCB_SYNC_CA_VALUE = 4,
+ XCB_SYNC_CA_TEST_TYPE = 8,
+ XCB_SYNC_CA_DELTA = 16,
+ XCB_SYNC_CA_EVENTS = 32
+} xcb_sync_ca_t;
+
+/**
+ * @brief xcb_sync_int64_t
+ **/
+typedef struct xcb_sync_int64_t {
+ int32_t hi; /**< */
+ uint32_t lo; /**< */
+} xcb_sync_int64_t;
+
+/**
+ * @brief xcb_sync_int64_iterator_t
+ **/
+typedef struct xcb_sync_int64_iterator_t {
+ xcb_sync_int64_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_sync_int64_iterator_t;
+
+/**
+ * @brief xcb_sync_systemcounter_t
+ **/
+typedef struct xcb_sync_systemcounter_t {
+ xcb_sync_counter_t counter; /**< */
+ xcb_sync_int64_t resolution; /**< */
+ uint16_t name_len; /**< */
+} xcb_sync_systemcounter_t;
+
+/**
+ * @brief xcb_sync_systemcounter_iterator_t
+ **/
+typedef struct xcb_sync_systemcounter_iterator_t {
+ xcb_sync_systemcounter_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_sync_systemcounter_iterator_t;
+
+/**
+ * @brief xcb_sync_trigger_t
+ **/
+typedef struct xcb_sync_trigger_t {
+ xcb_sync_counter_t counter; /**< */
+ uint32_t wait_type; /**< */
+ xcb_sync_int64_t wait_value; /**< */
+ uint32_t test_type; /**< */
+} xcb_sync_trigger_t;
+
+/**
+ * @brief xcb_sync_trigger_iterator_t
+ **/
+typedef struct xcb_sync_trigger_iterator_t {
+ xcb_sync_trigger_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_sync_trigger_iterator_t;
+
+/**
+ * @brief xcb_sync_waitcondition_t
+ **/
+typedef struct xcb_sync_waitcondition_t {
+ xcb_sync_trigger_t trigger; /**< */
+ xcb_sync_int64_t event_threshold; /**< */
+} xcb_sync_waitcondition_t;
+
+/**
+ * @brief xcb_sync_waitcondition_iterator_t
+ **/
+typedef struct xcb_sync_waitcondition_iterator_t {
+ xcb_sync_waitcondition_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_sync_waitcondition_iterator_t;
+
+/** Opcode for xcb_sync_counter. */
+#define XCB_SYNC_COUNTER 0
+
+/**
+ * @brief xcb_sync_counter_error_t
+ **/
+typedef struct xcb_sync_counter_error_t {
+ uint8_t response_type; /**< */
+ uint8_t error_code; /**< */
+ uint16_t sequence; /**< */
+ uint32_t bad_counter; /**< */
+ uint16_t minor_opcode; /**< */
+ uint8_t major_opcode; /**< */
+} xcb_sync_counter_error_t;
+
+/** Opcode for xcb_sync_alarm. */
+#define XCB_SYNC_ALARM 1
+
+/**
+ * @brief xcb_sync_alarm_error_t
+ **/
+typedef struct xcb_sync_alarm_error_t {
+ uint8_t response_type; /**< */
+ uint8_t error_code; /**< */
+ uint16_t sequence; /**< */
+ uint32_t bad_alarm; /**< */
+ uint16_t minor_opcode; /**< */
+ uint8_t major_opcode; /**< */
+} xcb_sync_alarm_error_t;
+
+/**
+ * @brief xcb_sync_initialize_cookie_t
+ **/
+typedef struct xcb_sync_initialize_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_sync_initialize_cookie_t;
+
+/** Opcode for xcb_sync_initialize. */
+#define XCB_SYNC_INITIALIZE 0
+
+/**
+ * @brief xcb_sync_initialize_request_t
+ **/
+typedef struct xcb_sync_initialize_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ uint8_t desired_major_version; /**< */
+ uint8_t desired_minor_version; /**< */
+} xcb_sync_initialize_request_t;
+
+/**
+ * @brief xcb_sync_initialize_reply_t
+ **/
+typedef struct xcb_sync_initialize_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ uint8_t major_version; /**< */
+ uint8_t minor_version; /**< */
+ uint8_t pad1[22]; /**< */
+} xcb_sync_initialize_reply_t;
+
+/**
+ * @brief xcb_sync_list_system_counters_cookie_t
+ **/
+typedef struct xcb_sync_list_system_counters_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_sync_list_system_counters_cookie_t;
+
+/** Opcode for xcb_sync_list_system_counters. */
+#define XCB_SYNC_LIST_SYSTEM_COUNTERS 1
+
+/**
+ * @brief xcb_sync_list_system_counters_request_t
+ **/
+typedef struct xcb_sync_list_system_counters_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+} xcb_sync_list_system_counters_request_t;
+
+/**
+ * @brief xcb_sync_list_system_counters_reply_t
+ **/
+typedef struct xcb_sync_list_system_counters_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ uint32_t counters_len; /**< */
+ uint8_t pad1[20]; /**< */
+} xcb_sync_list_system_counters_reply_t;
+
+/** Opcode for xcb_sync_create_counter. */
+#define XCB_SYNC_CREATE_COUNTER 2
+
+/**
+ * @brief xcb_sync_create_counter_request_t
+ **/
+typedef struct xcb_sync_create_counter_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_sync_counter_t id; /**< */
+ xcb_sync_int64_t initial_value; /**< */
+} xcb_sync_create_counter_request_t;
+
+/** Opcode for xcb_sync_destroy_counter. */
+#define XCB_SYNC_DESTROY_COUNTER 6
+
+/**
+ * @brief xcb_sync_destroy_counter_request_t
+ **/
+typedef struct xcb_sync_destroy_counter_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_sync_counter_t counter; /**< */
+} xcb_sync_destroy_counter_request_t;
+
+/**
+ * @brief xcb_sync_query_counter_cookie_t
+ **/
+typedef struct xcb_sync_query_counter_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_sync_query_counter_cookie_t;
+
+/** Opcode for xcb_sync_query_counter. */
+#define XCB_SYNC_QUERY_COUNTER 5
+
+/**
+ * @brief xcb_sync_query_counter_request_t
+ **/
+typedef struct xcb_sync_query_counter_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_sync_counter_t counter; /**< */
+} xcb_sync_query_counter_request_t;
+
+/**
+ * @brief xcb_sync_query_counter_reply_t
+ **/
+typedef struct xcb_sync_query_counter_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_sync_int64_t counter_value; /**< */
+} xcb_sync_query_counter_reply_t;
+
+/** Opcode for xcb_sync_await. */
+#define XCB_SYNC_AWAIT 7
+
+/**
+ * @brief xcb_sync_await_request_t
+ **/
+typedef struct xcb_sync_await_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+} xcb_sync_await_request_t;
+
+/** Opcode for xcb_sync_change_counter. */
+#define XCB_SYNC_CHANGE_COUNTER 4
+
+/**
+ * @brief xcb_sync_change_counter_request_t
+ **/
+typedef struct xcb_sync_change_counter_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_sync_counter_t counter; /**< */
+ xcb_sync_int64_t amount; /**< */
+} xcb_sync_change_counter_request_t;
+
+/** Opcode for xcb_sync_set_counter. */
+#define XCB_SYNC_SET_COUNTER 3
+
+/**
+ * @brief xcb_sync_set_counter_request_t
+ **/
+typedef struct xcb_sync_set_counter_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_sync_counter_t counter; /**< */
+ xcb_sync_int64_t value; /**< */
+} xcb_sync_set_counter_request_t;
+
+/** Opcode for xcb_sync_create_alarm. */
+#define XCB_SYNC_CREATE_ALARM 8
+
+/**
+ * @brief xcb_sync_create_alarm_request_t
+ **/
+typedef struct xcb_sync_create_alarm_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_sync_alarm_t id; /**< */
+ uint32_t value_mask; /**< */
+} xcb_sync_create_alarm_request_t;
+
+/** Opcode for xcb_sync_change_alarm. */
+#define XCB_SYNC_CHANGE_ALARM 9
+
+/**
+ * @brief xcb_sync_change_alarm_request_t
+ **/
+typedef struct xcb_sync_change_alarm_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_sync_alarm_t id; /**< */
+ uint32_t value_mask; /**< */
+} xcb_sync_change_alarm_request_t;
+
+/** Opcode for xcb_sync_destroy_alarm. */
+#define XCB_SYNC_DESTROY_ALARM 11
+
+/**
+ * @brief xcb_sync_destroy_alarm_request_t
+ **/
+typedef struct xcb_sync_destroy_alarm_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_sync_alarm_t alarm; /**< */
+} xcb_sync_destroy_alarm_request_t;
+
+/**
+ * @brief xcb_sync_query_alarm_cookie_t
+ **/
+typedef struct xcb_sync_query_alarm_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_sync_query_alarm_cookie_t;
+
+/** Opcode for xcb_sync_query_alarm. */
+#define XCB_SYNC_QUERY_ALARM 10
+
+/**
+ * @brief xcb_sync_query_alarm_request_t
+ **/
+typedef struct xcb_sync_query_alarm_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_sync_alarm_t alarm; /**< */
+} xcb_sync_query_alarm_request_t;
+
+/**
+ * @brief xcb_sync_query_alarm_reply_t
+ **/
+typedef struct xcb_sync_query_alarm_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_sync_trigger_t trigger; /**< */
+ xcb_sync_int64_t delta; /**< */
+ uint8_t events; /**< */
+ uint8_t state; /**< */
+ uint8_t pad1[2]; /**< */
+} xcb_sync_query_alarm_reply_t;
+
+/** Opcode for xcb_sync_set_priority. */
+#define XCB_SYNC_SET_PRIORITY 12
+
+/**
+ * @brief xcb_sync_set_priority_request_t
+ **/
+typedef struct xcb_sync_set_priority_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ uint32_t id; /**< */
+ int32_t priority; /**< */
+} xcb_sync_set_priority_request_t;
+
+/**
+ * @brief xcb_sync_get_priority_cookie_t
+ **/
+typedef struct xcb_sync_get_priority_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_sync_get_priority_cookie_t;
+
+/** Opcode for xcb_sync_get_priority. */
+#define XCB_SYNC_GET_PRIORITY 13
+
+/**
+ * @brief xcb_sync_get_priority_request_t
+ **/
+typedef struct xcb_sync_get_priority_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ uint32_t id; /**< */
+} xcb_sync_get_priority_request_t;
+
+/**
+ * @brief xcb_sync_get_priority_reply_t
+ **/
+typedef struct xcb_sync_get_priority_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ int32_t priority; /**< */
+} xcb_sync_get_priority_reply_t;
+
+/** Opcode for xcb_sync_counter_notify. */
+#define XCB_SYNC_COUNTER_NOTIFY 0
+
+/**
+ * @brief xcb_sync_counter_notify_event_t
+ **/
+typedef struct xcb_sync_counter_notify_event_t {
+ uint8_t response_type; /**< */
+ uint8_t kind; /**< */
+ uint16_t sequence; /**< */
+ xcb_sync_counter_t counter; /**< */
+ xcb_sync_int64_t wait_value; /**< */
+ xcb_sync_int64_t counter_value; /**< */
+ xcb_timestamp_t timestamp; /**< */
+ uint16_t count; /**< */
+ uint8_t destroyed; /**< */
+ uint8_t pad0; /**< */
+} xcb_sync_counter_notify_event_t;
+
+/** Opcode for xcb_sync_alarm_notify. */
+#define XCB_SYNC_ALARM_NOTIFY 1
+
+/**
+ * @brief xcb_sync_alarm_notify_event_t
+ **/
+typedef struct xcb_sync_alarm_notify_event_t {
+ uint8_t response_type; /**< */
+ uint8_t kind; /**< */
+ uint16_t sequence; /**< */
+ xcb_sync_alarm_t alarm; /**< */
+ xcb_sync_int64_t counter_value; /**< */
+ xcb_sync_int64_t alarm_value; /**< */
+ xcb_timestamp_t timestamp; /**< */
+ uint8_t state; /**< */
+ uint8_t pad0[3]; /**< */
+} xcb_sync_alarm_notify_event_t;
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_sync_alarm_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_sync_alarm_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_sync_alarm_next
+ **
+ ** @param xcb_sync_alarm_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_sync_alarm_next (xcb_sync_alarm_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_sync_alarm_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_sync_alarm_end
+ **
+ ** @param xcb_sync_alarm_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_sync_alarm_end (xcb_sync_alarm_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_sync_counter_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_sync_counter_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_sync_counter_next
+ **
+ ** @param xcb_sync_counter_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_sync_counter_next (xcb_sync_counter_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_sync_counter_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_sync_counter_end
+ **
+ ** @param xcb_sync_counter_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_sync_counter_end (xcb_sync_counter_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_sync_int64_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_sync_int64_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_sync_int64_next
+ **
+ ** @param xcb_sync_int64_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_sync_int64_next (xcb_sync_int64_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_sync_int64_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_sync_int64_end
+ **
+ ** @param xcb_sync_int64_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_sync_int64_end (xcb_sync_int64_iterator_t i /**< */);
+
+
+/*****************************************************************************
+ **
+ ** char * xcb_sync_systemcounter_name
+ **
+ ** @param const xcb_sync_systemcounter_t *R
+ ** @returns char *
+ **
+ *****************************************************************************/
+
+char *
+xcb_sync_systemcounter_name (const xcb_sync_systemcounter_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_sync_systemcounter_name_length
+ **
+ ** @param const xcb_sync_systemcounter_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_sync_systemcounter_name_length (const xcb_sync_systemcounter_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_sync_systemcounter_name_end
+ **
+ ** @param const xcb_sync_systemcounter_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_sync_systemcounter_name_end (const xcb_sync_systemcounter_t *R /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_sync_systemcounter_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_sync_systemcounter_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_sync_systemcounter_next
+ **
+ ** @param xcb_sync_systemcounter_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_sync_systemcounter_next (xcb_sync_systemcounter_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_sync_systemcounter_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_sync_systemcounter_end
+ **
+ ** @param xcb_sync_systemcounter_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_sync_systemcounter_end (xcb_sync_systemcounter_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_sync_trigger_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_sync_trigger_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_sync_trigger_next
+ **
+ ** @param xcb_sync_trigger_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_sync_trigger_next (xcb_sync_trigger_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_sync_trigger_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_sync_trigger_end
+ **
+ ** @param xcb_sync_trigger_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_sync_trigger_end (xcb_sync_trigger_iterator_t i /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_sync_waitcondition_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_sync_waitcondition_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_sync_waitcondition_next
+ **
+ ** @param xcb_sync_waitcondition_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_sync_waitcondition_next (xcb_sync_waitcondition_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_sync_waitcondition_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_sync_waitcondition_end
+ **
+ ** @param xcb_sync_waitcondition_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_sync_waitcondition_end (xcb_sync_waitcondition_iterator_t i /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_sync_initialize_cookie_t xcb_sync_initialize
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t desired_major_version
+ ** @param uint8_t desired_minor_version
+ ** @returns xcb_sync_initialize_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_sync_initialize_cookie_t
+xcb_sync_initialize (xcb_connection_t *c /**< */,
+ uint8_t desired_major_version /**< */,
+ uint8_t desired_minor_version /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_sync_initialize_cookie_t xcb_sync_initialize_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t desired_major_version
+ ** @param uint8_t desired_minor_version
+ ** @returns xcb_sync_initialize_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_sync_initialize_cookie_t
+xcb_sync_initialize_unchecked (xcb_connection_t *c /**< */,
+ uint8_t desired_major_version /**< */,
+ uint8_t desired_minor_version /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_sync_initialize_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_sync_initialize_reply_t * xcb_sync_initialize_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_initialize_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_sync_initialize_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_sync_initialize_reply_t *
+xcb_sync_initialize_reply (xcb_connection_t *c /**< */,
+ xcb_sync_initialize_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_sync_list_system_counters_cookie_t xcb_sync_list_system_counters
+ **
+ ** @param xcb_connection_t *c
+ ** @returns xcb_sync_list_system_counters_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_sync_list_system_counters_cookie_t
+xcb_sync_list_system_counters (xcb_connection_t *c /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_sync_list_system_counters_cookie_t xcb_sync_list_system_counters_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @returns xcb_sync_list_system_counters_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_sync_list_system_counters_cookie_t
+xcb_sync_list_system_counters_unchecked (xcb_connection_t *c /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_sync_list_system_counters_counters_length
+ **
+ ** @param const xcb_sync_list_system_counters_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_sync_list_system_counters_counters_length (const xcb_sync_list_system_counters_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_sync_systemcounter_iterator_t xcb_sync_list_system_counters_counters_iterator
+ **
+ ** @param const xcb_sync_list_system_counters_reply_t *R
+ ** @returns xcb_sync_systemcounter_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_sync_systemcounter_iterator_t
+xcb_sync_list_system_counters_counters_iterator (const xcb_sync_list_system_counters_reply_t *R /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_sync_list_system_counters_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_sync_list_system_counters_reply_t * xcb_sync_list_system_counters_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_list_system_counters_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_sync_list_system_counters_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_sync_list_system_counters_reply_t *
+xcb_sync_list_system_counters_reply (xcb_connection_t *c /**< */,
+ xcb_sync_list_system_counters_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_create_counter_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_counter_t id
+ ** @param xcb_sync_int64_t initial_value
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_create_counter_checked (xcb_connection_t *c /**< */,
+ xcb_sync_counter_t id /**< */,
+ xcb_sync_int64_t initial_value /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_create_counter
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_counter_t id
+ ** @param xcb_sync_int64_t initial_value
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_create_counter (xcb_connection_t *c /**< */,
+ xcb_sync_counter_t id /**< */,
+ xcb_sync_int64_t initial_value /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_destroy_counter_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_counter_t counter
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_destroy_counter_checked (xcb_connection_t *c /**< */,
+ xcb_sync_counter_t counter /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_destroy_counter
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_counter_t counter
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_destroy_counter (xcb_connection_t *c /**< */,
+ xcb_sync_counter_t counter /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_sync_query_counter_cookie_t xcb_sync_query_counter
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_counter_t counter
+ ** @returns xcb_sync_query_counter_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_sync_query_counter_cookie_t
+xcb_sync_query_counter (xcb_connection_t *c /**< */,
+ xcb_sync_counter_t counter /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_sync_query_counter_cookie_t xcb_sync_query_counter_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_counter_t counter
+ ** @returns xcb_sync_query_counter_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_sync_query_counter_cookie_t
+xcb_sync_query_counter_unchecked (xcb_connection_t *c /**< */,
+ xcb_sync_counter_t counter /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_sync_query_counter_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_sync_query_counter_reply_t * xcb_sync_query_counter_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_query_counter_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_sync_query_counter_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_sync_query_counter_reply_t *
+xcb_sync_query_counter_reply (xcb_connection_t *c /**< */,
+ xcb_sync_query_counter_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_await_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint32_t wait_list_len
+ ** @param const xcb_sync_waitcondition_t *wait_list
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_await_checked (xcb_connection_t *c /**< */,
+ uint32_t wait_list_len /**< */,
+ const xcb_sync_waitcondition_t *wait_list /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_await
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint32_t wait_list_len
+ ** @param const xcb_sync_waitcondition_t *wait_list
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_await (xcb_connection_t *c /**< */,
+ uint32_t wait_list_len /**< */,
+ const xcb_sync_waitcondition_t *wait_list /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_change_counter_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_counter_t counter
+ ** @param xcb_sync_int64_t amount
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_change_counter_checked (xcb_connection_t *c /**< */,
+ xcb_sync_counter_t counter /**< */,
+ xcb_sync_int64_t amount /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_change_counter
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_counter_t counter
+ ** @param xcb_sync_int64_t amount
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_change_counter (xcb_connection_t *c /**< */,
+ xcb_sync_counter_t counter /**< */,
+ xcb_sync_int64_t amount /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_set_counter_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_counter_t counter
+ ** @param xcb_sync_int64_t value
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_set_counter_checked (xcb_connection_t *c /**< */,
+ xcb_sync_counter_t counter /**< */,
+ xcb_sync_int64_t value /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_set_counter
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_counter_t counter
+ ** @param xcb_sync_int64_t value
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_set_counter (xcb_connection_t *c /**< */,
+ xcb_sync_counter_t counter /**< */,
+ xcb_sync_int64_t value /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_create_alarm_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_alarm_t id
+ ** @param uint32_t value_mask
+ ** @param const uint32_t *value_list
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_create_alarm_checked (xcb_connection_t *c /**< */,
+ xcb_sync_alarm_t id /**< */,
+ uint32_t value_mask /**< */,
+ const uint32_t *value_list /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_create_alarm
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_alarm_t id
+ ** @param uint32_t value_mask
+ ** @param const uint32_t *value_list
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_create_alarm (xcb_connection_t *c /**< */,
+ xcb_sync_alarm_t id /**< */,
+ uint32_t value_mask /**< */,
+ const uint32_t *value_list /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_change_alarm_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_alarm_t id
+ ** @param uint32_t value_mask
+ ** @param const uint32_t *value_list
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_change_alarm_checked (xcb_connection_t *c /**< */,
+ xcb_sync_alarm_t id /**< */,
+ uint32_t value_mask /**< */,
+ const uint32_t *value_list /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_change_alarm
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_alarm_t id
+ ** @param uint32_t value_mask
+ ** @param const uint32_t *value_list
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_change_alarm (xcb_connection_t *c /**< */,
+ xcb_sync_alarm_t id /**< */,
+ uint32_t value_mask /**< */,
+ const uint32_t *value_list /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_destroy_alarm_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_alarm_t alarm
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_destroy_alarm_checked (xcb_connection_t *c /**< */,
+ xcb_sync_alarm_t alarm /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_destroy_alarm
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_alarm_t alarm
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_destroy_alarm (xcb_connection_t *c /**< */,
+ xcb_sync_alarm_t alarm /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_sync_query_alarm_cookie_t xcb_sync_query_alarm
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_alarm_t alarm
+ ** @returns xcb_sync_query_alarm_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_sync_query_alarm_cookie_t
+xcb_sync_query_alarm (xcb_connection_t *c /**< */,
+ xcb_sync_alarm_t alarm /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_sync_query_alarm_cookie_t xcb_sync_query_alarm_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_alarm_t alarm
+ ** @returns xcb_sync_query_alarm_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_sync_query_alarm_cookie_t
+xcb_sync_query_alarm_unchecked (xcb_connection_t *c /**< */,
+ xcb_sync_alarm_t alarm /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_sync_query_alarm_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_sync_query_alarm_reply_t * xcb_sync_query_alarm_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_query_alarm_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_sync_query_alarm_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_sync_query_alarm_reply_t *
+xcb_sync_query_alarm_reply (xcb_connection_t *c /**< */,
+ xcb_sync_query_alarm_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_set_priority_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint32_t id
+ ** @param int32_t priority
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_set_priority_checked (xcb_connection_t *c /**< */,
+ uint32_t id /**< */,
+ int32_t priority /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_sync_set_priority
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint32_t id
+ ** @param int32_t priority
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_sync_set_priority (xcb_connection_t *c /**< */,
+ uint32_t id /**< */,
+ int32_t priority /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_sync_get_priority_cookie_t xcb_sync_get_priority
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint32_t id
+ ** @returns xcb_sync_get_priority_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_sync_get_priority_cookie_t
+xcb_sync_get_priority (xcb_connection_t *c /**< */,
+ uint32_t id /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_sync_get_priority_cookie_t xcb_sync_get_priority_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint32_t id
+ ** @returns xcb_sync_get_priority_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_sync_get_priority_cookie_t
+xcb_sync_get_priority_unchecked (xcb_connection_t *c /**< */,
+ uint32_t id /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_sync_get_priority_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_sync_get_priority_reply_t * xcb_sync_get_priority_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_sync_get_priority_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_sync_get_priority_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_sync_get_priority_reply_t *
+xcb_sync_get_priority_reply (xcb_connection_t *c /**< */,
+ xcb_sync_get_priority_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+/**
+ * @}
+ */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_atom.h b/src/3rdparty/xcb/include/xcb/xcb_atom.h
new file mode 100644
index 0000000000..d5c4d6baa7
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/xcb_atom.h
@@ -0,0 +1,18 @@
+#ifndef __XCB_ATOM_H__
+#define __XCB_ATOM_H__
+
+#include <xcb/xcb.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char *xcb_atom_name_by_screen(const char *base, uint8_t screen);
+char *xcb_atom_name_by_resource(const char *base, uint32_t resource);
+char *xcb_atom_name_unique(const char *base, uint32_t id);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __XCB_ATOM_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_aux.h b/src/3rdparty/xcb/include/xcb/xcb_aux.h
new file mode 100644
index 0000000000..d49d4383e9
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/xcb_aux.h
@@ -0,0 +1,214 @@
+#ifndef __XCB_AUX_H__
+#define __XCB_AUX_H__
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+uint8_t xcb_aux_get_depth (xcb_connection_t *c,
+ xcb_screen_t *screen);
+
+uint8_t xcb_aux_get_depth_of_visual (xcb_screen_t *screen,
+ xcb_visualid_t id);
+
+xcb_screen_t *xcb_aux_get_screen (xcb_connection_t *c,
+ int screen);
+
+xcb_visualtype_t *xcb_aux_get_visualtype (xcb_connection_t *c,
+ int screen,
+ xcb_visualid_t vid);
+
+xcb_visualtype_t *
+xcb_aux_find_visual_by_id (xcb_screen_t *screen,
+ xcb_visualid_t id);
+
+xcb_visualtype_t *
+xcb_aux_find_visual_by_attrs (xcb_screen_t *screen,
+ int8_t class_,
+ int8_t depth);
+
+void xcb_aux_sync (xcb_connection_t *c);
+
+/* internal helper macro for XCB_AUX_ADD_PARAM
+It gives the offset of the field 'param' in the structure pointed to by
+'paramsp' in multiples of an uint32_t's size. */
+#define XCB_AUX_INTERNAL_OFFSETOF(paramsp, param) \
+ ((uint32_t const*)(&((paramsp)->param))-(uint32_t const*)(paramsp))
+
+/* add an optional parameter to an xcb_params_* structure
+parameters:
+ maskp: pointer to bitmask whos bits mark used parameters
+ paramsp: pointer to structure with parameters
+ param: parameter to set
+ value: value to set the parameter to
+*/
+#define XCB_AUX_ADD_PARAM(maskp, paramsp, param, value) \
+ ((*(maskp)|=1<<XCB_AUX_INTERNAL_OFFSETOF((paramsp),param)), \
+ ((paramsp)->param=(value)))
+
+typedef struct {
+ uint32_t back_pixmap;
+ uint32_t back_pixel;
+ uint32_t border_pixmap;
+ uint32_t border_pixel;
+ uint32_t bit_gravity;
+ uint32_t win_gravity;
+ uint32_t backing_store;
+ uint32_t backing_planes;
+ uint32_t backing_pixel;
+ uint32_t override_redirect;
+ uint32_t save_under;
+ uint32_t event_mask;
+ uint32_t dont_propagate;
+ uint32_t colormap;
+ uint32_t cursor;
+} xcb_params_cw_t;
+
+xcb_void_cookie_t
+xcb_aux_create_window (xcb_connection_t *c,
+ uint8_t depth,
+ xcb_window_t wid,
+ xcb_window_t parent,
+ int16_t x,
+ int16_t y,
+ uint16_t width,
+ uint16_t height,
+ uint16_t border_width,
+ uint16_t class_,
+ xcb_visualid_t visual,
+ uint32_t mask,
+ const xcb_params_cw_t *params);
+
+xcb_void_cookie_t
+xcb_aux_create_window_checked (xcb_connection_t *c,
+ uint8_t depth,
+ xcb_window_t wid,
+ xcb_window_t parent,
+ int16_t x,
+ int16_t y,
+ uint16_t width,
+ uint16_t height,
+ uint16_t border_width,
+ uint16_t class_,
+ xcb_visualid_t visual,
+ uint32_t mask,
+ const xcb_params_cw_t *params);
+
+xcb_void_cookie_t
+xcb_aux_change_window_attributes (xcb_connection_t *c,
+ xcb_window_t window,
+ uint32_t mask,
+ const xcb_params_cw_t *params);
+
+xcb_void_cookie_t
+xcb_aux_change_window_attributes_checked (xcb_connection_t *c,
+ xcb_window_t window,
+ uint32_t mask,
+ const xcb_params_cw_t *params);
+
+typedef struct {
+ int32_t x;
+ int32_t y;
+ uint32_t width;
+ uint32_t height;
+ uint32_t border_width;
+ uint32_t sibling;
+ uint32_t stack_mode;
+} xcb_params_configure_window_t;
+
+xcb_void_cookie_t
+xcb_aux_configure_window (xcb_connection_t *c,
+ xcb_window_t window,
+ uint16_t mask,
+ const xcb_params_configure_window_t *params);
+
+typedef struct {
+ uint32_t function;
+ uint32_t plane_mask;
+ uint32_t foreground;
+ uint32_t background;
+ uint32_t line_width;
+ uint32_t line_style;
+ uint32_t cap_style;
+ uint32_t join_style;
+ uint32_t fill_style;
+ uint32_t fill_rule;
+ uint32_t tile;
+ uint32_t stipple;
+ uint32_t tile_stipple_origin_x;
+ uint32_t tile_stipple_origin_y;
+ uint32_t font;
+ uint32_t subwindow_mode;
+ uint32_t graphics_exposures;
+ uint32_t clip_originX;
+ uint32_t clip_originY;
+ uint32_t mask;
+ uint32_t dash_offset;
+ uint32_t dash_list;
+ uint32_t arc_mode;
+} xcb_params_gc_t;
+
+xcb_void_cookie_t
+xcb_aux_create_gc (xcb_connection_t *c,
+ xcb_gcontext_t cid,
+ xcb_drawable_t drawable,
+ uint32_t mask,
+ const xcb_params_gc_t *params);
+
+xcb_void_cookie_t
+xcb_aux_create_gc_checked (xcb_connection_t *c,
+ xcb_gcontext_t gid,
+ xcb_drawable_t drawable,
+ uint32_t mask,
+ const xcb_params_gc_t *params);
+xcb_void_cookie_t
+xcb_aux_change_gc (xcb_connection_t *c,
+ xcb_gcontext_t gc,
+ uint32_t mask,
+ const xcb_params_gc_t *params);
+
+xcb_void_cookie_t
+xcb_aux_change_gc_checked (xcb_connection_t *c,
+ xcb_gcontext_t gc,
+ uint32_t mask,
+ const xcb_params_gc_t *params);
+typedef struct {
+ uint32_t key_click_percent;
+ uint32_t bell_percent;
+ uint32_t bell_pitch;
+ uint32_t bell_duration;
+ uint32_t led;
+ uint32_t led_mode;
+ uint32_t key;
+ uint32_t auto_repeat_mode;
+} xcb_params_keyboard_t;
+
+xcb_void_cookie_t
+xcb_aux_change_keyboard_control (xcb_connection_t *c,
+ uint32_t mask,
+ const xcb_params_keyboard_t *params);
+
+int
+xcb_aux_parse_color(char *color_name,
+ uint16_t *red, uint16_t *green, uint16_t *blue);
+
+xcb_void_cookie_t
+xcb_aux_set_line_attributes_checked (xcb_connection_t *dpy,
+ xcb_gcontext_t gc,
+ uint16_t linewidth,
+ int32_t linestyle,
+ int32_t capstyle,
+ int32_t joinstyle);
+
+xcb_void_cookie_t
+xcb_aux_clear_window(xcb_connection_t * dpy,
+ xcb_window_t w);
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* __XCB_AUX_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_bitops.h b/src/3rdparty/xcb/include/xcb/xcb_bitops.h
new file mode 100644
index 0000000000..a6872a1f30
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/xcb_bitops.h
@@ -0,0 +1,212 @@
+#ifndef __XCB_BITOPS_H__
+#define __XCB_BITOPS_H__
+
+/* Copyright (C) 2007 Bart Massey
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+#include <assert.h>
+#include <inttypes.h>
+#include <X11/Xfuncproto.h>
+
+/**
+ * @defgroup xcb__bitops XCB Bit Operations
+ *
+ * Inline functions for common bit ops used in XCB and elsewhere.
+ *
+ * @{
+ */
+
+
+/**
+ * Create a low-order bitmask.
+ * @param n Mask size.
+ * @return Mask.
+ *
+ * Create a bitmask with the lower @p n bits set and the
+ * rest of the word clear.
+ * @ingroup xcb__bitops
+ */
+_X_INLINE static uint32_t
+xcb_mask(uint32_t n)
+{
+ return n == 32 ? ~0 : (1 << n) - 1;
+}
+
+
+/**
+ * Population count.
+ * @param n Integer representing a bitset.
+ * @return Number of 1 bits in the bitset.
+ *
+ * This is a reasonably fast algorithm for counting the bits
+ * in a 32-bit word. Currently a classic binary
+ * divide-and-conquer popcount: popcount_2() from
+ * http://en.wikipedia.org/wiki/Hamming_weight.
+ * @ingroup xcb__bitops
+ */
+
+
+/* 15 ops, 3 long immediates, 14 stages, 9 alu ops, 9 alu stages */
+_X_INLINE static uint32_t
+xcb_popcount(uint32_t x)
+{
+ uint32_t m1 = 0x55555555;
+ uint32_t m2 = 0x33333333;
+ uint32_t m4 = 0x0f0f0f0f;
+ x -= (x >> 1) & m1;
+ x = (x & m2) + ((x >> 2) & m2);
+ x = (x + (x >> 4)) & m4;
+ x += x >> 8;
+ return (x + (x >> 16)) & 0x3f;
+}
+
+
+/**
+ * Round up to the next power-of-two unit size.
+ * @param base Number to be rounded up.
+ * @param pad Multiple to be rounded to; must be a power of two.
+ * @return Rounded-up number.
+ *
+ * Rounds @p base up to a multiple of @p pad, where @p pad
+ * is a power of two. The more general case is handled by
+ * xcb_roundup().
+ * @ingroup xcb__bitops
+ */
+_X_INLINE static uint32_t
+xcb_roundup_2 (uint32_t base, uint32_t pad)
+{
+ return (base + pad - 1) & -pad;
+}
+
+/**
+ * Round down to the next power-of-two unit size.
+ * @param base Number to be rounded down.
+ * @param pad Multiple to be rounded to; must be a power of two.
+ * @return Rounded-down number.
+ *
+ * Rounds @p base down to a multiple of @p pad, where @p pad
+ * is a power of two. The more general case is handled by
+ * xcb_rounddown().
+ * @ingroup xcb__bitops
+ */
+_X_INLINE static uint32_t
+xcb_rounddown_2 (uint32_t base, uint32_t pad)
+{
+ return base & -pad;
+}
+
+/**
+ * Round up to the next unit size.
+ * @param base Number to be rounded up.
+ * @param pad Multiple to be rounded to.
+ * @return Rounded-up number.
+ *
+ * This is a general routine for rounding @p base up
+ * to a multiple of @p pad. If you know that @p pad
+ * is a power of two, you should probably call xcb_roundup_2()
+ * instead.
+ * @ingroup xcb__bitops
+ */
+_X_INLINE static uint32_t
+xcb_roundup (uint32_t base, uint32_t pad)
+{
+ uint32_t b = base + pad - 1;
+ /* faster if pad is a power of two */
+ if (((pad - 1) & pad) == 0)
+ return b & -pad;
+ return b - b % pad;
+}
+
+
+/**
+ * Round down to the next unit size.
+ * @param base Number to be rounded down.
+ * @param pad Multiple to be rounded to.
+ * @return Rounded-down number.
+ *
+ * This is a general routine for rounding @p base down
+ * to a multiple of @p pad. If you know that @p pad
+ * is a power of two, you should probably call xcb_rounddown_2()
+ * instead.
+ * @ingroup xcb__bitops
+ */
+_X_INLINE static uint32_t
+xcb_rounddown (uint32_t base, uint32_t pad)
+{
+ /* faster if pad is a power of two */
+ if (((pad - 1) & pad) == 0)
+ return base & -pad;
+ return base - base % pad;
+}
+
+
+/**
+ * Reverse bits of word.
+ * @param x Target word.
+ * @param n Number of low-order bits to reverse.
+ * @return Word with low @p n bits reversed, all others 0.
+ *
+ * Reverses the bottom @p n bits of @p x.
+ * @ingroup xcb__bitops
+ */
+_X_INLINE static uint32_t
+xcb_bit_reverse(uint32_t x, uint8_t n) {
+ uint32_t m1 = 0x00ff00ff;
+ uint32_t m2 = 0x0f0f0f0f;
+ uint32_t m3 = 0x33333333;
+ uint32_t m4 = 0x55555555;
+ x = ((x << 16) | (x >> 16));
+ x = ((x & m1) << 8) | ((x >> 8) & m1);
+ x = ((x & m2) << 4) | ((x >> 4) & m2);
+ x = ((x & m3) << 2) | ((x >> 2) & m3);
+ x = ((x & m4) << 1) | ((x >> 1) & m4);
+ x >>= 32 - n;
+ return x;
+}
+
+
+/**
+ * Host byte order.
+ * @return The byte order of the host.
+ *
+ * Tests the host's byte order and returns either
+ * XCB_IMAGE_ORDER_MSB_FIRST or XCB_IMAGE_ORDER_LSB_FIRST
+ * as appropriate.
+ * @ingroup xcb__bitops
+ */
+_X_INLINE static xcb_image_order_t
+xcb_host_byte_order(void) {
+ uint32_t endian_test = 0x01020304;
+
+ switch (*(char *)&endian_test) {
+ case 0x01:
+ return XCB_IMAGE_ORDER_MSB_FIRST;
+ case 0x04:
+ return XCB_IMAGE_ORDER_LSB_FIRST;
+ }
+ assert(0);
+}
+
+#endif /* __XCB_BITOPS_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_event.h b/src/3rdparty/xcb/include/xcb/xcb_event.h
new file mode 100644
index 0000000000..ee911fce51
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/xcb_event.h
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2008-2009 Julien Danjou <julien@danjou.info>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/**
+ * @defgroup xcb__event_t XCB Event Functions
+ *
+ * These functions ease the handling of X events received.
+ *
+ * @{
+ */
+
+#ifndef __XCB_EVENT_H__
+#define __XCB_EVENT_H__
+
+#include <xcb/xcb.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @brief Bit mask to find event type regardless of event source.
+ *
+ * Each event in the X11 protocol contains an 8-bit type code.
+ * The most-significant bit in this code is set if the event was
+ * generated from a SendEvent request. This mask can be used to
+ * determine the type of event regardless of how the event was
+ * generated. See the X11R6 protocol specification for details.
+ */
+#define XCB_EVENT_RESPONSE_TYPE_MASK (0x7f)
+#define XCB_EVENT_RESPONSE_TYPE(e) (e->response_type & XCB_EVENT_RESPONSE_TYPE_MASK)
+#define XCB_EVENT_SENT(e) (e->response_type & ~XCB_EVENT_RESPONSE_TYPE_MASK)
+
+/**
+ * @brief Convert an event response type to a label.
+ * @param type The event type.
+ * @return A string with the event name, or NULL if unknown.
+ */
+const char * xcb_event_get_label(uint8_t type);
+
+/**
+ * @brief Convert an event error type to a label.
+ * @param type The error type.
+ * @return A string with the event name, or NULL if unknown or if the event is
+ * not an error.
+ */
+const char * xcb_event_get_error_label(uint8_t type);
+
+/**
+ * @brief Convert an event request type to a label.
+ * @param type The request type.
+ * @return A string with the event name, or NULL if unknown or if the event is
+ * not an error.
+ */
+const char * xcb_event_get_request_label(uint8_t type);
+
+#ifdef __cplusplus
+}
+#endif
+
+/**
+ * @}
+ */
+
+#endif /* __XCB_EVENT_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_icccm.h b/src/3rdparty/xcb/include/xcb/xcb_icccm.h
new file mode 100644
index 0000000000..449a5c88ca
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/xcb_icccm.h
@@ -0,0 +1,1049 @@
+#ifndef __XCB_ICCCM_H__
+#define __XCB_ICCCM_H__
+
+/*
+ * Copyright (C) 2008 Arnaud Fontaine <arnau@debian.org>
+ * Copyright (C) 2007-2008 Vincent Torri <vtorri@univ-evry.fr>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/**
+ * @defgroup xcb__icccm_t XCB ICCCM Functions
+ *
+ * These functions allow easy handling of the protocol described in the
+ * Inter-Client Communication Conventions Manual.
+ *
+ * @{
+ */
+
+#include <xcb/xcb.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @brief TextProperty reply structure.
+ */
+typedef struct {
+/** Store reply to avoid memory allocation, should normally not be
+ used directly */
+xcb_get_property_reply_t *_reply;
+/** Encoding used */
+xcb_atom_t encoding;
+/** Length of the name field above */
+uint32_t name_len;
+/** Property value */
+char *name;
+/** Format, may be 8, 16 or 32 */
+uint8_t format;
+} xcb_icccm_get_text_property_reply_t;
+
+/**
+ * @brief Deliver a GetProperty request to the X server.
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @param property Property atom to get.
+ * @return The request cookie.
+ *
+ * Allow to get a window property, in most case you might want to use
+ * above functions to get an ICCCM property for a given window.
+ */
+xcb_get_property_cookie_t xcb_icccm_get_text_property(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t property);
+
+/**
+ * @see xcb_icccm_get_text_property()
+ */
+xcb_get_property_cookie_t xcb_icccm_get_text_property_unchecked(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t property);
+
+/**
+ * @brief Fill given structure with the property value of a window.
+ * @param c The connection to the X server.
+ * @param cookie TextProperty request cookie.
+ * @param prop TextProperty reply which is to be filled.
+ * @param e Error if any.
+ * @return Return 1 on success, 0 otherwise.
+ *
+ * If the function return 0 (failure), the content of prop is unmodified and
+ * therefore the structure must not be wiped.
+ *
+ * The parameter e supplied to this function must be NULL if
+ * xcb_icccm_get_text_property_unchecked() is used. Otherwise, it stores
+ * the error if any. prop structure members should be freed by
+ * xcb_icccm_get_text_property_reply_wipe().
+ */
+uint8_t xcb_icccm_get_text_property_reply(xcb_connection_t *c,
+ xcb_get_property_cookie_t cookie,
+ xcb_icccm_get_text_property_reply_t *prop,
+ xcb_generic_error_t **e);
+
+/**
+ * @brief Wipe prop structure members previously allocated by
+ * xcb_icccm_get_text_property_reply().
+ * @param prop prop structure whose members is going to be freed.
+ */
+void xcb_icccm_get_text_property_reply_wipe(xcb_icccm_get_text_property_reply_t *prop);
+
+/* WM_NAME */
+
+/**
+ * @brief Deliver a SetProperty request to set WM_NAME property value.
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @param encoding Encoding used for the data passed in the name parameter, the set property will also have this encoding as its type.
+ * @param format Encoding format.
+ * @param name_len Length of name value to set.
+ * @param name Name value to set.
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_name_checked(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t encoding,
+ uint8_t format,
+ uint32_t name_len,
+ const char *name);
+
+/**
+ * @see xcb_icccm_set_wm_name_checked()
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_name(xcb_connection_t *c, xcb_window_t window,
+ xcb_atom_t encoding, uint8_t format,
+ uint32_t name_len, const char *name);
+
+/**
+ * @brief Deliver a GetProperty request to the X server for WM_NAME.
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @return The request cookie.
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_name(xcb_connection_t *c,
+ xcb_window_t window);
+
+/**
+ * @see xcb_icccm_get_wm_name()
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_name_unchecked(xcb_connection_t *c,
+ xcb_window_t window);
+
+/**
+ * @brief Fill given structure with the WM_NAME property of a window.
+ * @param c The connection to the X server.
+ * @param cookie Request cookie.
+ * @param prop WM_NAME property value.
+ * @param e Error if any.
+ * @see xcb_icccm_get_text_property_reply()
+ * @return Return 1 on success, 0 otherwise.
+ */
+uint8_t xcb_icccm_get_wm_name_reply(xcb_connection_t *c,
+ xcb_get_property_cookie_t cookie,
+ xcb_icccm_get_text_property_reply_t *prop,
+ xcb_generic_error_t **e);
+
+/* WM_ICON_NAME */
+
+/**
+ * @brief Deliver a SetProperty request to set WM_ICON_NAME property value.
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @param encoding Encoding used for the data passed in the name parameter, the set property will also have this encoding as its type.
+ * @param format Encoding format.
+ * @param name_len Length of name value to set.
+ * @param name Name value to set.
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_icon_name_checked(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t encoding,
+ uint8_t format,
+ uint32_t name_len,
+ const char *name);
+
+/**
+ * @see xcb_icccm_set_wm_icon_name_checked()
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_icon_name(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t encoding,
+ uint8_t format,
+ uint32_t name_len,
+ const char *name);
+
+/**
+ * @brief Send request to get WM_ICON_NAME property of a window.
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @return The request cookie.
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_icon_name(xcb_connection_t *c,
+ xcb_window_t window);
+
+/**
+ * @see xcb_icccm_get_wm_icon_name()
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_icon_name_unchecked(xcb_connection_t *c,
+ xcb_window_t window);
+
+/**
+ * @brief Fill given structure with the WM_ICON_NAME property of a window.
+ * @param c The connection to the X server.
+ * @param cookie Request cookie.
+ * @param prop WM_ICON_NAME property value.
+ * @param e Error if any.
+ * @see xcb_icccm_get_text_property_reply()
+ * @return Return 1 on success, 0 otherwise.
+ */
+uint8_t xcb_icccm_get_wm_icon_name_reply(xcb_connection_t *c,
+ xcb_get_property_cookie_t cookie,
+ xcb_icccm_get_text_property_reply_t *prop,
+ xcb_generic_error_t **e);
+
+/* WM_COLORMAP_WINDOWS */
+
+/**
+ * @brief Deliver a ChangeProperty request to set WM_COLORMAP_WINDOWS property value.
+ * @param c The connection to the X server.
+ * @param wm_colormap_windows The WM_COLORMAP_WINDOWS atom
+ * @param window Window X identifier.
+ * @param list_len Windows list len.
+ * @param list Windows list.
+ * @return The request cookie.
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_colormap_windows_checked(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t wm_colormap_windows_atom,
+ uint32_t list_len,
+ const xcb_window_t *list);
+
+/**
+ * @see xcb_icccm_set_wm_colormap_windows_checked()
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_colormap_windows(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t wm_colormap_windows_atom,
+ uint32_t list_len,
+ const xcb_window_t *list);
+
+/**
+ * @brief WM_COLORMAP_WINDOWS structure.
+ */
+typedef struct {
+/** Length of the windows list */
+uint32_t windows_len;
+/** Windows list */
+xcb_window_t *windows;
+/** Store reply to avoid memory allocation, should normally not be
+ used directly */
+xcb_get_property_reply_t *_reply;
+} xcb_icccm_get_wm_colormap_windows_reply_t;
+
+/**
+ * @brief Send request to get WM_COLORMAP_WINDOWS property of a given window.
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @return The request cookie.
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_colormap_windows(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t wm_colormap_windows_atom);
+
+/**
+ * @see xcb_icccm_get_wm_colormap_windows()
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_colormap_windows_unchecked(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t wm_colormap_windows_atom);
+
+/**
+ * @brief Fill the given structure with the WM_COLORMAP_WINDOWS property of a window.
+ * @param reply The reply of the GetProperty request.
+ * @param colormap_windows WM_COLORMAP property value.
+ * @return Return 1 on success, 0 otherwise.
+ *
+ * protocols structure members should be freed by
+ * xcb_icccm_get_wm_protocols_reply_wipe().
+ */
+uint8_t xcb_icccm_get_wm_colormap_windows_from_reply(xcb_get_property_reply_t *reply,
+ xcb_icccm_get_wm_colormap_windows_reply_t *colormap_windows);
+/**
+ * @brief Fill the given structure with the WM_COLORMAP_WINDOWS property of a window.
+ * @param c The connection to the X server.
+ * @param cookie Request cookie.
+ * @param protocols WM_COLORMAP_WINDOWS property value.
+ * @param e Error if any.
+ * @return Return 1 on success, 0 otherwise.
+ *
+ * The parameter e supplied to this function must be NULL if
+ * xcb_icccm_get_wm_colormap_windows_unchecked() is used. Otherwise, it
+ * stores the error if any. protocols structure members should be
+ * freed by xcb_icccm_get_wm_colormap_windows_reply_wipe().
+ */
+uint8_t xcb_icccm_get_wm_colormap_windows_reply(xcb_connection_t *c,
+ xcb_get_property_cookie_t cookie,
+ xcb_icccm_get_wm_colormap_windows_reply_t *windows,
+ xcb_generic_error_t **e);
+
+/**
+ * @brief Wipe protocols structure members previously allocated by
+ * xcb_icccm_get_wm_colormap_windows_reply().
+ * @param windows windows structure whose members is going to be freed.
+ */
+void xcb_icccm_get_wm_colormap_windows_reply_wipe(xcb_icccm_get_wm_colormap_windows_reply_t *windows);
+
+/* WM_CLIENT_MACHINE */
+
+/**
+ * @brief Deliver a SetProperty request to set WM_CLIENT_MACHINE property value.
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @param encoding Encoding used for the data passed in the name parameter, the set property will also have this encoding as its type.
+ * @param format Encoding format.
+ * @param name_len Length of name value to set.
+ * @param name Name value to set.
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_client_machine_checked(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t encoding,
+ uint8_t format,
+ uint32_t name_len,
+ const char *name);
+
+/**
+ * @see xcb_icccm_set_wm_client_machine_checked()
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_client_machine(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t encoding,
+ uint8_t format,
+ uint32_t name_len,
+ const char *name);
+
+/**
+ * @brief Send request to get WM_CLIENT_MACHINE property of a window.
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @return The request cookie.
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_client_machine(xcb_connection_t *c,
+ xcb_window_t window);
+
+/**
+ * @see xcb_icccm_get_wm_client_machine()
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_client_machine_unchecked(xcb_connection_t *c,
+ xcb_window_t window);
+
+/**
+ * @brief Fill given structure with the WM_CLIENT_MACHINE property of a window.
+ * @param c The connection to the X server.
+ * @param cookie Request cookie.
+ * @param prop WM_CLIENT_MACHINE property value.
+ * @param e Error if any.
+ * @see xcb_icccm_get_text_property_reply()
+ * @return Return 1 on success, 0 otherwise.
+ */
+uint8_t xcb_icccm_get_wm_client_machine_reply(xcb_connection_t *c,
+ xcb_get_property_cookie_t cookie,
+ xcb_icccm_get_text_property_reply_t *prop,
+ xcb_generic_error_t **e);
+
+/* WM_CLASS */
+
+/**
+ * @brief WM_CLASS hint structure
+ */
+
+/**
+ * @brief Deliver a SetProperty request to set WM_CLASS property value.
+ *
+ * WM_CLASS string is a concatenation of the instance and class name
+ * strings respectively (including null character).
+ *
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @param class_len Length of WM_CLASS string.
+ * @param class_name WM_CLASS string.
+ * @return The request cookie.
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_class_checked(xcb_connection_t *c,
+ xcb_window_t window,
+ uint32_t class_len,
+ const char *class_name);
+
+/**
+ * @see xcb_icccm_set_wm_class_checked()
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_class(xcb_connection_t *c,
+ xcb_window_t window,
+ uint32_t class_len,
+ const char *class_name);
+
+typedef struct {
+/** Instance name */
+char *instance_name;
+/** Class of application */
+char *class_name;
+/** Store reply to avoid memory allocation, should normally not be
+ used directly */
+xcb_get_property_reply_t *_reply;
+} xcb_icccm_get_wm_class_reply_t;
+
+/**
+ * @brief Deliver a GetProperty request to the X server for WM_CLASS.
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @return The request cookie.
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_class(xcb_connection_t *c,
+ xcb_window_t window);
+
+/**
+ * @see xcb_icccm_get_wm_class()
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_class_unchecked(xcb_connection_t *c,
+ xcb_window_t window);
+
+
+/**
+ * @brief Fill give structure with the WM_CLASS property of a window.
+ * @param prop The property structure to fill.
+ * @param reply The property request reply.
+ * @return Return 1 on success, 0 otherwise.
+ */
+uint8_t
+xcb_icccm_get_wm_class_from_reply(xcb_icccm_get_wm_class_reply_t *prop,
+ xcb_get_property_reply_t *reply);
+
+/**
+ * @brief Fill given structure with the WM_CLASS property of a window.
+ * @param c The connection to the X server.
+ * @param cookie Request cookie.
+ * @param prop WM_CLASS property value.
+ * @param e Error if any.
+ * @return Return 1 on success, 0 otherwise.
+ *
+ * The parameter e supplied to this function must be NULL if
+ * xcb_icccm_get_wm_class_unchecked() is used. Otherwise, it stores the
+ * error if any. prop structure members should be freed by
+ * xcb_icccm_get_wm_class_reply_wipe().
+ */
+uint8_t xcb_icccm_get_wm_class_reply(xcb_connection_t *c,
+ xcb_get_property_cookie_t cookie,
+ xcb_icccm_get_wm_class_reply_t *prop,
+ xcb_generic_error_t **e);
+
+/**
+ * @brief Wipe prop structure members previously allocated by
+ * xcb_icccm_get_wm_class_reply().
+ * @param prop prop structure whose members is going to be freed.
+ */
+void xcb_icccm_get_wm_class_reply_wipe(xcb_icccm_get_wm_class_reply_t *prop);
+
+/* WM_TRANSIENT_FOR */
+
+/**
+ * @brief Deliver a SetProperty request to set WM_TRANSIENT_FOR property value.
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @param transient_for_window The WM_TRANSIENT_FOR window X identifier.
+ * @return The request cookie.
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_transient_for_checked(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_window_t transient_for_window);
+
+/**
+ * @see xcb_icccm_set_wm_transient_for
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_transient_for(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_window_t transient_for_window);
+
+/**
+ * @brief Send request to get WM_TRANSIENT_FOR property of a window.
+ * @param c The connection to the X server
+ * @param window Window X identifier.
+ * @return The request cookie.
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_transient_for(xcb_connection_t *c,
+ xcb_window_t window);
+
+/**
+ * @see xcb_icccm_get_wm_transient_for_unchecked()
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_transient_for_unchecked(xcb_connection_t *c,
+ xcb_window_t window);
+
+/**
+ * @brief Fill given window pointer with the WM_TRANSIENT_FOR property of a window.
+ * @param prop WM_TRANSIENT_FOR property value.
+ * @param reply The get property request reply.
+ * @return Return 1 on success, 0 otherwise.
+ */
+uint8_t
+xcb_icccm_get_wm_transient_for_from_reply(xcb_window_t *prop,
+ xcb_get_property_reply_t *reply);
+/**
+ * @brief Fill given structure with the WM_TRANSIENT_FOR property of a window.
+ * @param c The connection to the X server.
+ * @param cookie Request cookie.
+ * @param prop WM_TRANSIENT_FOR property value.
+ * @param e Error if any.
+ * @return Return 1 on success, 0 otherwise.
+ *
+ * The parameter e supplied to this function must be NULL if
+ * xcb_icccm_get_wm_transient_for_unchecked() is used. Otherwise, it stores
+ * the error if any.
+ */
+uint8_t xcb_icccm_get_wm_transient_for_reply(xcb_connection_t *c,
+ xcb_get_property_cookie_t cookie,
+ xcb_window_t *prop,
+ xcb_generic_error_t **e);
+
+/* WM_SIZE_HINTS */
+
+typedef enum {
+XCB_ICCCM_SIZE_HINT_US_POSITION = 1 << 0,
+ XCB_ICCCM_SIZE_HINT_US_SIZE = 1 << 1,
+ XCB_ICCCM_SIZE_HINT_P_POSITION = 1 << 2,
+ XCB_ICCCM_SIZE_HINT_P_SIZE = 1 << 3,
+ XCB_ICCCM_SIZE_HINT_P_MIN_SIZE = 1 << 4,
+ XCB_ICCCM_SIZE_HINT_P_MAX_SIZE = 1 << 5,
+ XCB_ICCCM_SIZE_HINT_P_RESIZE_INC = 1 << 6,
+ XCB_ICCCM_SIZE_HINT_P_ASPECT = 1 << 7,
+ XCB_ICCCM_SIZE_HINT_BASE_SIZE = 1 << 8,
+ XCB_ICCCM_SIZE_HINT_P_WIN_GRAVITY = 1 << 9
+ } xcb_icccm_size_hints_flags_t;
+
+/**
+ * @brief Size hints structure.
+ */
+typedef struct {
+/** User specified flags */
+uint32_t flags;
+/** User-specified position */
+int32_t x, y;
+/** User-specified size */
+int32_t width, height;
+/** Program-specified minimum size */
+int32_t min_width, min_height;
+/** Program-specified maximum size */
+int32_t max_width, max_height;
+/** Program-specified resize increments */
+int32_t width_inc, height_inc;
+/** Program-specified minimum aspect ratios */
+int32_t min_aspect_num, min_aspect_den;
+/** Program-specified maximum aspect ratios */
+int32_t max_aspect_num, max_aspect_den;
+/** Program-specified base size */
+int32_t base_width, base_height;
+/** Program-specified window gravity */
+uint32_t win_gravity;
+} xcb_size_hints_t;
+
+/** Number of elements in this structure */
+#define XCB_ICCCM_NUM_WM_SIZE_HINTS_ELEMENTS 18
+
+/**
+ * @brief Set size hints to a given position.
+ * @param hints SIZE_HINTS structure.
+ * @param user_specified Is the size user-specified?
+ * @param x The X position.
+ * @param y The Y position.
+ */
+void xcb_icccm_size_hints_set_position(xcb_size_hints_t *hints, int user_specified,
+ int32_t x, int32_t y);
+
+/**
+ * @brief Set size hints to a given size.
+ * @param hints SIZE_HINTS structure.
+ * @param user_specified is the size user-specified?
+ * @param width The width.
+ * @param height The height.
+ */
+void xcb_icccm_size_hints_set_size(xcb_size_hints_t *hints, int user_specified,
+ int32_t width, int32_t height);
+
+/**
+ * @brief Set size hints to a given minimum size.
+ * @param hints SIZE_HINTS structure.
+ * @param width The minimum width.
+ * @param height The minimum height.
+ */
+void xcb_icccm_size_hints_set_min_size(xcb_size_hints_t *hints, int32_t min_width,
+ int32_t min_height);
+
+/**
+ * @brief Set size hints to a given maximum size.
+ * @param hints SIZE_HINTS structure.
+ * @param width The maximum width.
+ * @param height The maximum height.
+ */
+void xcb_icccm_size_hints_set_max_size(xcb_size_hints_t *hints, int32_t max_width,
+ int32_t max_height);
+
+/**
+ * @brief Set size hints to a given resize increments.
+ * @param hints SIZE_HINTS structure.
+ * @param width The resize increments width.
+ * @param height The resize increments height.
+ */
+void xcb_icccm_size_hints_set_resize_inc(xcb_size_hints_t *hints, int32_t width_inc,
+ int32_t height_inc);
+
+/**
+ * @brief Set size hints to a given aspect ratios.
+ * @param hints SIZE_HINTS structure.
+ * @param min_aspect_num The minimum aspect ratios for the width.
+ * @param min_aspect_den The minimum aspect ratios for the height.
+ * @param max_aspect_num The maximum aspect ratios for the width.
+ * @param max_aspect_den The maximum aspect ratios for the height.
+ */
+void xcb_icccm_size_hints_set_aspect(xcb_size_hints_t *hints, int32_t min_aspect_num,
+ int32_t min_aspect_den, int32_t max_aspect_num,
+ int32_t max_aspect_den);
+
+/**
+ * @brief Set size hints to a given base size.
+ * @param hints SIZE_HINTS structure.
+ * @param base_width Base width.
+ * @param base_height Base height.
+ */
+void xcb_icccm_size_hints_set_base_size(xcb_size_hints_t *hints, int32_t base_width,
+ int32_t base_height);
+
+/**
+ * @brief Set size hints to a given window gravity.
+ * @param hints SIZE_HINTS structure.
+ * @param win_gravity Window gravity value.
+ */
+void xcb_icccm_size_hints_set_win_gravity(xcb_size_hints_t *hints,
+ xcb_gravity_t win_gravity);
+
+/**
+ * @brief Deliver a ChangeProperty request to set a value to a given property.
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @param property Property to set value for.
+ * @param hints Hints value to set.
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_size_hints_checked(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t property,
+ xcb_size_hints_t *hints);
+
+/**
+ * @see xcb_icccm_set_wm_size_hints_checked()
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_size_hints(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t property,
+ xcb_size_hints_t *hints);
+
+/**
+ * @brief Send request to get size hints structure for the named property.
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @param property Specify the property name.
+ * @return The request cookie.
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_size_hints(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t property);
+
+/**
+ * @see xcb_icccm_get_wm_size_hints()
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_size_hints_unchecked(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t property);
+
+/**
+ * @brief Fill given structure with the size hints of the named property.
+ * @param c The connection to the X server.
+ * @param cookie Request cookie.
+ * @param hints Size hints structure.
+ * @param e Error if any.
+ * @return Return 1 on success, 0 otherwise.
+ *
+ * The parameter e supplied to this function must be NULL if
+ * xcb_icccm_get_wm_size_hints_unchecked() is used. Otherwise, it stores
+ * the error if any. The returned pointer should be freed.
+ */
+uint8_t xcb_icccm_get_wm_size_hints_reply(xcb_connection_t *c,
+ xcb_get_property_cookie_t cookie,
+ xcb_size_hints_t *hints,
+ xcb_generic_error_t **e);
+
+/* WM_NORMAL_HINTS */
+
+/**
+ * @brief Deliver a ChangeProperty request to set WM_NORMAL_HINTS property value.
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @param hints Hints value to set.
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_normal_hints_checked(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_size_hints_t *hints);
+
+/**
+ * @see xcb_icccm_set_wm_normal_hints_checked()
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_normal_hints(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_size_hints_t *hints);
+
+/**
+ * @brief Send request to get WM_NORMAL_HINTS property of a window.
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @return The request cookie.
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_normal_hints(xcb_connection_t *c,
+ xcb_window_t window);
+
+/**
+ * @see xcb_icccm_get_wm_normal_hints()
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_normal_hints_unchecked(xcb_connection_t *c,
+ xcb_window_t window);
+
+/**
+ * @brief Fill given structure with the WM_NORMAL_HINTS property of a window.
+ * @param hints WM_NORMAL_HINTS property value.
+ * @param reply The get property request reply.
+ * @return Return 1 on success, 0 otherwise.
+ */
+uint8_t
+xcb_icccm_get_wm_size_hints_from_reply(xcb_size_hints_t *hints,
+ xcb_get_property_reply_t *reply);
+
+/**
+ * @brief Fill given structure with the WM_NORMAL_HINTS property of a window.
+ * @param c The connection to the X server.
+ * @param cookie Request cookie.
+ * @param hints WM_NORMAL_HINTS property value.
+ * @param e Error if any.
+ * @return Return 1 on success, 0 otherwise.
+ *
+ * The parameter e supplied to this function must be NULL if
+ * xcb_icccm_get_wm_normal_hints_unchecked() is used. Otherwise, it stores
+ * the error if any. The returned pointer should be freed.
+ */
+uint8_t xcb_icccm_get_wm_normal_hints_reply(xcb_connection_t *c,
+ xcb_get_property_cookie_t cookie,
+ xcb_size_hints_t *hints,
+ xcb_generic_error_t **e);
+
+/* WM_HINTS */
+
+/**
+ * @brief WM hints structure (may be extended in the future).
+ */
+typedef struct {
+/** Marks which fields in this structure are defined */
+int32_t flags;
+/** Does this application rely on the window manager to get keyboard
+ input? */
+ uint32_t input;
+ /** See below */
+ int32_t initial_state;
+ /** Pixmap to be used as icon */
+ xcb_pixmap_t icon_pixmap;
+ /** Window to be used as icon */
+ xcb_window_t icon_window;
+ /** Initial position of icon */
+ int32_t icon_x, icon_y;
+ /** Icon mask bitmap */
+ xcb_pixmap_t icon_mask;
+ /* Identifier of related window group */
+ xcb_window_t window_group;
+} xcb_icccm_wm_hints_t;
+
+/** Number of elements in this structure */
+#define XCB_ICCCM_NUM_WM_HINTS_ELEMENTS 9
+
+/**
+ * @brief WM_HINTS window states.
+ */
+typedef enum {
+ XCB_ICCCM_WM_STATE_WITHDRAWN = 0,
+ XCB_ICCCM_WM_STATE_NORMAL = 1,
+ XCB_ICCCM_WM_STATE_ICONIC = 3
+} xcb_icccm_wm_state_t;
+
+typedef enum {
+ XCB_ICCCM_WM_HINT_INPUT = (1L << 0),
+ XCB_ICCCM_WM_HINT_STATE = (1L << 1),
+ XCB_ICCCM_WM_HINT_ICON_PIXMAP = (1L << 2),
+ XCB_ICCCM_WM_HINT_ICON_WINDOW = (1L << 3),
+ XCB_ICCCM_WM_HINT_ICON_POSITION = (1L << 4),
+ XCB_ICCCM_WM_HINT_ICON_MASK = (1L << 5),
+ XCB_ICCCM_WM_HINT_WINDOW_GROUP = (1L << 6),
+ XCB_ICCCM_WM_HINT_X_URGENCY = (1L << 8)
+} xcb_icccm_wm_t;
+
+#define XCB_ICCCM_WM_ALL_HINTS (XCB_ICCCM_WM_HINT_INPUT | XCB_ICCCM_WM_HINT_STATE | \
+ XCB_ICCCM_WM_HINT_ICON_PIXMAP | XCB_ICCCM_WM_HINT_ICON_WINDOW | \
+ XCB_ICCCM_WM_HINT_ICON_POSITION | XCB_ICCCM_WM_HINT_ICON_MASK | \
+ XCB_ICCCM_WM_HINT_WINDOW_GROUP)
+
+/**
+ * @brief Get urgency hint.
+ * @param hints WM_HINTS structure.
+ * @return Urgency hint value.
+ */
+uint32_t xcb_icccm_wm_hints_get_urgency(xcb_icccm_wm_hints_t *hints);
+
+/**
+ * @brief Set input focus.
+ * @param hints WM_HINTS structure.
+ * @param input Input focus.
+ */
+void xcb_icccm_wm_hints_set_input(xcb_icccm_wm_hints_t *hints, uint8_t input);
+
+/**
+ * @brief Set hints state to 'iconic'.
+ * @param hints WM_HINTS structure.
+ */
+void xcb_icccm_wm_hints_set_iconic(xcb_icccm_wm_hints_t *hints);
+
+/**
+ * @brief Set hints state to 'normal'.
+ * @param hints WM_HINTS structure.
+ */
+void xcb_icccm_wm_hints_set_normal(xcb_icccm_wm_hints_t *hints);
+
+/**
+ * @brief Set hints state to 'withdrawn'.
+ * @param hints WM_HINTS structure.
+ */
+void xcb_icccm_wm_hints_set_withdrawn(xcb_icccm_wm_hints_t *hints);
+
+/**
+ * @brief Set hints state to none.
+ * @param hints WM_HINTS structure.
+ */
+void xcb_icccm_wm_hints_set_none(xcb_icccm_wm_hints_t *hints);
+
+/**
+ * @brief Set pixmap to be used as icon.
+ * @param hints WM_HINTS structure.
+ * @param icon_pixmap Pixmap.
+ */
+void xcb_icccm_wm_hints_set_icon_pixmap(xcb_icccm_wm_hints_t *hints,
+ xcb_pixmap_t icon_pixmap);
+
+/**
+ * @brief Set icon mask bitmap.
+ * @param hints WM_HINTS structure.
+ * @param icon_mask Pixmap.
+ */
+void xcb_icccm_wm_hints_set_icon_mask(xcb_icccm_wm_hints_t *hints, xcb_pixmap_t icon_mask);
+
+/**
+ * @brief Set window identifier to be used as icon.
+ * @param hints WM_HINTS structure.
+ * @param icon_window Window X identifier.
+ */
+void xcb_icccm_wm_hints_set_icon_window(xcb_icccm_wm_hints_t *hints,
+ xcb_window_t icon_window);
+
+/**
+ * @brief Set identifier of related window group.
+ * @param hints WM_HINTS structure.
+ * @param window_group Window X identifier.
+ */
+void xcb_icccm_wm_hints_set_window_group(xcb_icccm_wm_hints_t *hints,
+ xcb_window_t window_group);
+
+/**
+ * @brief Set urgency hints flag.
+ * @param hints WM_HINTS structure.
+ */
+void xcb_icccm_wm_hints_set_urgency(xcb_icccm_wm_hints_t *hints);
+
+/**
+ * @brief Deliver a SetProperty request to set WM_HINTS property value.
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @param hints Hints value to set.
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_hints_checked(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_icccm_wm_hints_t *hints);
+
+/**
+ * @see xcb_icccm_set_wm_hints_checked()
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_hints(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_icccm_wm_hints_t *hints);
+
+/**
+ * @brief Send request to get WM_HINTS property of a window.
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @return The request cookie.
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_hints(xcb_connection_t *c,
+ xcb_window_t window);
+
+/**
+ * @see xcb_icccm_get_wm_hints()
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_hints_unchecked(xcb_connection_t *c,
+ xcb_window_t window);
+
+/**
+ * @brief Fill given structure with the WM_HINTS property of a window.
+ * @param hints WM_HINTS property value.
+ * @param reply The get property request reply.
+ * @return Return 1 on success, 0 otherwise.
+ */
+uint8_t
+xcb_icccm_get_wm_hints_from_reply(xcb_icccm_wm_hints_t *hints,
+ xcb_get_property_reply_t *reply);
+
+/**
+ * @brief Fill given structure with the WM_HINTS property of a window.
+ * @param c The connection to the X server.
+ * @param cookie Request cookie.
+ * @param hints WM_HINTS property value.
+ * @param e Error if any.
+ * @return Return 1 on success, 0 otherwise.
+ *
+ * The parameter e supplied to this function must be NULL if
+ * xcb_icccm_get_wm_hints_unchecked() is used. Otherwise, it stores the
+ * error if any. The returned pointer should be freed.
+ */
+uint8_t xcb_icccm_get_wm_hints_reply(xcb_connection_t *c,
+ xcb_get_property_cookie_t cookie,
+ xcb_icccm_wm_hints_t *hints,
+ xcb_generic_error_t **e);
+
+/* WM_PROTOCOLS */
+
+/**
+ * @brief Deliver a SetProperty request to set WM_PROTOCOLS property value.
+ * @param c The connection to the X server.
+ * @param wm_protocols The WM_PROTOCOLS atom.
+ * @param window Window X identifier.
+ * @param list_len Atom list len.
+ * @param list Atom list.
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_protocols_checked(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t wm_protocols,
+ uint32_t list_len,
+ xcb_atom_t *list);
+
+/**
+ * @see xcb_icccm_set_wm_protocols_checked()
+ */
+xcb_void_cookie_t xcb_icccm_set_wm_protocols(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t wm_protocols,
+ uint32_t list_len,
+ xcb_atom_t *list);
+
+/**
+ * @brief WM_PROTOCOLS structure.
+ */
+typedef struct {
+ /** Length of the atoms list */
+ uint32_t atoms_len;
+ /** Atoms list */
+ xcb_atom_t *atoms;
+ /** Store reply to avoid memory allocation, should normally not be
+ used directly */
+ xcb_get_property_reply_t *_reply;
+} xcb_icccm_get_wm_protocols_reply_t;
+
+/**
+ * @brief Send request to get WM_PROTOCOLS property of a given window.
+ * @param c The connection to the X server.
+ * @param window Window X identifier.
+ * @return The request cookie.
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_protocols(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t wm_protocol_atom);
+
+/**
+ * @see xcb_icccm_get_wm_protocols()
+ */
+xcb_get_property_cookie_t xcb_icccm_get_wm_protocols_unchecked(xcb_connection_t *c,
+ xcb_window_t window,
+ xcb_atom_t wm_protocol_atom);
+
+/**
+ * @brief Fill the given structure with the WM_PROTOCOLS property of a window.
+ * @param reply The reply of the GetProperty request.
+ * @param protocols WM_PROTOCOLS property value.
+ * @return Return 1 on success, 0 otherwise.
+ *
+ * protocols structure members should be freed by
+ * xcb_icccm_get_wm_protocols_reply_wipe().
+ */
+uint8_t xcb_icccm_get_wm_protocols_from_reply(xcb_get_property_reply_t *reply,
+ xcb_icccm_get_wm_protocols_reply_t *protocols);
+/**
+ * @brief Fill the given structure with the WM_PROTOCOLS property of a window.
+ * @param c The connection to the X server.
+ * @param cookie Request cookie.
+ * @param protocols WM_PROTOCOLS property value.
+ * @param e Error if any.
+ * @return Return 1 on success, 0 otherwise.
+ *
+ * The parameter e supplied to this function must be NULL if
+ * xcb_icccm_get_wm_protocols_unchecked() is used. Otherwise, it stores the
+ * error if any. protocols structure members should be freed by
+ * xcb_icccm_get_wm_protocols_reply_wipe().
+ */
+uint8_t xcb_icccm_get_wm_protocols_reply(xcb_connection_t *c,
+ xcb_get_property_cookie_t cookie,
+ xcb_icccm_get_wm_protocols_reply_t *protocols,
+ xcb_generic_error_t **e);
+
+/**
+ * @brief Wipe protocols structure members previously allocated by
+ * xcb_icccm_get_wm_protocols_reply().
+ * @param protocols protocols structure whose members is going to be freed.
+ */
+void xcb_icccm_get_wm_protocols_reply_wipe(xcb_icccm_get_wm_protocols_reply_t *protocols);
+
+#ifdef __cplusplus
+}
+#endif
+
+/**
+ * @}
+ */
+
+#endif /* __XCB_ICCCM_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_image.h b/src/3rdparty/xcb/include/xcb/xcb_image.h
new file mode 100644
index 0000000000..f41187d394
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/xcb_image.h
@@ -0,0 +1,630 @@
+#ifndef __XCB_IMAGE_H__
+#define __XCB_IMAGE_H__
+
+/* Copyright (C) 2007 Bart Massey
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+#include <xcb/xcb.h>
+#include <xcb/shm.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/**
+ * @defgroup xcb__image_t XCB Image Functions
+ *
+ * These are functions used to create and manipulate X images.
+ *
+ * The X image format we use is specific to this software,
+ * which is probably a bug; it represents an intermediate
+ * position between the wire format used by the X GetImage
+ * and PutImage requests and standard formats like PBM. An
+ * image consists of a header of type @ref xcb_image_t
+ * describing the properties of the image, together with a
+ * pointer to the image data itself.
+ *
+ * X wire images come in three formats. An xy-bitmap is a
+ * bit-packed format that will be expanded to a two-color
+ * pixmap using a GC when sent over the wire by PutImage.
+ * An xy-pixmap is one or more bit-planes, each in the same
+ * format as xy-bitmap. A z-pixmap is a more conventional
+ * pixmap representation, with each pixel packed into a
+ * word. Pixmaps are sent and received over the wire only
+ * to/from drawables of their depth.
+ *
+ * Each X server defines, for each depth and format,
+ * properties of images in that format that are sent and
+ * received on the wire. We refer to this as a "native"
+ * image for a given X server. It is not uncommon to want
+ * to work with non-native images on the client side, or to
+ * convert between the native images of different servers.
+ *
+ * This library provides several things. Facilities for
+ * creating and destroying images are, of course, provided.
+ * Wrappers for xcb_get_image() and xcb_put_image() are
+ * provided; these utilize the image header to simplify the
+ * interface. Routines for getting and putting image pixels
+ * are provided: both a generic form that works with
+ * arbitrary images, and fastpath forms for some common
+ * cases. Conversion routines are provided for X images;
+ * these routines have been fairly well optimized for the
+ * common cases, and should run fast even on older hardware.
+ * A routine analogous to Xlib's XCreate*FromBitmapData() is
+ * provided for creating X images from xbm-format data; this
+ * routine is in this library only because it is a trivial
+ * use case for the library.
+ *
+ * @{
+ */
+
+
+typedef struct xcb_image_t xcb_image_t;
+
+/**
+ * @struct xcb_image_t
+ * A structure that describes an xcb_image_t.
+ */
+struct xcb_image_t
+{
+ uint16_t width; /**< Width in pixels, excluding pads etc. */
+ uint16_t height; /**< Height in pixels. */
+ xcb_image_format_t format; /**< Format. */
+ uint8_t scanline_pad; /**< Right pad in bits. Valid pads
+ * are 8, 16, 32.
+ */
+ uint8_t depth; /**< Depth in bits. Valid depths
+ * are 1, 4, 8, 16, 24 for z format,
+ * 1 for xy-bitmap-format, anything
+ * for xy-pixmap-format.
+ */
+ uint8_t bpp; /**< Storage per pixel in bits.
+ * Must be >= depth. Valid bpp
+ * are 1, 4, 8, 16, 24, 32 for z
+ * format, 1 for xy-bitmap format,
+ * anything for xy-pixmap-format.
+ */
+ uint8_t unit; /**< Scanline unit in bits for
+ * xy formats and for bpp == 1,
+ * in which case valid scanline
+ * units are 8, 16, 32. Otherwise,
+ * will be max(8, bpp). Must be >= bpp.
+ */
+ uint32_t plane_mask; /**< When format is
+ * xy-pixmap and depth >
+ * 1, this says which
+ * planes are "valid" in
+ * some vague sense.
+ * Currently used only
+ * by xcb_image_get/put_pixel(),
+ * and set only by
+ * xcb_image_get().
+ */
+ xcb_image_order_t byte_order; /**< Component byte order
+ * for z-pixmap, byte
+ * order of scanline unit
+ * for xy-bitmap and
+ * xy-pixmap. Nybble
+ * order for z-pixmap
+ * when bpp == 4.
+ */
+ xcb_image_order_t bit_order; /**< Bit order of
+ * scanline unit for
+ * xy-bitmap and
+ * xy-pixmap.
+ */
+ uint32_t stride; /**< Bytes per image row.
+ * Computable from other
+ * data, but cached for
+ * convenience/performance.
+ */
+ uint32_t size; /**< Size of image data in bytes.
+ * Computable from other
+ * data, but cached for
+ * convenience/performance.
+ */
+ void * base; /**< Malloced block of storage that
+ * will be freed by
+ * @ref xcb_image_destroy() if non-null.
+ */
+ uint8_t * data; /**< The actual image. */
+};
+
+typedef struct xcb_shm_segment_info_t xcb_shm_segment_info_t;
+
+/**
+ * @struct xcb_shm_segment_info_t
+ * A structure that stores the informations needed by the MIT Shm
+ * Extension.
+ */
+struct xcb_shm_segment_info_t
+{
+ xcb_shm_seg_t shmseg;
+ uint32_t shmid;
+ uint8_t *shmaddr;
+};
+
+
+/**
+ * Update the cached data of an image.
+ * @param image The image.
+ *
+ * An image's size and stride, among other things, are
+ * cached in its structure. This function recomputes those
+ * cached values for the given image.
+ * @ingroup xcb__image_t
+ */
+void
+xcb_image_annotate (xcb_image_t *image);
+
+/**
+ * Create a new image.
+ * @param width The width of the image, in pixels.
+ * @param height The height of the image, in pixels.
+ * @param format The format of the image.
+ * @param xpad The scanline pad of the image.
+ * @param depth The depth of the image.
+ * @param bpp The depth of the image storage.
+ * @param unit The unit of image representation, in bits.
+ * @param byte_order The byte order of the image.
+ * @param bit_order The bit order of the image.
+ * @param base The base address of malloced image data.
+ * @param bytes The size in bytes of the storage pointed to by base.
+ * If base == 0 and bytes == ~0 and data == 0 on
+ * entry, no storage will be auto-allocated.
+ * @param data The image data. If data is null and bytes != ~0, then
+ * an attempt will be made to fill in data; from
+ * base if it is non-null (and bytes is large enough), else
+ * by mallocing sufficient storage and filling in base.
+ * @return The new image.
+ *
+ * This function allocates the memory needed for an @ref xcb_image_t structure
+ * with the given properties. See the description of xcb_image_t for details.
+ * This function initializes and returns a pointer to the
+ * xcb_image_t structure. It may try to allocate or reserve data for the
+ * structure, depending on how @p base, @p bytes and @p data are set.
+ *
+ * The image must be destroyed with xcb_image_destroy().
+ * @ingroup xcb__image_t
+ */
+xcb_image_t *
+xcb_image_create (uint16_t width,
+ uint16_t height,
+ xcb_image_format_t format,
+ uint8_t xpad,
+ uint8_t depth,
+ uint8_t bpp,
+ uint8_t unit,
+ xcb_image_order_t byte_order,
+ xcb_image_order_t bit_order,
+ void * base,
+ uint32_t bytes,
+ uint8_t * data);
+
+
+/**
+ * Create a new image in connection-native format.
+ * @param c The connection.
+ * @param width The width of the image, in pixels.
+ * @param height The height of the image, in pixels.
+ * @param format The format of the image.
+ * @param depth The depth of the image.
+ * @param base The base address of malloced image data.
+ * @param bytes The size in bytes of the storage pointed to by base.
+ * If base == 0 and bytes == ~0 and data == 0 on
+ * entry, no storage will be auto-allocated.
+ * @param data The image data. If data is null and bytes != ~0, then
+ * an attempt will be made to fill in data; from
+ * base if it is non-null (and bytes is large enough), else
+ * by mallocing sufficient storage and filling in base.
+ * @return The new image.
+ *
+ * This function calls @ref xcb_image_create() with the given
+ * properties, and with the remaining properties chosen
+ * according to the "native format" with the given
+ * properties on the current connection.
+ *
+ * It is usual to use this rather
+ * than calling xcb_image_create() directly.
+ * @ingroup xcb__image_t
+ */
+xcb_image_t *
+xcb_image_create_native (xcb_connection_t * c,
+ uint16_t width,
+ uint16_t height,
+ xcb_image_format_t format,
+ uint8_t depth,
+ void * base,
+ uint32_t bytes,
+ uint8_t * data);
+
+
+/**
+ * Destroy an image.
+ * @param image The image to be destroyed.
+ *
+ * This function frees the memory associated with the @p image
+ * parameter. If its base pointer is non-null, it frees
+ * that also.
+ * @ingroup xcb__image_t
+ */
+void
+xcb_image_destroy (xcb_image_t *image);
+
+
+/**
+ * Get an image from the X server.
+ * @param conn The connection to the X server.
+ * @param draw The drawable to get the image from.
+ * @param x The x coordinate in pixels, relative to the origin of the
+ * drawable and defining the upper-left corner of the rectangle.
+ * @param y The y coordinate in pixels, relative to the origin of the
+ * drawable and defining the upper-left corner of the rectangle.
+ * @param width The width of the subimage in pixels.
+ * @param height The height of the subimage in pixels.
+ * @param plane_mask The plane mask. See the protocol document for details.
+ * @param format The format of the image.
+ * @return The subimage of @p draw defined by @p x, @p y, @p w, @p h.
+ *
+
+ * This function returns a new image taken from the
+ * given drawable @p draw.
+ * The image will be in connection native format. If the @p format
+ * is xy-bitmap and the @p plane_mask masks bit planes out, those
+ * bit planes will be made part of the returned image anyway,
+ * by zero-filling them; this will require a fresh memory allocation
+ * and some copying. Otherwise, the resulting image will use the
+ * xcb_get_image_reply() record as its backing store.
+ *
+ * If a problem occurs, the function returns null.
+ * @ingroup xcb__image_t
+ */
+xcb_image_t *
+xcb_image_get (xcb_connection_t * conn,
+ xcb_drawable_t draw,
+ int16_t x,
+ int16_t y,
+ uint16_t width,
+ uint16_t height,
+ uint32_t plane_mask,
+ xcb_image_format_t format);
+
+
+/**
+ * Put an image onto the X server.
+ * @param conn The connection to the X server.
+ * @param draw The draw you get the image from.
+ * @param gc The graphic context.
+ * @param image The image you want to combine with the rectangle.
+ * @param x The x coordinate, which is relative to the origin of the
+ * drawable and defines the x coordinate of the upper-left corner of the
+ * rectangle.
+ * @param y The y coordinate, which is relative to the origin of the
+ * drawable and defines the x coordinate of the upper-left corner of
+ * the rectangle.
+ * @param left_pad Notionally shift an xy-bitmap or xy-pixmap image
+ * to the right some small amount, for some reason. XXX Not clear
+ * this is currently supported correctly.
+ * @return The cookie returned by xcb_put_image().
+ *
+ * This function combines an image with a rectangle of the
+ * specified drawable @p draw. The image must be in native
+ * format for the connection. The image is drawn at the
+ * specified location in the drawable. For the xy-bitmap
+ * format, the foreground pixel in @p gc defines the source
+ * for the one bits in the image, and the background pixel
+ * defines the source for the zero bits. For xy-pixmap and
+ * z-pixmap formats, the depth of the image must match the
+ * depth of the drawable; the gc is ignored.
+ *
+ * @ingroup xcb__image_t
+ */
+xcb_void_cookie_t
+xcb_image_put (xcb_connection_t * conn,
+ xcb_drawable_t draw,
+ xcb_gcontext_t gc,
+ xcb_image_t * image,
+ int16_t x,
+ int16_t y,
+ uint8_t left_pad);
+
+
+/**
+ * Check image for or convert image to native format.
+ * @param c The connection to the X server.
+ * @param image The image.
+ * @param convert If 0, just check the image for native format.
+ * Otherwise, actually convert it.
+ * @return Null if the image is not in native format and can or will not
+ * be converted. Otherwise, the native format image.
+ *
+ * Each X display has its own "native format" for images of a given
+ * format and depth. This function either checks whether the given
+ * @p image is in native format for the given connection @p c, or
+ * actually tries to convert the image to native format, depending
+ * on whether @p convert is true or false.
+ *
+ * When @p convert is true, and the image is not in native format
+ * but can be converted, it will be, and a pointer to the new image
+ * will be returned. The image passed in will be unharmed in this
+ * case; it is the caller's responsibility to check that the returned
+ * pointer is different and to dispose of the old image if desired.
+ * @ingroup xcb__image_t
+ */
+xcb_image_t *
+xcb_image_native (xcb_connection_t * c,
+ xcb_image_t * image,
+ int convert);
+
+
+/**
+ * Put a pixel to an image.
+ * @param image The image.
+ * @param x The x coordinate of the pixel.
+ * @param y The y coordinate of the pixel.
+ * @param pixel The new pixel value.
+ *
+ * This function overwrites the pixel in the given @p image with the
+ * specified @p pixel value (in client format). The image must contain the @p x
+ * and @p y coordinates, as no clipping is done. This function honors
+ * the plane-mask for xy-pixmap images.
+ * @ingroup xcb__image_t
+ */
+void
+xcb_image_put_pixel (xcb_image_t *image,
+ uint32_t x,
+ uint32_t y,
+ uint32_t pixel);
+
+/**
+ * Get a pixel from an image.
+ * @param image The image.
+ * @param x The x coordinate of the pixel.
+ * @param y The y coordinate of the pixel.
+ * @return The pixel value.
+ *
+ * This function retrieves a pixel from the given @p image.
+ * The image must contain the @p x
+ * and @p y coordinates, as no clipping is done. This function honors
+ * the plane-mask for xy-pixmap images.
+ * @ingroup xcb__image_t
+ */
+uint32_t
+xcb_image_get_pixel (xcb_image_t *image,
+ uint32_t x,
+ uint32_t y);
+
+
+/**
+ * Convert an image to a new format.
+ * @param src Source image.
+ * @param dst Destination image.
+ * @return The @p dst image, or null on error.
+ *
+ * This function tries to convert the image data of the @p
+ * src image to the format implied by the @p dst image,
+ * overwriting the current destination image data.
+ * The source and destination must have the same
+ * width, height, and depth. When the source and destination
+ * are already the same format, a simple copy is done. Otherwise,
+ * when the destination has the same bits-per-pixel/scanline-unit
+ * as the source, an optimized copy routine (thanks to Keith Packard)
+ * is used for the conversion. Otherwise, the copy is done the
+ * slow, slow way with @ref xcb_image_get_pixel() and
+ * @ref xcb_image_put_pixel() calls.
+ * @ingroup xcb__image_t
+ */
+xcb_image_t *
+xcb_image_convert (xcb_image_t * src,
+ xcb_image_t * dst);
+
+
+/**
+ * Extract a subimage of an image.
+ * @param image Source image.
+ * @param x X coordinate of subimage.
+ * @param y Y coordinate of subimage.
+ * @param width Width of subimage.
+ * @param height Height of subimage.
+ * @param base Base of memory allocation.
+ * @param bytes Size of base allocation.
+ * @param data Memory allocation.
+ * @return The subimage, or null on error.
+ *
+ * Given an image, this function extracts the subimage at the
+ * given coordinates. The requested subimage must be entirely
+ * contained in the source @p image. The resulting image will have the same
+ * general image parameters as the source image. The @p base, @p bytes,
+ * and @p data arguments are passed to @ref xcb_create_image() unaltered
+ * to create the destination image---see its documentation for details.
+ *
+ * @ingroup xcb__image_t
+ */
+xcb_image_t *
+xcb_image_subimage(xcb_image_t * image,
+ uint32_t x,
+ uint32_t y,
+ uint32_t width,
+ uint32_t height,
+ void * base,
+ uint32_t bytes,
+ uint8_t * data);
+
+
+/*
+ * Shm stuff
+ */
+
+/**
+ * Put the data of an xcb_image_t onto a drawable using the MIT Shm
+ * Extension.
+ * @param conn The connection to the X server.
+ * @param draw The draw you get the image from.
+ * @param gc The graphic context.
+ * @param image The image you want to combine with the rectangle.
+ * @param shminfo A @ref xcb_shm_segment_info_t structure.
+ * @param src_x The offset in x from the left edge of the image
+ * defined by the xcb_image_t structure.
+ * @param src_y The offset in y from the left edge of the image
+ * defined by the xcb_image_t structure.
+ * @param dest_x The x coordinate, which is relative to the origin of the
+ * drawable and defines the x coordinate of the upper-left corner of the
+ * rectangle.
+ * @param dest_y The y coordinate, which is relative to the origin of the
+ * drawable and defines the x coordinate of the upper-left corner of
+ * the rectangle.
+ * @param src_width The width of the subimage, in pixels.
+ * @param src_height The height of the subimage, in pixels.
+ * @param send_event Indicates whether or not a completion event
+ * should occur when the image write is complete.
+ * @return 1 is no problems occurs.
+ *
+ * This function combines an image in memory with a shape of the
+ * specified drawable. The section of the image defined by the @p x, @p y,
+ * @p width, and @p height arguments is drawn on the specified part of
+ * the drawable. If XYBitmap format is used, the depth must be
+ * one, or a``BadMatch'' error results. The foreground pixel in the
+ * Graphic Context @p gc defines the source for the one bits in the
+ * image, and the background pixel defines the source for the zero
+ * bits. For XYPixmap and ZPixmap, the depth must match the depth of
+ * the drawable, or a ``BadMatch'' error results.
+ *
+ * If a problem occurs, the function returns @c 0. Otherwise, it
+ * returns @c 1.
+ * @ingroup xcb__image_t
+ */
+xcb_image_t *
+xcb_image_shm_put (xcb_connection_t * conn,
+ xcb_drawable_t draw,
+ xcb_gcontext_t gc,
+ xcb_image_t * image,
+ xcb_shm_segment_info_t shminfo,
+ int16_t src_x,
+ int16_t src_y,
+ int16_t dest_x,
+ int16_t dest_y,
+ uint16_t src_width,
+ uint16_t src_height,
+ uint8_t send_event);
+
+
+/**
+ * Read image data into a shared memory xcb_image_t.
+ * @param conn The connection to the X server.
+ * @param draw The draw you get the image from.
+ * @param image The image you want to combine with the rectangle.
+ * @param shminfo A @ref xcb_shm_segment_info_t structure.
+ * @param x The x coordinate, which are relative to the origin of the
+ * drawable and define the upper-left corner of the rectangle.
+ * @param y The y coordinate, which are relative to the origin of the
+ * drawable and define the upper-left corner of the rectangle.
+ * @param plane_mask The plane mask.
+ * @return The subimage of @p draw defined by @p x, @p y, @p w, @p h.
+ *
+ * This function reads image data into a shared memory xcb_image_t where
+ * @p conn is the connection to the X server, @p draw is the source
+ * drawable, @p image is the destination xcb_image_t, @p x and @p y are offsets
+ * within the drawable, and @p plane_mask defines which planes are to be
+ * read.
+ *
+ * If a problem occurs, the function returns @c 0. It returns 1
+ * otherwise.
+ * @ingroup xcb__image_t
+ */
+int xcb_image_shm_get (xcb_connection_t * conn,
+ xcb_drawable_t draw,
+ xcb_image_t * image,
+ xcb_shm_segment_info_t shminfo,
+ int16_t x,
+ int16_t y,
+ uint32_t plane_mask);
+
+
+/**
+ * Create an image from user-supplied bitmap data.
+ * @param data Image data in packed bitmap format.
+ * @param width Width in bits of image data.
+ * @param height Height in bits of image data.
+ * @return The image constructed from the image data, or 0 on error.
+ *
+ * This function creates an image from the user-supplied
+ * bitmap @p data. The bitmap data is assumed to be in
+ * xbm format (i.e., 8-bit scanline unit, LSB-first, 8-bit pad).
+ * @ingroup xcb__image_t
+ */
+xcb_image_t *
+xcb_image_create_from_bitmap_data (uint8_t * data,
+ uint32_t width,
+ uint32_t height);
+
+/**
+ * Create a pixmap from user-supplied bitmap data.
+ * @param display The connection to the X server.
+ * @param d The parent drawable for the pixmap.
+ * @param data Image data in packed bitmap format.
+ * @param width Width in bits of image data.
+ * @param height Height in bits of image data.
+ * @param depth Depth of the desired pixmap.
+ * @param fg Pixel for one-bits of pixmaps with depth larger than one.
+ * @param bg Pixel for zero-bits of pixmaps with depth larger than one.
+ * @param gcp If this pointer is non-null, the GC created to
+ * fill in the pixmap is stored here; it will have its foreground
+ * and background set to the supplied value. Otherwise, the GC
+ * will be freed.
+ * @return The pixmap constructed from the image data, or 0 on error.
+ *
+ * This function creates a pixmap from the user-supplied
+ * bitmap @p data. The bitmap data is assumed to be in
+ * xbm format (i.e., 8-bit scanline unit, LSB-first, 8-bit pad).
+ * If @p depth is greater than 1, the
+ * bitmap will be expanded to a pixmap using the given
+ * foreground and background pixels @p fg and @p bg.
+ * @ingroup xcb__image_t
+ */
+xcb_pixmap_t
+xcb_create_pixmap_from_bitmap_data (xcb_connection_t * display,
+ xcb_drawable_t d,
+ uint8_t * data,
+ uint32_t width,
+ uint32_t height,
+ uint32_t depth,
+ uint32_t fg,
+ uint32_t bg,
+ xcb_gcontext_t * gcp);
+
+
+/**
+ * @}
+ */
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* __XCB_IMAGE_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_keysyms.h b/src/3rdparty/xcb/include/xcb/xcb_keysyms.h
new file mode 100644
index 0000000000..9d34a50ad1
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/xcb_keysyms.h
@@ -0,0 +1,71 @@
+#ifndef __XCB_KEYSYMS_H__
+#define __XCB_KEYSYMS_H__
+
+#include <xcb/xcb.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+typedef struct _XCBKeySymbols xcb_key_symbols_t;
+
+xcb_key_symbols_t *xcb_key_symbols_alloc (xcb_connection_t *c);
+
+void xcb_key_symbols_free (xcb_key_symbols_t *syms);
+
+xcb_keysym_t xcb_key_symbols_get_keysym (xcb_key_symbols_t *syms,
+ xcb_keycode_t keycode,
+ int col);
+
+/**
+ * @brief Get the keycodes attached to a keysyms.
+ * There can be several value, so what is returned is an array of keycode
+ * terminated by XCB_NO_SYMBOL. You are responsible to free it.
+ * Be aware that this function can be slow. It will convert all
+ * combinations of all available keycodes to keysyms to find the ones that
+ * match.
+ * @param syms Key symbols.
+ * @param keysym The keysym to look for.
+ * @return A XCB_NO_SYMBOL terminated array of keycode, or NULL if nothing is found.
+ */
+xcb_keycode_t * xcb_key_symbols_get_keycode(xcb_key_symbols_t *syms,
+ xcb_keysym_t keysym);
+
+xcb_keysym_t xcb_key_press_lookup_keysym (xcb_key_symbols_t *syms,
+ xcb_key_press_event_t *event,
+ int col);
+
+xcb_keysym_t xcb_key_release_lookup_keysym (xcb_key_symbols_t *syms,
+ xcb_key_release_event_t *event,
+ int col);
+
+int xcb_refresh_keyboard_mapping (xcb_key_symbols_t *syms,
+ xcb_mapping_notify_event_t *event);
+
+/* TODO: need XLookupString equivalent */
+
+/* Tests for classes of symbols */
+
+int xcb_is_keypad_key (xcb_keysym_t keysym);
+
+int xcb_is_private_keypad_key (xcb_keysym_t keysym);
+
+int xcb_is_cursor_key (xcb_keysym_t keysym);
+
+int xcb_is_pf_key (xcb_keysym_t keysym);
+
+int xcb_is_function_key (xcb_keysym_t keysym);
+
+int xcb_is_misc_function_key (xcb_keysym_t keysym);
+
+int xcb_is_modifier_key (xcb_keysym_t keysym);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* __XCB_KEYSYMS_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_pixel.h b/src/3rdparty/xcb/include/xcb/xcb_pixel.h
new file mode 100644
index 0000000000..fcb22b4826
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/xcb_pixel.h
@@ -0,0 +1,171 @@
+#ifndef __XCB_PIXEL_H__
+#define __XCB_PIXEL_H__
+
+/* Copyright (C) 2007 Bart Massey
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+#include <inttypes.h>
+#include <X11/Xfuncproto.h>
+#ifndef BUILD
+#include <xcb/xcb_bitops.h>
+#include <xcb/xcb_image.h>
+#endif
+
+/**
+ * XCB Image fast pixel ops.
+ *
+ * Fast inline versions of xcb_image_get_pixel() and
+ * xcb_image_put_pixel() for various common cases.
+ * The naming convention is xcb_image_put_pixel_FUB()
+ * where F is the format and is either XY for bitmaps
+ * or Z for pixmaps, U is the bitmap unit size or pixmap
+ * bits-per-pixel, and B is the endianness (if needed)
+ * and is either M for most-significant-first or L for
+ * least-significant-first. Note that no checking
+ * is done on the arguments to these routines---caller beware.
+ * Also note that the pixel type is chosen to be appropriate
+ * to the unit; bitmaps use int and pixmaps use the appropriate
+ * size of unsigned.
+ * @ingroup xcb__image_t
+ */
+
+_X_INLINE static void
+xcb_image_put_pixel_XY32M (xcb_image_t *image,
+ uint32_t x,
+ uint32_t y,
+ int pixel)
+{
+ uint32_t unit = (x >> 3) & ~xcb_mask(2);
+ uint32_t byte = xcb_mask(2) - ((x >> 3) & xcb_mask(2));
+ uint32_t bit = xcb_mask(3) - (x & xcb_mask(3));
+ uint8_t m = 1 << bit;
+ uint8_t p = pixel << bit;
+ uint8_t * bp = image->data + (y * image->stride) + (unit | byte);
+ *bp = (*bp & ~m) | p;
+}
+
+_X_INLINE static void
+xcb_image_put_pixel_XY32L (xcb_image_t *image,
+ uint32_t x,
+ uint32_t y,
+ int pixel)
+{
+ uint32_t bit = x & xcb_mask(3);
+ uint8_t m = 1 << bit;
+ uint8_t p = pixel << bit;
+ uint8_t * bp = image->data + (y * image->stride) + (x >> 3);
+ *bp = (*bp & ~m) | p;
+}
+
+_X_INLINE static int
+xcb_image_get_pixel_XY32M (xcb_image_t *image,
+ uint32_t x,
+ uint32_t y)
+{
+ uint32_t unit = (x >> 3) & ~xcb_mask(2);
+ uint32_t byte = xcb_mask(2) - ((x >> 3) & xcb_mask(2));
+ uint32_t bit = xcb_mask(3) - (x & xcb_mask(3));
+ uint8_t * bp = image->data + (y * image->stride) + (unit | byte);
+ return (*bp >> bit) & 1;
+}
+
+_X_INLINE static int
+xcb_image_get_pixel_XY32L (xcb_image_t *image,
+ uint32_t x,
+ uint32_t y)
+{
+ uint32_t bit = x & xcb_mask(3);
+ uint8_t * bp = image->data + (y * image->stride) + (x >> 3);
+ return (*bp >> bit) & 1;
+}
+
+_X_INLINE static void
+xcb_image_put_pixel_Z8 (xcb_image_t *image,
+ uint32_t x,
+ uint32_t y,
+ uint8_t pixel)
+{
+ image->data[x + y * image->stride] = pixel;
+}
+
+_X_INLINE static uint8_t
+xcb_image_get_pixel_Z8 (xcb_image_t *image,
+ uint32_t x,
+ uint32_t y)
+{
+ return image->data[x + y * image->stride];
+}
+
+_X_INLINE static void
+xcb_image_put_pixel_Z32M (xcb_image_t *image,
+ uint32_t x,
+ uint32_t y,
+ uint32_t pixel)
+{
+ uint8_t * row = image->data + (y * image->stride);
+ row[x << 2] = pixel >> 24;
+ row[(x << 2) + 1] = pixel >> 16;
+ row[(x << 2) + 2] = pixel >> 8;
+ row[(x << 2) + 3] = pixel;
+}
+
+_X_INLINE static void
+xcb_image_put_pixel_Z32L (xcb_image_t *image,
+ uint32_t x,
+ uint32_t y,
+ uint32_t pixel)
+{
+ uint8_t * row = image->data + (y * image->stride);
+ row[x << 2] = pixel;
+ row[(x << 2) + 1] = pixel >> 8;
+ row[(x << 2) + 2] = pixel >> 16;
+ row[(x << 2) + 3] = pixel >> 24;
+}
+
+_X_INLINE static uint32_t
+xcb_image_get_pixel_Z32M (xcb_image_t *image,
+ uint32_t x,
+ uint32_t y)
+{
+ uint8_t * row = image->data + (y * image->stride);
+ uint32_t pixel = row[x << 2] << 24;
+ pixel |= row[(x << 2) + 1] << 16;
+ pixel |= row[(x << 2) + 2] << 8;
+ return pixel | row[(x << 2) + 3];
+}
+
+_X_INLINE static uint32_t
+xcb_image_get_pixel_Z32L (xcb_image_t *image,
+ uint32_t x,
+ uint32_t y)
+{
+ uint8_t * row = image->data + (y * image->stride);
+ uint32_t pixel = row[x << 2];
+ pixel |= row[(x << 2) + 1] << 8;
+ pixel |= row[(x << 2) + 2] << 16;
+ return pixel | row[(x << 2) + 3] << 24;
+}
+
+#endif /* __XCB_PIXEL_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_renderutil.h b/src/3rdparty/xcb/include/xcb/xcb_renderutil.h
new file mode 100644
index 0000000000..6eb5923236
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/xcb_renderutil.h
@@ -0,0 +1,142 @@
+/* Copyright © 2006 Jamey Sharp.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+#ifndef XCB_RENDERUTIL
+#define XCB_RENDERUTIL
+#include <xcb/render.h>
+
+typedef enum xcb_pict_format_t {
+ XCB_PICT_FORMAT_ID = (1 << 0),
+ XCB_PICT_FORMAT_TYPE = (1 << 1),
+ XCB_PICT_FORMAT_DEPTH = (1 << 2),
+ XCB_PICT_FORMAT_RED = (1 << 3),
+ XCB_PICT_FORMAT_RED_MASK = (1 << 4),
+ XCB_PICT_FORMAT_GREEN = (1 << 5),
+ XCB_PICT_FORMAT_GREEN_MASK = (1 << 6),
+ XCB_PICT_FORMAT_BLUE = (1 << 7),
+ XCB_PICT_FORMAT_BLUE_MASK = (1 << 8),
+ XCB_PICT_FORMAT_ALPHA = (1 << 9),
+ XCB_PICT_FORMAT_ALPHA_MASK = (1 << 10),
+ XCB_PICT_FORMAT_COLORMAP = (1 << 11)
+} xcb_pict_format_t;
+
+typedef enum xcb_pict_standard_t {
+ XCB_PICT_STANDARD_ARGB_32,
+ XCB_PICT_STANDARD_RGB_24,
+ XCB_PICT_STANDARD_A_8,
+ XCB_PICT_STANDARD_A_4,
+ XCB_PICT_STANDARD_A_1
+} xcb_pict_standard_t;
+
+
+xcb_render_pictvisual_t *
+xcb_render_util_find_visual_format (const xcb_render_query_pict_formats_reply_t *formats,
+ const xcb_visualid_t visual);
+
+xcb_render_pictforminfo_t *
+xcb_render_util_find_format (const xcb_render_query_pict_formats_reply_t *formats,
+ unsigned long mask,
+ const xcb_render_pictforminfo_t *template,
+ int count);
+
+xcb_render_pictforminfo_t *
+xcb_render_util_find_standard_format (const xcb_render_query_pict_formats_reply_t *formats,
+ xcb_pict_standard_t format);
+
+const xcb_render_query_version_reply_t *
+xcb_render_util_query_version (xcb_connection_t *c);
+
+const xcb_render_query_pict_formats_reply_t *
+xcb_render_util_query_formats (xcb_connection_t *c);
+
+int
+xcb_render_util_disconnect (xcb_connection_t *c);
+
+/* wrappers for xcb_render_composite_glyphs_8/16/32 */
+
+typedef struct xcb_render_util_composite_text_stream_t xcb_render_util_composite_text_stream_t;
+
+xcb_render_util_composite_text_stream_t *
+xcb_render_util_composite_text_stream (
+ xcb_render_glyphset_t initial_glyphset,
+ uint32_t total_glyphs,
+ uint32_t total_glyphset_changes );
+
+void
+xcb_render_util_glyphs_8 (
+ xcb_render_util_composite_text_stream_t *stream,
+ int16_t dx,
+ int16_t dy,
+ uint32_t count,
+ const uint8_t *glyphs );
+
+void
+xcb_render_util_glyphs_16 (
+ xcb_render_util_composite_text_stream_t *stream,
+ int16_t dx,
+ int16_t dy,
+ uint32_t count,
+ const uint16_t *glyphs );
+
+void
+xcb_render_util_glyphs_32 (
+ xcb_render_util_composite_text_stream_t *stream,
+ int16_t dx,
+ int16_t dy,
+ uint32_t count,
+ const uint32_t *glyphs );
+
+void
+xcb_render_util_change_glyphset (
+ xcb_render_util_composite_text_stream_t *stream,
+ xcb_render_glyphset_t glyphset );
+
+xcb_void_cookie_t
+xcb_render_util_composite_text (
+ xcb_connection_t *xc,
+ uint8_t op,
+ xcb_render_picture_t src,
+ xcb_render_picture_t dst,
+ xcb_render_pictformat_t mask_format,
+ int16_t src_x,
+ int16_t src_y,
+ xcb_render_util_composite_text_stream_t *stream );
+
+xcb_void_cookie_t
+xcb_render_util_composite_text_checked (
+ xcb_connection_t *xc,
+ uint8_t op,
+ xcb_render_picture_t src,
+ xcb_render_picture_t dst,
+ xcb_render_pictformat_t mask_format,
+ int16_t src_x,
+ int16_t src_y,
+ xcb_render_util_composite_text_stream_t *stream );
+
+void
+xcb_render_util_composite_text_free (
+ xcb_render_util_composite_text_stream_t *stream );
+
+#endif /* XCB_RENDERUTIL */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_util.h b/src/3rdparty/xcb/include/xcb/xcb_util.h
new file mode 100644
index 0000000000..0f06f1b06e
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/xcb_util.h
@@ -0,0 +1,8 @@
+#ifndef __XCB_UTIL_H__
+#define __XCB_UTIL_H__
+
+#include <xcb/xcb_atom.h>
+#include <xcb/xcb_aux.h>
+#include <xcb/xcb_event.h>
+
+#endif /* __XCB_UTIL_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xfixes.h b/src/3rdparty/xcb/include/xcb/xfixes.h
new file mode 100644
index 0000000000..4d7eb0900a
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/xfixes.h
@@ -0,0 +1,2790 @@
+/*
+ * This file generated automatically from xfixes.xml by c_client.py.
+ * Edit at your peril.
+ */
+
+/**
+ * @defgroup XCB_XFixes_API XCB XFixes API
+ * @brief XFixes XCB Protocol Implementation.
+ * @{
+ **/
+
+#ifndef __XFIXES_H
+#define __XFIXES_H
+
+#include "xcb.h"
+#include "xproto.h"
+#include "render.h"
+#include "shape.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define XCB_XFIXES_MAJOR_VERSION 4
+#define XCB_XFIXES_MINOR_VERSION 0
+
+extern xcb_extension_t xcb_xfixes_id;
+
+/**
+ * @brief xcb_xfixes_query_version_cookie_t
+ **/
+typedef struct xcb_xfixes_query_version_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_xfixes_query_version_cookie_t;
+
+/** Opcode for xcb_xfixes_query_version. */
+#define XCB_XFIXES_QUERY_VERSION 0
+
+/**
+ * @brief xcb_xfixes_query_version_request_t
+ **/
+typedef struct xcb_xfixes_query_version_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ uint32_t client_major_version; /**< */
+ uint32_t client_minor_version; /**< */
+} xcb_xfixes_query_version_request_t;
+
+/**
+ * @brief xcb_xfixes_query_version_reply_t
+ **/
+typedef struct xcb_xfixes_query_version_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ uint32_t major_version; /**< */
+ uint32_t minor_version; /**< */
+ uint8_t pad1[16]; /**< */
+} xcb_xfixes_query_version_reply_t;
+
+typedef enum xcb_xfixes_save_set_mode_t {
+ XCB_XFIXES_SAVE_SET_MODE_INSERT,
+ XCB_XFIXES_SAVE_SET_MODE_DELETE
+} xcb_xfixes_save_set_mode_t;
+
+typedef enum xcb_xfixes_save_set_target_t {
+ XCB_XFIXES_SAVE_SET_TARGET_NEAREST,
+ XCB_XFIXES_SAVE_SET_TARGET_ROOT
+} xcb_xfixes_save_set_target_t;
+
+typedef enum xcb_xfixes_save_set_mapping_t {
+ XCB_XFIXES_SAVE_SET_MAPPING_MAP,
+ XCB_XFIXES_SAVE_SET_MAPPING_UNMAP
+} xcb_xfixes_save_set_mapping_t;
+
+/** Opcode for xcb_xfixes_change_save_set. */
+#define XCB_XFIXES_CHANGE_SAVE_SET 1
+
+/**
+ * @brief xcb_xfixes_change_save_set_request_t
+ **/
+typedef struct xcb_xfixes_change_save_set_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ uint8_t mode; /**< */
+ uint8_t target; /**< */
+ uint8_t map; /**< */
+ uint8_t pad0; /**< */
+ xcb_window_t window; /**< */
+} xcb_xfixes_change_save_set_request_t;
+
+typedef enum xcb_xfixes_selection_event_t {
+ XCB_XFIXES_SELECTION_EVENT_SET_SELECTION_OWNER,
+ XCB_XFIXES_SELECTION_EVENT_SELECTION_WINDOW_DESTROY,
+ XCB_XFIXES_SELECTION_EVENT_SELECTION_CLIENT_CLOSE
+} xcb_xfixes_selection_event_t;
+
+typedef enum xcb_xfixes_selection_event_mask_t {
+ XCB_XFIXES_SELECTION_EVENT_MASK_SET_SELECTION_OWNER = 1,
+ XCB_XFIXES_SELECTION_EVENT_MASK_SELECTION_WINDOW_DESTROY = 2,
+ XCB_XFIXES_SELECTION_EVENT_MASK_SELECTION_CLIENT_CLOSE = 4
+} xcb_xfixes_selection_event_mask_t;
+
+/** Opcode for xcb_xfixes_selection_notify. */
+#define XCB_XFIXES_SELECTION_NOTIFY 0
+
+/**
+ * @brief xcb_xfixes_selection_notify_event_t
+ **/
+typedef struct xcb_xfixes_selection_notify_event_t {
+ uint8_t response_type; /**< */
+ uint8_t subtype; /**< */
+ uint16_t sequence; /**< */
+ xcb_window_t window; /**< */
+ xcb_window_t owner; /**< */
+ xcb_atom_t selection; /**< */
+ xcb_timestamp_t timestamp; /**< */
+ xcb_timestamp_t selection_timestamp; /**< */
+ uint8_t pad0[8]; /**< */
+} xcb_xfixes_selection_notify_event_t;
+
+/** Opcode for xcb_xfixes_select_selection_input. */
+#define XCB_XFIXES_SELECT_SELECTION_INPUT 2
+
+/**
+ * @brief xcb_xfixes_select_selection_input_request_t
+ **/
+typedef struct xcb_xfixes_select_selection_input_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t window; /**< */
+ xcb_atom_t selection; /**< */
+ uint32_t event_mask; /**< */
+} xcb_xfixes_select_selection_input_request_t;
+
+typedef enum xcb_xfixes_cursor_notify_t {
+ XCB_XFIXES_CURSOR_NOTIFY_DISPLAY_CURSOR
+} xcb_xfixes_cursor_notify_t;
+
+typedef enum xcb_xfixes_cursor_notify_mask_t {
+ XCB_XFIXES_CURSOR_NOTIFY_MASK_DISPLAY_CURSOR = 1
+} xcb_xfixes_cursor_notify_mask_t;
+
+/** Opcode for xcb_xfixes_cursor_notify. */
+#define XCB_XFIXES_CURSOR_NOTIFY 1
+
+/**
+ * @brief xcb_xfixes_cursor_notify_event_t
+ **/
+typedef struct xcb_xfixes_cursor_notify_event_t {
+ uint8_t response_type; /**< */
+ uint8_t subtype; /**< */
+ uint16_t sequence; /**< */
+ xcb_window_t window; /**< */
+ uint32_t cursor_serial; /**< */
+ xcb_timestamp_t timestamp; /**< */
+ xcb_atom_t name; /**< */
+ uint8_t pad0[12]; /**< */
+} xcb_xfixes_cursor_notify_event_t;
+
+/** Opcode for xcb_xfixes_select_cursor_input. */
+#define XCB_XFIXES_SELECT_CURSOR_INPUT 3
+
+/**
+ * @brief xcb_xfixes_select_cursor_input_request_t
+ **/
+typedef struct xcb_xfixes_select_cursor_input_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t window; /**< */
+ uint32_t event_mask; /**< */
+} xcb_xfixes_select_cursor_input_request_t;
+
+/**
+ * @brief xcb_xfixes_get_cursor_image_cookie_t
+ **/
+typedef struct xcb_xfixes_get_cursor_image_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_xfixes_get_cursor_image_cookie_t;
+
+/** Opcode for xcb_xfixes_get_cursor_image. */
+#define XCB_XFIXES_GET_CURSOR_IMAGE 4
+
+/**
+ * @brief xcb_xfixes_get_cursor_image_request_t
+ **/
+typedef struct xcb_xfixes_get_cursor_image_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+} xcb_xfixes_get_cursor_image_request_t;
+
+/**
+ * @brief xcb_xfixes_get_cursor_image_reply_t
+ **/
+typedef struct xcb_xfixes_get_cursor_image_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ int16_t x; /**< */
+ int16_t y; /**< */
+ uint16_t width; /**< */
+ uint16_t height; /**< */
+ uint16_t xhot; /**< */
+ uint16_t yhot; /**< */
+ uint32_t cursor_serial; /**< */
+ uint8_t pad1[8]; /**< */
+} xcb_xfixes_get_cursor_image_reply_t;
+
+typedef uint32_t xcb_xfixes_region_t;
+
+/**
+ * @brief xcb_xfixes_region_iterator_t
+ **/
+typedef struct xcb_xfixes_region_iterator_t {
+ xcb_xfixes_region_t *data; /**< */
+ int rem; /**< */
+ int index; /**< */
+} xcb_xfixes_region_iterator_t;
+
+/** Opcode for xcb_xfixes_bad_region. */
+#define XCB_XFIXES_BAD_REGION 0
+
+/**
+ * @brief xcb_xfixes_bad_region_error_t
+ **/
+typedef struct xcb_xfixes_bad_region_error_t {
+ uint8_t response_type; /**< */
+ uint8_t error_code; /**< */
+ uint16_t sequence; /**< */
+} xcb_xfixes_bad_region_error_t;
+
+typedef enum xcb_xfixes_region_enum_t {
+ XCB_XFIXES_REGION_NONE
+} xcb_xfixes_region_enum_t;
+
+/** Opcode for xcb_xfixes_create_region. */
+#define XCB_XFIXES_CREATE_REGION 5
+
+/**
+ * @brief xcb_xfixes_create_region_request_t
+ **/
+typedef struct xcb_xfixes_create_region_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_xfixes_region_t region; /**< */
+} xcb_xfixes_create_region_request_t;
+
+/** Opcode for xcb_xfixes_create_region_from_bitmap. */
+#define XCB_XFIXES_CREATE_REGION_FROM_BITMAP 6
+
+/**
+ * @brief xcb_xfixes_create_region_from_bitmap_request_t
+ **/
+typedef struct xcb_xfixes_create_region_from_bitmap_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_xfixes_region_t region; /**< */
+ xcb_pixmap_t bitmap; /**< */
+} xcb_xfixes_create_region_from_bitmap_request_t;
+
+/** Opcode for xcb_xfixes_create_region_from_window. */
+#define XCB_XFIXES_CREATE_REGION_FROM_WINDOW 7
+
+/**
+ * @brief xcb_xfixes_create_region_from_window_request_t
+ **/
+typedef struct xcb_xfixes_create_region_from_window_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_xfixes_region_t region; /**< */
+ xcb_window_t window; /**< */
+ xcb_shape_kind_t kind; /**< */
+ uint8_t pad0[3]; /**< */
+} xcb_xfixes_create_region_from_window_request_t;
+
+/** Opcode for xcb_xfixes_create_region_from_gc. */
+#define XCB_XFIXES_CREATE_REGION_FROM_GC 8
+
+/**
+ * @brief xcb_xfixes_create_region_from_gc_request_t
+ **/
+typedef struct xcb_xfixes_create_region_from_gc_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_xfixes_region_t region; /**< */
+ xcb_gcontext_t gc; /**< */
+} xcb_xfixes_create_region_from_gc_request_t;
+
+/** Opcode for xcb_xfixes_create_region_from_picture. */
+#define XCB_XFIXES_CREATE_REGION_FROM_PICTURE 9
+
+/**
+ * @brief xcb_xfixes_create_region_from_picture_request_t
+ **/
+typedef struct xcb_xfixes_create_region_from_picture_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_xfixes_region_t region; /**< */
+ xcb_render_picture_t picture; /**< */
+} xcb_xfixes_create_region_from_picture_request_t;
+
+/** Opcode for xcb_xfixes_destroy_region. */
+#define XCB_XFIXES_DESTROY_REGION 10
+
+/**
+ * @brief xcb_xfixes_destroy_region_request_t
+ **/
+typedef struct xcb_xfixes_destroy_region_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_xfixes_region_t region; /**< */
+} xcb_xfixes_destroy_region_request_t;
+
+/** Opcode for xcb_xfixes_set_region. */
+#define XCB_XFIXES_SET_REGION 11
+
+/**
+ * @brief xcb_xfixes_set_region_request_t
+ **/
+typedef struct xcb_xfixes_set_region_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_xfixes_region_t region; /**< */
+} xcb_xfixes_set_region_request_t;
+
+/** Opcode for xcb_xfixes_copy_region. */
+#define XCB_XFIXES_COPY_REGION 12
+
+/**
+ * @brief xcb_xfixes_copy_region_request_t
+ **/
+typedef struct xcb_xfixes_copy_region_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_xfixes_region_t source; /**< */
+ xcb_xfixes_region_t destination; /**< */
+} xcb_xfixes_copy_region_request_t;
+
+/** Opcode for xcb_xfixes_union_region. */
+#define XCB_XFIXES_UNION_REGION 13
+
+/**
+ * @brief xcb_xfixes_union_region_request_t
+ **/
+typedef struct xcb_xfixes_union_region_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_xfixes_region_t source1; /**< */
+ xcb_xfixes_region_t source2; /**< */
+ xcb_xfixes_region_t destination; /**< */
+} xcb_xfixes_union_region_request_t;
+
+/** Opcode for xcb_xfixes_intersect_region. */
+#define XCB_XFIXES_INTERSECT_REGION 14
+
+/**
+ * @brief xcb_xfixes_intersect_region_request_t
+ **/
+typedef struct xcb_xfixes_intersect_region_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_xfixes_region_t source1; /**< */
+ xcb_xfixes_region_t source2; /**< */
+ xcb_xfixes_region_t destination; /**< */
+} xcb_xfixes_intersect_region_request_t;
+
+/** Opcode for xcb_xfixes_subtract_region. */
+#define XCB_XFIXES_SUBTRACT_REGION 15
+
+/**
+ * @brief xcb_xfixes_subtract_region_request_t
+ **/
+typedef struct xcb_xfixes_subtract_region_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_xfixes_region_t source1; /**< */
+ xcb_xfixes_region_t source2; /**< */
+ xcb_xfixes_region_t destination; /**< */
+} xcb_xfixes_subtract_region_request_t;
+
+/** Opcode for xcb_xfixes_invert_region. */
+#define XCB_XFIXES_INVERT_REGION 16
+
+/**
+ * @brief xcb_xfixes_invert_region_request_t
+ **/
+typedef struct xcb_xfixes_invert_region_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_xfixes_region_t source; /**< */
+ xcb_rectangle_t bounds; /**< */
+ xcb_xfixes_region_t destination; /**< */
+} xcb_xfixes_invert_region_request_t;
+
+/** Opcode for xcb_xfixes_translate_region. */
+#define XCB_XFIXES_TRANSLATE_REGION 17
+
+/**
+ * @brief xcb_xfixes_translate_region_request_t
+ **/
+typedef struct xcb_xfixes_translate_region_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_xfixes_region_t region; /**< */
+ int16_t dx; /**< */
+ int16_t dy; /**< */
+} xcb_xfixes_translate_region_request_t;
+
+/** Opcode for xcb_xfixes_region_extents. */
+#define XCB_XFIXES_REGION_EXTENTS 18
+
+/**
+ * @brief xcb_xfixes_region_extents_request_t
+ **/
+typedef struct xcb_xfixes_region_extents_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_xfixes_region_t source; /**< */
+ xcb_xfixes_region_t destination; /**< */
+} xcb_xfixes_region_extents_request_t;
+
+/**
+ * @brief xcb_xfixes_fetch_region_cookie_t
+ **/
+typedef struct xcb_xfixes_fetch_region_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_xfixes_fetch_region_cookie_t;
+
+/** Opcode for xcb_xfixes_fetch_region. */
+#define XCB_XFIXES_FETCH_REGION 19
+
+/**
+ * @brief xcb_xfixes_fetch_region_request_t
+ **/
+typedef struct xcb_xfixes_fetch_region_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_xfixes_region_t region; /**< */
+} xcb_xfixes_fetch_region_request_t;
+
+/**
+ * @brief xcb_xfixes_fetch_region_reply_t
+ **/
+typedef struct xcb_xfixes_fetch_region_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_rectangle_t extents; /**< */
+ uint8_t pad1[16]; /**< */
+} xcb_xfixes_fetch_region_reply_t;
+
+/** Opcode for xcb_xfixes_set_gc_clip_region. */
+#define XCB_XFIXES_SET_GC_CLIP_REGION 20
+
+/**
+ * @brief xcb_xfixes_set_gc_clip_region_request_t
+ **/
+typedef struct xcb_xfixes_set_gc_clip_region_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_gcontext_t gc; /**< */
+ xcb_xfixes_region_t region; /**< */
+ int16_t x_origin; /**< */
+ int16_t y_origin; /**< */
+} xcb_xfixes_set_gc_clip_region_request_t;
+
+/** Opcode for xcb_xfixes_set_window_shape_region. */
+#define XCB_XFIXES_SET_WINDOW_SHAPE_REGION 21
+
+/**
+ * @brief xcb_xfixes_set_window_shape_region_request_t
+ **/
+typedef struct xcb_xfixes_set_window_shape_region_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t dest; /**< */
+ xcb_shape_kind_t dest_kind; /**< */
+ uint8_t pad0[3]; /**< */
+ int16_t x_offset; /**< */
+ int16_t y_offset; /**< */
+ xcb_xfixes_region_t region; /**< */
+} xcb_xfixes_set_window_shape_region_request_t;
+
+/** Opcode for xcb_xfixes_set_picture_clip_region. */
+#define XCB_XFIXES_SET_PICTURE_CLIP_REGION 22
+
+/**
+ * @brief xcb_xfixes_set_picture_clip_region_request_t
+ **/
+typedef struct xcb_xfixes_set_picture_clip_region_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_render_picture_t picture; /**< */
+ xcb_xfixes_region_t region; /**< */
+ int16_t x_origin; /**< */
+ int16_t y_origin; /**< */
+} xcb_xfixes_set_picture_clip_region_request_t;
+
+/** Opcode for xcb_xfixes_set_cursor_name. */
+#define XCB_XFIXES_SET_CURSOR_NAME 23
+
+/**
+ * @brief xcb_xfixes_set_cursor_name_request_t
+ **/
+typedef struct xcb_xfixes_set_cursor_name_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_cursor_t cursor; /**< */
+ uint16_t nbytes; /**< */
+ uint8_t pad0[2]; /**< */
+} xcb_xfixes_set_cursor_name_request_t;
+
+/**
+ * @brief xcb_xfixes_get_cursor_name_cookie_t
+ **/
+typedef struct xcb_xfixes_get_cursor_name_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_xfixes_get_cursor_name_cookie_t;
+
+/** Opcode for xcb_xfixes_get_cursor_name. */
+#define XCB_XFIXES_GET_CURSOR_NAME 24
+
+/**
+ * @brief xcb_xfixes_get_cursor_name_request_t
+ **/
+typedef struct xcb_xfixes_get_cursor_name_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_cursor_t cursor; /**< */
+} xcb_xfixes_get_cursor_name_request_t;
+
+/**
+ * @brief xcb_xfixes_get_cursor_name_reply_t
+ **/
+typedef struct xcb_xfixes_get_cursor_name_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ xcb_atom_t atom; /**< */
+ uint16_t nbytes; /**< */
+ uint8_t pad1[18]; /**< */
+} xcb_xfixes_get_cursor_name_reply_t;
+
+/**
+ * @brief xcb_xfixes_get_cursor_image_and_name_cookie_t
+ **/
+typedef struct xcb_xfixes_get_cursor_image_and_name_cookie_t {
+ unsigned int sequence; /**< */
+} xcb_xfixes_get_cursor_image_and_name_cookie_t;
+
+/** Opcode for xcb_xfixes_get_cursor_image_and_name. */
+#define XCB_XFIXES_GET_CURSOR_IMAGE_AND_NAME 25
+
+/**
+ * @brief xcb_xfixes_get_cursor_image_and_name_request_t
+ **/
+typedef struct xcb_xfixes_get_cursor_image_and_name_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+} xcb_xfixes_get_cursor_image_and_name_request_t;
+
+/**
+ * @brief xcb_xfixes_get_cursor_image_and_name_reply_t
+ **/
+typedef struct xcb_xfixes_get_cursor_image_and_name_reply_t {
+ uint8_t response_type; /**< */
+ uint8_t pad0; /**< */
+ uint16_t sequence; /**< */
+ uint32_t length; /**< */
+ int16_t x; /**< */
+ int16_t y; /**< */
+ uint16_t width; /**< */
+ uint16_t height; /**< */
+ uint16_t xhot; /**< */
+ uint16_t yhot; /**< */
+ uint32_t cursor_serial; /**< */
+ xcb_atom_t cursor_atom; /**< */
+ uint16_t nbytes; /**< */
+ uint8_t pad1[2]; /**< */
+} xcb_xfixes_get_cursor_image_and_name_reply_t;
+
+/** Opcode for xcb_xfixes_change_cursor. */
+#define XCB_XFIXES_CHANGE_CURSOR 26
+
+/**
+ * @brief xcb_xfixes_change_cursor_request_t
+ **/
+typedef struct xcb_xfixes_change_cursor_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_cursor_t source; /**< */
+ xcb_cursor_t destination; /**< */
+} xcb_xfixes_change_cursor_request_t;
+
+/** Opcode for xcb_xfixes_change_cursor_by_name. */
+#define XCB_XFIXES_CHANGE_CURSOR_BY_NAME 27
+
+/**
+ * @brief xcb_xfixes_change_cursor_by_name_request_t
+ **/
+typedef struct xcb_xfixes_change_cursor_by_name_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_cursor_t src; /**< */
+ uint16_t nbytes; /**< */
+ uint8_t pad0[2]; /**< */
+} xcb_xfixes_change_cursor_by_name_request_t;
+
+/** Opcode for xcb_xfixes_expand_region. */
+#define XCB_XFIXES_EXPAND_REGION 28
+
+/**
+ * @brief xcb_xfixes_expand_region_request_t
+ **/
+typedef struct xcb_xfixes_expand_region_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_xfixes_region_t source; /**< */
+ xcb_xfixes_region_t destination; /**< */
+ uint16_t left; /**< */
+ uint16_t right; /**< */
+ uint16_t top; /**< */
+ uint16_t bottom; /**< */
+} xcb_xfixes_expand_region_request_t;
+
+/** Opcode for xcb_xfixes_hide_cursor. */
+#define XCB_XFIXES_HIDE_CURSOR 29
+
+/**
+ * @brief xcb_xfixes_hide_cursor_request_t
+ **/
+typedef struct xcb_xfixes_hide_cursor_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t window; /**< */
+} xcb_xfixes_hide_cursor_request_t;
+
+/** Opcode for xcb_xfixes_show_cursor. */
+#define XCB_XFIXES_SHOW_CURSOR 30
+
+/**
+ * @brief xcb_xfixes_show_cursor_request_t
+ **/
+typedef struct xcb_xfixes_show_cursor_request_t {
+ uint8_t major_opcode; /**< */
+ uint8_t minor_opcode; /**< */
+ uint16_t length; /**< */
+ xcb_window_t window; /**< */
+} xcb_xfixes_show_cursor_request_t;
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_xfixes_query_version_cookie_t xcb_xfixes_query_version
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint32_t client_major_version
+ ** @param uint32_t client_minor_version
+ ** @returns xcb_xfixes_query_version_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_xfixes_query_version_cookie_t
+xcb_xfixes_query_version (xcb_connection_t *c /**< */,
+ uint32_t client_major_version /**< */,
+ uint32_t client_minor_version /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_xfixes_query_version_cookie_t xcb_xfixes_query_version_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint32_t client_major_version
+ ** @param uint32_t client_minor_version
+ ** @returns xcb_xfixes_query_version_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_xfixes_query_version_cookie_t
+xcb_xfixes_query_version_unchecked (xcb_connection_t *c /**< */,
+ uint32_t client_major_version /**< */,
+ uint32_t client_minor_version /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_xfixes_query_version_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_xfixes_query_version_reply_t * xcb_xfixes_query_version_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_query_version_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_xfixes_query_version_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_xfixes_query_version_reply_t *
+xcb_xfixes_query_version_reply (xcb_connection_t *c /**< */,
+ xcb_xfixes_query_version_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_change_save_set_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t mode
+ ** @param uint8_t target
+ ** @param uint8_t map
+ ** @param xcb_window_t window
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_change_save_set_checked (xcb_connection_t *c /**< */,
+ uint8_t mode /**< */,
+ uint8_t target /**< */,
+ uint8_t map /**< */,
+ xcb_window_t window /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_change_save_set
+ **
+ ** @param xcb_connection_t *c
+ ** @param uint8_t mode
+ ** @param uint8_t target
+ ** @param uint8_t map
+ ** @param xcb_window_t window
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_change_save_set (xcb_connection_t *c /**< */,
+ uint8_t mode /**< */,
+ uint8_t target /**< */,
+ uint8_t map /**< */,
+ xcb_window_t window /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_select_selection_input_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @param xcb_atom_t selection
+ ** @param uint32_t event_mask
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_select_selection_input_checked (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */,
+ xcb_atom_t selection /**< */,
+ uint32_t event_mask /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_select_selection_input
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @param xcb_atom_t selection
+ ** @param uint32_t event_mask
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_select_selection_input (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */,
+ xcb_atom_t selection /**< */,
+ uint32_t event_mask /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_select_cursor_input_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @param uint32_t event_mask
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_select_cursor_input_checked (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */,
+ uint32_t event_mask /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_select_cursor_input
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t window
+ ** @param uint32_t event_mask
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_select_cursor_input (xcb_connection_t *c /**< */,
+ xcb_window_t window /**< */,
+ uint32_t event_mask /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_xfixes_get_cursor_image_cookie_t xcb_xfixes_get_cursor_image
+ **
+ ** @param xcb_connection_t *c
+ ** @returns xcb_xfixes_get_cursor_image_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_xfixes_get_cursor_image_cookie_t
+xcb_xfixes_get_cursor_image (xcb_connection_t *c /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_xfixes_get_cursor_image_cookie_t xcb_xfixes_get_cursor_image_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @returns xcb_xfixes_get_cursor_image_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_xfixes_get_cursor_image_cookie_t
+xcb_xfixes_get_cursor_image_unchecked (xcb_connection_t *c /**< */);
+
+
+/*****************************************************************************
+ **
+ ** uint32_t * xcb_xfixes_get_cursor_image_cursor_image
+ **
+ ** @param const xcb_xfixes_get_cursor_image_reply_t *R
+ ** @returns uint32_t *
+ **
+ *****************************************************************************/
+
+uint32_t *
+xcb_xfixes_get_cursor_image_cursor_image (const xcb_xfixes_get_cursor_image_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_xfixes_get_cursor_image_cursor_image_length
+ **
+ ** @param const xcb_xfixes_get_cursor_image_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_xfixes_get_cursor_image_cursor_image_length (const xcb_xfixes_get_cursor_image_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_xfixes_get_cursor_image_cursor_image_end
+ **
+ ** @param const xcb_xfixes_get_cursor_image_reply_t *R
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_xfixes_get_cursor_image_cursor_image_end (const xcb_xfixes_get_cursor_image_reply_t *R /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_xfixes_get_cursor_image_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_xfixes_get_cursor_image_reply_t * xcb_xfixes_get_cursor_image_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_get_cursor_image_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_xfixes_get_cursor_image_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_xfixes_get_cursor_image_reply_t *
+xcb_xfixes_get_cursor_image_reply (xcb_connection_t *c /**< */,
+ xcb_xfixes_get_cursor_image_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Get the next element of the iterator
+ * @param i Pointer to a xcb_xfixes_region_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_xfixes_region_t)
+ */
+
+/*****************************************************************************
+ **
+ ** void xcb_xfixes_region_next
+ **
+ ** @param xcb_xfixes_region_iterator_t *i
+ ** @returns void
+ **
+ *****************************************************************************/
+
+void
+xcb_xfixes_region_next (xcb_xfixes_region_iterator_t *i /**< */);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_xfixes_region_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_generic_iterator_t xcb_xfixes_region_end
+ **
+ ** @param xcb_xfixes_region_iterator_t i
+ ** @returns xcb_generic_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_generic_iterator_t
+xcb_xfixes_region_end (xcb_xfixes_region_iterator_t i /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_create_region_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @param uint32_t rectangles_len
+ ** @param const xcb_rectangle_t *rectangles
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_create_region_checked (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */,
+ uint32_t rectangles_len /**< */,
+ const xcb_rectangle_t *rectangles /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_create_region
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @param uint32_t rectangles_len
+ ** @param const xcb_rectangle_t *rectangles
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_create_region (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */,
+ uint32_t rectangles_len /**< */,
+ const xcb_rectangle_t *rectangles /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_create_region_from_bitmap_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @param xcb_pixmap_t bitmap
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_create_region_from_bitmap_checked (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */,
+ xcb_pixmap_t bitmap /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_create_region_from_bitmap
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @param xcb_pixmap_t bitmap
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_create_region_from_bitmap (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */,
+ xcb_pixmap_t bitmap /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_create_region_from_window_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @param xcb_window_t window
+ ** @param xcb_shape_kind_t kind
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_create_region_from_window_checked (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */,
+ xcb_window_t window /**< */,
+ xcb_shape_kind_t kind /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_create_region_from_window
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @param xcb_window_t window
+ ** @param xcb_shape_kind_t kind
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_create_region_from_window (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */,
+ xcb_window_t window /**< */,
+ xcb_shape_kind_t kind /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_create_region_from_gc_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @param xcb_gcontext_t gc
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_create_region_from_gc_checked (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */,
+ xcb_gcontext_t gc /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_create_region_from_gc
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @param xcb_gcontext_t gc
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_create_region_from_gc (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */,
+ xcb_gcontext_t gc /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_create_region_from_picture_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @param xcb_render_picture_t picture
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_create_region_from_picture_checked (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */,
+ xcb_render_picture_t picture /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_create_region_from_picture
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @param xcb_render_picture_t picture
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_create_region_from_picture (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */,
+ xcb_render_picture_t picture /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_destroy_region_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_destroy_region_checked (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_destroy_region
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_destroy_region (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_set_region_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @param uint32_t rectangles_len
+ ** @param const xcb_rectangle_t *rectangles
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_set_region_checked (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */,
+ uint32_t rectangles_len /**< */,
+ const xcb_rectangle_t *rectangles /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_set_region
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @param uint32_t rectangles_len
+ ** @param const xcb_rectangle_t *rectangles
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_set_region (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */,
+ uint32_t rectangles_len /**< */,
+ const xcb_rectangle_t *rectangles /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_copy_region_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t source
+ ** @param xcb_xfixes_region_t destination
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_copy_region_checked (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t source /**< */,
+ xcb_xfixes_region_t destination /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_copy_region
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t source
+ ** @param xcb_xfixes_region_t destination
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_copy_region (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t source /**< */,
+ xcb_xfixes_region_t destination /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_union_region_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t source1
+ ** @param xcb_xfixes_region_t source2
+ ** @param xcb_xfixes_region_t destination
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_union_region_checked (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t source1 /**< */,
+ xcb_xfixes_region_t source2 /**< */,
+ xcb_xfixes_region_t destination /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_union_region
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t source1
+ ** @param xcb_xfixes_region_t source2
+ ** @param xcb_xfixes_region_t destination
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_union_region (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t source1 /**< */,
+ xcb_xfixes_region_t source2 /**< */,
+ xcb_xfixes_region_t destination /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_intersect_region_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t source1
+ ** @param xcb_xfixes_region_t source2
+ ** @param xcb_xfixes_region_t destination
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_intersect_region_checked (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t source1 /**< */,
+ xcb_xfixes_region_t source2 /**< */,
+ xcb_xfixes_region_t destination /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_intersect_region
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t source1
+ ** @param xcb_xfixes_region_t source2
+ ** @param xcb_xfixes_region_t destination
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_intersect_region (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t source1 /**< */,
+ xcb_xfixes_region_t source2 /**< */,
+ xcb_xfixes_region_t destination /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_subtract_region_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t source1
+ ** @param xcb_xfixes_region_t source2
+ ** @param xcb_xfixes_region_t destination
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_subtract_region_checked (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t source1 /**< */,
+ xcb_xfixes_region_t source2 /**< */,
+ xcb_xfixes_region_t destination /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_subtract_region
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t source1
+ ** @param xcb_xfixes_region_t source2
+ ** @param xcb_xfixes_region_t destination
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_subtract_region (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t source1 /**< */,
+ xcb_xfixes_region_t source2 /**< */,
+ xcb_xfixes_region_t destination /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_invert_region_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t source
+ ** @param xcb_rectangle_t bounds
+ ** @param xcb_xfixes_region_t destination
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_invert_region_checked (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t source /**< */,
+ xcb_rectangle_t bounds /**< */,
+ xcb_xfixes_region_t destination /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_invert_region
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t source
+ ** @param xcb_rectangle_t bounds
+ ** @param xcb_xfixes_region_t destination
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_invert_region (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t source /**< */,
+ xcb_rectangle_t bounds /**< */,
+ xcb_xfixes_region_t destination /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_translate_region_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @param int16_t dx
+ ** @param int16_t dy
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_translate_region_checked (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */,
+ int16_t dx /**< */,
+ int16_t dy /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_translate_region
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @param int16_t dx
+ ** @param int16_t dy
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_translate_region (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */,
+ int16_t dx /**< */,
+ int16_t dy /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_region_extents_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t source
+ ** @param xcb_xfixes_region_t destination
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_region_extents_checked (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t source /**< */,
+ xcb_xfixes_region_t destination /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_region_extents
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t source
+ ** @param xcb_xfixes_region_t destination
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_region_extents (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t source /**< */,
+ xcb_xfixes_region_t destination /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_xfixes_fetch_region_cookie_t xcb_xfixes_fetch_region
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @returns xcb_xfixes_fetch_region_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_xfixes_fetch_region_cookie_t
+xcb_xfixes_fetch_region (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_xfixes_fetch_region_cookie_t xcb_xfixes_fetch_region_unchecked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_region_t region
+ ** @returns xcb_xfixes_fetch_region_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_xfixes_fetch_region_cookie_t
+xcb_xfixes_fetch_region_unchecked (xcb_connection_t *c /**< */,
+ xcb_xfixes_region_t region /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_rectangle_t * xcb_xfixes_fetch_region_rectangles
+ **
+ ** @param const xcb_xfixes_fetch_region_reply_t *R
+ ** @returns xcb_rectangle_t *
+ **
+ *****************************************************************************/
+
+xcb_rectangle_t *
+xcb_xfixes_fetch_region_rectangles (const xcb_xfixes_fetch_region_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** int xcb_xfixes_fetch_region_rectangles_length
+ **
+ ** @param const xcb_xfixes_fetch_region_reply_t *R
+ ** @returns int
+ **
+ *****************************************************************************/
+
+int
+xcb_xfixes_fetch_region_rectangles_length (const xcb_xfixes_fetch_region_reply_t *R /**< */);
+
+
+/*****************************************************************************
+ **
+ ** xcb_rectangle_iterator_t xcb_xfixes_fetch_region_rectangles_iterator
+ **
+ ** @param const xcb_xfixes_fetch_region_reply_t *R
+ ** @returns xcb_rectangle_iterator_t
+ **
+ *****************************************************************************/
+
+xcb_rectangle_iterator_t
+xcb_xfixes_fetch_region_rectangles_iterator (const xcb_xfixes_fetch_region_reply_t *R /**< */);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_xfixes_fetch_region_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_xfixes_fetch_region_reply_t * xcb_xfixes_fetch_region_reply
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_xfixes_fetch_region_cookie_t cookie
+ ** @param xcb_generic_error_t **e
+ ** @returns xcb_xfixes_fetch_region_reply_t *
+ **
+ *****************************************************************************/
+
+xcb_xfixes_fetch_region_reply_t *
+xcb_xfixes_fetch_region_reply (xcb_connection_t *c /**< */,
+ xcb_xfixes_fetch_region_cookie_t cookie /**< */,
+ xcb_generic_error_t **e /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_set_gc_clip_region_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_gcontext_t gc
+ ** @param xcb_xfixes_region_t region
+ ** @param int16_t x_origin
+ ** @param int16_t y_origin
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_set_gc_clip_region_checked (xcb_connection_t *c /**< */,
+ xcb_gcontext_t gc /**< */,
+ xcb_xfixes_region_t region /**< */,
+ int16_t x_origin /**< */,
+ int16_t y_origin /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_set_gc_clip_region
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_gcontext_t gc
+ ** @param xcb_xfixes_region_t region
+ ** @param int16_t x_origin
+ ** @param int16_t y_origin
+ ** @returns xcb_void_cookie_t
+ **
+ *****************************************************************************/
+
+xcb_void_cookie_t
+xcb_xfixes_set_gc_clip_region (xcb_connection_t *c /**< */,
+ xcb_gcontext_t gc /**< */,
+ xcb_xfixes_region_t region /**< */,
+ int16_t x_origin /**< */,
+ int16_t y_origin /**< */);
+
+/**
+ * Delivers a request to the X server
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+
+/*****************************************************************************
+ **
+ ** xcb_void_cookie_t xcb_xfixes_set_window_shape_region_checked
+ **
+ ** @param xcb_connection_t *c
+ ** @param xcb_window_t dest
+ ** @param xcb_shape_kind_t dest_kind
+ ** @param int16_t x_offset
+ ** @param int16_t y_offset