├── .editorconfig ├── .gitignore ├── COPYING ├── README.md ├── d_client.py ├── dub.json ├── dub.selections.json ├── rebuild.sh └── source └── xcb ├── bigreq.d ├── bigreq.xml ├── composite.d ├── composite.xml ├── damage.d ├── damage.xml ├── dpms.d ├── dpms.xml ├── dri2.d ├── dri2.xml ├── dri3.d ├── dri3.xml ├── ewmh.d ├── ge.d ├── ge.xml ├── glx.d ├── glx.xml ├── icccm.d ├── keysyms.d ├── present.d ├── present.xml ├── randr.d ├── randr.xml ├── record.d ├── record.xml ├── render.d ├── render.xml ├── res.d ├── res.xml ├── screensaver.d ├── screensaver.xml ├── shape.d ├── shape.xml ├── shm.d ├── shm.xml ├── sync.d ├── sync.xml ├── xc_misc.d ├── xc_misc.xml ├── xcb.d ├── xcbext.d ├── xevie.d ├── xevie.xml ├── xf86dri.d ├── xf86dri.xml ├── xf86vidmode.d ├── xf86vidmode.xml ├── xfixes.d ├── xfixes.xml ├── xinerama.d ├── xinerama.xml ├── xinput.d ├── xinput.xml ├── xkb.d ├── xkb.xml ├── xprint.d ├── xprint.xml ├── xproto.d ├── xproto.xml ├── xselinux.d ├── xselinux.xml ├── xtest.d ├── xtest.xml ├── xv.d ├── xv.xml ├── xvmc.d └── xvmc.xml /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = tab 5 | end_of_line = lf 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | max_line_length = 160 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | 14 | [*.d] 15 | # It's more like K&R than otbs, but K&R does not exist in dfmt 16 | dfmt_brace_style = otbs 17 | dfmt_soft_max_line_length = 120 18 | dfmt_align_switch_statements = true 19 | dfmt_outdent_attributes = true 20 | dfmt_split_operator_at_line_end = false 21 | dfmt_space_after_cast = false 22 | dfmt_space_after_keywords = false 23 | dfmt_selective_import_space = true 24 | dfmt_compact_labeled_statements = true 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .dub 2 | docs.json 3 | __dummy.html 4 | *.o 5 | *.obj 6 | libxcb-d.a 7 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- 1 | xcb-d files (Everything file that is not a XCB file) 2 | ------------------------------------------------------------ 3 | *************************************************************************** 4 | Copyright 2015 Dan "Wild" Printzell 5 | 6 | Permission to use, copy, modify, distribute, and sell this software and its 7 | documentation for any purpose is hereby granted without fee, provided that 8 | the above copyright notice appear in all copies and that both that 9 | copyright notice and this permission notice appear in supporting 10 | documentation. 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 19 | AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | Except as contained in this notice, the name of The Open Group shall not be 23 | used in advertising or otherwise to promote the sale, use or other dealings 24 | in this Software without prior written authorization from The Open Group. 25 | **************************************************************************** 26 | 27 | 28 | XCB XML files (xcb-proto license) & XCB files (c_client.py, xcb.h) (xcb license) 29 | ----------------------------- 30 | Copyright (C) 2001-2006 Bart Massey, Jamey Sharp, and Josh Triplett. 31 | All Rights Reserved. 32 | 33 | Permission is hereby granted, free of charge, to any person 34 | obtaining a copy of this software and associated 35 | documentation files (the "Software"), to deal in the 36 | Software without restriction, including without limitation 37 | the rights to use, copy, modify, merge, publish, distribute, 38 | sublicense, and/or sell copies of the Software, and to 39 | permit persons to whom the Software is furnished to do so, 40 | subject to the following conditions: 41 | 42 | The above copyright notice and this permission notice shall 43 | be included in all copies or substantial portions of the 44 | Software. 45 | 46 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 47 | KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 48 | WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 49 | PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 50 | BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 51 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 52 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 53 | OTHER DEALINGS IN THE SOFTWARE. 54 | 55 | Except as contained in this notice, the names of the authors 56 | or their institutions shall not be used in advertising or 57 | otherwise to promote the sale, use or other dealings in this 58 | Software without prior written authorization from the 59 | authors. 60 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # xcb-d 2 | For xcb version v1.11.1 3 | 4 | ## Description 5 | 6 | xcb-d is a proto-to-d generator wrapper. 7 | 8 | It uses a heavy modified `c_client.py` (here called `d_client.py`) from the libxcb repository. 9 | 10 | The `d_client.py` convert the .xml file from the libxcb-proto repository to .d files. 11 | 12 | ## How to update 13 | Copy in the new .xml files from the libxcb-proto repository. 14 | Change the source/xcb/xcb.d & source/xcb/xcbext.d file to match the xcb.h & xcbext.h file from the libxcb repository. 15 | Run `./rebuild.sh` 16 | 17 | ## Version scheme 18 | v2.0.0+1.11.1 means package version 2.0.0 and xcb version 1.11.1 19 | 20 | ## Licenses 21 | See COPYING for license information. 22 | -------------------------------------------------------------------------------- /dub.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xcb-d", 3 | "outputTarget": "library", 4 | "description": "XCB D binding", 5 | "copyright": "Copyright © 2015, Dan Printzell", 6 | "authors": [ 7 | "Dan Printzell" 8 | ], 9 | "license": "MIT", 10 | "libs": [ 11 | "xcb" 12 | ] 13 | } -------------------------------------------------------------------------------- /dub.selections.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileVersion": 1, 3 | "versions": {} 4 | } 5 | -------------------------------------------------------------------------------- /rebuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | pushd source/xcb 4 | find . -iname "*.xml" -exec python ../../d_client.py {} \; 5 | find . -iname "*.d" -exec dfmt -i {} \; 6 | popd 7 | dub 8 | -------------------------------------------------------------------------------- /source/xcb/bigreq.d: -------------------------------------------------------------------------------- 1 | /* 2 | * This file generated automatically from bigreq.xml by d_client.py. 3 | * Edit at your peril. 4 | */ 5 | 6 | /** 7 | * @defgroup XCB_BigRequests_API XCB BigRequests API 8 | * @brief BigRequests XCB Protocol Implementation. 9 | * @{ 10 | **/ 11 | 12 | module xcb.bigreq; 13 | 14 | import xcb.xcb; 15 | 16 | extern (C): 17 | 18 | enum int XCB_BIGREQUESTS_MAJOR_VERSION = 0; 19 | enum int XCB_BIGREQUESTS_MINOR_VERSION = 0; 20 | 21 | extern (C) __gshared extern xcb_extension_t xcb_big_requests_id; 22 | 23 | /** 24 | * @brief xcb_big_requests_enable_cookie_t 25 | **/ 26 | struct xcb_big_requests_enable_cookie_t { 27 | uint sequence; /**< */ 28 | } 29 | 30 | /** Opcode for xcb_big_requests_enable. */ 31 | enum XCB_BIG_REQUESTS_ENABLE = 0; 32 | 33 | /** 34 | * @brief xcb_big_requests_enable_request_t 35 | **/ 36 | struct xcb_big_requests_enable_request_t { 37 | ubyte major_opcode; /**< */ 38 | ubyte minor_opcode; /**< */ 39 | ushort length; /**< */ 40 | } 41 | 42 | /** 43 | * @brief xcb_big_requests_enable_reply_t 44 | **/ 45 | struct xcb_big_requests_enable_reply_t { 46 | ubyte response_type; /**< */ 47 | ubyte pad0; /**< */ 48 | ushort sequence; /**< */ 49 | uint length; /**< */ 50 | uint maximum_request_length; /**< */ 51 | } 52 | 53 | /** 54 | * 55 | * @param c The connection 56 | * @return A cookie 57 | * 58 | * Delivers a request to the X server. 59 | * 60 | */ 61 | xcb_big_requests_enable_cookie_t xcb_big_requests_enable(xcb_connection_t* c /**< */ ); 62 | 63 | /** 64 | * 65 | * @param c The connection 66 | * @return A cookie 67 | * 68 | * Delivers a request to the X server. 69 | * 70 | * This form can be used only if the request will cause 71 | * a reply to be generated. Any returned error will be 72 | * placed in the event queue. 73 | */ 74 | xcb_big_requests_enable_cookie_t xcb_big_requests_enable_unchecked(xcb_connection_t* c /**< */ ); 75 | 76 | /** 77 | * Return the reply 78 | * @param c The connection 79 | * @param cookie The cookie 80 | * @param e The xcb_generic_error_t supplied 81 | * 82 | * Returns the reply of the request asked by 83 | * 84 | * The parameter @p e supplied to this function must be NULL if 85 | * xcb_big_requests_enable_unchecked(). is used. 86 | * Otherwise, it stores the error if any. 87 | * 88 | * The returned value must be freed by the caller using free(). 89 | */ 90 | xcb_big_requests_enable_reply_t* xcb_big_requests_enable_reply(xcb_connection_t* c /**< */ , 91 | xcb_big_requests_enable_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 92 | 93 | /** 94 | * @} 95 | */ 96 | -------------------------------------------------------------------------------- /source/xcb/bigreq.xml: -------------------------------------------------------------------------------- 1 | 2 | 28 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /source/xcb/composite.xml: -------------------------------------------------------------------------------- 1 | 2 | 27 | 28 | 30 | 31 | xproto 32 | xfixes 33 | 34 | 35 | 0 36 | 1 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /source/xcb/damage.d: -------------------------------------------------------------------------------- 1 | /* 2 | * This file generated automatically from damage.xml by d_client.py. 3 | * Edit at your peril. 4 | */ 5 | 6 | /** 7 | * @defgroup XCB_Damage_API XCB Damage API 8 | * @brief Damage XCB Protocol Implementation. 9 | * @{ 10 | **/ 11 | 12 | module xcb.damage; 13 | 14 | import xcb.xcb; 15 | import xcb.xproto; 16 | import xcb.xfixes; 17 | 18 | extern (C): 19 | 20 | enum int XCB_DAMAGE_MAJOR_VERSION = 1; 21 | enum int XCB_DAMAGE_MINOR_VERSION = 1; 22 | 23 | extern (C) __gshared extern xcb_extension_t xcb_damage_id; 24 | 25 | alias xcb_damage_damage_t = uint; 26 | 27 | /** 28 | * @brief xcb_damage_damage_iterator_t 29 | **/ 30 | struct xcb_damage_damage_iterator_t { 31 | xcb_damage_damage_t* data; /**< */ 32 | int rem; /**< */ 33 | int index; /**< */ 34 | } 35 | 36 | enum xcb_damage_report_level_t { 37 | XCB_DAMAGE_REPORT_LEVEL_RAW_RECTANGLES = 0, 38 | XCB_DAMAGE_REPORT_LEVEL_DELTA_RECTANGLES = 1, 39 | XCB_DAMAGE_REPORT_LEVEL_BOUNDING_BOX = 2, 40 | XCB_DAMAGE_REPORT_LEVEL_NON_EMPTY = 3 41 | } 42 | 43 | alias XCB_DAMAGE_REPORT_LEVEL_RAW_RECTANGLES = xcb_damage_report_level_t.XCB_DAMAGE_REPORT_LEVEL_RAW_RECTANGLES; 44 | alias XCB_DAMAGE_REPORT_LEVEL_DELTA_RECTANGLES = xcb_damage_report_level_t.XCB_DAMAGE_REPORT_LEVEL_DELTA_RECTANGLES; 45 | alias XCB_DAMAGE_REPORT_LEVEL_BOUNDING_BOX = xcb_damage_report_level_t.XCB_DAMAGE_REPORT_LEVEL_BOUNDING_BOX; 46 | alias XCB_DAMAGE_REPORT_LEVEL_NON_EMPTY = xcb_damage_report_level_t.XCB_DAMAGE_REPORT_LEVEL_NON_EMPTY; 47 | 48 | /** Opcode for xcb_damage_bad_damage. */ 49 | enum XCB_DAMAGE_BAD_DAMAGE = 0; 50 | 51 | /** 52 | * @brief xcb_damage_bad_damage_error_t 53 | **/ 54 | struct xcb_damage_bad_damage_error_t { 55 | ubyte response_type; /**< */ 56 | ubyte error_code; /**< */ 57 | ushort sequence; /**< */ 58 | } 59 | 60 | /** 61 | * @brief xcb_damage_query_version_cookie_t 62 | **/ 63 | struct xcb_damage_query_version_cookie_t { 64 | uint sequence; /**< */ 65 | } 66 | 67 | /** Opcode for xcb_damage_query_version. */ 68 | enum XCB_DAMAGE_QUERY_VERSION = 0; 69 | 70 | /** 71 | * @brief xcb_damage_query_version_request_t 72 | **/ 73 | struct xcb_damage_query_version_request_t { 74 | ubyte major_opcode; /**< */ 75 | ubyte minor_opcode; /**< */ 76 | ushort length; /**< */ 77 | uint client_major_version; /**< */ 78 | uint client_minor_version; /**< */ 79 | } 80 | 81 | /** 82 | * @brief xcb_damage_query_version_reply_t 83 | **/ 84 | struct xcb_damage_query_version_reply_t { 85 | ubyte response_type; /**< */ 86 | ubyte pad0; /**< */ 87 | ushort sequence; /**< */ 88 | uint length; /**< */ 89 | uint major_version; /**< */ 90 | uint minor_version; /**< */ 91 | ubyte[16] pad1; /**< */ 92 | } 93 | 94 | /** Opcode for xcb_damage_create. */ 95 | enum XCB_DAMAGE_CREATE = 1; 96 | 97 | /** 98 | * @brief xcb_damage_create_request_t 99 | **/ 100 | struct xcb_damage_create_request_t { 101 | ubyte major_opcode; /**< */ 102 | ubyte minor_opcode; /**< */ 103 | ushort length; /**< */ 104 | xcb_damage_damage_t damage; /**< */ 105 | xcb_drawable_t drawable; /**< */ 106 | ubyte level; /**< */ 107 | ubyte[3] pad0; /**< */ 108 | } 109 | 110 | /** Opcode for xcb_damage_destroy. */ 111 | enum XCB_DAMAGE_DESTROY = 2; 112 | 113 | /** 114 | * @brief xcb_damage_destroy_request_t 115 | **/ 116 | struct xcb_damage_destroy_request_t { 117 | ubyte major_opcode; /**< */ 118 | ubyte minor_opcode; /**< */ 119 | ushort length; /**< */ 120 | xcb_damage_damage_t damage; /**< */ 121 | } 122 | 123 | /** Opcode for xcb_damage_subtract. */ 124 | enum XCB_DAMAGE_SUBTRACT = 3; 125 | 126 | /** 127 | * @brief xcb_damage_subtract_request_t 128 | **/ 129 | struct xcb_damage_subtract_request_t { 130 | ubyte major_opcode; /**< */ 131 | ubyte minor_opcode; /**< */ 132 | ushort length; /**< */ 133 | xcb_damage_damage_t damage; /**< */ 134 | xcb_xfixes_region_t repair; /**< */ 135 | xcb_xfixes_region_t parts; /**< */ 136 | } 137 | 138 | /** Opcode for xcb_damage_add. */ 139 | enum XCB_DAMAGE_ADD = 4; 140 | 141 | /** 142 | * @brief xcb_damage_add_request_t 143 | **/ 144 | struct xcb_damage_add_request_t { 145 | ubyte major_opcode; /**< */ 146 | ubyte minor_opcode; /**< */ 147 | ushort length; /**< */ 148 | xcb_drawable_t drawable; /**< */ 149 | xcb_xfixes_region_t region; /**< */ 150 | } 151 | 152 | /** Opcode for xcb_damage_notify. */ 153 | enum XCB_DAMAGE_NOTIFY = 0; 154 | 155 | /** 156 | * @brief xcb_damage_notify_event_t 157 | **/ 158 | struct xcb_damage_notify_event_t { 159 | ubyte response_type; /**< */ 160 | ubyte level; /**< */ 161 | ushort sequence; /**< */ 162 | xcb_drawable_t drawable; /**< */ 163 | xcb_damage_damage_t damage; /**< */ 164 | xcb_timestamp_t timestamp; /**< */ 165 | xcb_rectangle_t area; /**< */ 166 | xcb_rectangle_t geometry; /**< */ 167 | } 168 | 169 | /** 170 | * Get the next element of the iterator 171 | * @param i Pointer to a xcb_damage_damage_iterator_t 172 | * 173 | * Get the next element in the iterator. The member rem is 174 | * decreased by one. The member data points to the next 175 | * element. The member index is increased by sizeof(xcb_damage_damage_t) 176 | */ 177 | void xcb_damage_damage_next(xcb_damage_damage_iterator_t* i /**< */ ); 178 | 179 | /** 180 | * Return the iterator pointing to the last element 181 | * @param i An xcb_damage_damage_iterator_t 182 | * @return The iterator pointing to the last element 183 | * 184 | * Set the current element in the iterator to the last element. 185 | * The member rem is set to 0. The member data points to the 186 | * last element. 187 | */ 188 | xcb_generic_iterator_t xcb_damage_damage_end(xcb_damage_damage_iterator_t i /**< */ ); 189 | 190 | /** 191 | * 192 | * @param c The connection 193 | * @return A cookie 194 | * 195 | * Delivers a request to the X server. 196 | * 197 | */ 198 | xcb_damage_query_version_cookie_t xcb_damage_query_version(xcb_connection_t* c /**< */ , uint client_major_version /**< */ , 199 | uint client_minor_version /**< */ ); 200 | 201 | /** 202 | * 203 | * @param c The connection 204 | * @return A cookie 205 | * 206 | * Delivers a request to the X server. 207 | * 208 | * This form can be used only if the request will cause 209 | * a reply to be generated. Any returned error will be 210 | * placed in the event queue. 211 | */ 212 | xcb_damage_query_version_cookie_t xcb_damage_query_version_unchecked(xcb_connection_t* c /**< */ , 213 | uint client_major_version /**< */ , uint client_minor_version /**< */ ); 214 | 215 | /** 216 | * Return the reply 217 | * @param c The connection 218 | * @param cookie The cookie 219 | * @param e The xcb_generic_error_t supplied 220 | * 221 | * Returns the reply of the request asked by 222 | * 223 | * The parameter @p e supplied to this function must be NULL if 224 | * xcb_damage_query_version_unchecked(). is used. 225 | * Otherwise, it stores the error if any. 226 | * 227 | * The returned value must be freed by the caller using free(). 228 | */ 229 | xcb_damage_query_version_reply_t* xcb_damage_query_version_reply(xcb_connection_t* c /**< */ , 230 | xcb_damage_query_version_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 231 | 232 | /** 233 | * 234 | * @param c The connection 235 | * @return A cookie 236 | * 237 | * Delivers a request to the X server. 238 | * 239 | * This form can be used only if the request will not cause 240 | * a reply to be generated. Any returned error will be 241 | * saved for handling by xcb_request_check(). 242 | */ 243 | xcb_void_cookie_t xcb_damage_create_checked(xcb_connection_t* c /**< */ , xcb_damage_damage_t damage /**< */ , 244 | xcb_drawable_t drawable /**< */ , ubyte level /**< */ ); 245 | 246 | /** 247 | * 248 | * @param c The connection 249 | * @return A cookie 250 | * 251 | * Delivers a request to the X server. 252 | * 253 | */ 254 | xcb_void_cookie_t xcb_damage_create(xcb_connection_t* c /**< */ , xcb_damage_damage_t damage /**< */ , xcb_drawable_t drawable /**< */ , 255 | ubyte level /**< */ ); 256 | 257 | /** 258 | * 259 | * @param c The connection 260 | * @return A cookie 261 | * 262 | * Delivers a request to the X server. 263 | * 264 | * This form can be used only if the request will not cause 265 | * a reply to be generated. Any returned error will be 266 | * saved for handling by xcb_request_check(). 267 | */ 268 | xcb_void_cookie_t xcb_damage_destroy_checked(xcb_connection_t* c /**< */ , xcb_damage_damage_t damage /**< */ ); 269 | 270 | /** 271 | * 272 | * @param c The connection 273 | * @return A cookie 274 | * 275 | * Delivers a request to the X server. 276 | * 277 | */ 278 | xcb_void_cookie_t xcb_damage_destroy(xcb_connection_t* c /**< */ , xcb_damage_damage_t damage /**< */ ); 279 | 280 | /** 281 | * 282 | * @param c The connection 283 | * @return A cookie 284 | * 285 | * Delivers a request to the X server. 286 | * 287 | * This form can be used only if the request will not cause 288 | * a reply to be generated. Any returned error will be 289 | * saved for handling by xcb_request_check(). 290 | */ 291 | xcb_void_cookie_t xcb_damage_subtract_checked(xcb_connection_t* c /**< */ , xcb_damage_damage_t damage /**< */ , xcb_xfixes_region_t repair /**< */ , 292 | xcb_xfixes_region_t parts /**< */ ); 293 | 294 | /** 295 | * 296 | * @param c The connection 297 | * @return A cookie 298 | * 299 | * Delivers a request to the X server. 300 | * 301 | */ 302 | xcb_void_cookie_t xcb_damage_subtract(xcb_connection_t* c /**< */ , xcb_damage_damage_t damage /**< */ , xcb_xfixes_region_t repair /**< */ , 303 | xcb_xfixes_region_t parts /**< */ ); 304 | 305 | /** 306 | * 307 | * @param c The connection 308 | * @return A cookie 309 | * 310 | * Delivers a request to the X server. 311 | * 312 | * This form can be used only if the request will not cause 313 | * a reply to be generated. Any returned error will be 314 | * saved for handling by xcb_request_check(). 315 | */ 316 | xcb_void_cookie_t xcb_damage_add_checked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , xcb_xfixes_region_t region /**< */ ); 317 | 318 | /** 319 | * 320 | * @param c The connection 321 | * @return A cookie 322 | * 323 | * Delivers a request to the X server. 324 | * 325 | */ 326 | xcb_void_cookie_t xcb_damage_add(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , xcb_xfixes_region_t region /**< */ ); 327 | 328 | /** 329 | * @} 330 | */ 331 | -------------------------------------------------------------------------------- /source/xcb/damage.xml: -------------------------------------------------------------------------------- 1 | 2 | 29 | 30 | 32 | xproto 33 | xfixes 34 | 35 | 36 | 37 | 38 | 0 39 | 1 40 | 2 41 | 3 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /source/xcb/dpms.d: -------------------------------------------------------------------------------- 1 | /* 2 | * This file generated automatically from dpms.xml by d_client.py. 3 | * Edit at your peril. 4 | */ 5 | 6 | /** 7 | * @defgroup XCB_DPMS_API XCB DPMS API 8 | * @brief DPMS XCB Protocol Implementation. 9 | * @{ 10 | **/ 11 | 12 | module xcb.dpms; 13 | 14 | import xcb.xcb; 15 | 16 | extern (C): 17 | 18 | enum int XCB_DPMS_MAJOR_VERSION = 0; 19 | enum int XCB_DPMS_MINOR_VERSION = 0; 20 | 21 | extern (C) __gshared extern xcb_extension_t xcb_dpms_id; 22 | 23 | /** 24 | * @brief xcb_dpms_get_version_cookie_t 25 | **/ 26 | struct xcb_dpms_get_version_cookie_t { 27 | uint sequence; /**< */ 28 | } 29 | 30 | /** Opcode for xcb_dpms_get_version. */ 31 | enum XCB_DPMS_GET_VERSION = 0; 32 | 33 | /** 34 | * @brief xcb_dpms_get_version_request_t 35 | **/ 36 | struct xcb_dpms_get_version_request_t { 37 | ubyte major_opcode; /**< */ 38 | ubyte minor_opcode; /**< */ 39 | ushort length; /**< */ 40 | ushort client_major_version; /**< */ 41 | ushort client_minor_version; /**< */ 42 | } 43 | 44 | /** 45 | * @brief xcb_dpms_get_version_reply_t 46 | **/ 47 | struct xcb_dpms_get_version_reply_t { 48 | ubyte response_type; /**< */ 49 | ubyte pad0; /**< */ 50 | ushort sequence; /**< */ 51 | uint length; /**< */ 52 | ushort server_major_version; /**< */ 53 | ushort server_minor_version; /**< */ 54 | } 55 | 56 | /** 57 | * @brief xcb_dpms_capable_cookie_t 58 | **/ 59 | struct xcb_dpms_capable_cookie_t { 60 | uint sequence; /**< */ 61 | } 62 | 63 | /** Opcode for xcb_dpms_capable. */ 64 | enum XCB_DPMS_CAPABLE = 1; 65 | 66 | /** 67 | * @brief xcb_dpms_capable_request_t 68 | **/ 69 | struct xcb_dpms_capable_request_t { 70 | ubyte major_opcode; /**< */ 71 | ubyte minor_opcode; /**< */ 72 | ushort length; /**< */ 73 | } 74 | 75 | /** 76 | * @brief xcb_dpms_capable_reply_t 77 | **/ 78 | struct xcb_dpms_capable_reply_t { 79 | ubyte response_type; /**< */ 80 | ubyte pad0; /**< */ 81 | ushort sequence; /**< */ 82 | uint length; /**< */ 83 | ubyte capable; /**< */ 84 | ubyte[23] pad1; /**< */ 85 | } 86 | 87 | /** 88 | * @brief xcb_dpms_get_timeouts_cookie_t 89 | **/ 90 | struct xcb_dpms_get_timeouts_cookie_t { 91 | uint sequence; /**< */ 92 | } 93 | 94 | /** Opcode for xcb_dpms_get_timeouts. */ 95 | enum XCB_DPMS_GET_TIMEOUTS = 2; 96 | 97 | /** 98 | * @brief xcb_dpms_get_timeouts_request_t 99 | **/ 100 | struct xcb_dpms_get_timeouts_request_t { 101 | ubyte major_opcode; /**< */ 102 | ubyte minor_opcode; /**< */ 103 | ushort length; /**< */ 104 | } 105 | 106 | /** 107 | * @brief xcb_dpms_get_timeouts_reply_t 108 | **/ 109 | struct xcb_dpms_get_timeouts_reply_t { 110 | ubyte response_type; /**< */ 111 | ubyte pad0; /**< */ 112 | ushort sequence; /**< */ 113 | uint length; /**< */ 114 | ushort standby_timeout; /**< */ 115 | ushort suspend_timeout; /**< */ 116 | ushort off_timeout; /**< */ 117 | ubyte[18] pad1; /**< */ 118 | } 119 | 120 | /** Opcode for xcb_dpms_set_timeouts. */ 121 | enum XCB_DPMS_SET_TIMEOUTS = 3; 122 | 123 | /** 124 | * @brief xcb_dpms_set_timeouts_request_t 125 | **/ 126 | struct xcb_dpms_set_timeouts_request_t { 127 | ubyte major_opcode; /**< */ 128 | ubyte minor_opcode; /**< */ 129 | ushort length; /**< */ 130 | ushort standby_timeout; /**< */ 131 | ushort suspend_timeout; /**< */ 132 | ushort off_timeout; /**< */ 133 | } 134 | 135 | /** Opcode for xcb_dpms_enable. */ 136 | enum XCB_DPMS_ENABLE = 4; 137 | 138 | /** 139 | * @brief xcb_dpms_enable_request_t 140 | **/ 141 | struct xcb_dpms_enable_request_t { 142 | ubyte major_opcode; /**< */ 143 | ubyte minor_opcode; /**< */ 144 | ushort length; /**< */ 145 | } 146 | 147 | /** Opcode for xcb_dpms_disable. */ 148 | enum XCB_DPMS_DISABLE = 5; 149 | 150 | /** 151 | * @brief xcb_dpms_disable_request_t 152 | **/ 153 | struct xcb_dpms_disable_request_t { 154 | ubyte major_opcode; /**< */ 155 | ubyte minor_opcode; /**< */ 156 | ushort length; /**< */ 157 | } 158 | 159 | enum xcb_dpms_dpms_mode_t { 160 | XCB_DPMS_DPMS_MODE_ON = 0, 161 | XCB_DPMS_DPMS_MODE_STANDBY = 1, 162 | XCB_DPMS_DPMS_MODE_SUSPEND = 2, 163 | XCB_DPMS_DPMS_MODE_OFF = 3 164 | } 165 | 166 | alias XCB_DPMS_DPMS_MODE_ON = xcb_dpms_dpms_mode_t.XCB_DPMS_DPMS_MODE_ON; 167 | alias XCB_DPMS_DPMS_MODE_STANDBY = xcb_dpms_dpms_mode_t.XCB_DPMS_DPMS_MODE_STANDBY; 168 | alias XCB_DPMS_DPMS_MODE_SUSPEND = xcb_dpms_dpms_mode_t.XCB_DPMS_DPMS_MODE_SUSPEND; 169 | alias XCB_DPMS_DPMS_MODE_OFF = xcb_dpms_dpms_mode_t.XCB_DPMS_DPMS_MODE_OFF; 170 | 171 | /** Opcode for xcb_dpms_force_level. */ 172 | enum XCB_DPMS_FORCE_LEVEL = 6; 173 | 174 | /** 175 | * @brief xcb_dpms_force_level_request_t 176 | **/ 177 | struct xcb_dpms_force_level_request_t { 178 | ubyte major_opcode; /**< */ 179 | ubyte minor_opcode; /**< */ 180 | ushort length; /**< */ 181 | ushort power_level; /**< */ 182 | } 183 | 184 | /** 185 | * @brief xcb_dpms_info_cookie_t 186 | **/ 187 | struct xcb_dpms_info_cookie_t { 188 | uint sequence; /**< */ 189 | } 190 | 191 | /** Opcode for xcb_dpms_info. */ 192 | enum XCB_DPMS_INFO = 7; 193 | 194 | /** 195 | * @brief xcb_dpms_info_request_t 196 | **/ 197 | struct xcb_dpms_info_request_t { 198 | ubyte major_opcode; /**< */ 199 | ubyte minor_opcode; /**< */ 200 | ushort length; /**< */ 201 | } 202 | 203 | /** 204 | * @brief xcb_dpms_info_reply_t 205 | **/ 206 | struct xcb_dpms_info_reply_t { 207 | ubyte response_type; /**< */ 208 | ubyte pad0; /**< */ 209 | ushort sequence; /**< */ 210 | uint length; /**< */ 211 | ushort power_level; /**< */ 212 | ubyte state; /**< */ 213 | ubyte[21] pad1; /**< */ 214 | } 215 | 216 | /** 217 | * 218 | * @param c The connection 219 | * @return A cookie 220 | * 221 | * Delivers a request to the X server. 222 | * 223 | */ 224 | xcb_dpms_get_version_cookie_t xcb_dpms_get_version(xcb_connection_t* c /**< */ , ushort client_major_version /**< */ , 225 | ushort client_minor_version /**< */ ); 226 | 227 | /** 228 | * 229 | * @param c The connection 230 | * @return A cookie 231 | * 232 | * Delivers a request to the X server. 233 | * 234 | * This form can be used only if the request will cause 235 | * a reply to be generated. Any returned error will be 236 | * placed in the event queue. 237 | */ 238 | xcb_dpms_get_version_cookie_t xcb_dpms_get_version_unchecked(xcb_connection_t* c /**< */ , ushort client_major_version /**< */ , 239 | ushort client_minor_version /**< */ ); 240 | 241 | /** 242 | * Return the reply 243 | * @param c The connection 244 | * @param cookie The cookie 245 | * @param e The xcb_generic_error_t supplied 246 | * 247 | * Returns the reply of the request asked by 248 | * 249 | * The parameter @p e supplied to this function must be NULL if 250 | * xcb_dpms_get_version_unchecked(). is used. 251 | * Otherwise, it stores the error if any. 252 | * 253 | * The returned value must be freed by the caller using free(). 254 | */ 255 | xcb_dpms_get_version_reply_t* xcb_dpms_get_version_reply(xcb_connection_t* c /**< */ , 256 | xcb_dpms_get_version_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 257 | 258 | /** 259 | * 260 | * @param c The connection 261 | * @return A cookie 262 | * 263 | * Delivers a request to the X server. 264 | * 265 | */ 266 | xcb_dpms_capable_cookie_t xcb_dpms_capable(xcb_connection_t* c /**< */ ); 267 | 268 | /** 269 | * 270 | * @param c The connection 271 | * @return A cookie 272 | * 273 | * Delivers a request to the X server. 274 | * 275 | * This form can be used only if the request will cause 276 | * a reply to be generated. Any returned error will be 277 | * placed in the event queue. 278 | */ 279 | xcb_dpms_capable_cookie_t xcb_dpms_capable_unchecked(xcb_connection_t* c /**< */ ); 280 | 281 | /** 282 | * Return the reply 283 | * @param c The connection 284 | * @param cookie The cookie 285 | * @param e The xcb_generic_error_t supplied 286 | * 287 | * Returns the reply of the request asked by 288 | * 289 | * The parameter @p e supplied to this function must be NULL if 290 | * xcb_dpms_capable_unchecked(). is used. 291 | * Otherwise, it stores the error if any. 292 | * 293 | * The returned value must be freed by the caller using free(). 294 | */ 295 | xcb_dpms_capable_reply_t* xcb_dpms_capable_reply(xcb_connection_t* c /**< */ , xcb_dpms_capable_cookie_t cookie /**< */ , 296 | xcb_generic_error_t** e /**< */ ); 297 | 298 | /** 299 | * 300 | * @param c The connection 301 | * @return A cookie 302 | * 303 | * Delivers a request to the X server. 304 | * 305 | */ 306 | xcb_dpms_get_timeouts_cookie_t xcb_dpms_get_timeouts(xcb_connection_t* c /**< */ ); 307 | 308 | /** 309 | * 310 | * @param c The connection 311 | * @return A cookie 312 | * 313 | * Delivers a request to the X server. 314 | * 315 | * This form can be used only if the request will cause 316 | * a reply to be generated. Any returned error will be 317 | * placed in the event queue. 318 | */ 319 | xcb_dpms_get_timeouts_cookie_t xcb_dpms_get_timeouts_unchecked(xcb_connection_t* c /**< */ ); 320 | 321 | /** 322 | * Return the reply 323 | * @param c The connection 324 | * @param cookie The cookie 325 | * @param e The xcb_generic_error_t supplied 326 | * 327 | * Returns the reply of the request asked by 328 | * 329 | * The parameter @p e supplied to this function must be NULL if 330 | * xcb_dpms_get_timeouts_unchecked(). is used. 331 | * Otherwise, it stores the error if any. 332 | * 333 | * The returned value must be freed by the caller using free(). 334 | */ 335 | xcb_dpms_get_timeouts_reply_t* xcb_dpms_get_timeouts_reply(xcb_connection_t* c /**< */ , 336 | xcb_dpms_get_timeouts_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 337 | 338 | /** 339 | * 340 | * @param c The connection 341 | * @return A cookie 342 | * 343 | * Delivers a request to the X server. 344 | * 345 | * This form can be used only if the request will not cause 346 | * a reply to be generated. Any returned error will be 347 | * saved for handling by xcb_request_check(). 348 | */ 349 | xcb_void_cookie_t xcb_dpms_set_timeouts_checked(xcb_connection_t* c /**< */ , ushort standby_timeout /**< */ , 350 | ushort suspend_timeout /**< */ , ushort off_timeout /**< */ ); 351 | 352 | /** 353 | * 354 | * @param c The connection 355 | * @return A cookie 356 | * 357 | * Delivers a request to the X server. 358 | * 359 | */ 360 | xcb_void_cookie_t xcb_dpms_set_timeouts(xcb_connection_t* c /**< */ , ushort standby_timeout /**< */ , 361 | ushort suspend_timeout /**< */ , ushort off_timeout /**< */ ); 362 | 363 | /** 364 | * 365 | * @param c The connection 366 | * @return A cookie 367 | * 368 | * Delivers a request to the X server. 369 | * 370 | * This form can be used only if the request will not cause 371 | * a reply to be generated. Any returned error will be 372 | * saved for handling by xcb_request_check(). 373 | */ 374 | xcb_void_cookie_t xcb_dpms_enable_checked(xcb_connection_t* c /**< */ ); 375 | 376 | /** 377 | * 378 | * @param c The connection 379 | * @return A cookie 380 | * 381 | * Delivers a request to the X server. 382 | * 383 | */ 384 | xcb_void_cookie_t xcb_dpms_enable(xcb_connection_t* c /**< */ ); 385 | 386 | /** 387 | * 388 | * @param c The connection 389 | * @return A cookie 390 | * 391 | * Delivers a request to the X server. 392 | * 393 | * This form can be used only if the request will not cause 394 | * a reply to be generated. Any returned error will be 395 | * saved for handling by xcb_request_check(). 396 | */ 397 | xcb_void_cookie_t xcb_dpms_disable_checked(xcb_connection_t* c /**< */ ); 398 | 399 | /** 400 | * 401 | * @param c The connection 402 | * @return A cookie 403 | * 404 | * Delivers a request to the X server. 405 | * 406 | */ 407 | xcb_void_cookie_t xcb_dpms_disable(xcb_connection_t* c /**< */ ); 408 | 409 | /** 410 | * 411 | * @param c The connection 412 | * @return A cookie 413 | * 414 | * Delivers a request to the X server. 415 | * 416 | * This form can be used only if the request will not cause 417 | * a reply to be generated. Any returned error will be 418 | * saved for handling by xcb_request_check(). 419 | */ 420 | xcb_void_cookie_t xcb_dpms_force_level_checked(xcb_connection_t* c /**< */ , ushort power_level /**< */ ); 421 | 422 | /** 423 | * 424 | * @param c The connection 425 | * @return A cookie 426 | * 427 | * Delivers a request to the X server. 428 | * 429 | */ 430 | xcb_void_cookie_t xcb_dpms_force_level(xcb_connection_t* c /**< */ , ushort power_level /**< */ ); 431 | 432 | /** 433 | * 434 | * @param c The connection 435 | * @return A cookie 436 | * 437 | * Delivers a request to the X server. 438 | * 439 | */ 440 | xcb_dpms_info_cookie_t xcb_dpms_info(xcb_connection_t* c /**< */ ); 441 | 442 | /** 443 | * 444 | * @param c The connection 445 | * @return A cookie 446 | * 447 | * Delivers a request to the X server. 448 | * 449 | * This form can be used only if the request will cause 450 | * a reply to be generated. Any returned error will be 451 | * placed in the event queue. 452 | */ 453 | xcb_dpms_info_cookie_t xcb_dpms_info_unchecked(xcb_connection_t* c /**< */ ); 454 | 455 | /** 456 | * Return the reply 457 | * @param c The connection 458 | * @param cookie The cookie 459 | * @param e The xcb_generic_error_t supplied 460 | * 461 | * Returns the reply of the request asked by 462 | * 463 | * The parameter @p e supplied to this function must be NULL if 464 | * xcb_dpms_info_unchecked(). is used. 465 | * Otherwise, it stores the error if any. 466 | * 467 | * The returned value must be freed by the caller using free(). 468 | */ 469 | xcb_dpms_info_reply_t* xcb_dpms_info_reply(xcb_connection_t* c /**< */ , xcb_dpms_info_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 470 | 471 | /** 472 | * @} 473 | */ 474 | -------------------------------------------------------------------------------- /source/xcb/dpms.xml: -------------------------------------------------------------------------------- 1 | 2 | 28 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 0 70 | 1 71 | 2 72 | 3 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /source/xcb/dri2.xml: -------------------------------------------------------------------------------- 1 | 2 | 29 | 30 | 32 | xproto 33 | 34 | 35 | 0 36 | 1 37 | 2 38 | 3 39 | 4 40 | 5 41 | 6 42 | 7 43 | 8 44 | 9 45 | 10 46 | 47 | 48 | 49 | 0 50 | 1 51 | 52 | 53 | 54 | 1 55 | 2 56 | 3 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | driver_name_length 95 | 96 | 97 | 98 | 99 | 100 | driver_name_length 101 | 3 102 | 103 | 104 | 3 105 | 106 | 107 | driver_name_length 108 | 109 | 110 | 111 | device_name_length 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | count 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | count 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | -------------------------------------------------------------------------------- /source/xcb/dri3.d: -------------------------------------------------------------------------------- 1 | /* 2 | * This file generated automatically from dri3.xml by d_client.py. 3 | * Edit at your peril. 4 | */ 5 | 6 | /** 7 | * @defgroup XCB_DRI3_API XCB DRI3 API 8 | * @brief DRI3 XCB Protocol Implementation. 9 | * @{ 10 | **/ 11 | 12 | module xcb.dri3; 13 | 14 | import xcb.xcb; 15 | import xcb.xproto; 16 | 17 | extern (C): 18 | 19 | enum int XCB_DRI3_MAJOR_VERSION = 1; 20 | enum int XCB_DRI3_MINOR_VERSION = 0; 21 | 22 | extern (C) __gshared extern xcb_extension_t xcb_dri3_id; 23 | 24 | /** 25 | * @brief xcb_dri3_query_version_cookie_t 26 | **/ 27 | struct xcb_dri3_query_version_cookie_t { 28 | uint sequence; /**< */ 29 | } 30 | 31 | /** Opcode for xcb_dri3_query_version. */ 32 | enum XCB_DRI3_QUERY_VERSION = 0; 33 | 34 | /** 35 | * @brief xcb_dri3_query_version_request_t 36 | **/ 37 | struct xcb_dri3_query_version_request_t { 38 | ubyte major_opcode; /**< */ 39 | ubyte minor_opcode; /**< */ 40 | ushort length; /**< */ 41 | uint major_version; /**< */ 42 | uint minor_version; /**< */ 43 | } 44 | 45 | /** 46 | * @brief xcb_dri3_query_version_reply_t 47 | **/ 48 | struct xcb_dri3_query_version_reply_t { 49 | ubyte response_type; /**< */ 50 | ubyte pad0; /**< */ 51 | ushort sequence; /**< */ 52 | uint length; /**< */ 53 | uint major_version; /**< */ 54 | uint minor_version; /**< */ 55 | } 56 | 57 | /** 58 | * @brief xcb_dri3_open_cookie_t 59 | **/ 60 | struct xcb_dri3_open_cookie_t { 61 | uint sequence; /**< */ 62 | } 63 | 64 | /** Opcode for xcb_dri3_open. */ 65 | enum XCB_DRI3_OPEN = 1; 66 | 67 | /** 68 | * @brief xcb_dri3_open_request_t 69 | **/ 70 | struct xcb_dri3_open_request_t { 71 | ubyte major_opcode; /**< */ 72 | ubyte minor_opcode; /**< */ 73 | ushort length; /**< */ 74 | xcb_drawable_t drawable; /**< */ 75 | uint provider; /**< */ 76 | } 77 | 78 | /** 79 | * @brief xcb_dri3_open_reply_t 80 | **/ 81 | struct xcb_dri3_open_reply_t { 82 | ubyte response_type; /**< */ 83 | ubyte nfd; /**< */ 84 | ushort sequence; /**< */ 85 | uint length; /**< */ 86 | ubyte[24] pad0; /**< */ 87 | } 88 | 89 | /** Opcode for xcb_dri3_pixmap_from_buffer. */ 90 | enum XCB_DRI3_PIXMAP_FROM_BUFFER = 2; 91 | 92 | /** 93 | * @brief xcb_dri3_pixmap_from_buffer_request_t 94 | **/ 95 | struct xcb_dri3_pixmap_from_buffer_request_t { 96 | ubyte major_opcode; /**< */ 97 | ubyte minor_opcode; /**< */ 98 | ushort length; /**< */ 99 | xcb_pixmap_t pixmap; /**< */ 100 | xcb_drawable_t drawable; /**< */ 101 | uint size; /**< */ 102 | ushort width; /**< */ 103 | ushort height; /**< */ 104 | ushort stride; /**< */ 105 | ubyte depth; /**< */ 106 | ubyte bpp; /**< */ 107 | } 108 | 109 | /** 110 | * @brief xcb_dri3_buffer_from_pixmap_cookie_t 111 | **/ 112 | struct xcb_dri3_buffer_from_pixmap_cookie_t { 113 | uint sequence; /**< */ 114 | } 115 | 116 | /** Opcode for xcb_dri3_buffer_from_pixmap. */ 117 | enum XCB_DRI3_BUFFER_FROM_PIXMAP = 3; 118 | 119 | /** 120 | * @brief xcb_dri3_buffer_from_pixmap_request_t 121 | **/ 122 | struct xcb_dri3_buffer_from_pixmap_request_t { 123 | ubyte major_opcode; /**< */ 124 | ubyte minor_opcode; /**< */ 125 | ushort length; /**< */ 126 | xcb_pixmap_t pixmap; /**< */ 127 | } 128 | 129 | /** 130 | * @brief xcb_dri3_buffer_from_pixmap_reply_t 131 | **/ 132 | struct xcb_dri3_buffer_from_pixmap_reply_t { 133 | ubyte response_type; /**< */ 134 | ubyte nfd; /**< */ 135 | ushort sequence; /**< */ 136 | uint length; /**< */ 137 | uint size; /**< */ 138 | ushort width; /**< */ 139 | ushort height; /**< */ 140 | ushort stride; /**< */ 141 | ubyte depth; /**< */ 142 | ubyte bpp; /**< */ 143 | ubyte[12] pad0; /**< */ 144 | } 145 | 146 | /** Opcode for xcb_dri3_fence_from_fd. */ 147 | enum XCB_DRI3_FENCE_FROM_FD = 4; 148 | 149 | /** 150 | * @brief xcb_dri3_fence_from_fd_request_t 151 | **/ 152 | struct xcb_dri3_fence_from_fd_request_t { 153 | ubyte major_opcode; /**< */ 154 | ubyte minor_opcode; /**< */ 155 | ushort length; /**< */ 156 | xcb_drawable_t drawable; /**< */ 157 | uint fence; /**< */ 158 | ubyte initially_triggered; /**< */ 159 | ubyte[3] pad0; /**< */ 160 | } 161 | 162 | /** 163 | * @brief xcb_dri3_fd_from_fence_cookie_t 164 | **/ 165 | struct xcb_dri3_fd_from_fence_cookie_t { 166 | uint sequence; /**< */ 167 | } 168 | 169 | /** Opcode for xcb_dri3_fd_from_fence. */ 170 | enum XCB_DRI3_FD_FROM_FENCE = 5; 171 | 172 | /** 173 | * @brief xcb_dri3_fd_from_fence_request_t 174 | **/ 175 | struct xcb_dri3_fd_from_fence_request_t { 176 | ubyte major_opcode; /**< */ 177 | ubyte minor_opcode; /**< */ 178 | ushort length; /**< */ 179 | xcb_drawable_t drawable; /**< */ 180 | uint fence; /**< */ 181 | } 182 | 183 | /** 184 | * @brief xcb_dri3_fd_from_fence_reply_t 185 | **/ 186 | struct xcb_dri3_fd_from_fence_reply_t { 187 | ubyte response_type; /**< */ 188 | ubyte nfd; /**< */ 189 | ushort sequence; /**< */ 190 | uint length; /**< */ 191 | ubyte[24] pad0; /**< */ 192 | } 193 | 194 | /** 195 | * 196 | * @param c The connection 197 | * @return A cookie 198 | * 199 | * Delivers a request to the X server. 200 | * 201 | */ 202 | xcb_dri3_query_version_cookie_t xcb_dri3_query_version(xcb_connection_t* c /**< */ , uint major_version /**< */ , uint minor_version /**< */ ); 203 | 204 | /** 205 | * 206 | * @param c The connection 207 | * @return A cookie 208 | * 209 | * Delivers a request to the X server. 210 | * 211 | * This form can be used only if the request will cause 212 | * a reply to be generated. Any returned error will be 213 | * placed in the event queue. 214 | */ 215 | xcb_dri3_query_version_cookie_t xcb_dri3_query_version_unchecked(xcb_connection_t* c /**< */ , uint major_version /**< */ , 216 | uint minor_version /**< */ ); 217 | 218 | /** 219 | * Return the reply 220 | * @param c The connection 221 | * @param cookie The cookie 222 | * @param e The xcb_generic_error_t supplied 223 | * 224 | * Returns the reply of the request asked by 225 | * 226 | * The parameter @p e supplied to this function must be NULL if 227 | * xcb_dri3_query_version_unchecked(). is used. 228 | * Otherwise, it stores the error if any. 229 | * 230 | * The returned value must be freed by the caller using free(). 231 | */ 232 | xcb_dri3_query_version_reply_t* xcb_dri3_query_version_reply(xcb_connection_t* c /**< */ , xcb_dri3_query_version_cookie_t cookie /**< */ , 233 | xcb_generic_error_t** e /**< */ ); 234 | 235 | /** 236 | * 237 | * @param c The connection 238 | * @return A cookie 239 | * 240 | * Delivers a request to the X server. 241 | * 242 | */ 243 | xcb_dri3_open_cookie_t xcb_dri3_open(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint provider /**< */ ); 244 | 245 | /** 246 | * 247 | * @param c The connection 248 | * @return A cookie 249 | * 250 | * Delivers a request to the X server. 251 | * 252 | * This form can be used only if the request will cause 253 | * a reply to be generated. Any returned error will be 254 | * placed in the event queue. 255 | */ 256 | xcb_dri3_open_cookie_t xcb_dri3_open_unchecked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint provider /**< */ ); 257 | 258 | /** 259 | * Return the reply 260 | * @param c The connection 261 | * @param cookie The cookie 262 | * @param e The xcb_generic_error_t supplied 263 | * 264 | * Returns the reply of the request asked by 265 | * 266 | * The parameter @p e supplied to this function must be NULL if 267 | * xcb_dri3_open_unchecked(). is used. 268 | * Otherwise, it stores the error if any. 269 | * 270 | * The returned value must be freed by the caller using free(). 271 | */ 272 | xcb_dri3_open_reply_t* xcb_dri3_open_reply(xcb_connection_t* c /**< */ , xcb_dri3_open_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 273 | 274 | /** 275 | * Return the reply fds 276 | * @param c The connection 277 | * @param reply The reply 278 | * 279 | * Returns the array of reply fds of the request asked by 280 | * 281 | * The returned value must be freed by the caller using free(). 282 | */ 283 | int* xcb_dri3_open_reply_fds(xcb_connection_t* c /**< */ , xcb_dri3_open_reply_t* reply /**< */ ); 284 | 285 | /** 286 | * 287 | * @param c The connection 288 | * @return A cookie 289 | * 290 | * Delivers a request to the X server. 291 | * 292 | * This form can be used only if the request will not cause 293 | * a reply to be generated. Any returned error will be 294 | * saved for handling by xcb_request_check(). 295 | */ 296 | xcb_void_cookie_t xcb_dri3_pixmap_from_buffer_checked(xcb_connection_t* c /**< */ , xcb_pixmap_t pixmap /**< */ , xcb_drawable_t drawable /**< */ , 297 | uint size /**< */ , ushort width /**< */ , ushort height /**< */ , ushort stride /**< */ , ubyte depth /**< */ , ubyte bpp /**< */ , 298 | int pixmap_fd /**< */ ); 299 | 300 | /** 301 | * 302 | * @param c The connection 303 | * @return A cookie 304 | * 305 | * Delivers a request to the X server. 306 | * 307 | */ 308 | xcb_void_cookie_t xcb_dri3_pixmap_from_buffer(xcb_connection_t* c /**< */ , xcb_pixmap_t pixmap /**< */ , xcb_drawable_t drawable /**< */ , uint size /**< */ , 309 | ushort width /**< */ , ushort height /**< */ , ushort stride /**< */ , ubyte depth /**< */ , ubyte bpp /**< */ , int pixmap_fd /**< */ ); 310 | 311 | /** 312 | * 313 | * @param c The connection 314 | * @return A cookie 315 | * 316 | * Delivers a request to the X server. 317 | * 318 | */ 319 | xcb_dri3_buffer_from_pixmap_cookie_t xcb_dri3_buffer_from_pixmap(xcb_connection_t* c /**< */ , xcb_pixmap_t pixmap /**< */ ); 320 | 321 | /** 322 | * 323 | * @param c The connection 324 | * @return A cookie 325 | * 326 | * Delivers a request to the X server. 327 | * 328 | * This form can be used only if the request will cause 329 | * a reply to be generated. Any returned error will be 330 | * placed in the event queue. 331 | */ 332 | xcb_dri3_buffer_from_pixmap_cookie_t xcb_dri3_buffer_from_pixmap_unchecked(xcb_connection_t* c /**< */ , xcb_pixmap_t pixmap /**< */ ); 333 | 334 | /** 335 | * Return the reply 336 | * @param c The connection 337 | * @param cookie The cookie 338 | * @param e The xcb_generic_error_t supplied 339 | * 340 | * Returns the reply of the request asked by 341 | * 342 | * The parameter @p e supplied to this function must be NULL if 343 | * xcb_dri3_buffer_from_pixmap_unchecked(). is used. 344 | * Otherwise, it stores the error if any. 345 | * 346 | * The returned value must be freed by the caller using free(). 347 | */ 348 | xcb_dri3_buffer_from_pixmap_reply_t* xcb_dri3_buffer_from_pixmap_reply(xcb_connection_t* c /**< */ , 349 | xcb_dri3_buffer_from_pixmap_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 350 | 351 | /** 352 | * Return the reply fds 353 | * @param c The connection 354 | * @param reply The reply 355 | * 356 | * Returns the array of reply fds of the request asked by 357 | * 358 | * The returned value must be freed by the caller using free(). 359 | */ 360 | int* xcb_dri3_buffer_from_pixmap_reply_fds(xcb_connection_t* c /**< */ , xcb_dri3_buffer_from_pixmap_reply_t* reply /**< */ ); 361 | 362 | /** 363 | * 364 | * @param c The connection 365 | * @return A cookie 366 | * 367 | * Delivers a request to the X server. 368 | * 369 | * This form can be used only if the request will not cause 370 | * a reply to be generated. Any returned error will be 371 | * saved for handling by xcb_request_check(). 372 | */ 373 | xcb_void_cookie_t xcb_dri3_fence_from_fd_checked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint fence /**< */ , 374 | ubyte initially_triggered /**< */ , int fence_fd /**< */ ); 375 | 376 | /** 377 | * 378 | * @param c The connection 379 | * @return A cookie 380 | * 381 | * Delivers a request to the X server. 382 | * 383 | */ 384 | xcb_void_cookie_t xcb_dri3_fence_from_fd(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint fence /**< */ , 385 | ubyte initially_triggered /**< */ , int fence_fd /**< */ ); 386 | 387 | /** 388 | * 389 | * @param c The connection 390 | * @return A cookie 391 | * 392 | * Delivers a request to the X server. 393 | * 394 | */ 395 | xcb_dri3_fd_from_fence_cookie_t xcb_dri3_fd_from_fence(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint fence /**< */ ); 396 | 397 | /** 398 | * 399 | * @param c The connection 400 | * @return A cookie 401 | * 402 | * Delivers a request to the X server. 403 | * 404 | * This form can be used only if the request will cause 405 | * a reply to be generated. Any returned error will be 406 | * placed in the event queue. 407 | */ 408 | xcb_dri3_fd_from_fence_cookie_t xcb_dri3_fd_from_fence_unchecked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , 409 | uint fence /**< */ ); 410 | 411 | /** 412 | * Return the reply 413 | * @param c The connection 414 | * @param cookie The cookie 415 | * @param e The xcb_generic_error_t supplied 416 | * 417 | * Returns the reply of the request asked by 418 | * 419 | * The parameter @p e supplied to this function must be NULL if 420 | * xcb_dri3_fd_from_fence_unchecked(). is used. 421 | * Otherwise, it stores the error if any. 422 | * 423 | * The returned value must be freed by the caller using free(). 424 | */ 425 | xcb_dri3_fd_from_fence_reply_t* xcb_dri3_fd_from_fence_reply(xcb_connection_t* c /**< */ , xcb_dri3_fd_from_fence_cookie_t cookie /**< */ , 426 | xcb_generic_error_t** e /**< */ ); 427 | 428 | /** 429 | * Return the reply fds 430 | * @param c The connection 431 | * @param reply The reply 432 | * 433 | * Returns the array of reply fds of the request asked by 434 | * 435 | * The returned value must be freed by the caller using free(). 436 | */ 437 | int* xcb_dri3_fd_from_fence_reply_fds(xcb_connection_t* c /**< */ , xcb_dri3_fd_from_fence_reply_t* reply /**< */ ); 438 | 439 | /** 440 | * @} 441 | */ 442 | -------------------------------------------------------------------------------- /source/xcb/dri3.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 27 | xproto 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /source/xcb/ge.d: -------------------------------------------------------------------------------- 1 | /* 2 | * This file generated automatically from ge.xml by d_client.py. 3 | * Edit at your peril. 4 | */ 5 | 6 | /** 7 | * @defgroup XCB_GenericEvent_API XCB GenericEvent API 8 | * @brief GenericEvent XCB Protocol Implementation. 9 | * @{ 10 | **/ 11 | 12 | module xcb.ge; 13 | 14 | import xcb.xcb; 15 | 16 | extern (C): 17 | 18 | enum int XCB_GENERICEVENT_MAJOR_VERSION = 1; 19 | enum int XCB_GENERICEVENT_MINOR_VERSION = 0; 20 | 21 | extern (C) __gshared extern xcb_extension_t xcb_genericevent_id; 22 | 23 | /** 24 | * @brief xcb_genericevent_query_version_cookie_t 25 | **/ 26 | struct xcb_genericevent_query_version_cookie_t { 27 | uint sequence; /**< */ 28 | } 29 | 30 | /** Opcode for xcb_genericevent_query_version. */ 31 | enum XCB_GENERICEVENT_QUERY_VERSION = 0; 32 | 33 | /** 34 | * @brief xcb_genericevent_query_version_request_t 35 | **/ 36 | struct xcb_genericevent_query_version_request_t { 37 | ubyte major_opcode; /**< */ 38 | ubyte minor_opcode; /**< */ 39 | ushort length; /**< */ 40 | ushort client_major_version; /**< */ 41 | ushort client_minor_version; /**< */ 42 | } 43 | 44 | /** 45 | * @brief xcb_genericevent_query_version_reply_t 46 | **/ 47 | struct xcb_genericevent_query_version_reply_t { 48 | ubyte response_type; /**< */ 49 | ubyte pad0; /**< */ 50 | ushort sequence; /**< */ 51 | uint length; /**< */ 52 | ushort major_version; /**< */ 53 | ushort minor_version; /**< */ 54 | ubyte[20] pad1; /**< */ 55 | } 56 | 57 | /** 58 | * 59 | * @param c The connection 60 | * @return A cookie 61 | * 62 | * Delivers a request to the X server. 63 | * 64 | */ 65 | xcb_genericevent_query_version_cookie_t xcb_genericevent_query_version(xcb_connection_t* c /**< */ , ushort client_major_version /**< */ , 66 | ushort client_minor_version /**< */ ); 67 | 68 | /** 69 | * 70 | * @param c The connection 71 | * @return A cookie 72 | * 73 | * Delivers a request to the X server. 74 | * 75 | * This form can be used only if the request will cause 76 | * a reply to be generated. Any returned error will be 77 | * placed in the event queue. 78 | */ 79 | xcb_genericevent_query_version_cookie_t xcb_genericevent_query_version_unchecked(xcb_connection_t* c /**< */ , 80 | ushort client_major_version /**< */ , ushort client_minor_version /**< */ ); 81 | 82 | /** 83 | * Return the reply 84 | * @param c The connection 85 | * @param cookie The cookie 86 | * @param e The xcb_generic_error_t supplied 87 | * 88 | * Returns the reply of the request asked by 89 | * 90 | * The parameter @p e supplied to this function must be NULL if 91 | * xcb_genericevent_query_version_unchecked(). is used. 92 | * Otherwise, it stores the error if any. 93 | * 94 | * The returned value must be freed by the caller using free(). 95 | */ 96 | xcb_genericevent_query_version_reply_t* xcb_genericevent_query_version_reply(xcb_connection_t* c /**< */ , 97 | xcb_genericevent_query_version_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 98 | 99 | /** 100 | * @} 101 | */ 102 | -------------------------------------------------------------------------------- /source/xcb/ge.xml: -------------------------------------------------------------------------------- 1 | 2 | 27 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /source/xcb/keysyms.d: -------------------------------------------------------------------------------- 1 | module xcb.keysyms; 2 | 3 | import xcb.xcb; 4 | 5 | extern (C): 6 | 7 | struct xcb_key_symbols_t { 8 | } 9 | 10 | xcb_key_symbols_t* xcb_key_symbols_alloc(xcb_connection_t* c); 11 | 12 | void xcb_key_symbols_free(xcb_key_symbols_t* syms); 13 | 14 | xcb_keysym_t xcb_key_symbols_get_keysym(xcb_key_symbols_t* syms, xcb_keycode_t keycode, int col); 15 | 16 | /** 17 | * @brief Get the keycodes attached to a keysyms. 18 | * There can be several value, so what is returned is an array of keycode 19 | * terminated by XCB_NO_SYMBOL. You are responsible to free it. 20 | * Be aware that this function can be slow. It will convert all 21 | * combinations of all available keycodes to keysyms to find the ones that 22 | * match. 23 | * @param syms Key symbols. 24 | * @param keysym The keysym to look for. 25 | * @return A XCB_NO_SYMBOL terminated array of keycode, or NULL if nothing is found. 26 | */ 27 | xcb_keycode_t* xcb_key_symbols_get_keycode(xcb_key_symbols_t* syms, xcb_keysym_t keysym); 28 | 29 | xcb_keysym_t xcb_key_press_lookup_keysym(xcb_key_symbols_t* syms, xcb_key_press_event_t* event, int col); 30 | 31 | xcb_keysym_t xcb_key_release_lookup_keysym(xcb_key_symbols_t* syms, xcb_key_release_event_t* event, int col); 32 | 33 | int xcb_refresh_keyboard_mapping(xcb_key_symbols_t* syms, xcb_mapping_notify_event_t* event); 34 | 35 | /* TODO: need XLookupString equivalent */ 36 | 37 | /* Tests for classes of symbols */ 38 | 39 | int xcb_is_keypad_key(xcb_keysym_t keysym); 40 | 41 | int xcb_is_private_keypad_key(xcb_keysym_t keysym); 42 | 43 | int xcb_is_cursor_key(xcb_keysym_t keysym); 44 | 45 | int xcb_is_pf_key(xcb_keysym_t keysym); 46 | 47 | int xcb_is_function_key(xcb_keysym_t keysym); 48 | 49 | int xcb_is_misc_function_key(xcb_keysym_t keysym); 50 | 51 | int xcb_is_modifier_key(xcb_keysym_t keysym); 52 | -------------------------------------------------------------------------------- /source/xcb/present.xml: -------------------------------------------------------------------------------- 1 | 2 | 24 | 25 | 27 | xproto 28 | randr 29 | xfixes 30 | sync 31 | 32 | 33 | 34 | 35 | 0 36 | 1 37 | 2 38 | 3 39 | 40 | 41 | 42 | 0 43 | 0 44 | 1 45 | 2 46 | 3 47 | 48 | 49 | 50 | 0 51 | 0 52 | 1 53 | 2 54 | 55 | 56 | 57 | 0 58 | 0 59 | 1 60 | 2 61 | 62 | 63 | 64 | 0 65 | 1 66 | 67 | 68 | 69 | 0 70 | 1 71 | 2 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | -------------------------------------------------------------------------------- /source/xcb/record.xml: -------------------------------------------------------------------------------- 1 | 2 | 28 | 29 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 0 65 | 1 66 | 2 67 | 68 | 69 | 70 | 71 | 1 72 | 2 73 | 3 74 | 75 | 76 | 77 | 78 | 79 | 80 | num_ranges 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | num_client_specs 108 | 109 | 110 | num_ranges 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | num_client_specs 122 | 123 | 124 | num_ranges 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | num_client_specs 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | num_intercepted_clients 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | length 164 | 4 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | -------------------------------------------------------------------------------- /source/xcb/res.xml: -------------------------------------------------------------------------------- 1 | 2 | 28 | 30 | xproto 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 0 46 | 1 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | length 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | num_cross_references 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | num_clients 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | num_types 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | num_specs 130 | 131 | 132 | 133 | 134 | 135 | 136 | num_ids 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | num_specs 146 | 147 | 148 | 149 | 150 | 151 | 152 | num_sizes 153 | 154 | 155 | 156 | 157 | -------------------------------------------------------------------------------- /source/xcb/screensaver.d: -------------------------------------------------------------------------------- 1 | /* 2 | * This file generated automatically from screensaver.xml by d_client.py. 3 | * Edit at your peril. 4 | */ 5 | 6 | /** 7 | * @defgroup XCB_ScreenSaver_API XCB ScreenSaver API 8 | * @brief ScreenSaver XCB Protocol Implementation. 9 | * @{ 10 | **/ 11 | 12 | module xcb.screensaver; 13 | 14 | import xcb.xcb; 15 | import xcb.xproto; 16 | 17 | extern (C): 18 | 19 | enum int XCB_SCREENSAVER_MAJOR_VERSION = 1; 20 | enum int XCB_SCREENSAVER_MINOR_VERSION = 1; 21 | 22 | extern (C) __gshared extern xcb_extension_t xcb_screensaver_id; 23 | 24 | enum xcb_screensaver_kind_t { 25 | XCB_SCREENSAVER_KIND_BLANKED = 0, 26 | XCB_SCREENSAVER_KIND_INTERNAL = 1, 27 | XCB_SCREENSAVER_KIND_EXTERNAL = 2 28 | } 29 | 30 | alias XCB_SCREENSAVER_KIND_BLANKED = xcb_screensaver_kind_t.XCB_SCREENSAVER_KIND_BLANKED; 31 | alias XCB_SCREENSAVER_KIND_INTERNAL = xcb_screensaver_kind_t.XCB_SCREENSAVER_KIND_INTERNAL; 32 | alias XCB_SCREENSAVER_KIND_EXTERNAL = xcb_screensaver_kind_t.XCB_SCREENSAVER_KIND_EXTERNAL; 33 | 34 | enum xcb_screensaver_event_t { 35 | XCB_SCREENSAVER_EVENT_NOTIFY_MASK = 1, 36 | XCB_SCREENSAVER_EVENT_CYCLE_MASK = 2 37 | } 38 | 39 | alias XCB_SCREENSAVER_EVENT_NOTIFY_MASK = xcb_screensaver_event_t.XCB_SCREENSAVER_EVENT_NOTIFY_MASK; 40 | alias XCB_SCREENSAVER_EVENT_CYCLE_MASK = xcb_screensaver_event_t.XCB_SCREENSAVER_EVENT_CYCLE_MASK; 41 | 42 | enum xcb_screensaver_state_t { 43 | XCB_SCREENSAVER_STATE_OFF = 0, 44 | XCB_SCREENSAVER_STATE_ON = 1, 45 | XCB_SCREENSAVER_STATE_CYCLE = 2, 46 | XCB_SCREENSAVER_STATE_DISABLED = 3 47 | } 48 | 49 | alias XCB_SCREENSAVER_STATE_OFF = xcb_screensaver_state_t.XCB_SCREENSAVER_STATE_OFF; 50 | alias XCB_SCREENSAVER_STATE_ON = xcb_screensaver_state_t.XCB_SCREENSAVER_STATE_ON; 51 | alias XCB_SCREENSAVER_STATE_CYCLE = xcb_screensaver_state_t.XCB_SCREENSAVER_STATE_CYCLE; 52 | alias XCB_SCREENSAVER_STATE_DISABLED = xcb_screensaver_state_t.XCB_SCREENSAVER_STATE_DISABLED; 53 | 54 | /** 55 | * @brief xcb_screensaver_query_version_cookie_t 56 | **/ 57 | struct xcb_screensaver_query_version_cookie_t { 58 | uint sequence; /**< */ 59 | } 60 | 61 | /** Opcode for xcb_screensaver_query_version. */ 62 | enum XCB_SCREENSAVER_QUERY_VERSION = 0; 63 | 64 | /** 65 | * @brief xcb_screensaver_query_version_request_t 66 | **/ 67 | struct xcb_screensaver_query_version_request_t { 68 | ubyte major_opcode; /**< */ 69 | ubyte minor_opcode; /**< */ 70 | ushort length; /**< */ 71 | ubyte client_major_version; /**< */ 72 | ubyte client_minor_version; /**< */ 73 | ubyte[2] pad0; /**< */ 74 | } 75 | 76 | /** 77 | * @brief xcb_screensaver_query_version_reply_t 78 | **/ 79 | struct xcb_screensaver_query_version_reply_t { 80 | ubyte response_type; /**< */ 81 | ubyte pad0; /**< */ 82 | ushort sequence; /**< */ 83 | uint length; /**< */ 84 | ushort server_major_version; /**< */ 85 | ushort server_minor_version; /**< */ 86 | ubyte[20] pad1; /**< */ 87 | } 88 | 89 | /** 90 | * @brief xcb_screensaver_query_info_cookie_t 91 | **/ 92 | struct xcb_screensaver_query_info_cookie_t { 93 | uint sequence; /**< */ 94 | } 95 | 96 | /** Opcode for xcb_screensaver_query_info. */ 97 | enum XCB_SCREENSAVER_QUERY_INFO = 1; 98 | 99 | /** 100 | * @brief xcb_screensaver_query_info_request_t 101 | **/ 102 | struct xcb_screensaver_query_info_request_t { 103 | ubyte major_opcode; /**< */ 104 | ubyte minor_opcode; /**< */ 105 | ushort length; /**< */ 106 | xcb_drawable_t drawable; /**< */ 107 | } 108 | 109 | /** 110 | * @brief xcb_screensaver_query_info_reply_t 111 | **/ 112 | struct xcb_screensaver_query_info_reply_t { 113 | ubyte response_type; /**< */ 114 | ubyte state; /**< */ 115 | ushort sequence; /**< */ 116 | uint length; /**< */ 117 | xcb_window_t saver_window; /**< */ 118 | uint ms_until_server; /**< */ 119 | uint ms_since_user_input; /**< */ 120 | uint event_mask; /**< */ 121 | ubyte kind; /**< */ 122 | ubyte[7] pad0; /**< */ 123 | } 124 | 125 | /** Opcode for xcb_screensaver_select_input. */ 126 | enum XCB_SCREENSAVER_SELECT_INPUT = 2; 127 | 128 | /** 129 | * @brief xcb_screensaver_select_input_request_t 130 | **/ 131 | struct xcb_screensaver_select_input_request_t { 132 | ubyte major_opcode; /**< */ 133 | ubyte minor_opcode; /**< */ 134 | ushort length; /**< */ 135 | xcb_drawable_t drawable; /**< */ 136 | uint event_mask; /**< */ 137 | } 138 | 139 | /** Opcode for xcb_screensaver_set_attributes. */ 140 | enum XCB_SCREENSAVER_SET_ATTRIBUTES = 3; 141 | 142 | /** 143 | * @brief xcb_screensaver_set_attributes_request_t 144 | **/ 145 | struct xcb_screensaver_set_attributes_request_t { 146 | ubyte major_opcode; /**< */ 147 | ubyte minor_opcode; /**< */ 148 | ushort length; /**< */ 149 | xcb_drawable_t drawable; /**< */ 150 | short x; /**< */ 151 | short y; /**< */ 152 | ushort width; /**< */ 153 | ushort height; /**< */ 154 | ushort border_width; /**< */ 155 | ubyte class_; /**< */ 156 | ubyte depth; /**< */ 157 | xcb_visualid_t visual; /**< */ 158 | uint value_mask; /**< */ 159 | } 160 | 161 | /** Opcode for xcb_screensaver_unset_attributes. */ 162 | enum XCB_SCREENSAVER_UNSET_ATTRIBUTES = 4; 163 | 164 | /** 165 | * @brief xcb_screensaver_unset_attributes_request_t 166 | **/ 167 | struct xcb_screensaver_unset_attributes_request_t { 168 | ubyte major_opcode; /**< */ 169 | ubyte minor_opcode; /**< */ 170 | ushort length; /**< */ 171 | xcb_drawable_t drawable; /**< */ 172 | } 173 | 174 | /** Opcode for xcb_screensaver_suspend. */ 175 | enum XCB_SCREENSAVER_SUSPEND = 5; 176 | 177 | /** 178 | * @brief xcb_screensaver_suspend_request_t 179 | **/ 180 | struct xcb_screensaver_suspend_request_t { 181 | ubyte major_opcode; /**< */ 182 | ubyte minor_opcode; /**< */ 183 | ushort length; /**< */ 184 | ubyte suspend; /**< */ 185 | ubyte[3] pad0; /**< */ 186 | } 187 | 188 | /** Opcode for xcb_screensaver_notify. */ 189 | enum XCB_SCREENSAVER_NOTIFY = 0; 190 | 191 | /** 192 | * @brief xcb_screensaver_notify_event_t 193 | **/ 194 | struct xcb_screensaver_notify_event_t { 195 | ubyte response_type; /**< */ 196 | ubyte state; /**< */ 197 | ushort sequence; /**< */ 198 | xcb_timestamp_t time; /**< */ 199 | xcb_window_t root; /**< */ 200 | xcb_window_t window; /**< */ 201 | ubyte kind; /**< */ 202 | ubyte forced; /**< */ 203 | ubyte[14] pad0; /**< */ 204 | } 205 | 206 | /** 207 | * 208 | * @param c The connection 209 | * @return A cookie 210 | * 211 | * Delivers a request to the X server. 212 | * 213 | */ 214 | xcb_screensaver_query_version_cookie_t xcb_screensaver_query_version(xcb_connection_t* c /**< */ , 215 | ubyte client_major_version /**< */ , ubyte client_minor_version /**< */ ); 216 | 217 | /** 218 | * 219 | * @param c The connection 220 | * @return A cookie 221 | * 222 | * Delivers a request to the X server. 223 | * 224 | * This form can be used only if the request will cause 225 | * a reply to be generated. Any returned error will be 226 | * placed in the event queue. 227 | */ 228 | xcb_screensaver_query_version_cookie_t xcb_screensaver_query_version_unchecked(xcb_connection_t* c /**< */ , 229 | ubyte client_major_version /**< */ , ubyte client_minor_version /**< */ ); 230 | 231 | /** 232 | * Return the reply 233 | * @param c The connection 234 | * @param cookie The cookie 235 | * @param e The xcb_generic_error_t supplied 236 | * 237 | * Returns the reply of the request asked by 238 | * 239 | * The parameter @p e supplied to this function must be NULL if 240 | * xcb_screensaver_query_version_unchecked(). is used. 241 | * Otherwise, it stores the error if any. 242 | * 243 | * The returned value must be freed by the caller using free(). 244 | */ 245 | xcb_screensaver_query_version_reply_t* xcb_screensaver_query_version_reply(xcb_connection_t* c /**< */ , 246 | xcb_screensaver_query_version_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 247 | 248 | /** 249 | * 250 | * @param c The connection 251 | * @return A cookie 252 | * 253 | * Delivers a request to the X server. 254 | * 255 | */ 256 | xcb_screensaver_query_info_cookie_t xcb_screensaver_query_info(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ ); 257 | 258 | /** 259 | * 260 | * @param c The connection 261 | * @return A cookie 262 | * 263 | * Delivers a request to the X server. 264 | * 265 | * This form can be used only if the request will cause 266 | * a reply to be generated. Any returned error will be 267 | * placed in the event queue. 268 | */ 269 | xcb_screensaver_query_info_cookie_t xcb_screensaver_query_info_unchecked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ ); 270 | 271 | /** 272 | * Return the reply 273 | * @param c The connection 274 | * @param cookie The cookie 275 | * @param e The xcb_generic_error_t supplied 276 | * 277 | * Returns the reply of the request asked by 278 | * 279 | * The parameter @p e supplied to this function must be NULL if 280 | * xcb_screensaver_query_info_unchecked(). is used. 281 | * Otherwise, it stores the error if any. 282 | * 283 | * The returned value must be freed by the caller using free(). 284 | */ 285 | xcb_screensaver_query_info_reply_t* xcb_screensaver_query_info_reply(xcb_connection_t* c /**< */ , 286 | xcb_screensaver_query_info_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 287 | 288 | /** 289 | * 290 | * @param c The connection 291 | * @return A cookie 292 | * 293 | * Delivers a request to the X server. 294 | * 295 | * This form can be used only if the request will not cause 296 | * a reply to be generated. Any returned error will be 297 | * saved for handling by xcb_request_check(). 298 | */ 299 | xcb_void_cookie_t xcb_screensaver_select_input_checked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint event_mask /**< */ ); 300 | 301 | /** 302 | * 303 | * @param c The connection 304 | * @return A cookie 305 | * 306 | * Delivers a request to the X server. 307 | * 308 | */ 309 | xcb_void_cookie_t xcb_screensaver_select_input(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint event_mask /**< */ ); 310 | 311 | int xcb_screensaver_set_attributes_sizeof(const void* _buffer /**< */ ); 312 | 313 | /** 314 | * 315 | * @param c The connection 316 | * @return A cookie 317 | * 318 | * Delivers a request to the X server. 319 | * 320 | * This form can be used only if the request will not cause 321 | * a reply to be generated. Any returned error will be 322 | * saved for handling by xcb_request_check(). 323 | */ 324 | xcb_void_cookie_t xcb_screensaver_set_attributes_checked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , short x /**< */ , short y /**< */ , 325 | ushort width /**< */ , ushort height /**< */ , ushort border_width /**< */ , ubyte class_ /**< */ , ubyte depth /**< */ , xcb_visualid_t visual /**< */ , uint value_mask /**< */ , 326 | const uint* value_list /**< */ ); 327 | 328 | /** 329 | * 330 | * @param c The connection 331 | * @return A cookie 332 | * 333 | * Delivers a request to the X server. 334 | * 335 | */ 336 | xcb_void_cookie_t xcb_screensaver_set_attributes(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , short x /**< */ , short y /**< */ , ushort width /**< */ , 337 | ushort height /**< */ , ushort border_width /**< */ , ubyte class_ /**< */ , ubyte depth /**< */ , xcb_visualid_t visual /**< */ , 338 | uint value_mask /**< */ , const uint* value_list /**< */ ); 339 | 340 | /** 341 | * 342 | * @param c The connection 343 | * @return A cookie 344 | * 345 | * Delivers a request to the X server. 346 | * 347 | * This form can be used only if the request will not cause 348 | * a reply to be generated. Any returned error will be 349 | * saved for handling by xcb_request_check(). 350 | */ 351 | xcb_void_cookie_t xcb_screensaver_unset_attributes_checked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ ); 352 | 353 | /** 354 | * 355 | * @param c The connection 356 | * @return A cookie 357 | * 358 | * Delivers a request to the X server. 359 | * 360 | */ 361 | xcb_void_cookie_t xcb_screensaver_unset_attributes(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ ); 362 | 363 | /** 364 | * 365 | * @param c The connection 366 | * @return A cookie 367 | * 368 | * Delivers a request to the X server. 369 | * 370 | * This form can be used only if the request will not cause 371 | * a reply to be generated. Any returned error will be 372 | * saved for handling by xcb_request_check(). 373 | */ 374 | xcb_void_cookie_t xcb_screensaver_suspend_checked(xcb_connection_t* c /**< */ , ubyte suspend /**< */ ); 375 | 376 | /** 377 | * 378 | * @param c The connection 379 | * @return A cookie 380 | * 381 | * Delivers a request to the X server. 382 | * 383 | */ 384 | xcb_void_cookie_t xcb_screensaver_suspend(xcb_connection_t* c /**< */ , ubyte suspend /**< */ ); 385 | 386 | /** 387 | * @} 388 | */ 389 | -------------------------------------------------------------------------------- /source/xcb/screensaver.xml: -------------------------------------------------------------------------------- 1 | 28 | 32 | 33 | 34 | 35 | 36 | xproto 37 | 38 | 39 | 0 40 | 1 41 | 2 42 | 43 | 44 | 45 | 0 46 | 1 47 | 48 | 49 | 50 | 0 51 | 1 52 | 2 53 | 3 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | -------------------------------------------------------------------------------- /source/xcb/shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 28 | 29 | 30 | xproto 31 | 32 | 33 | 34 | 35 | 36 | 37 | 0 38 | 1 39 | 2 40 | 3 41 | 4 42 | 43 | 44 | 45 | 46 | 0 47 | 1 48 | 2 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | rectangles_len 152 | 153 | 154 | 155 | 156 | -------------------------------------------------------------------------------- /source/xcb/shm.xml: -------------------------------------------------------------------------------- 1 | 2 | 28 | 30 | xproto 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | -------------------------------------------------------------------------------- /source/xcb/sync.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 9 | xproto 10 | 11 | 12 | 13 | 14 | 0 15 | 1 16 | 2 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 0 25 | 1 26 | 2 27 | 3 28 | 29 | 30 | 31 | 0 32 | 1 33 | 34 | 35 | 36 | 0 37 | 1 38 | 2 39 | 3 40 | 4 41 | 5 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | name_len 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | counters_len 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | value_mask 140 | 141 | Counter 142 | 143 | 144 | 145 | ValueType 146 | 147 | 148 | 149 | Value 150 | 151 | 152 | 153 | TestType 154 | 155 | 156 | 157 | Delta 158 | 159 | 160 | 161 | Events 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | value_mask 172 | 173 | Counter 174 | 175 | 176 | 177 | ValueType 178 | 179 | 180 | 181 | Value 182 | 183 | 184 | 185 | TestType 186 | 187 | 188 | 189 | Delta 190 | 191 | 192 | 193 | Events 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | -------------------------------------------------------------------------------- /source/xcb/xc_misc.d: -------------------------------------------------------------------------------- 1 | /* 2 | * This file generated automatically from xc_misc.xml by d_client.py. 3 | * Edit at your peril. 4 | */ 5 | 6 | /** 7 | * @defgroup XCB_XCMisc_API XCB XCMisc API 8 | * @brief XCMisc XCB Protocol Implementation. 9 | * @{ 10 | **/ 11 | 12 | module xcb.xc_misc; 13 | 14 | import xcb.xcb; 15 | 16 | extern (C): 17 | 18 | enum int XCB_XCMISC_MAJOR_VERSION = 1; 19 | enum int XCB_XCMISC_MINOR_VERSION = 1; 20 | 21 | extern (C) __gshared extern xcb_extension_t xcb_xc_misc_id; 22 | 23 | /** 24 | * @brief xcb_xc_misc_get_version_cookie_t 25 | **/ 26 | struct xcb_xc_misc_get_version_cookie_t { 27 | uint sequence; /**< */ 28 | } 29 | 30 | /** Opcode for xcb_xc_misc_get_version. */ 31 | enum XCB_XC_MISC_GET_VERSION = 0; 32 | 33 | /** 34 | * @brief xcb_xc_misc_get_version_request_t 35 | **/ 36 | struct xcb_xc_misc_get_version_request_t { 37 | ubyte major_opcode; /**< */ 38 | ubyte minor_opcode; /**< */ 39 | ushort length; /**< */ 40 | ushort client_major_version; /**< */ 41 | ushort client_minor_version; /**< */ 42 | } 43 | 44 | /** 45 | * @brief xcb_xc_misc_get_version_reply_t 46 | **/ 47 | struct xcb_xc_misc_get_version_reply_t { 48 | ubyte response_type; /**< */ 49 | ubyte pad0; /**< */ 50 | ushort sequence; /**< */ 51 | uint length; /**< */ 52 | ushort server_major_version; /**< */ 53 | ushort server_minor_version; /**< */ 54 | } 55 | 56 | /** 57 | * @brief xcb_xc_misc_get_xid_range_cookie_t 58 | **/ 59 | struct xcb_xc_misc_get_xid_range_cookie_t { 60 | uint sequence; /**< */ 61 | } 62 | 63 | /** Opcode for xcb_xc_misc_get_xid_range. */ 64 | enum XCB_XC_MISC_GET_XID_RANGE = 1; 65 | 66 | /** 67 | * @brief xcb_xc_misc_get_xid_range_request_t 68 | **/ 69 | struct xcb_xc_misc_get_xid_range_request_t { 70 | ubyte major_opcode; /**< */ 71 | ubyte minor_opcode; /**< */ 72 | ushort length; /**< */ 73 | } 74 | 75 | /** 76 | * @brief xcb_xc_misc_get_xid_range_reply_t 77 | **/ 78 | struct xcb_xc_misc_get_xid_range_reply_t { 79 | ubyte response_type; /**< */ 80 | ubyte pad0; /**< */ 81 | ushort sequence; /**< */ 82 | uint length; /**< */ 83 | uint start_id; /**< */ 84 | uint count; /**< */ 85 | } 86 | 87 | /** 88 | * @brief xcb_xc_misc_get_xid_list_cookie_t 89 | **/ 90 | struct xcb_xc_misc_get_xid_list_cookie_t { 91 | uint sequence; /**< */ 92 | } 93 | 94 | /** Opcode for xcb_xc_misc_get_xid_list. */ 95 | enum XCB_XC_MISC_GET_XID_LIST = 2; 96 | 97 | /** 98 | * @brief xcb_xc_misc_get_xid_list_request_t 99 | **/ 100 | struct xcb_xc_misc_get_xid_list_request_t { 101 | ubyte major_opcode; /**< */ 102 | ubyte minor_opcode; /**< */ 103 | ushort length; /**< */ 104 | uint count; /**< */ 105 | } 106 | 107 | /** 108 | * @brief xcb_xc_misc_get_xid_list_reply_t 109 | **/ 110 | struct xcb_xc_misc_get_xid_list_reply_t { 111 | ubyte response_type; /**< */ 112 | ubyte pad0; /**< */ 113 | ushort sequence; /**< */ 114 | uint length; /**< */ 115 | uint ids_len; /**< */ 116 | ubyte[20] pad1; /**< */ 117 | } 118 | 119 | /** 120 | * 121 | * @param c The connection 122 | * @return A cookie 123 | * 124 | * Delivers a request to the X server. 125 | * 126 | */ 127 | xcb_xc_misc_get_version_cookie_t xcb_xc_misc_get_version(xcb_connection_t* c /**< */ , ushort client_major_version /**< */ , 128 | ushort client_minor_version /**< */ ); 129 | 130 | /** 131 | * 132 | * @param c The connection 133 | * @return A cookie 134 | * 135 | * Delivers a request to the X server. 136 | * 137 | * This form can be used only if the request will cause 138 | * a reply to be generated. Any returned error will be 139 | * placed in the event queue. 140 | */ 141 | xcb_xc_misc_get_version_cookie_t xcb_xc_misc_get_version_unchecked(xcb_connection_t* c /**< */ , 142 | ushort client_major_version /**< */ , ushort client_minor_version /**< */ ); 143 | 144 | /** 145 | * Return the reply 146 | * @param c The connection 147 | * @param cookie The cookie 148 | * @param e The xcb_generic_error_t supplied 149 | * 150 | * Returns the reply of the request asked by 151 | * 152 | * The parameter @p e supplied to this function must be NULL if 153 | * xcb_xc_misc_get_version_unchecked(). is used. 154 | * Otherwise, it stores the error if any. 155 | * 156 | * The returned value must be freed by the caller using free(). 157 | */ 158 | xcb_xc_misc_get_version_reply_t* xcb_xc_misc_get_version_reply(xcb_connection_t* c /**< */ , 159 | xcb_xc_misc_get_version_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 160 | 161 | /** 162 | * 163 | * @param c The connection 164 | * @return A cookie 165 | * 166 | * Delivers a request to the X server. 167 | * 168 | */ 169 | xcb_xc_misc_get_xid_range_cookie_t xcb_xc_misc_get_xid_range(xcb_connection_t* c /**< */ ); 170 | 171 | /** 172 | * 173 | * @param c The connection 174 | * @return A cookie 175 | * 176 | * Delivers a request to the X server. 177 | * 178 | * This form can be used only if the request will cause 179 | * a reply to be generated. Any returned error will be 180 | * placed in the event queue. 181 | */ 182 | xcb_xc_misc_get_xid_range_cookie_t xcb_xc_misc_get_xid_range_unchecked(xcb_connection_t* c /**< */ ); 183 | 184 | /** 185 | * Return the reply 186 | * @param c The connection 187 | * @param cookie The cookie 188 | * @param e The xcb_generic_error_t supplied 189 | * 190 | * Returns the reply of the request asked by 191 | * 192 | * The parameter @p e supplied to this function must be NULL if 193 | * xcb_xc_misc_get_xid_range_unchecked(). is used. 194 | * Otherwise, it stores the error if any. 195 | * 196 | * The returned value must be freed by the caller using free(). 197 | */ 198 | xcb_xc_misc_get_xid_range_reply_t* xcb_xc_misc_get_xid_range_reply(xcb_connection_t* c /**< */ , 199 | xcb_xc_misc_get_xid_range_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 200 | 201 | int xcb_xc_misc_get_xid_list_sizeof(const void* _buffer /**< */ ); 202 | 203 | /** 204 | * 205 | * @param c The connection 206 | * @return A cookie 207 | * 208 | * Delivers a request to the X server. 209 | * 210 | */ 211 | xcb_xc_misc_get_xid_list_cookie_t xcb_xc_misc_get_xid_list(xcb_connection_t* c /**< */ , uint count /**< */ ); 212 | 213 | /** 214 | * 215 | * @param c The connection 216 | * @return A cookie 217 | * 218 | * Delivers a request to the X server. 219 | * 220 | * This form can be used only if the request will cause 221 | * a reply to be generated. Any returned error will be 222 | * placed in the event queue. 223 | */ 224 | xcb_xc_misc_get_xid_list_cookie_t xcb_xc_misc_get_xid_list_unchecked(xcb_connection_t* c /**< */ , uint count /**< */ ); 225 | 226 | uint* xcb_xc_misc_get_xid_list_ids(const xcb_xc_misc_get_xid_list_reply_t* R /**< */ ); 227 | 228 | int xcb_xc_misc_get_xid_list_ids_length(const xcb_xc_misc_get_xid_list_reply_t* R /**< */ ); 229 | 230 | xcb_generic_iterator_t xcb_xc_misc_get_xid_list_ids_end(const xcb_xc_misc_get_xid_list_reply_t* R /**< */ ); 231 | 232 | /** 233 | * Return the reply 234 | * @param c The connection 235 | * @param cookie The cookie 236 | * @param e The xcb_generic_error_t supplied 237 | * 238 | * Returns the reply of the request asked by 239 | * 240 | * The parameter @p e supplied to this function must be NULL if 241 | * xcb_xc_misc_get_xid_list_unchecked(). is used. 242 | * Otherwise, it stores the error if any. 243 | * 244 | * The returned value must be freed by the caller using free(). 245 | */ 246 | xcb_xc_misc_get_xid_list_reply_t* xcb_xc_misc_get_xid_list_reply(xcb_connection_t* c /**< */ , 247 | xcb_xc_misc_get_xid_list_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 248 | 249 | /** 250 | * @} 251 | */ 252 | -------------------------------------------------------------------------------- /source/xcb/xc_misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | ids_len 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /source/xcb/xcbext.d: -------------------------------------------------------------------------------- 1 | module xcb.xcbext; 2 | 3 | import xcb.xcb; 4 | 5 | import core.sys.posix.sys.uio : iovec; 6 | 7 | extern (C): 8 | 9 | /* xcb_ext.c */ 10 | 11 | struct xcb_extension_t { 12 | const(char)* name; 13 | int global_id; 14 | } 15 | 16 | /* xcb_out.c */ 17 | 18 | struct xcb_protocol_request_t { 19 | size_t count; 20 | xcb_extension_t* ext; 21 | ubyte opcode; 22 | ubyte isvoid; 23 | } 24 | 25 | enum xcb_send_request_flags_t { 26 | XCB_REQUEST_CHECKED = 1 << 0, 27 | XCB_REQUEST_RAW = 1 << 1, 28 | XCB_REQUEST_DISCARD_REPLY = 1 << 2, 29 | XCB_REQUEST_REPLY_FDS = 1 << 3 30 | } 31 | 32 | alias XCB_REQUEST_CHECKED = xcb_send_request_flags_t.XCB_REQUEST_CHECKED; 33 | alias XCB_REQUEST_RAW = xcb_send_request_flags_t.XCB_REQUEST_RAW; 34 | alias XCB_REQUEST_DISCARD_REPLY = xcb_send_request_flags_t.XCB_REQUEST_DISCARD_REPLY; 35 | alias XCB_REQUEST_REPLY_FDS = xcb_send_request_flags_t.XCB_REQUEST_REPLY_FDS; 36 | 37 | /** 38 | * @brief Send a request to the server. 39 | * @param c: The connection to the X server. 40 | * @param flags: A combination of flags from the xcb_send_request_flags_t enumeration. 41 | * @param vector: Data to send; must have two iovecs before start for internal use. 42 | * @param request: Information about the request to be sent. 43 | * @return The request's sequence number on success, 0 otherwise. 44 | * 45 | * This function sends a new request to the X server. The data of the request is 46 | * given as an array of @c iovecs in the @p vector argument. The length of that 47 | * array and the neccessary management information are given in the @p request 48 | * argument. 49 | * 50 | * When this function returns, the request might or might not be sent already. 51 | * Use xcb_flush() to make sure that it really was sent. 52 | * 53 | * Please note that this function is not the prefered way for sending requests. 54 | * It's better to use the generated wrapper functions. 55 | * 56 | * Please note that xcb might use index -1 and -2 of the @p vector array internally, 57 | * so they must be valid! 58 | */ 59 | uint xcb_send_request(xcb_connection_t* c, int flags, iovec* vector, const(xcb_protocol_request_t)* request); 60 | 61 | /** 62 | * @brief Send a request to the server, with 64-bit sequence number returned. 63 | * @param c: The connection to the X server. 64 | * @param flags: A combination of flags from the xcb_send_request_flags_t enumeration. 65 | * @param vector: Data to send; must have two iovecs before start for internal use. 66 | * @param request: Information about the request to be sent. 67 | * @return The request's sequence number on success, 0 otherwise. 68 | * 69 | * This function sends a new request to the X server. The data of the request is 70 | * given as an array of @c iovecs in the @p vector argument. The length of that 71 | * array and the neccessary management information are given in the @p request 72 | * argument. 73 | * 74 | * When this function returns, the request might or might not be sent already. 75 | * Use xcb_flush() to make sure that it really was sent. 76 | * 77 | * Please note that this function is not the prefered way for sending requests. 78 | * It's better to use the generated wrapper functions. 79 | * 80 | * Please note that xcb might use index -1 and -2 of the @p vector array internally, 81 | * so they must be valid! 82 | */ 83 | ulong xcb_send_request64(xcb_connection_t* c, int flags, iovec* vector, const(xcb_protocol_request_t)* request); 84 | 85 | /** 86 | * @brief Send a file descriptor to the server in the next call to xcb_send_request. 87 | * @param c: The connection to the X server. 88 | * @param fd: The file descriptor to send. 89 | * 90 | * After this function returns, the file descriptor given is owned by xcb and 91 | * will be closed eventually. 92 | * 93 | * FIXME: How the heck is this supposed to work in a thread-safe way? There is a 94 | * race between two threads doing xcb_send_fd(); xcb_send_request(); at the same 95 | * time. 96 | */ 97 | void xcb_send_fd(xcb_connection_t* c, int fd); 98 | 99 | /** 100 | * @brief Take over the write side of the socket 101 | * @param c: The connection to the X server. 102 | * @param return_socket: Callback function that will be called when xcb wants 103 | * to use the socket again. 104 | * @param closure: Argument to the callback function. 105 | * @param flags: A combination of flags from the xcb_send_request_flags_t enumeration. 106 | * @param sent: Location to the sequence number of the last sequence request. 107 | * Must not be NULL. 108 | * @return 1 on success, else 0. 109 | * 110 | * xcb_take_socket allows external code to ask XCB for permission to 111 | * take over the write side of the socket and send raw data with 112 | * xcb_writev. xcb_take_socket provides the sequence number of the last 113 | * request XCB sent. The caller of xcb_take_socket must supply a 114 | * callback which XCB can call when it wants the write side of the 115 | * socket back to make a request. This callback synchronizes with the 116 | * external socket owner and flushes any output queues if appropriate. 117 | * If you are sending requests which won't cause a reply, please note the 118 | * comment for xcb_writev which explains some sequence number wrap issues. 119 | * 120 | * All replies that are generated while the socket is owned externally have 121 | * @p flags applied to them. For example, use XCB_REQUEST_CHECK if you don't 122 | * want errors to go to xcb's normal error handling, but instead having to be 123 | * picked up via xcb_wait_for_reply(), xcb_poll_for_reply() or 124 | * xcb_request_check(). 125 | */ 126 | 127 | private alias return_socket_t = void function(void* closure); 128 | 129 | int xcb_take_socket(xcb_connection_t* c, return_socket_t return_socket, void* closure, int flags, ulong* sent); 130 | 131 | /** 132 | * @brief Send raw data to the X server. 133 | * @param c: The connection to the X server. 134 | * @param vector: Array of data to be sent. 135 | * @param count: Number of entries in @p vector. 136 | * @param requests: Number of requests that are being sent. 137 | * @return 1 on success, else 0. 138 | * 139 | * You must own the write-side of the socket (you've called 140 | * xcb_take_socket, and haven't returned from return_socket yet) to call 141 | * xcb_writev. Also, the iovec must have at least 1 byte of data in it. 142 | * You have to make sure that xcb can detect sequence number wraps correctly. 143 | * This means that the first request you send after xcb_take_socket must cause a 144 | * reply (e.g. just insert a GetInputFocus request). After every (1 << 16) - 1 145 | * requests without a reply, you have to insert a request which will cause a 146 | * reply. You can again use GetInputFocus for this. You do not have to wait for 147 | * any of the GetInputFocus replies, but can instead handle them via 148 | * xcb_discard_reply(). 149 | */ 150 | int xcb_writev(xcb_connection_t* c, iovec* vector, int count, ulong requests); 151 | 152 | /* xcb_in.c */ 153 | 154 | /** 155 | * @brief Wait for the reply of a given request. 156 | * @param c: The connection to the X server. 157 | * @param request: Sequence number of the request as returned by xcb_send_request(). 158 | * @param e: Location to store errors in, or NULL. Ignored for unchecked requests. 159 | * 160 | * Returns the reply to the given request or returns null in the event of 161 | * errors. Blocks until the reply or error for the request arrives, or an I/O 162 | * error occurs. 163 | */ 164 | void* xcb_wait_for_reply(xcb_connection_t* c, uint request, xcb_generic_error_t** e); 165 | 166 | /** 167 | * @brief Wait for the reply of a given request, with 64-bit sequence number 168 | * @param c: The connection to the X server. 169 | * @param request: 64-bit sequence number of the request as returned by xcb_send_request64(). 170 | * @param e: Location to store errors in, or NULL. Ignored for unchecked requests. 171 | * 172 | * Returns the reply to the given request or returns null in the event of 173 | * errors. Blocks until the reply or error for the request arrives, or an I/O 174 | * error occurs. 175 | * 176 | * Unlike its xcb_wait_for_reply() counterpart, the given sequence number is not 177 | * automatically "widened" to 64-bit. 178 | */ 179 | void* xcb_wait_for_reply64(xcb_connection_t* c, ulong request, xcb_generic_error_t** e); 180 | 181 | /** 182 | * @brief Poll for the reply of a given request. 183 | * @param c: The connection to the X server. 184 | * @param request: Sequence number of the request as returned by xcb_send_request(). 185 | * @param reply: Location to store the reply in, must not be NULL. 186 | * @param e: Location to store errors in, or NULL. Ignored for unchecked requests. 187 | * @return 1 when the reply to the request was returned, else 0. 188 | * 189 | * Checks if the reply to the given request already received. Does not block. 190 | */ 191 | int xcb_poll_for_reply(xcb_connection_t* c, uint request, void** reply, xcb_generic_error_t** error); 192 | 193 | /** 194 | * @brief Poll for the reply of a given request, with 64-bit sequence number. 195 | * @param c: The connection to the X server. 196 | * @param request: 64-bit sequence number of the request as returned by xcb_send_request(). 197 | * @param reply: Location to store the reply in, must not be NULL. 198 | * @param e: Location to store errors in, or NULL. Ignored for unchecked requests. 199 | * @return 1 when the reply to the request was returned, else 0. 200 | * 201 | * Checks if the reply to the given request already received. Does not block. 202 | * 203 | * Unlike its xcb_poll_for_reply() counterpart, the given sequence number is not 204 | * automatically "widened" to 64-bit. 205 | */ 206 | int xcb_poll_for_reply64(xcb_connection_t* c, ulong request, void** reply, xcb_generic_error_t** error); 207 | 208 | /** 209 | * @brief Don't use this, only needed by the generated code. 210 | * @param c: The connection to the X server. 211 | * @param reply: A reply that was received from the server 212 | * @param replylen: The size of the reply. 213 | * @return Pointer to the location where received file descriptors are stored. 214 | */ 215 | int* xcb_get_reply_fds(xcb_connection_t* c, void* reply, size_t replylen); 216 | 217 | /* xcb_util.c */ 218 | 219 | /** 220 | * @param mask: The mask to check 221 | * @return The number of set bits in the mask 222 | */ 223 | int xcb_popcount(uint mask); 224 | 225 | /** 226 | * @param list: The base of an array 227 | * @param len: The length of the array 228 | * @return The sum of all entries in the array. 229 | */ 230 | int xcb_sumof(ubyte* list, int len); 231 | -------------------------------------------------------------------------------- /source/xcb/xevie.d: -------------------------------------------------------------------------------- 1 | /* 2 | * This file generated automatically from xevie.xml by d_client.py. 3 | * Edit at your peril. 4 | */ 5 | 6 | /** 7 | * @defgroup XCB_Xevie_API XCB Xevie API 8 | * @brief Xevie XCB Protocol Implementation. 9 | * @{ 10 | **/ 11 | 12 | module xcb.xevie; 13 | 14 | import xcb.xcb; 15 | 16 | extern (C): 17 | 18 | enum int XCB_XEVIE_MAJOR_VERSION = 1; 19 | enum int XCB_XEVIE_MINOR_VERSION = 0; 20 | 21 | extern (C) __gshared extern xcb_extension_t xcb_xevie_id; 22 | 23 | /** 24 | * @brief xcb_xevie_query_version_cookie_t 25 | **/ 26 | struct xcb_xevie_query_version_cookie_t { 27 | uint sequence; /**< */ 28 | } 29 | 30 | /** Opcode for xcb_xevie_query_version. */ 31 | enum XCB_XEVIE_QUERY_VERSION = 0; 32 | 33 | /** 34 | * @brief xcb_xevie_query_version_request_t 35 | **/ 36 | struct xcb_xevie_query_version_request_t { 37 | ubyte major_opcode; /**< */ 38 | ubyte minor_opcode; /**< */ 39 | ushort length; /**< */ 40 | ushort client_major_version; /**< */ 41 | ushort client_minor_version; /**< */ 42 | } 43 | 44 | /** 45 | * @brief xcb_xevie_query_version_reply_t 46 | **/ 47 | struct xcb_xevie_query_version_reply_t { 48 | ubyte response_type; /**< */ 49 | ubyte pad0; /**< */ 50 | ushort sequence; /**< */ 51 | uint length; /**< */ 52 | ushort server_major_version; /**< */ 53 | ushort server_minor_version; /**< */ 54 | ubyte[20] pad1; /**< */ 55 | } 56 | 57 | /** 58 | * @brief xcb_xevie_start_cookie_t 59 | **/ 60 | struct xcb_xevie_start_cookie_t { 61 | uint sequence; /**< */ 62 | } 63 | 64 | /** Opcode for xcb_xevie_start. */ 65 | enum XCB_XEVIE_START = 1; 66 | 67 | /** 68 | * @brief xcb_xevie_start_request_t 69 | **/ 70 | struct xcb_xevie_start_request_t { 71 | ubyte major_opcode; /**< */ 72 | ubyte minor_opcode; /**< */ 73 | ushort length; /**< */ 74 | uint screen; /**< */ 75 | } 76 | 77 | /** 78 | * @brief xcb_xevie_start_reply_t 79 | **/ 80 | struct xcb_xevie_start_reply_t { 81 | ubyte response_type; /**< */ 82 | ubyte pad0; /**< */ 83 | ushort sequence; /**< */ 84 | uint length; /**< */ 85 | ubyte[24] pad1; /**< */ 86 | } 87 | 88 | /** 89 | * @brief xcb_xevie_end_cookie_t 90 | **/ 91 | struct xcb_xevie_end_cookie_t { 92 | uint sequence; /**< */ 93 | } 94 | 95 | /** Opcode for xcb_xevie_end. */ 96 | enum XCB_XEVIE_END = 2; 97 | 98 | /** 99 | * @brief xcb_xevie_end_request_t 100 | **/ 101 | struct xcb_xevie_end_request_t { 102 | ubyte major_opcode; /**< */ 103 | ubyte minor_opcode; /**< */ 104 | ushort length; /**< */ 105 | uint cmap; /**< */ 106 | } 107 | 108 | /** 109 | * @brief xcb_xevie_end_reply_t 110 | **/ 111 | struct xcb_xevie_end_reply_t { 112 | ubyte response_type; /**< */ 113 | ubyte pad0; /**< */ 114 | ushort sequence; /**< */ 115 | uint length; /**< */ 116 | ubyte[24] pad1; /**< */ 117 | } 118 | 119 | enum xcb_xevie_datatype_t { 120 | XCB_XEVIE_DATATYPE_UNMODIFIED = 0, 121 | XCB_XEVIE_DATATYPE_MODIFIED = 1 122 | } 123 | 124 | alias XCB_XEVIE_DATATYPE_UNMODIFIED = xcb_xevie_datatype_t.XCB_XEVIE_DATATYPE_UNMODIFIED; 125 | alias XCB_XEVIE_DATATYPE_MODIFIED = xcb_xevie_datatype_t.XCB_XEVIE_DATATYPE_MODIFIED; 126 | 127 | /** 128 | * @brief xcb_xevie_event_t 129 | **/ 130 | struct xcb_xevie_event_t { 131 | ubyte[32] pad0; /**< */ 132 | } 133 | 134 | /** 135 | * @brief xcb_xevie_event_iterator_t 136 | **/ 137 | struct xcb_xevie_event_iterator_t { 138 | xcb_xevie_event_t* data; /**< */ 139 | int rem; /**< */ 140 | int index; /**< */ 141 | } 142 | 143 | /** 144 | * @brief xcb_xevie_send_cookie_t 145 | **/ 146 | struct xcb_xevie_send_cookie_t { 147 | uint sequence; /**< */ 148 | } 149 | 150 | /** Opcode for xcb_xevie_send. */ 151 | enum XCB_XEVIE_SEND = 3; 152 | 153 | /** 154 | * @brief xcb_xevie_send_request_t 155 | **/ 156 | struct xcb_xevie_send_request_t { 157 | ubyte major_opcode; /**< */ 158 | ubyte minor_opcode; /**< */ 159 | ushort length; /**< */ 160 | xcb_xevie_event_t event; /**< */ 161 | uint data_type; /**< */ 162 | ubyte[64] pad0; /**< */ 163 | } 164 | 165 | /** 166 | * @brief xcb_xevie_send_reply_t 167 | **/ 168 | struct xcb_xevie_send_reply_t { 169 | ubyte response_type; /**< */ 170 | ubyte pad0; /**< */ 171 | ushort sequence; /**< */ 172 | uint length; /**< */ 173 | ubyte[24] pad1; /**< */ 174 | } 175 | 176 | /** 177 | * @brief xcb_xevie_select_input_cookie_t 178 | **/ 179 | struct xcb_xevie_select_input_cookie_t { 180 | uint sequence; /**< */ 181 | } 182 | 183 | /** Opcode for xcb_xevie_select_input. */ 184 | enum XCB_XEVIE_SELECT_INPUT = 4; 185 | 186 | /** 187 | * @brief xcb_xevie_select_input_request_t 188 | **/ 189 | struct xcb_xevie_select_input_request_t { 190 | ubyte major_opcode; /**< */ 191 | ubyte minor_opcode; /**< */ 192 | ushort length; /**< */ 193 | uint event_mask; /**< */ 194 | } 195 | 196 | /** 197 | * @brief xcb_xevie_select_input_reply_t 198 | **/ 199 | struct xcb_xevie_select_input_reply_t { 200 | ubyte response_type; /**< */ 201 | ubyte pad0; /**< */ 202 | ushort sequence; /**< */ 203 | uint length; /**< */ 204 | ubyte[24] pad1; /**< */ 205 | } 206 | 207 | /** 208 | * 209 | * @param c The connection 210 | * @return A cookie 211 | * 212 | * Delivers a request to the X server. 213 | * 214 | */ 215 | xcb_xevie_query_version_cookie_t xcb_xevie_query_version(xcb_connection_t* c /**< */ , ushort client_major_version /**< */ , 216 | ushort client_minor_version /**< */ ); 217 | 218 | /** 219 | * 220 | * @param c The connection 221 | * @return A cookie 222 | * 223 | * Delivers a request to the X server. 224 | * 225 | * This form can be used only if the request will cause 226 | * a reply to be generated. Any returned error will be 227 | * placed in the event queue. 228 | */ 229 | xcb_xevie_query_version_cookie_t xcb_xevie_query_version_unchecked(xcb_connection_t* c /**< */ , 230 | ushort client_major_version /**< */ , ushort client_minor_version /**< */ ); 231 | 232 | /** 233 | * Return the reply 234 | * @param c The connection 235 | * @param cookie The cookie 236 | * @param e The xcb_generic_error_t supplied 237 | * 238 | * Returns the reply of the request asked by 239 | * 240 | * The parameter @p e supplied to this function must be NULL if 241 | * xcb_xevie_query_version_unchecked(). is used. 242 | * Otherwise, it stores the error if any. 243 | * 244 | * The returned value must be freed by the caller using free(). 245 | */ 246 | xcb_xevie_query_version_reply_t* xcb_xevie_query_version_reply(xcb_connection_t* c /**< */ , 247 | xcb_xevie_query_version_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 248 | 249 | /** 250 | * 251 | * @param c The connection 252 | * @return A cookie 253 | * 254 | * Delivers a request to the X server. 255 | * 256 | */ 257 | xcb_xevie_start_cookie_t xcb_xevie_start(xcb_connection_t* c /**< */ , uint screen /**< */ ); 258 | 259 | /** 260 | * 261 | * @param c The connection 262 | * @return A cookie 263 | * 264 | * Delivers a request to the X server. 265 | * 266 | * This form can be used only if the request will cause 267 | * a reply to be generated. Any returned error will be 268 | * placed in the event queue. 269 | */ 270 | xcb_xevie_start_cookie_t xcb_xevie_start_unchecked(xcb_connection_t* c /**< */ , uint screen /**< */ ); 271 | 272 | /** 273 | * Return the reply 274 | * @param c The connection 275 | * @param cookie The cookie 276 | * @param e The xcb_generic_error_t supplied 277 | * 278 | * Returns the reply of the request asked by 279 | * 280 | * The parameter @p e supplied to this function must be NULL if 281 | * xcb_xevie_start_unchecked(). is used. 282 | * Otherwise, it stores the error if any. 283 | * 284 | * The returned value must be freed by the caller using free(). 285 | */ 286 | xcb_xevie_start_reply_t* xcb_xevie_start_reply(xcb_connection_t* c /**< */ , xcb_xevie_start_cookie_t cookie /**< */ , 287 | xcb_generic_error_t** e /**< */ ); 288 | 289 | /** 290 | * 291 | * @param c The connection 292 | * @return A cookie 293 | * 294 | * Delivers a request to the X server. 295 | * 296 | */ 297 | xcb_xevie_end_cookie_t xcb_xevie_end(xcb_connection_t* c /**< */ , uint cmap /**< */ ); 298 | 299 | /** 300 | * 301 | * @param c The connection 302 | * @return A cookie 303 | * 304 | * Delivers a request to the X server. 305 | * 306 | * This form can be used only if the request will cause 307 | * a reply to be generated. Any returned error will be 308 | * placed in the event queue. 309 | */ 310 | xcb_xevie_end_cookie_t xcb_xevie_end_unchecked(xcb_connection_t* c /**< */ , uint cmap /**< */ ); 311 | 312 | /** 313 | * Return the reply 314 | * @param c The connection 315 | * @param cookie The cookie 316 | * @param e The xcb_generic_error_t supplied 317 | * 318 | * Returns the reply of the request asked by 319 | * 320 | * The parameter @p e supplied to this function must be NULL if 321 | * xcb_xevie_end_unchecked(). is used. 322 | * Otherwise, it stores the error if any. 323 | * 324 | * The returned value must be freed by the caller using free(). 325 | */ 326 | xcb_xevie_end_reply_t* xcb_xevie_end_reply(xcb_connection_t* c /**< */ , xcb_xevie_end_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 327 | 328 | /** 329 | * Get the next element of the iterator 330 | * @param i Pointer to a xcb_xevie_event_iterator_t 331 | * 332 | * Get the next element in the iterator. The member rem is 333 | * decreased by one. The member data points to the next 334 | * element. The member index is increased by sizeof(xcb_xevie_event_t) 335 | */ 336 | void xcb_xevie_event_next(xcb_xevie_event_iterator_t* i /**< */ ); 337 | 338 | /** 339 | * Return the iterator pointing to the last element 340 | * @param i An xcb_xevie_event_iterator_t 341 | * @return The iterator pointing to the last element 342 | * 343 | * Set the current element in the iterator to the last element. 344 | * The member rem is set to 0. The member data points to the 345 | * last element. 346 | */ 347 | xcb_generic_iterator_t xcb_xevie_event_end(xcb_xevie_event_iterator_t i /**< */ ); 348 | 349 | /** 350 | * 351 | * @param c The connection 352 | * @return A cookie 353 | * 354 | * Delivers a request to the X server. 355 | * 356 | */ 357 | xcb_xevie_send_cookie_t xcb_xevie_send(xcb_connection_t* c /**< */ , xcb_xevie_event_t event /**< */ , uint data_type /**< */ ); 358 | 359 | /** 360 | * 361 | * @param c The connection 362 | * @return A cookie 363 | * 364 | * Delivers a request to the X server. 365 | * 366 | * This form can be used only if the request will cause 367 | * a reply to be generated. Any returned error will be 368 | * placed in the event queue. 369 | */ 370 | xcb_xevie_send_cookie_t xcb_xevie_send_unchecked(xcb_connection_t* c /**< */ , xcb_xevie_event_t event /**< */ , uint data_type /**< */ ); 371 | 372 | /** 373 | * Return the reply 374 | * @param c The connection 375 | * @param cookie The cookie 376 | * @param e The xcb_generic_error_t supplied 377 | * 378 | * Returns the reply of the request asked by 379 | * 380 | * The parameter @p e supplied to this function must be NULL if 381 | * xcb_xevie_send_unchecked(). is used. 382 | * Otherwise, it stores the error if any. 383 | * 384 | * The returned value must be freed by the caller using free(). 385 | */ 386 | xcb_xevie_send_reply_t* xcb_xevie_send_reply(xcb_connection_t* c /**< */ , xcb_xevie_send_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 387 | 388 | /** 389 | * 390 | * @param c The connection 391 | * @return A cookie 392 | * 393 | * Delivers a request to the X server. 394 | * 395 | */ 396 | xcb_xevie_select_input_cookie_t xcb_xevie_select_input(xcb_connection_t* c /**< */ , uint event_mask /**< */ ); 397 | 398 | /** 399 | * 400 | * @param c The connection 401 | * @return A cookie 402 | * 403 | * Delivers a request to the X server. 404 | * 405 | * This form can be used only if the request will cause 406 | * a reply to be generated. Any returned error will be 407 | * placed in the event queue. 408 | */ 409 | xcb_xevie_select_input_cookie_t xcb_xevie_select_input_unchecked(xcb_connection_t* c /**< */ , uint event_mask /**< */ ); 410 | 411 | /** 412 | * Return the reply 413 | * @param c The connection 414 | * @param cookie The cookie 415 | * @param e The xcb_generic_error_t supplied 416 | * 417 | * Returns the reply of the request asked by 418 | * 419 | * The parameter @p e supplied to this function must be NULL if 420 | * xcb_xevie_select_input_unchecked(). is used. 421 | * Otherwise, it stores the error if any. 422 | * 423 | * The returned value must be freed by the caller using free(). 424 | */ 425 | xcb_xevie_select_input_reply_t* xcb_xevie_select_input_reply(xcb_connection_t* c /**< */ , xcb_xevie_select_input_cookie_t cookie /**< */ , 426 | xcb_generic_error_t** e /**< */ ); 427 | 428 | /** 429 | * @} 430 | */ 431 | -------------------------------------------------------------------------------- /source/xcb/xevie.xml: -------------------------------------------------------------------------------- 1 | 2 | 27 | 28 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 0 59 | 1 60 | 61 | 62 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /source/xcb/xf86dri.xml: -------------------------------------------------------------------------------- 1 | 2 | 28 | 29 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | bus_id_len 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | client_driver_name_len 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | num_clip_rects 140 | 141 | 142 | num_back_clip_rects 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | device_private_size 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | -------------------------------------------------------------------------------- /source/xcb/xinerama.xml: -------------------------------------------------------------------------------- 1 | 2 | 28 | 29 | 31 | 32 | 33 | 34 | xproto 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | number 95 | 96 | 97 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /source/xcb/xprint.xml: -------------------------------------------------------------------------------- 1 | 2 | 28 | 29 | 31 | 32 | 33 | 34 | xproto 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | nameLen 43 | 44 | 45 | 46 | 47 | descLen 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 0 58 | 1 59 | 60 | 61 | 62 | 63 | 0 64 | 0 65 | 1 66 | 67 | 68 | 69 | 70 | 1 71 | 2 72 | 3 73 | 4 74 | 5 75 | 6 76 | 77 | 78 | 79 | 80 | 1 81 | 2 82 | 3 83 | 4 84 | 5 85 | 6 86 | 7 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | printerNameLen 104 | 105 | 106 | 107 | localeLen 108 | 109 | 110 | 111 | 112 | 113 | 114 | listCount 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | printerNameLen 127 | 128 | 129 | 130 | localeLen 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | len_data 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | dataLen 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 224 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | stringLen 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | nameLen 251 | 252 | 253 | 254 | 255 | 256 | 257 | valueLen 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | listCount 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | -------------------------------------------------------------------------------- /source/xcb/xselinux.xml: -------------------------------------------------------------------------------- 1 | 2 | 25 | 27 | xproto 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | context_len 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | context_len 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | context_len 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | context_len 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | context_len 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | context_len 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | context_len 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | object_context_len 113 | 114 | 115 | data_context_len 116 | 117 | 118 | 119 | 120 | 121 | 122 | context_len 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | context_len 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | context_len 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | context_len 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | context_len 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | context_len 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | properties_len 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | context_len 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | context_len 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | context_len 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | context_len 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | context_len 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | context_len 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | selections_len 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | context_len 272 | 273 | 274 | 275 | 276 | 277 | -------------------------------------------------------------------------------- /source/xcb/xtest.d: -------------------------------------------------------------------------------- 1 | /* 2 | * This file generated automatically from xtest.xml by d_client.py. 3 | * Edit at your peril. 4 | */ 5 | 6 | /** 7 | * @defgroup XCB_Test_API XCB Test API 8 | * @brief Test XCB Protocol Implementation. 9 | * @{ 10 | **/ 11 | 12 | module xcb.xtest; 13 | 14 | import xcb.xcb; 15 | import xcb.xproto; 16 | 17 | extern (C): 18 | 19 | enum int XCB_TEST_MAJOR_VERSION = 2; 20 | enum int XCB_TEST_MINOR_VERSION = 2; 21 | 22 | extern (C) __gshared extern xcb_extension_t xcb_test_id; 23 | 24 | /** 25 | * @brief xcb_test_get_version_cookie_t 26 | **/ 27 | struct xcb_test_get_version_cookie_t { 28 | uint sequence; /**< */ 29 | } 30 | 31 | /** Opcode for xcb_test_get_version. */ 32 | enum XCB_TEST_GET_VERSION = 0; 33 | 34 | /** 35 | * @brief xcb_test_get_version_request_t 36 | **/ 37 | struct xcb_test_get_version_request_t { 38 | ubyte major_opcode; /**< */ 39 | ubyte minor_opcode; /**< */ 40 | ushort length; /**< */ 41 | ubyte major_version; /**< */ 42 | ubyte pad0; /**< */ 43 | ushort minor_version; /**< */ 44 | } 45 | 46 | /** 47 | * @brief xcb_test_get_version_reply_t 48 | **/ 49 | struct xcb_test_get_version_reply_t { 50 | ubyte response_type; /**< */ 51 | ubyte major_version; /**< */ 52 | ushort sequence; /**< */ 53 | uint length; /**< */ 54 | ushort minor_version; /**< */ 55 | } 56 | 57 | enum xcb_test_cursor_t { 58 | XCB_TEST_CURSOR_NONE = 0, 59 | XCB_TEST_CURSOR_CURRENT = 1 60 | } 61 | 62 | alias XCB_TEST_CURSOR_NONE = xcb_test_cursor_t.XCB_TEST_CURSOR_NONE; 63 | alias XCB_TEST_CURSOR_CURRENT = xcb_test_cursor_t.XCB_TEST_CURSOR_CURRENT; 64 | 65 | /** 66 | * @brief xcb_test_compare_cursor_cookie_t 67 | **/ 68 | struct xcb_test_compare_cursor_cookie_t { 69 | uint sequence; /**< */ 70 | } 71 | 72 | /** Opcode for xcb_test_compare_cursor. */ 73 | enum XCB_TEST_COMPARE_CURSOR = 1; 74 | 75 | /** 76 | * @brief xcb_test_compare_cursor_request_t 77 | **/ 78 | struct xcb_test_compare_cursor_request_t { 79 | ubyte major_opcode; /**< */ 80 | ubyte minor_opcode; /**< */ 81 | ushort length; /**< */ 82 | xcb_window_t window; /**< */ 83 | xcb_cursor_t cursor; /**< */ 84 | } 85 | 86 | /** 87 | * @brief xcb_test_compare_cursor_reply_t 88 | **/ 89 | struct xcb_test_compare_cursor_reply_t { 90 | ubyte response_type; /**< */ 91 | ubyte same; /**< */ 92 | ushort sequence; /**< */ 93 | uint length; /**< */ 94 | } 95 | 96 | /** Opcode for xcb_test_fake_input. */ 97 | enum XCB_TEST_FAKE_INPUT = 2; 98 | 99 | /** 100 | * @brief xcb_test_fake_input_request_t 101 | **/ 102 | struct xcb_test_fake_input_request_t { 103 | ubyte major_opcode; /**< */ 104 | ubyte minor_opcode; /**< */ 105 | ushort length; /**< */ 106 | ubyte type; /**< */ 107 | ubyte detail; /**< */ 108 | ubyte[2] pad0; /**< */ 109 | uint time; /**< */ 110 | xcb_window_t root; /**< */ 111 | ubyte[8] pad1; /**< */ 112 | short rootX; /**< */ 113 | short rootY; /**< */ 114 | ubyte[7] pad2; /**< */ 115 | ubyte deviceid; /**< */ 116 | } 117 | 118 | /** Opcode for xcb_test_grab_control. */ 119 | enum XCB_TEST_GRAB_CONTROL = 3; 120 | 121 | /** 122 | * @brief xcb_test_grab_control_request_t 123 | **/ 124 | struct xcb_test_grab_control_request_t { 125 | ubyte major_opcode; /**< */ 126 | ubyte minor_opcode; /**< */ 127 | ushort length; /**< */ 128 | ubyte impervious; /**< */ 129 | ubyte[3] pad0; /**< */ 130 | } 131 | 132 | /** 133 | * 134 | * @param c The connection 135 | * @return A cookie 136 | * 137 | * Delivers a request to the X server. 138 | * 139 | */ 140 | xcb_test_get_version_cookie_t xcb_test_get_version(xcb_connection_t* c /**< */ , ubyte major_version /**< */ , ushort minor_version /**< */ ); 141 | 142 | /** 143 | * 144 | * @param c The connection 145 | * @return A cookie 146 | * 147 | * Delivers a request to the X server. 148 | * 149 | * This form can be used only if the request will cause 150 | * a reply to be generated. Any returned error will be 151 | * placed in the event queue. 152 | */ 153 | xcb_test_get_version_cookie_t xcb_test_get_version_unchecked(xcb_connection_t* c /**< */ , ubyte major_version /**< */ , ushort minor_version /**< */ ); 154 | 155 | /** 156 | * Return the reply 157 | * @param c The connection 158 | * @param cookie The cookie 159 | * @param e The xcb_generic_error_t supplied 160 | * 161 | * Returns the reply of the request asked by 162 | * 163 | * The parameter @p e supplied to this function must be NULL if 164 | * xcb_test_get_version_unchecked(). is used. 165 | * Otherwise, it stores the error if any. 166 | * 167 | * The returned value must be freed by the caller using free(). 168 | */ 169 | xcb_test_get_version_reply_t* xcb_test_get_version_reply(xcb_connection_t* c /**< */ , 170 | xcb_test_get_version_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 171 | 172 | /** 173 | * 174 | * @param c The connection 175 | * @return A cookie 176 | * 177 | * Delivers a request to the X server. 178 | * 179 | */ 180 | xcb_test_compare_cursor_cookie_t xcb_test_compare_cursor(xcb_connection_t* c /**< */ , xcb_window_t window /**< */ , xcb_cursor_t cursor /**< */ ); 181 | 182 | /** 183 | * 184 | * @param c The connection 185 | * @return A cookie 186 | * 187 | * Delivers a request to the X server. 188 | * 189 | * This form can be used only if the request will cause 190 | * a reply to be generated. Any returned error will be 191 | * placed in the event queue. 192 | */ 193 | xcb_test_compare_cursor_cookie_t xcb_test_compare_cursor_unchecked(xcb_connection_t* c /**< */ , xcb_window_t window /**< */ , 194 | xcb_cursor_t cursor /**< */ ); 195 | 196 | /** 197 | * Return the reply 198 | * @param c The connection 199 | * @param cookie The cookie 200 | * @param e The xcb_generic_error_t supplied 201 | * 202 | * Returns the reply of the request asked by 203 | * 204 | * The parameter @p e supplied to this function must be NULL if 205 | * xcb_test_compare_cursor_unchecked(). is used. 206 | * Otherwise, it stores the error if any. 207 | * 208 | * The returned value must be freed by the caller using free(). 209 | */ 210 | xcb_test_compare_cursor_reply_t* xcb_test_compare_cursor_reply(xcb_connection_t* c /**< */ , 211 | xcb_test_compare_cursor_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 212 | 213 | /** 214 | * 215 | * @param c The connection 216 | * @return A cookie 217 | * 218 | * Delivers a request to the X server. 219 | * 220 | * This form can be used only if the request will not cause 221 | * a reply to be generated. Any returned error will be 222 | * saved for handling by xcb_request_check(). 223 | */ 224 | xcb_void_cookie_t xcb_test_fake_input_checked(xcb_connection_t* c /**< */ , ubyte type /**< */ , ubyte detail /**< */ , uint time /**< */ , xcb_window_t root /**< */ , 225 | short rootX /**< */ , short rootY /**< */ , ubyte deviceid /**< */ ); 226 | 227 | /** 228 | * 229 | * @param c The connection 230 | * @return A cookie 231 | * 232 | * Delivers a request to the X server. 233 | * 234 | */ 235 | xcb_void_cookie_t xcb_test_fake_input(xcb_connection_t* c /**< */ , ubyte type /**< */ , ubyte detail /**< */ , uint time /**< */ , xcb_window_t root /**< */ , short rootX /**< */ , 236 | short rootY /**< */ , ubyte deviceid /**< */ ); 237 | 238 | /** 239 | * 240 | * @param c The connection 241 | * @return A cookie 242 | * 243 | * Delivers a request to the X server. 244 | * 245 | * This form can be used only if the request will not cause 246 | * a reply to be generated. Any returned error will be 247 | * saved for handling by xcb_request_check(). 248 | */ 249 | xcb_void_cookie_t xcb_test_grab_control_checked(xcb_connection_t* c /**< */ , ubyte impervious /**< */ ); 250 | 251 | /** 252 | * 253 | * @param c The connection 254 | * @return A cookie 255 | * 256 | * Delivers a request to the X server. 257 | * 258 | */ 259 | xcb_void_cookie_t xcb_test_grab_control(xcb_connection_t* c /**< */ , ubyte impervious /**< */ ); 260 | 261 | /** 262 | * @} 263 | */ 264 | -------------------------------------------------------------------------------- /source/xcb/xtest.xml: -------------------------------------------------------------------------------- 1 | 2 | 28 | 29 | 31 | 32 | xproto 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 0 47 | 1 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | -------------------------------------------------------------------------------- /source/xcb/xvmc.xml: -------------------------------------------------------------------------------- 1 | 2 | 28 | 29 | 30 | xv 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | num 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | length 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | length 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 4 121 | 122 | 123 | 124 | length 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | num 142 | 143 | 144 | 145 | 146 | 147 | --------------------------------------------------------------------------------