1// This file contains generated code. Do not edit directly.
2// To regenerate this, run 'make'.
3
4//! Bindings to the X11 protocol.
5//!
6//! Each sub-module of this module corresponds to one X11 extension. It contains all the
7//! definitions from that extension. The core X11 protocol is in [`xproto`](xproto/index.html).
8
9// Clippy does not like some names from the XML.
10#![allow(clippy::upper_case_acronyms)]
11// This is not easy to fix, so ignore it.
12#![allow(clippy::needless_borrow, clippy::needless_lifetimes)]
13// clippy::unnecessary_fallible_conversions is new in 1.75. TODO: Remove once our MSRV is high enough.
14#![allow(unknown_lints)]
15// We use TryFrom in places where From could be used, but fixing this would make the code generator more complicated
16#![allow(clippy::unnecessary_fallible_conversions)]
17
18use alloc::borrow::Cow;
19use alloc::string::String;
20use alloc::vec::Vec;
21use core::convert::TryInto;
22use crate::errors::ParseError;
23use crate::RawFdContainer;
24use crate::x11_utils::{TryParse, TryParseFd, X11Error, ReplyRequest, ReplyFDsRequest};
25use crate::x11_utils::{ExtInfoProvider, ReplyParsingFunction, RequestHeader};
26
27fn parse_reply<'a, R: ReplyRequest>(bytes: &'a [u8], _: &mut Vec<RawFdContainer>) -> Result<(Reply, &'a [u8]), ParseError> {
28 let (reply: ::Reply, remaining: &[u8]) = R::Reply::try_parse(bytes)?;
29 Ok((reply.into(), remaining))
30}
31#[allow(dead_code)]
32fn parse_reply_fds<'a, R: ReplyFDsRequest>(bytes: &'a [u8], fds: &mut Vec<RawFdContainer>) -> Result<(Reply, &'a [u8]), ParseError> {
33 let (reply: ::Reply, remaining: &[u8]) = R::Reply::try_parse_fd(value:bytes, fds)?;
34 Ok((reply.into(), remaining))
35}
36
37pub mod xproto;
38pub mod bigreq;
39#[cfg(feature = "composite")]
40pub mod composite;
41#[cfg(feature = "damage")]
42pub mod damage;
43#[cfg(feature = "dbe")]
44pub mod dbe;
45#[cfg(feature = "dpms")]
46pub mod dpms;
47#[cfg(feature = "dri2")]
48pub mod dri2;
49#[cfg(feature = "dri3")]
50pub mod dri3;
51pub mod ge;
52#[cfg(feature = "glx")]
53pub mod glx;
54#[cfg(feature = "present")]
55pub mod present;
56#[cfg(feature = "randr")]
57pub mod randr;
58#[cfg(feature = "record")]
59pub mod record;
60#[cfg(feature = "render")]
61pub mod render;
62#[cfg(feature = "res")]
63pub mod res;
64#[cfg(feature = "screensaver")]
65pub mod screensaver;
66#[cfg(feature = "shape")]
67pub mod shape;
68#[cfg(feature = "shm")]
69pub mod shm;
70#[cfg(feature = "sync")]
71pub mod sync;
72pub mod xc_misc;
73#[cfg(feature = "xevie")]
74pub mod xevie;
75#[cfg(feature = "xf86dri")]
76pub mod xf86dri;
77#[cfg(feature = "xf86vidmode")]
78pub mod xf86vidmode;
79#[cfg(feature = "xfixes")]
80pub mod xfixes;
81#[cfg(feature = "xinerama")]
82pub mod xinerama;
83#[cfg(feature = "xinput")]
84pub mod xinput;
85#[cfg(feature = "xkb")]
86pub mod xkb;
87#[cfg(feature = "xprint")]
88pub mod xprint;
89#[cfg(feature = "xselinux")]
90pub mod xselinux;
91#[cfg(feature = "xtest")]
92pub mod xtest;
93#[cfg(feature = "xv")]
94pub mod xv;
95#[cfg(feature = "xvmc")]
96pub mod xvmc;
97
98/// Helper container for translating numeric request information to a string
99#[derive(Debug)]
100enum RequestInfo {
101 /// A core protocol request
102 Xproto(&'static str),
103 /// A known request from a known extension. String is of the form "ExtName::RequestName".
104 KnownExt(&'static str),
105 /// A request which could not be identified. The first entry is the extension name (or none for xproto). Second is opcode.
106 UnknownRequest(Option<&'static str>, u8),
107 /// A request from an extension that could not be identified
108 UnknownExtension(u8, u8),
109}
110
111/// Get information about a request based on its major and minor code.
112///
113/// The major and minor opcode are the first and second byte of a request.
114/// Core requests do not have a minor opcode. For these, the minor opcode is ignored by this function.
115///
116/// This function returns the name of the extension to which the request belongs, if available, and information about the specific request.
117fn get_request_name_internal(
118 ext_info_provider: &dyn ExtInfoProvider,
119 major_opcode: u8,
120 minor_opcode: u8,
121) -> (Option<&str>, RequestInfo) {
122 // From the X11 protocol reference manual:
123 // Major opcodes 128 through 255 are reserved for extensions.
124 if major_opcode < 128 {
125 match major_opcode {
126 xproto::CREATE_WINDOW_REQUEST => (None, RequestInfo::Xproto("CreateWindow")),
127 xproto::CHANGE_WINDOW_ATTRIBUTES_REQUEST => (None, RequestInfo::Xproto("ChangeWindowAttributes")),
128 xproto::GET_WINDOW_ATTRIBUTES_REQUEST => (None, RequestInfo::Xproto("GetWindowAttributes")),
129 xproto::DESTROY_WINDOW_REQUEST => (None, RequestInfo::Xproto("DestroyWindow")),
130 xproto::DESTROY_SUBWINDOWS_REQUEST => (None, RequestInfo::Xproto("DestroySubwindows")),
131 xproto::CHANGE_SAVE_SET_REQUEST => (None, RequestInfo::Xproto("ChangeSaveSet")),
132 xproto::REPARENT_WINDOW_REQUEST => (None, RequestInfo::Xproto("ReparentWindow")),
133 xproto::MAP_WINDOW_REQUEST => (None, RequestInfo::Xproto("MapWindow")),
134 xproto::MAP_SUBWINDOWS_REQUEST => (None, RequestInfo::Xproto("MapSubwindows")),
135 xproto::UNMAP_WINDOW_REQUEST => (None, RequestInfo::Xproto("UnmapWindow")),
136 xproto::UNMAP_SUBWINDOWS_REQUEST => (None, RequestInfo::Xproto("UnmapSubwindows")),
137 xproto::CONFIGURE_WINDOW_REQUEST => (None, RequestInfo::Xproto("ConfigureWindow")),
138 xproto::CIRCULATE_WINDOW_REQUEST => (None, RequestInfo::Xproto("CirculateWindow")),
139 xproto::GET_GEOMETRY_REQUEST => (None, RequestInfo::Xproto("GetGeometry")),
140 xproto::QUERY_TREE_REQUEST => (None, RequestInfo::Xproto("QueryTree")),
141 xproto::INTERN_ATOM_REQUEST => (None, RequestInfo::Xproto("InternAtom")),
142 xproto::GET_ATOM_NAME_REQUEST => (None, RequestInfo::Xproto("GetAtomName")),
143 xproto::CHANGE_PROPERTY_REQUEST => (None, RequestInfo::Xproto("ChangeProperty")),
144 xproto::DELETE_PROPERTY_REQUEST => (None, RequestInfo::Xproto("DeleteProperty")),
145 xproto::GET_PROPERTY_REQUEST => (None, RequestInfo::Xproto("GetProperty")),
146 xproto::LIST_PROPERTIES_REQUEST => (None, RequestInfo::Xproto("ListProperties")),
147 xproto::SET_SELECTION_OWNER_REQUEST => (None, RequestInfo::Xproto("SetSelectionOwner")),
148 xproto::GET_SELECTION_OWNER_REQUEST => (None, RequestInfo::Xproto("GetSelectionOwner")),
149 xproto::CONVERT_SELECTION_REQUEST => (None, RequestInfo::Xproto("ConvertSelection")),
150 xproto::SEND_EVENT_REQUEST => (None, RequestInfo::Xproto("SendEvent")),
151 xproto::GRAB_POINTER_REQUEST => (None, RequestInfo::Xproto("GrabPointer")),
152 xproto::UNGRAB_POINTER_REQUEST => (None, RequestInfo::Xproto("UngrabPointer")),
153 xproto::GRAB_BUTTON_REQUEST => (None, RequestInfo::Xproto("GrabButton")),
154 xproto::UNGRAB_BUTTON_REQUEST => (None, RequestInfo::Xproto("UngrabButton")),
155 xproto::CHANGE_ACTIVE_POINTER_GRAB_REQUEST => (None, RequestInfo::Xproto("ChangeActivePointerGrab")),
156 xproto::GRAB_KEYBOARD_REQUEST => (None, RequestInfo::Xproto("GrabKeyboard")),
157 xproto::UNGRAB_KEYBOARD_REQUEST => (None, RequestInfo::Xproto("UngrabKeyboard")),
158 xproto::GRAB_KEY_REQUEST => (None, RequestInfo::Xproto("GrabKey")),
159 xproto::UNGRAB_KEY_REQUEST => (None, RequestInfo::Xproto("UngrabKey")),
160 xproto::ALLOW_EVENTS_REQUEST => (None, RequestInfo::Xproto("AllowEvents")),
161 xproto::GRAB_SERVER_REQUEST => (None, RequestInfo::Xproto("GrabServer")),
162 xproto::UNGRAB_SERVER_REQUEST => (None, RequestInfo::Xproto("UngrabServer")),
163 xproto::QUERY_POINTER_REQUEST => (None, RequestInfo::Xproto("QueryPointer")),
164 xproto::GET_MOTION_EVENTS_REQUEST => (None, RequestInfo::Xproto("GetMotionEvents")),
165 xproto::TRANSLATE_COORDINATES_REQUEST => (None, RequestInfo::Xproto("TranslateCoordinates")),
166 xproto::WARP_POINTER_REQUEST => (None, RequestInfo::Xproto("WarpPointer")),
167 xproto::SET_INPUT_FOCUS_REQUEST => (None, RequestInfo::Xproto("SetInputFocus")),
168 xproto::GET_INPUT_FOCUS_REQUEST => (None, RequestInfo::Xproto("GetInputFocus")),
169 xproto::QUERY_KEYMAP_REQUEST => (None, RequestInfo::Xproto("QueryKeymap")),
170 xproto::OPEN_FONT_REQUEST => (None, RequestInfo::Xproto("OpenFont")),
171 xproto::CLOSE_FONT_REQUEST => (None, RequestInfo::Xproto("CloseFont")),
172 xproto::QUERY_FONT_REQUEST => (None, RequestInfo::Xproto("QueryFont")),
173 xproto::QUERY_TEXT_EXTENTS_REQUEST => (None, RequestInfo::Xproto("QueryTextExtents")),
174 xproto::LIST_FONTS_REQUEST => (None, RequestInfo::Xproto("ListFonts")),
175 xproto::LIST_FONTS_WITH_INFO_REQUEST => (None, RequestInfo::Xproto("ListFontsWithInfo")),
176 xproto::SET_FONT_PATH_REQUEST => (None, RequestInfo::Xproto("SetFontPath")),
177 xproto::GET_FONT_PATH_REQUEST => (None, RequestInfo::Xproto("GetFontPath")),
178 xproto::CREATE_PIXMAP_REQUEST => (None, RequestInfo::Xproto("CreatePixmap")),
179 xproto::FREE_PIXMAP_REQUEST => (None, RequestInfo::Xproto("FreePixmap")),
180 xproto::CREATE_GC_REQUEST => (None, RequestInfo::Xproto("CreateGC")),
181 xproto::CHANGE_GC_REQUEST => (None, RequestInfo::Xproto("ChangeGC")),
182 xproto::COPY_GC_REQUEST => (None, RequestInfo::Xproto("CopyGC")),
183 xproto::SET_DASHES_REQUEST => (None, RequestInfo::Xproto("SetDashes")),
184 xproto::SET_CLIP_RECTANGLES_REQUEST => (None, RequestInfo::Xproto("SetClipRectangles")),
185 xproto::FREE_GC_REQUEST => (None, RequestInfo::Xproto("FreeGC")),
186 xproto::CLEAR_AREA_REQUEST => (None, RequestInfo::Xproto("ClearArea")),
187 xproto::COPY_AREA_REQUEST => (None, RequestInfo::Xproto("CopyArea")),
188 xproto::COPY_PLANE_REQUEST => (None, RequestInfo::Xproto("CopyPlane")),
189 xproto::POLY_POINT_REQUEST => (None, RequestInfo::Xproto("PolyPoint")),
190 xproto::POLY_LINE_REQUEST => (None, RequestInfo::Xproto("PolyLine")),
191 xproto::POLY_SEGMENT_REQUEST => (None, RequestInfo::Xproto("PolySegment")),
192 xproto::POLY_RECTANGLE_REQUEST => (None, RequestInfo::Xproto("PolyRectangle")),
193 xproto::POLY_ARC_REQUEST => (None, RequestInfo::Xproto("PolyArc")),
194 xproto::FILL_POLY_REQUEST => (None, RequestInfo::Xproto("FillPoly")),
195 xproto::POLY_FILL_RECTANGLE_REQUEST => (None, RequestInfo::Xproto("PolyFillRectangle")),
196 xproto::POLY_FILL_ARC_REQUEST => (None, RequestInfo::Xproto("PolyFillArc")),
197 xproto::PUT_IMAGE_REQUEST => (None, RequestInfo::Xproto("PutImage")),
198 xproto::GET_IMAGE_REQUEST => (None, RequestInfo::Xproto("GetImage")),
199 xproto::POLY_TEXT8_REQUEST => (None, RequestInfo::Xproto("PolyText8")),
200 xproto::POLY_TEXT16_REQUEST => (None, RequestInfo::Xproto("PolyText16")),
201 xproto::IMAGE_TEXT8_REQUEST => (None, RequestInfo::Xproto("ImageText8")),
202 xproto::IMAGE_TEXT16_REQUEST => (None, RequestInfo::Xproto("ImageText16")),
203 xproto::CREATE_COLORMAP_REQUEST => (None, RequestInfo::Xproto("CreateColormap")),
204 xproto::FREE_COLORMAP_REQUEST => (None, RequestInfo::Xproto("FreeColormap")),
205 xproto::COPY_COLORMAP_AND_FREE_REQUEST => (None, RequestInfo::Xproto("CopyColormapAndFree")),
206 xproto::INSTALL_COLORMAP_REQUEST => (None, RequestInfo::Xproto("InstallColormap")),
207 xproto::UNINSTALL_COLORMAP_REQUEST => (None, RequestInfo::Xproto("UninstallColormap")),
208 xproto::LIST_INSTALLED_COLORMAPS_REQUEST => (None, RequestInfo::Xproto("ListInstalledColormaps")),
209 xproto::ALLOC_COLOR_REQUEST => (None, RequestInfo::Xproto("AllocColor")),
210 xproto::ALLOC_NAMED_COLOR_REQUEST => (None, RequestInfo::Xproto("AllocNamedColor")),
211 xproto::ALLOC_COLOR_CELLS_REQUEST => (None, RequestInfo::Xproto("AllocColorCells")),
212 xproto::ALLOC_COLOR_PLANES_REQUEST => (None, RequestInfo::Xproto("AllocColorPlanes")),
213 xproto::FREE_COLORS_REQUEST => (None, RequestInfo::Xproto("FreeColors")),
214 xproto::STORE_COLORS_REQUEST => (None, RequestInfo::Xproto("StoreColors")),
215 xproto::STORE_NAMED_COLOR_REQUEST => (None, RequestInfo::Xproto("StoreNamedColor")),
216 xproto::QUERY_COLORS_REQUEST => (None, RequestInfo::Xproto("QueryColors")),
217 xproto::LOOKUP_COLOR_REQUEST => (None, RequestInfo::Xproto("LookupColor")),
218 xproto::CREATE_CURSOR_REQUEST => (None, RequestInfo::Xproto("CreateCursor")),
219 xproto::CREATE_GLYPH_CURSOR_REQUEST => (None, RequestInfo::Xproto("CreateGlyphCursor")),
220 xproto::FREE_CURSOR_REQUEST => (None, RequestInfo::Xproto("FreeCursor")),
221 xproto::RECOLOR_CURSOR_REQUEST => (None, RequestInfo::Xproto("RecolorCursor")),
222 xproto::QUERY_BEST_SIZE_REQUEST => (None, RequestInfo::Xproto("QueryBestSize")),
223 xproto::QUERY_EXTENSION_REQUEST => (None, RequestInfo::Xproto("QueryExtension")),
224 xproto::LIST_EXTENSIONS_REQUEST => (None, RequestInfo::Xproto("ListExtensions")),
225 xproto::CHANGE_KEYBOARD_MAPPING_REQUEST => (None, RequestInfo::Xproto("ChangeKeyboardMapping")),
226 xproto::GET_KEYBOARD_MAPPING_REQUEST => (None, RequestInfo::Xproto("GetKeyboardMapping")),
227 xproto::CHANGE_KEYBOARD_CONTROL_REQUEST => (None, RequestInfo::Xproto("ChangeKeyboardControl")),
228 xproto::GET_KEYBOARD_CONTROL_REQUEST => (None, RequestInfo::Xproto("GetKeyboardControl")),
229 xproto::BELL_REQUEST => (None, RequestInfo::Xproto("Bell")),
230 xproto::CHANGE_POINTER_CONTROL_REQUEST => (None, RequestInfo::Xproto("ChangePointerControl")),
231 xproto::GET_POINTER_CONTROL_REQUEST => (None, RequestInfo::Xproto("GetPointerControl")),
232 xproto::SET_SCREEN_SAVER_REQUEST => (None, RequestInfo::Xproto("SetScreenSaver")),
233 xproto::GET_SCREEN_SAVER_REQUEST => (None, RequestInfo::Xproto("GetScreenSaver")),
234 xproto::CHANGE_HOSTS_REQUEST => (None, RequestInfo::Xproto("ChangeHosts")),
235 xproto::LIST_HOSTS_REQUEST => (None, RequestInfo::Xproto("ListHosts")),
236 xproto::SET_ACCESS_CONTROL_REQUEST => (None, RequestInfo::Xproto("SetAccessControl")),
237 xproto::SET_CLOSE_DOWN_MODE_REQUEST => (None, RequestInfo::Xproto("SetCloseDownMode")),
238 xproto::KILL_CLIENT_REQUEST => (None, RequestInfo::Xproto("KillClient")),
239 xproto::ROTATE_PROPERTIES_REQUEST => (None, RequestInfo::Xproto("RotateProperties")),
240 xproto::FORCE_SCREEN_SAVER_REQUEST => (None, RequestInfo::Xproto("ForceScreenSaver")),
241 xproto::SET_POINTER_MAPPING_REQUEST => (None, RequestInfo::Xproto("SetPointerMapping")),
242 xproto::GET_POINTER_MAPPING_REQUEST => (None, RequestInfo::Xproto("GetPointerMapping")),
243 xproto::SET_MODIFIER_MAPPING_REQUEST => (None, RequestInfo::Xproto("SetModifierMapping")),
244 xproto::GET_MODIFIER_MAPPING_REQUEST => (None, RequestInfo::Xproto("GetModifierMapping")),
245 xproto::NO_OPERATION_REQUEST => (None, RequestInfo::Xproto("NoOperation")),
246 _ => (None, RequestInfo::UnknownRequest(None, major_opcode)),
247 }
248 } else {
249 // Figure out the extension name
250 let ext_name = match ext_info_provider.get_from_major_opcode(major_opcode) {
251 Some((name, _)) => name,
252 None => return (None, RequestInfo::UnknownExtension(major_opcode, minor_opcode)),
253 };
254 let info = match ext_name {
255 bigreq::X11_EXTENSION_NAME => {
256 match minor_opcode {
257 bigreq::ENABLE_REQUEST => RequestInfo::KnownExt("BigRequests::Enable"),
258 _ => RequestInfo::UnknownRequest(Some("BigRequests"), minor_opcode),
259 }
260 }
261 #[cfg(feature = "composite")]
262 composite::X11_EXTENSION_NAME => {
263 match minor_opcode {
264 composite::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Composite::QueryVersion"),
265 composite::REDIRECT_WINDOW_REQUEST => RequestInfo::KnownExt("Composite::RedirectWindow"),
266 composite::REDIRECT_SUBWINDOWS_REQUEST => RequestInfo::KnownExt("Composite::RedirectSubwindows"),
267 composite::UNREDIRECT_WINDOW_REQUEST => RequestInfo::KnownExt("Composite::UnredirectWindow"),
268 composite::UNREDIRECT_SUBWINDOWS_REQUEST => RequestInfo::KnownExt("Composite::UnredirectSubwindows"),
269 composite::CREATE_REGION_FROM_BORDER_CLIP_REQUEST => RequestInfo::KnownExt("Composite::CreateRegionFromBorderClip"),
270 composite::NAME_WINDOW_PIXMAP_REQUEST => RequestInfo::KnownExt("Composite::NameWindowPixmap"),
271 composite::GET_OVERLAY_WINDOW_REQUEST => RequestInfo::KnownExt("Composite::GetOverlayWindow"),
272 composite::RELEASE_OVERLAY_WINDOW_REQUEST => RequestInfo::KnownExt("Composite::ReleaseOverlayWindow"),
273 _ => RequestInfo::UnknownRequest(Some("Composite"), minor_opcode),
274 }
275 }
276 #[cfg(feature = "damage")]
277 damage::X11_EXTENSION_NAME => {
278 match minor_opcode {
279 damage::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Damage::QueryVersion"),
280 damage::CREATE_REQUEST => RequestInfo::KnownExt("Damage::Create"),
281 damage::DESTROY_REQUEST => RequestInfo::KnownExt("Damage::Destroy"),
282 damage::SUBTRACT_REQUEST => RequestInfo::KnownExt("Damage::Subtract"),
283 damage::ADD_REQUEST => RequestInfo::KnownExt("Damage::Add"),
284 _ => RequestInfo::UnknownRequest(Some("Damage"), minor_opcode),
285 }
286 }
287 #[cfg(feature = "dbe")]
288 dbe::X11_EXTENSION_NAME => {
289 match minor_opcode {
290 dbe::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Dbe::QueryVersion"),
291 dbe::ALLOCATE_BACK_BUFFER_REQUEST => RequestInfo::KnownExt("Dbe::AllocateBackBuffer"),
292 dbe::DEALLOCATE_BACK_BUFFER_REQUEST => RequestInfo::KnownExt("Dbe::DeallocateBackBuffer"),
293 dbe::SWAP_BUFFERS_REQUEST => RequestInfo::KnownExt("Dbe::SwapBuffers"),
294 dbe::BEGIN_IDIOM_REQUEST => RequestInfo::KnownExt("Dbe::BeginIdiom"),
295 dbe::END_IDIOM_REQUEST => RequestInfo::KnownExt("Dbe::EndIdiom"),
296 dbe::GET_VISUAL_INFO_REQUEST => RequestInfo::KnownExt("Dbe::GetVisualInfo"),
297 dbe::GET_BACK_BUFFER_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("Dbe::GetBackBufferAttributes"),
298 _ => RequestInfo::UnknownRequest(Some("Dbe"), minor_opcode),
299 }
300 }
301 #[cfg(feature = "dpms")]
302 dpms::X11_EXTENSION_NAME => {
303 match minor_opcode {
304 dpms::GET_VERSION_REQUEST => RequestInfo::KnownExt("DPMS::GetVersion"),
305 dpms::CAPABLE_REQUEST => RequestInfo::KnownExt("DPMS::Capable"),
306 dpms::GET_TIMEOUTS_REQUEST => RequestInfo::KnownExt("DPMS::GetTimeouts"),
307 dpms::SET_TIMEOUTS_REQUEST => RequestInfo::KnownExt("DPMS::SetTimeouts"),
308 dpms::ENABLE_REQUEST => RequestInfo::KnownExt("DPMS::Enable"),
309 dpms::DISABLE_REQUEST => RequestInfo::KnownExt("DPMS::Disable"),
310 dpms::FORCE_LEVEL_REQUEST => RequestInfo::KnownExt("DPMS::ForceLevel"),
311 dpms::INFO_REQUEST => RequestInfo::KnownExt("DPMS::Info"),
312 dpms::SELECT_INPUT_REQUEST => RequestInfo::KnownExt("DPMS::SelectInput"),
313 _ => RequestInfo::UnknownRequest(Some("DPMS"), minor_opcode),
314 }
315 }
316 #[cfg(feature = "dri2")]
317 dri2::X11_EXTENSION_NAME => {
318 match minor_opcode {
319 dri2::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("DRI2::QueryVersion"),
320 dri2::CONNECT_REQUEST => RequestInfo::KnownExt("DRI2::Connect"),
321 dri2::AUTHENTICATE_REQUEST => RequestInfo::KnownExt("DRI2::Authenticate"),
322 dri2::CREATE_DRAWABLE_REQUEST => RequestInfo::KnownExt("DRI2::CreateDrawable"),
323 dri2::DESTROY_DRAWABLE_REQUEST => RequestInfo::KnownExt("DRI2::DestroyDrawable"),
324 dri2::GET_BUFFERS_REQUEST => RequestInfo::KnownExt("DRI2::GetBuffers"),
325 dri2::COPY_REGION_REQUEST => RequestInfo::KnownExt("DRI2::CopyRegion"),
326 dri2::GET_BUFFERS_WITH_FORMAT_REQUEST => RequestInfo::KnownExt("DRI2::GetBuffersWithFormat"),
327 dri2::SWAP_BUFFERS_REQUEST => RequestInfo::KnownExt("DRI2::SwapBuffers"),
328 dri2::GET_MSC_REQUEST => RequestInfo::KnownExt("DRI2::GetMSC"),
329 dri2::WAIT_MSC_REQUEST => RequestInfo::KnownExt("DRI2::WaitMSC"),
330 dri2::WAIT_SBC_REQUEST => RequestInfo::KnownExt("DRI2::WaitSBC"),
331 dri2::SWAP_INTERVAL_REQUEST => RequestInfo::KnownExt("DRI2::SwapInterval"),
332 dri2::GET_PARAM_REQUEST => RequestInfo::KnownExt("DRI2::GetParam"),
333 _ => RequestInfo::UnknownRequest(Some("DRI2"), minor_opcode),
334 }
335 }
336 #[cfg(feature = "dri3")]
337 dri3::X11_EXTENSION_NAME => {
338 match minor_opcode {
339 dri3::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("DRI3::QueryVersion"),
340 dri3::OPEN_REQUEST => RequestInfo::KnownExt("DRI3::Open"),
341 dri3::PIXMAP_FROM_BUFFER_REQUEST => RequestInfo::KnownExt("DRI3::PixmapFromBuffer"),
342 dri3::BUFFER_FROM_PIXMAP_REQUEST => RequestInfo::KnownExt("DRI3::BufferFromPixmap"),
343 dri3::FENCE_FROM_FD_REQUEST => RequestInfo::KnownExt("DRI3::FenceFromFD"),
344 dri3::FD_FROM_FENCE_REQUEST => RequestInfo::KnownExt("DRI3::FDFromFence"),
345 dri3::GET_SUPPORTED_MODIFIERS_REQUEST => RequestInfo::KnownExt("DRI3::GetSupportedModifiers"),
346 dri3::PIXMAP_FROM_BUFFERS_REQUEST => RequestInfo::KnownExt("DRI3::PixmapFromBuffers"),
347 dri3::BUFFERS_FROM_PIXMAP_REQUEST => RequestInfo::KnownExt("DRI3::BuffersFromPixmap"),
348 dri3::SET_DRM_DEVICE_IN_USE_REQUEST => RequestInfo::KnownExt("DRI3::SetDRMDeviceInUse"),
349 _ => RequestInfo::UnknownRequest(Some("DRI3"), minor_opcode),
350 }
351 }
352 ge::X11_EXTENSION_NAME => {
353 match minor_opcode {
354 ge::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("GenericEvent::QueryVersion"),
355 _ => RequestInfo::UnknownRequest(Some("GenericEvent"), minor_opcode),
356 }
357 }
358 #[cfg(feature = "glx")]
359 glx::X11_EXTENSION_NAME => {
360 match minor_opcode {
361 glx::RENDER_REQUEST => RequestInfo::KnownExt("Glx::Render"),
362 glx::RENDER_LARGE_REQUEST => RequestInfo::KnownExt("Glx::RenderLarge"),
363 glx::CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("Glx::CreateContext"),
364 glx::DESTROY_CONTEXT_REQUEST => RequestInfo::KnownExt("Glx::DestroyContext"),
365 glx::MAKE_CURRENT_REQUEST => RequestInfo::KnownExt("Glx::MakeCurrent"),
366 glx::IS_DIRECT_REQUEST => RequestInfo::KnownExt("Glx::IsDirect"),
367 glx::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Glx::QueryVersion"),
368 glx::WAIT_GL_REQUEST => RequestInfo::KnownExt("Glx::WaitGL"),
369 glx::WAIT_X_REQUEST => RequestInfo::KnownExt("Glx::WaitX"),
370 glx::COPY_CONTEXT_REQUEST => RequestInfo::KnownExt("Glx::CopyContext"),
371 glx::SWAP_BUFFERS_REQUEST => RequestInfo::KnownExt("Glx::SwapBuffers"),
372 glx::USE_X_FONT_REQUEST => RequestInfo::KnownExt("Glx::UseXFont"),
373 glx::CREATE_GLX_PIXMAP_REQUEST => RequestInfo::KnownExt("Glx::CreateGLXPixmap"),
374 glx::GET_VISUAL_CONFIGS_REQUEST => RequestInfo::KnownExt("Glx::GetVisualConfigs"),
375 glx::DESTROY_GLX_PIXMAP_REQUEST => RequestInfo::KnownExt("Glx::DestroyGLXPixmap"),
376 glx::VENDOR_PRIVATE_REQUEST => RequestInfo::KnownExt("Glx::VendorPrivate"),
377 glx::VENDOR_PRIVATE_WITH_REPLY_REQUEST => RequestInfo::KnownExt("Glx::VendorPrivateWithReply"),
378 glx::QUERY_EXTENSIONS_STRING_REQUEST => RequestInfo::KnownExt("Glx::QueryExtensionsString"),
379 glx::QUERY_SERVER_STRING_REQUEST => RequestInfo::KnownExt("Glx::QueryServerString"),
380 glx::CLIENT_INFO_REQUEST => RequestInfo::KnownExt("Glx::ClientInfo"),
381 glx::GET_FB_CONFIGS_REQUEST => RequestInfo::KnownExt("Glx::GetFBConfigs"),
382 glx::CREATE_PIXMAP_REQUEST => RequestInfo::KnownExt("Glx::CreatePixmap"),
383 glx::DESTROY_PIXMAP_REQUEST => RequestInfo::KnownExt("Glx::DestroyPixmap"),
384 glx::CREATE_NEW_CONTEXT_REQUEST => RequestInfo::KnownExt("Glx::CreateNewContext"),
385 glx::QUERY_CONTEXT_REQUEST => RequestInfo::KnownExt("Glx::QueryContext"),
386 glx::MAKE_CONTEXT_CURRENT_REQUEST => RequestInfo::KnownExt("Glx::MakeContextCurrent"),
387 glx::CREATE_PBUFFER_REQUEST => RequestInfo::KnownExt("Glx::CreatePbuffer"),
388 glx::DESTROY_PBUFFER_REQUEST => RequestInfo::KnownExt("Glx::DestroyPbuffer"),
389 glx::GET_DRAWABLE_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("Glx::GetDrawableAttributes"),
390 glx::CHANGE_DRAWABLE_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("Glx::ChangeDrawableAttributes"),
391 glx::CREATE_WINDOW_REQUEST => RequestInfo::KnownExt("Glx::CreateWindow"),
392 glx::DELETE_WINDOW_REQUEST => RequestInfo::KnownExt("Glx::DeleteWindow"),
393 glx::SET_CLIENT_INFO_ARB_REQUEST => RequestInfo::KnownExt("Glx::SetClientInfoARB"),
394 glx::CREATE_CONTEXT_ATTRIBS_ARB_REQUEST => RequestInfo::KnownExt("Glx::CreateContextAttribsARB"),
395 glx::SET_CLIENT_INFO2_ARB_REQUEST => RequestInfo::KnownExt("Glx::SetClientInfo2ARB"),
396 glx::NEW_LIST_REQUEST => RequestInfo::KnownExt("Glx::NewList"),
397 glx::END_LIST_REQUEST => RequestInfo::KnownExt("Glx::EndList"),
398 glx::DELETE_LISTS_REQUEST => RequestInfo::KnownExt("Glx::DeleteLists"),
399 glx::GEN_LISTS_REQUEST => RequestInfo::KnownExt("Glx::GenLists"),
400 glx::FEEDBACK_BUFFER_REQUEST => RequestInfo::KnownExt("Glx::FeedbackBuffer"),
401 glx::SELECT_BUFFER_REQUEST => RequestInfo::KnownExt("Glx::SelectBuffer"),
402 glx::RENDER_MODE_REQUEST => RequestInfo::KnownExt("Glx::RenderMode"),
403 glx::FINISH_REQUEST => RequestInfo::KnownExt("Glx::Finish"),
404 glx::PIXEL_STOREF_REQUEST => RequestInfo::KnownExt("Glx::PixelStoref"),
405 glx::PIXEL_STOREI_REQUEST => RequestInfo::KnownExt("Glx::PixelStorei"),
406 glx::READ_PIXELS_REQUEST => RequestInfo::KnownExt("Glx::ReadPixels"),
407 glx::GET_BOOLEANV_REQUEST => RequestInfo::KnownExt("Glx::GetBooleanv"),
408 glx::GET_CLIP_PLANE_REQUEST => RequestInfo::KnownExt("Glx::GetClipPlane"),
409 glx::GET_DOUBLEV_REQUEST => RequestInfo::KnownExt("Glx::GetDoublev"),
410 glx::GET_ERROR_REQUEST => RequestInfo::KnownExt("Glx::GetError"),
411 glx::GET_FLOATV_REQUEST => RequestInfo::KnownExt("Glx::GetFloatv"),
412 glx::GET_INTEGERV_REQUEST => RequestInfo::KnownExt("Glx::GetIntegerv"),
413 glx::GET_LIGHTFV_REQUEST => RequestInfo::KnownExt("Glx::GetLightfv"),
414 glx::GET_LIGHTIV_REQUEST => RequestInfo::KnownExt("Glx::GetLightiv"),
415 glx::GET_MAPDV_REQUEST => RequestInfo::KnownExt("Glx::GetMapdv"),
416 glx::GET_MAPFV_REQUEST => RequestInfo::KnownExt("Glx::GetMapfv"),
417 glx::GET_MAPIV_REQUEST => RequestInfo::KnownExt("Glx::GetMapiv"),
418 glx::GET_MATERIALFV_REQUEST => RequestInfo::KnownExt("Glx::GetMaterialfv"),
419 glx::GET_MATERIALIV_REQUEST => RequestInfo::KnownExt("Glx::GetMaterialiv"),
420 glx::GET_PIXEL_MAPFV_REQUEST => RequestInfo::KnownExt("Glx::GetPixelMapfv"),
421 glx::GET_PIXEL_MAPUIV_REQUEST => RequestInfo::KnownExt("Glx::GetPixelMapuiv"),
422 glx::GET_PIXEL_MAPUSV_REQUEST => RequestInfo::KnownExt("Glx::GetPixelMapusv"),
423 glx::GET_POLYGON_STIPPLE_REQUEST => RequestInfo::KnownExt("Glx::GetPolygonStipple"),
424 glx::GET_STRING_REQUEST => RequestInfo::KnownExt("Glx::GetString"),
425 glx::GET_TEX_ENVFV_REQUEST => RequestInfo::KnownExt("Glx::GetTexEnvfv"),
426 glx::GET_TEX_ENVIV_REQUEST => RequestInfo::KnownExt("Glx::GetTexEnviv"),
427 glx::GET_TEX_GENDV_REQUEST => RequestInfo::KnownExt("Glx::GetTexGendv"),
428 glx::GET_TEX_GENFV_REQUEST => RequestInfo::KnownExt("Glx::GetTexGenfv"),
429 glx::GET_TEX_GENIV_REQUEST => RequestInfo::KnownExt("Glx::GetTexGeniv"),
430 glx::GET_TEX_IMAGE_REQUEST => RequestInfo::KnownExt("Glx::GetTexImage"),
431 glx::GET_TEX_PARAMETERFV_REQUEST => RequestInfo::KnownExt("Glx::GetTexParameterfv"),
432 glx::GET_TEX_PARAMETERIV_REQUEST => RequestInfo::KnownExt("Glx::GetTexParameteriv"),
433 glx::GET_TEX_LEVEL_PARAMETERFV_REQUEST => RequestInfo::KnownExt("Glx::GetTexLevelParameterfv"),
434 glx::GET_TEX_LEVEL_PARAMETERIV_REQUEST => RequestInfo::KnownExt("Glx::GetTexLevelParameteriv"),
435 glx::IS_ENABLED_REQUEST => RequestInfo::KnownExt("Glx::IsEnabled"),
436 glx::IS_LIST_REQUEST => RequestInfo::KnownExt("Glx::IsList"),
437 glx::FLUSH_REQUEST => RequestInfo::KnownExt("Glx::Flush"),
438 glx::ARE_TEXTURES_RESIDENT_REQUEST => RequestInfo::KnownExt("Glx::AreTexturesResident"),
439 glx::DELETE_TEXTURES_REQUEST => RequestInfo::KnownExt("Glx::DeleteTextures"),
440 glx::GEN_TEXTURES_REQUEST => RequestInfo::KnownExt("Glx::GenTextures"),
441 glx::IS_TEXTURE_REQUEST => RequestInfo::KnownExt("Glx::IsTexture"),
442 glx::GET_COLOR_TABLE_REQUEST => RequestInfo::KnownExt("Glx::GetColorTable"),
443 glx::GET_COLOR_TABLE_PARAMETERFV_REQUEST => RequestInfo::KnownExt("Glx::GetColorTableParameterfv"),
444 glx::GET_COLOR_TABLE_PARAMETERIV_REQUEST => RequestInfo::KnownExt("Glx::GetColorTableParameteriv"),
445 glx::GET_CONVOLUTION_FILTER_REQUEST => RequestInfo::KnownExt("Glx::GetConvolutionFilter"),
446 glx::GET_CONVOLUTION_PARAMETERFV_REQUEST => RequestInfo::KnownExt("Glx::GetConvolutionParameterfv"),
447 glx::GET_CONVOLUTION_PARAMETERIV_REQUEST => RequestInfo::KnownExt("Glx::GetConvolutionParameteriv"),
448 glx::GET_SEPARABLE_FILTER_REQUEST => RequestInfo::KnownExt("Glx::GetSeparableFilter"),
449 glx::GET_HISTOGRAM_REQUEST => RequestInfo::KnownExt("Glx::GetHistogram"),
450 glx::GET_HISTOGRAM_PARAMETERFV_REQUEST => RequestInfo::KnownExt("Glx::GetHistogramParameterfv"),
451 glx::GET_HISTOGRAM_PARAMETERIV_REQUEST => RequestInfo::KnownExt("Glx::GetHistogramParameteriv"),
452 glx::GET_MINMAX_REQUEST => RequestInfo::KnownExt("Glx::GetMinmax"),
453 glx::GET_MINMAX_PARAMETERFV_REQUEST => RequestInfo::KnownExt("Glx::GetMinmaxParameterfv"),
454 glx::GET_MINMAX_PARAMETERIV_REQUEST => RequestInfo::KnownExt("Glx::GetMinmaxParameteriv"),
455 glx::GET_COMPRESSED_TEX_IMAGE_ARB_REQUEST => RequestInfo::KnownExt("Glx::GetCompressedTexImageARB"),
456 glx::DELETE_QUERIES_ARB_REQUEST => RequestInfo::KnownExt("Glx::DeleteQueriesARB"),
457 glx::GEN_QUERIES_ARB_REQUEST => RequestInfo::KnownExt("Glx::GenQueriesARB"),
458 glx::IS_QUERY_ARB_REQUEST => RequestInfo::KnownExt("Glx::IsQueryARB"),
459 glx::GET_QUERYIV_ARB_REQUEST => RequestInfo::KnownExt("Glx::GetQueryivARB"),
460 glx::GET_QUERY_OBJECTIV_ARB_REQUEST => RequestInfo::KnownExt("Glx::GetQueryObjectivARB"),
461 glx::GET_QUERY_OBJECTUIV_ARB_REQUEST => RequestInfo::KnownExt("Glx::GetQueryObjectuivARB"),
462 _ => RequestInfo::UnknownRequest(Some("Glx"), minor_opcode),
463 }
464 }
465 #[cfg(feature = "present")]
466 present::X11_EXTENSION_NAME => {
467 match minor_opcode {
468 present::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Present::QueryVersion"),
469 present::PIXMAP_REQUEST => RequestInfo::KnownExt("Present::Pixmap"),
470 present::NOTIFY_MSC_REQUEST => RequestInfo::KnownExt("Present::NotifyMSC"),
471 present::SELECT_INPUT_REQUEST => RequestInfo::KnownExt("Present::SelectInput"),
472 present::QUERY_CAPABILITIES_REQUEST => RequestInfo::KnownExt("Present::QueryCapabilities"),
473 _ => RequestInfo::UnknownRequest(Some("Present"), minor_opcode),
474 }
475 }
476 #[cfg(feature = "randr")]
477 randr::X11_EXTENSION_NAME => {
478 match minor_opcode {
479 randr::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("RandR::QueryVersion"),
480 randr::SET_SCREEN_CONFIG_REQUEST => RequestInfo::KnownExt("RandR::SetScreenConfig"),
481 randr::SELECT_INPUT_REQUEST => RequestInfo::KnownExt("RandR::SelectInput"),
482 randr::GET_SCREEN_INFO_REQUEST => RequestInfo::KnownExt("RandR::GetScreenInfo"),
483 randr::GET_SCREEN_SIZE_RANGE_REQUEST => RequestInfo::KnownExt("RandR::GetScreenSizeRange"),
484 randr::SET_SCREEN_SIZE_REQUEST => RequestInfo::KnownExt("RandR::SetScreenSize"),
485 randr::GET_SCREEN_RESOURCES_REQUEST => RequestInfo::KnownExt("RandR::GetScreenResources"),
486 randr::GET_OUTPUT_INFO_REQUEST => RequestInfo::KnownExt("RandR::GetOutputInfo"),
487 randr::LIST_OUTPUT_PROPERTIES_REQUEST => RequestInfo::KnownExt("RandR::ListOutputProperties"),
488 randr::QUERY_OUTPUT_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::QueryOutputProperty"),
489 randr::CONFIGURE_OUTPUT_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::ConfigureOutputProperty"),
490 randr::CHANGE_OUTPUT_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::ChangeOutputProperty"),
491 randr::DELETE_OUTPUT_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::DeleteOutputProperty"),
492 randr::GET_OUTPUT_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::GetOutputProperty"),
493 randr::CREATE_MODE_REQUEST => RequestInfo::KnownExt("RandR::CreateMode"),
494 randr::DESTROY_MODE_REQUEST => RequestInfo::KnownExt("RandR::DestroyMode"),
495 randr::ADD_OUTPUT_MODE_REQUEST => RequestInfo::KnownExt("RandR::AddOutputMode"),
496 randr::DELETE_OUTPUT_MODE_REQUEST => RequestInfo::KnownExt("RandR::DeleteOutputMode"),
497 randr::GET_CRTC_INFO_REQUEST => RequestInfo::KnownExt("RandR::GetCrtcInfo"),
498 randr::SET_CRTC_CONFIG_REQUEST => RequestInfo::KnownExt("RandR::SetCrtcConfig"),
499 randr::GET_CRTC_GAMMA_SIZE_REQUEST => RequestInfo::KnownExt("RandR::GetCrtcGammaSize"),
500 randr::GET_CRTC_GAMMA_REQUEST => RequestInfo::KnownExt("RandR::GetCrtcGamma"),
501 randr::SET_CRTC_GAMMA_REQUEST => RequestInfo::KnownExt("RandR::SetCrtcGamma"),
502 randr::GET_SCREEN_RESOURCES_CURRENT_REQUEST => RequestInfo::KnownExt("RandR::GetScreenResourcesCurrent"),
503 randr::SET_CRTC_TRANSFORM_REQUEST => RequestInfo::KnownExt("RandR::SetCrtcTransform"),
504 randr::GET_CRTC_TRANSFORM_REQUEST => RequestInfo::KnownExt("RandR::GetCrtcTransform"),
505 randr::GET_PANNING_REQUEST => RequestInfo::KnownExt("RandR::GetPanning"),
506 randr::SET_PANNING_REQUEST => RequestInfo::KnownExt("RandR::SetPanning"),
507 randr::SET_OUTPUT_PRIMARY_REQUEST => RequestInfo::KnownExt("RandR::SetOutputPrimary"),
508 randr::GET_OUTPUT_PRIMARY_REQUEST => RequestInfo::KnownExt("RandR::GetOutputPrimary"),
509 randr::GET_PROVIDERS_REQUEST => RequestInfo::KnownExt("RandR::GetProviders"),
510 randr::GET_PROVIDER_INFO_REQUEST => RequestInfo::KnownExt("RandR::GetProviderInfo"),
511 randr::SET_PROVIDER_OFFLOAD_SINK_REQUEST => RequestInfo::KnownExt("RandR::SetProviderOffloadSink"),
512 randr::SET_PROVIDER_OUTPUT_SOURCE_REQUEST => RequestInfo::KnownExt("RandR::SetProviderOutputSource"),
513 randr::LIST_PROVIDER_PROPERTIES_REQUEST => RequestInfo::KnownExt("RandR::ListProviderProperties"),
514 randr::QUERY_PROVIDER_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::QueryProviderProperty"),
515 randr::CONFIGURE_PROVIDER_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::ConfigureProviderProperty"),
516 randr::CHANGE_PROVIDER_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::ChangeProviderProperty"),
517 randr::DELETE_PROVIDER_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::DeleteProviderProperty"),
518 randr::GET_PROVIDER_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::GetProviderProperty"),
519 randr::GET_MONITORS_REQUEST => RequestInfo::KnownExt("RandR::GetMonitors"),
520 randr::SET_MONITOR_REQUEST => RequestInfo::KnownExt("RandR::SetMonitor"),
521 randr::DELETE_MONITOR_REQUEST => RequestInfo::KnownExt("RandR::DeleteMonitor"),
522 randr::CREATE_LEASE_REQUEST => RequestInfo::KnownExt("RandR::CreateLease"),
523 randr::FREE_LEASE_REQUEST => RequestInfo::KnownExt("RandR::FreeLease"),
524 _ => RequestInfo::UnknownRequest(Some("RandR"), minor_opcode),
525 }
526 }
527 #[cfg(feature = "record")]
528 record::X11_EXTENSION_NAME => {
529 match minor_opcode {
530 record::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Record::QueryVersion"),
531 record::CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("Record::CreateContext"),
532 record::REGISTER_CLIENTS_REQUEST => RequestInfo::KnownExt("Record::RegisterClients"),
533 record::UNREGISTER_CLIENTS_REQUEST => RequestInfo::KnownExt("Record::UnregisterClients"),
534 record::GET_CONTEXT_REQUEST => RequestInfo::KnownExt("Record::GetContext"),
535 record::ENABLE_CONTEXT_REQUEST => RequestInfo::KnownExt("Record::EnableContext"),
536 record::DISABLE_CONTEXT_REQUEST => RequestInfo::KnownExt("Record::DisableContext"),
537 record::FREE_CONTEXT_REQUEST => RequestInfo::KnownExt("Record::FreeContext"),
538 _ => RequestInfo::UnknownRequest(Some("Record"), minor_opcode),
539 }
540 }
541 #[cfg(feature = "render")]
542 render::X11_EXTENSION_NAME => {
543 match minor_opcode {
544 render::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Render::QueryVersion"),
545 render::QUERY_PICT_FORMATS_REQUEST => RequestInfo::KnownExt("Render::QueryPictFormats"),
546 render::QUERY_PICT_INDEX_VALUES_REQUEST => RequestInfo::KnownExt("Render::QueryPictIndexValues"),
547 render::CREATE_PICTURE_REQUEST => RequestInfo::KnownExt("Render::CreatePicture"),
548 render::CHANGE_PICTURE_REQUEST => RequestInfo::KnownExt("Render::ChangePicture"),
549 render::SET_PICTURE_CLIP_RECTANGLES_REQUEST => RequestInfo::KnownExt("Render::SetPictureClipRectangles"),
550 render::FREE_PICTURE_REQUEST => RequestInfo::KnownExt("Render::FreePicture"),
551 render::COMPOSITE_REQUEST => RequestInfo::KnownExt("Render::Composite"),
552 render::TRAPEZOIDS_REQUEST => RequestInfo::KnownExt("Render::Trapezoids"),
553 render::TRIANGLES_REQUEST => RequestInfo::KnownExt("Render::Triangles"),
554 render::TRI_STRIP_REQUEST => RequestInfo::KnownExt("Render::TriStrip"),
555 render::TRI_FAN_REQUEST => RequestInfo::KnownExt("Render::TriFan"),
556 render::CREATE_GLYPH_SET_REQUEST => RequestInfo::KnownExt("Render::CreateGlyphSet"),
557 render::REFERENCE_GLYPH_SET_REQUEST => RequestInfo::KnownExt("Render::ReferenceGlyphSet"),
558 render::FREE_GLYPH_SET_REQUEST => RequestInfo::KnownExt("Render::FreeGlyphSet"),
559 render::ADD_GLYPHS_REQUEST => RequestInfo::KnownExt("Render::AddGlyphs"),
560 render::FREE_GLYPHS_REQUEST => RequestInfo::KnownExt("Render::FreeGlyphs"),
561 render::COMPOSITE_GLYPHS8_REQUEST => RequestInfo::KnownExt("Render::CompositeGlyphs8"),
562 render::COMPOSITE_GLYPHS16_REQUEST => RequestInfo::KnownExt("Render::CompositeGlyphs16"),
563 render::COMPOSITE_GLYPHS32_REQUEST => RequestInfo::KnownExt("Render::CompositeGlyphs32"),
564 render::FILL_RECTANGLES_REQUEST => RequestInfo::KnownExt("Render::FillRectangles"),
565 render::CREATE_CURSOR_REQUEST => RequestInfo::KnownExt("Render::CreateCursor"),
566 render::SET_PICTURE_TRANSFORM_REQUEST => RequestInfo::KnownExt("Render::SetPictureTransform"),
567 render::QUERY_FILTERS_REQUEST => RequestInfo::KnownExt("Render::QueryFilters"),
568 render::SET_PICTURE_FILTER_REQUEST => RequestInfo::KnownExt("Render::SetPictureFilter"),
569 render::CREATE_ANIM_CURSOR_REQUEST => RequestInfo::KnownExt("Render::CreateAnimCursor"),
570 render::ADD_TRAPS_REQUEST => RequestInfo::KnownExt("Render::AddTraps"),
571 render::CREATE_SOLID_FILL_REQUEST => RequestInfo::KnownExt("Render::CreateSolidFill"),
572 render::CREATE_LINEAR_GRADIENT_REQUEST => RequestInfo::KnownExt("Render::CreateLinearGradient"),
573 render::CREATE_RADIAL_GRADIENT_REQUEST => RequestInfo::KnownExt("Render::CreateRadialGradient"),
574 render::CREATE_CONICAL_GRADIENT_REQUEST => RequestInfo::KnownExt("Render::CreateConicalGradient"),
575 _ => RequestInfo::UnknownRequest(Some("Render"), minor_opcode),
576 }
577 }
578 #[cfg(feature = "res")]
579 res::X11_EXTENSION_NAME => {
580 match minor_opcode {
581 res::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Res::QueryVersion"),
582 res::QUERY_CLIENTS_REQUEST => RequestInfo::KnownExt("Res::QueryClients"),
583 res::QUERY_CLIENT_RESOURCES_REQUEST => RequestInfo::KnownExt("Res::QueryClientResources"),
584 res::QUERY_CLIENT_PIXMAP_BYTES_REQUEST => RequestInfo::KnownExt("Res::QueryClientPixmapBytes"),
585 res::QUERY_CLIENT_IDS_REQUEST => RequestInfo::KnownExt("Res::QueryClientIds"),
586 res::QUERY_RESOURCE_BYTES_REQUEST => RequestInfo::KnownExt("Res::QueryResourceBytes"),
587 _ => RequestInfo::UnknownRequest(Some("Res"), minor_opcode),
588 }
589 }
590 #[cfg(feature = "screensaver")]
591 screensaver::X11_EXTENSION_NAME => {
592 match minor_opcode {
593 screensaver::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("ScreenSaver::QueryVersion"),
594 screensaver::QUERY_INFO_REQUEST => RequestInfo::KnownExt("ScreenSaver::QueryInfo"),
595 screensaver::SELECT_INPUT_REQUEST => RequestInfo::KnownExt("ScreenSaver::SelectInput"),
596 screensaver::SET_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("ScreenSaver::SetAttributes"),
597 screensaver::UNSET_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("ScreenSaver::UnsetAttributes"),
598 screensaver::SUSPEND_REQUEST => RequestInfo::KnownExt("ScreenSaver::Suspend"),
599 _ => RequestInfo::UnknownRequest(Some("ScreenSaver"), minor_opcode),
600 }
601 }
602 #[cfg(feature = "shape")]
603 shape::X11_EXTENSION_NAME => {
604 match minor_opcode {
605 shape::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Shape::QueryVersion"),
606 shape::RECTANGLES_REQUEST => RequestInfo::KnownExt("Shape::Rectangles"),
607 shape::MASK_REQUEST => RequestInfo::KnownExt("Shape::Mask"),
608 shape::COMBINE_REQUEST => RequestInfo::KnownExt("Shape::Combine"),
609 shape::OFFSET_REQUEST => RequestInfo::KnownExt("Shape::Offset"),
610 shape::QUERY_EXTENTS_REQUEST => RequestInfo::KnownExt("Shape::QueryExtents"),
611 shape::SELECT_INPUT_REQUEST => RequestInfo::KnownExt("Shape::SelectInput"),
612 shape::INPUT_SELECTED_REQUEST => RequestInfo::KnownExt("Shape::InputSelected"),
613 shape::GET_RECTANGLES_REQUEST => RequestInfo::KnownExt("Shape::GetRectangles"),
614 _ => RequestInfo::UnknownRequest(Some("Shape"), minor_opcode),
615 }
616 }
617 #[cfg(feature = "shm")]
618 shm::X11_EXTENSION_NAME => {
619 match minor_opcode {
620 shm::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Shm::QueryVersion"),
621 shm::ATTACH_REQUEST => RequestInfo::KnownExt("Shm::Attach"),
622 shm::DETACH_REQUEST => RequestInfo::KnownExt("Shm::Detach"),
623 shm::PUT_IMAGE_REQUEST => RequestInfo::KnownExt("Shm::PutImage"),
624 shm::GET_IMAGE_REQUEST => RequestInfo::KnownExt("Shm::GetImage"),
625 shm::CREATE_PIXMAP_REQUEST => RequestInfo::KnownExt("Shm::CreatePixmap"),
626 shm::ATTACH_FD_REQUEST => RequestInfo::KnownExt("Shm::AttachFd"),
627 shm::CREATE_SEGMENT_REQUEST => RequestInfo::KnownExt("Shm::CreateSegment"),
628 _ => RequestInfo::UnknownRequest(Some("Shm"), minor_opcode),
629 }
630 }
631 #[cfg(feature = "sync")]
632 sync::X11_EXTENSION_NAME => {
633 match minor_opcode {
634 sync::INITIALIZE_REQUEST => RequestInfo::KnownExt("Sync::Initialize"),
635 sync::LIST_SYSTEM_COUNTERS_REQUEST => RequestInfo::KnownExt("Sync::ListSystemCounters"),
636 sync::CREATE_COUNTER_REQUEST => RequestInfo::KnownExt("Sync::CreateCounter"),
637 sync::DESTROY_COUNTER_REQUEST => RequestInfo::KnownExt("Sync::DestroyCounter"),
638 sync::QUERY_COUNTER_REQUEST => RequestInfo::KnownExt("Sync::QueryCounter"),
639 sync::AWAIT_REQUEST => RequestInfo::KnownExt("Sync::Await"),
640 sync::CHANGE_COUNTER_REQUEST => RequestInfo::KnownExt("Sync::ChangeCounter"),
641 sync::SET_COUNTER_REQUEST => RequestInfo::KnownExt("Sync::SetCounter"),
642 sync::CREATE_ALARM_REQUEST => RequestInfo::KnownExt("Sync::CreateAlarm"),
643 sync::CHANGE_ALARM_REQUEST => RequestInfo::KnownExt("Sync::ChangeAlarm"),
644 sync::DESTROY_ALARM_REQUEST => RequestInfo::KnownExt("Sync::DestroyAlarm"),
645 sync::QUERY_ALARM_REQUEST => RequestInfo::KnownExt("Sync::QueryAlarm"),
646 sync::SET_PRIORITY_REQUEST => RequestInfo::KnownExt("Sync::SetPriority"),
647 sync::GET_PRIORITY_REQUEST => RequestInfo::KnownExt("Sync::GetPriority"),
648 sync::CREATE_FENCE_REQUEST => RequestInfo::KnownExt("Sync::CreateFence"),
649 sync::TRIGGER_FENCE_REQUEST => RequestInfo::KnownExt("Sync::TriggerFence"),
650 sync::RESET_FENCE_REQUEST => RequestInfo::KnownExt("Sync::ResetFence"),
651 sync::DESTROY_FENCE_REQUEST => RequestInfo::KnownExt("Sync::DestroyFence"),
652 sync::QUERY_FENCE_REQUEST => RequestInfo::KnownExt("Sync::QueryFence"),
653 sync::AWAIT_FENCE_REQUEST => RequestInfo::KnownExt("Sync::AwaitFence"),
654 _ => RequestInfo::UnknownRequest(Some("Sync"), minor_opcode),
655 }
656 }
657 xc_misc::X11_EXTENSION_NAME => {
658 match minor_opcode {
659 xc_misc::GET_VERSION_REQUEST => RequestInfo::KnownExt("XCMisc::GetVersion"),
660 xc_misc::GET_XID_RANGE_REQUEST => RequestInfo::KnownExt("XCMisc::GetXIDRange"),
661 xc_misc::GET_XID_LIST_REQUEST => RequestInfo::KnownExt("XCMisc::GetXIDList"),
662 _ => RequestInfo::UnknownRequest(Some("XCMisc"), minor_opcode),
663 }
664 }
665 #[cfg(feature = "xevie")]
666 xevie::X11_EXTENSION_NAME => {
667 match minor_opcode {
668 xevie::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Xevie::QueryVersion"),
669 xevie::START_REQUEST => RequestInfo::KnownExt("Xevie::Start"),
670 xevie::END_REQUEST => RequestInfo::KnownExt("Xevie::End"),
671 xevie::SEND_REQUEST => RequestInfo::KnownExt("Xevie::Send"),
672 xevie::SELECT_INPUT_REQUEST => RequestInfo::KnownExt("Xevie::SelectInput"),
673 _ => RequestInfo::UnknownRequest(Some("Xevie"), minor_opcode),
674 }
675 }
676 #[cfg(feature = "xf86dri")]
677 xf86dri::X11_EXTENSION_NAME => {
678 match minor_opcode {
679 xf86dri::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("XF86Dri::QueryVersion"),
680 xf86dri::QUERY_DIRECT_RENDERING_CAPABLE_REQUEST => RequestInfo::KnownExt("XF86Dri::QueryDirectRenderingCapable"),
681 xf86dri::OPEN_CONNECTION_REQUEST => RequestInfo::KnownExt("XF86Dri::OpenConnection"),
682 xf86dri::CLOSE_CONNECTION_REQUEST => RequestInfo::KnownExt("XF86Dri::CloseConnection"),
683 xf86dri::GET_CLIENT_DRIVER_NAME_REQUEST => RequestInfo::KnownExt("XF86Dri::GetClientDriverName"),
684 xf86dri::CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("XF86Dri::CreateContext"),
685 xf86dri::DESTROY_CONTEXT_REQUEST => RequestInfo::KnownExt("XF86Dri::DestroyContext"),
686 xf86dri::CREATE_DRAWABLE_REQUEST => RequestInfo::KnownExt("XF86Dri::CreateDrawable"),
687 xf86dri::DESTROY_DRAWABLE_REQUEST => RequestInfo::KnownExt("XF86Dri::DestroyDrawable"),
688 xf86dri::GET_DRAWABLE_INFO_REQUEST => RequestInfo::KnownExt("XF86Dri::GetDrawableInfo"),
689 xf86dri::GET_DEVICE_INFO_REQUEST => RequestInfo::KnownExt("XF86Dri::GetDeviceInfo"),
690 xf86dri::AUTH_CONNECTION_REQUEST => RequestInfo::KnownExt("XF86Dri::AuthConnection"),
691 _ => RequestInfo::UnknownRequest(Some("XF86Dri"), minor_opcode),
692 }
693 }
694 #[cfg(feature = "xf86vidmode")]
695 xf86vidmode::X11_EXTENSION_NAME => {
696 match minor_opcode {
697 xf86vidmode::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("XF86VidMode::QueryVersion"),
698 xf86vidmode::GET_MODE_LINE_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetModeLine"),
699 xf86vidmode::MOD_MODE_LINE_REQUEST => RequestInfo::KnownExt("XF86VidMode::ModModeLine"),
700 xf86vidmode::SWITCH_MODE_REQUEST => RequestInfo::KnownExt("XF86VidMode::SwitchMode"),
701 xf86vidmode::GET_MONITOR_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetMonitor"),
702 xf86vidmode::LOCK_MODE_SWITCH_REQUEST => RequestInfo::KnownExt("XF86VidMode::LockModeSwitch"),
703 xf86vidmode::GET_ALL_MODE_LINES_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetAllModeLines"),
704 xf86vidmode::ADD_MODE_LINE_REQUEST => RequestInfo::KnownExt("XF86VidMode::AddModeLine"),
705 xf86vidmode::DELETE_MODE_LINE_REQUEST => RequestInfo::KnownExt("XF86VidMode::DeleteModeLine"),
706 xf86vidmode::VALIDATE_MODE_LINE_REQUEST => RequestInfo::KnownExt("XF86VidMode::ValidateModeLine"),
707 xf86vidmode::SWITCH_TO_MODE_REQUEST => RequestInfo::KnownExt("XF86VidMode::SwitchToMode"),
708 xf86vidmode::GET_VIEW_PORT_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetViewPort"),
709 xf86vidmode::SET_VIEW_PORT_REQUEST => RequestInfo::KnownExt("XF86VidMode::SetViewPort"),
710 xf86vidmode::GET_DOT_CLOCKS_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetDotClocks"),
711 xf86vidmode::SET_CLIENT_VERSION_REQUEST => RequestInfo::KnownExt("XF86VidMode::SetClientVersion"),
712 xf86vidmode::SET_GAMMA_REQUEST => RequestInfo::KnownExt("XF86VidMode::SetGamma"),
713 xf86vidmode::GET_GAMMA_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetGamma"),
714 xf86vidmode::GET_GAMMA_RAMP_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetGammaRamp"),
715 xf86vidmode::SET_GAMMA_RAMP_REQUEST => RequestInfo::KnownExt("XF86VidMode::SetGammaRamp"),
716 xf86vidmode::GET_GAMMA_RAMP_SIZE_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetGammaRampSize"),
717 xf86vidmode::GET_PERMISSIONS_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetPermissions"),
718 _ => RequestInfo::UnknownRequest(Some("XF86VidMode"), minor_opcode),
719 }
720 }
721 #[cfg(feature = "xfixes")]
722 xfixes::X11_EXTENSION_NAME => {
723 match minor_opcode {
724 xfixes::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("XFixes::QueryVersion"),
725 xfixes::CHANGE_SAVE_SET_REQUEST => RequestInfo::KnownExt("XFixes::ChangeSaveSet"),
726 xfixes::SELECT_SELECTION_INPUT_REQUEST => RequestInfo::KnownExt("XFixes::SelectSelectionInput"),
727 xfixes::SELECT_CURSOR_INPUT_REQUEST => RequestInfo::KnownExt("XFixes::SelectCursorInput"),
728 xfixes::GET_CURSOR_IMAGE_REQUEST => RequestInfo::KnownExt("XFixes::GetCursorImage"),
729 xfixes::CREATE_REGION_REQUEST => RequestInfo::KnownExt("XFixes::CreateRegion"),
730 xfixes::CREATE_REGION_FROM_BITMAP_REQUEST => RequestInfo::KnownExt("XFixes::CreateRegionFromBitmap"),
731 xfixes::CREATE_REGION_FROM_WINDOW_REQUEST => RequestInfo::KnownExt("XFixes::CreateRegionFromWindow"),
732 xfixes::CREATE_REGION_FROM_GC_REQUEST => RequestInfo::KnownExt("XFixes::CreateRegionFromGC"),
733 xfixes::CREATE_REGION_FROM_PICTURE_REQUEST => RequestInfo::KnownExt("XFixes::CreateRegionFromPicture"),
734 xfixes::DESTROY_REGION_REQUEST => RequestInfo::KnownExt("XFixes::DestroyRegion"),
735 xfixes::SET_REGION_REQUEST => RequestInfo::KnownExt("XFixes::SetRegion"),
736 xfixes::COPY_REGION_REQUEST => RequestInfo::KnownExt("XFixes::CopyRegion"),
737 xfixes::UNION_REGION_REQUEST => RequestInfo::KnownExt("XFixes::UnionRegion"),
738 xfixes::INTERSECT_REGION_REQUEST => RequestInfo::KnownExt("XFixes::IntersectRegion"),
739 xfixes::SUBTRACT_REGION_REQUEST => RequestInfo::KnownExt("XFixes::SubtractRegion"),
740 xfixes::INVERT_REGION_REQUEST => RequestInfo::KnownExt("XFixes::InvertRegion"),
741 xfixes::TRANSLATE_REGION_REQUEST => RequestInfo::KnownExt("XFixes::TranslateRegion"),
742 xfixes::REGION_EXTENTS_REQUEST => RequestInfo::KnownExt("XFixes::RegionExtents"),
743 xfixes::FETCH_REGION_REQUEST => RequestInfo::KnownExt("XFixes::FetchRegion"),
744 xfixes::SET_GC_CLIP_REGION_REQUEST => RequestInfo::KnownExt("XFixes::SetGCClipRegion"),
745 xfixes::SET_WINDOW_SHAPE_REGION_REQUEST => RequestInfo::KnownExt("XFixes::SetWindowShapeRegion"),
746 xfixes::SET_PICTURE_CLIP_REGION_REQUEST => RequestInfo::KnownExt("XFixes::SetPictureClipRegion"),
747 xfixes::SET_CURSOR_NAME_REQUEST => RequestInfo::KnownExt("XFixes::SetCursorName"),
748 xfixes::GET_CURSOR_NAME_REQUEST => RequestInfo::KnownExt("XFixes::GetCursorName"),
749 xfixes::GET_CURSOR_IMAGE_AND_NAME_REQUEST => RequestInfo::KnownExt("XFixes::GetCursorImageAndName"),
750 xfixes::CHANGE_CURSOR_REQUEST => RequestInfo::KnownExt("XFixes::ChangeCursor"),
751 xfixes::CHANGE_CURSOR_BY_NAME_REQUEST => RequestInfo::KnownExt("XFixes::ChangeCursorByName"),
752 xfixes::EXPAND_REGION_REQUEST => RequestInfo::KnownExt("XFixes::ExpandRegion"),
753 xfixes::HIDE_CURSOR_REQUEST => RequestInfo::KnownExt("XFixes::HideCursor"),
754 xfixes::SHOW_CURSOR_REQUEST => RequestInfo::KnownExt("XFixes::ShowCursor"),
755 xfixes::CREATE_POINTER_BARRIER_REQUEST => RequestInfo::KnownExt("XFixes::CreatePointerBarrier"),
756 xfixes::DELETE_POINTER_BARRIER_REQUEST => RequestInfo::KnownExt("XFixes::DeletePointerBarrier"),
757 xfixes::SET_CLIENT_DISCONNECT_MODE_REQUEST => RequestInfo::KnownExt("XFixes::SetClientDisconnectMode"),
758 xfixes::GET_CLIENT_DISCONNECT_MODE_REQUEST => RequestInfo::KnownExt("XFixes::GetClientDisconnectMode"),
759 _ => RequestInfo::UnknownRequest(Some("XFixes"), minor_opcode),
760 }
761 }
762 #[cfg(feature = "xinerama")]
763 xinerama::X11_EXTENSION_NAME => {
764 match minor_opcode {
765 xinerama::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Xinerama::QueryVersion"),
766 xinerama::GET_STATE_REQUEST => RequestInfo::KnownExt("Xinerama::GetState"),
767 xinerama::GET_SCREEN_COUNT_REQUEST => RequestInfo::KnownExt("Xinerama::GetScreenCount"),
768 xinerama::GET_SCREEN_SIZE_REQUEST => RequestInfo::KnownExt("Xinerama::GetScreenSize"),
769 xinerama::IS_ACTIVE_REQUEST => RequestInfo::KnownExt("Xinerama::IsActive"),
770 xinerama::QUERY_SCREENS_REQUEST => RequestInfo::KnownExt("Xinerama::QueryScreens"),
771 _ => RequestInfo::UnknownRequest(Some("Xinerama"), minor_opcode),
772 }
773 }
774 #[cfg(feature = "xinput")]
775 xinput::X11_EXTENSION_NAME => {
776 match minor_opcode {
777 xinput::GET_EXTENSION_VERSION_REQUEST => RequestInfo::KnownExt("Input::GetExtensionVersion"),
778 xinput::LIST_INPUT_DEVICES_REQUEST => RequestInfo::KnownExt("Input::ListInputDevices"),
779 xinput::OPEN_DEVICE_REQUEST => RequestInfo::KnownExt("Input::OpenDevice"),
780 xinput::CLOSE_DEVICE_REQUEST => RequestInfo::KnownExt("Input::CloseDevice"),
781 xinput::SET_DEVICE_MODE_REQUEST => RequestInfo::KnownExt("Input::SetDeviceMode"),
782 xinput::SELECT_EXTENSION_EVENT_REQUEST => RequestInfo::KnownExt("Input::SelectExtensionEvent"),
783 xinput::GET_SELECTED_EXTENSION_EVENTS_REQUEST => RequestInfo::KnownExt("Input::GetSelectedExtensionEvents"),
784 xinput::CHANGE_DEVICE_DONT_PROPAGATE_LIST_REQUEST => RequestInfo::KnownExt("Input::ChangeDeviceDontPropagateList"),
785 xinput::GET_DEVICE_DONT_PROPAGATE_LIST_REQUEST => RequestInfo::KnownExt("Input::GetDeviceDontPropagateList"),
786 xinput::GET_DEVICE_MOTION_EVENTS_REQUEST => RequestInfo::KnownExt("Input::GetDeviceMotionEvents"),
787 xinput::CHANGE_KEYBOARD_DEVICE_REQUEST => RequestInfo::KnownExt("Input::ChangeKeyboardDevice"),
788 xinput::CHANGE_POINTER_DEVICE_REQUEST => RequestInfo::KnownExt("Input::ChangePointerDevice"),
789 xinput::GRAB_DEVICE_REQUEST => RequestInfo::KnownExt("Input::GrabDevice"),
790 xinput::UNGRAB_DEVICE_REQUEST => RequestInfo::KnownExt("Input::UngrabDevice"),
791 xinput::GRAB_DEVICE_KEY_REQUEST => RequestInfo::KnownExt("Input::GrabDeviceKey"),
792 xinput::UNGRAB_DEVICE_KEY_REQUEST => RequestInfo::KnownExt("Input::UngrabDeviceKey"),
793 xinput::GRAB_DEVICE_BUTTON_REQUEST => RequestInfo::KnownExt("Input::GrabDeviceButton"),
794 xinput::UNGRAB_DEVICE_BUTTON_REQUEST => RequestInfo::KnownExt("Input::UngrabDeviceButton"),
795 xinput::ALLOW_DEVICE_EVENTS_REQUEST => RequestInfo::KnownExt("Input::AllowDeviceEvents"),
796 xinput::GET_DEVICE_FOCUS_REQUEST => RequestInfo::KnownExt("Input::GetDeviceFocus"),
797 xinput::SET_DEVICE_FOCUS_REQUEST => RequestInfo::KnownExt("Input::SetDeviceFocus"),
798 xinput::GET_FEEDBACK_CONTROL_REQUEST => RequestInfo::KnownExt("Input::GetFeedbackControl"),
799 xinput::CHANGE_FEEDBACK_CONTROL_REQUEST => RequestInfo::KnownExt("Input::ChangeFeedbackControl"),
800 xinput::GET_DEVICE_KEY_MAPPING_REQUEST => RequestInfo::KnownExt("Input::GetDeviceKeyMapping"),
801 xinput::CHANGE_DEVICE_KEY_MAPPING_REQUEST => RequestInfo::KnownExt("Input::ChangeDeviceKeyMapping"),
802 xinput::GET_DEVICE_MODIFIER_MAPPING_REQUEST => RequestInfo::KnownExt("Input::GetDeviceModifierMapping"),
803 xinput::SET_DEVICE_MODIFIER_MAPPING_REQUEST => RequestInfo::KnownExt("Input::SetDeviceModifierMapping"),
804 xinput::GET_DEVICE_BUTTON_MAPPING_REQUEST => RequestInfo::KnownExt("Input::GetDeviceButtonMapping"),
805 xinput::SET_DEVICE_BUTTON_MAPPING_REQUEST => RequestInfo::KnownExt("Input::SetDeviceButtonMapping"),
806 xinput::QUERY_DEVICE_STATE_REQUEST => RequestInfo::KnownExt("Input::QueryDeviceState"),
807 xinput::DEVICE_BELL_REQUEST => RequestInfo::KnownExt("Input::DeviceBell"),
808 xinput::SET_DEVICE_VALUATORS_REQUEST => RequestInfo::KnownExt("Input::SetDeviceValuators"),
809 xinput::GET_DEVICE_CONTROL_REQUEST => RequestInfo::KnownExt("Input::GetDeviceControl"),
810 xinput::CHANGE_DEVICE_CONTROL_REQUEST => RequestInfo::KnownExt("Input::ChangeDeviceControl"),
811 xinput::LIST_DEVICE_PROPERTIES_REQUEST => RequestInfo::KnownExt("Input::ListDeviceProperties"),
812 xinput::CHANGE_DEVICE_PROPERTY_REQUEST => RequestInfo::KnownExt("Input::ChangeDeviceProperty"),
813 xinput::DELETE_DEVICE_PROPERTY_REQUEST => RequestInfo::KnownExt("Input::DeleteDeviceProperty"),
814 xinput::GET_DEVICE_PROPERTY_REQUEST => RequestInfo::KnownExt("Input::GetDeviceProperty"),
815 xinput::XI_QUERY_POINTER_REQUEST => RequestInfo::KnownExt("Input::XIQueryPointer"),
816 xinput::XI_WARP_POINTER_REQUEST => RequestInfo::KnownExt("Input::XIWarpPointer"),
817 xinput::XI_CHANGE_CURSOR_REQUEST => RequestInfo::KnownExt("Input::XIChangeCursor"),
818 xinput::XI_CHANGE_HIERARCHY_REQUEST => RequestInfo::KnownExt("Input::XIChangeHierarchy"),
819 xinput::XI_SET_CLIENT_POINTER_REQUEST => RequestInfo::KnownExt("Input::XISetClientPointer"),
820 xinput::XI_GET_CLIENT_POINTER_REQUEST => RequestInfo::KnownExt("Input::XIGetClientPointer"),
821 xinput::XI_SELECT_EVENTS_REQUEST => RequestInfo::KnownExt("Input::XISelectEvents"),
822 xinput::XI_QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Input::XIQueryVersion"),
823 xinput::XI_QUERY_DEVICE_REQUEST => RequestInfo::KnownExt("Input::XIQueryDevice"),
824 xinput::XI_SET_FOCUS_REQUEST => RequestInfo::KnownExt("Input::XISetFocus"),
825 xinput::XI_GET_FOCUS_REQUEST => RequestInfo::KnownExt("Input::XIGetFocus"),
826 xinput::XI_GRAB_DEVICE_REQUEST => RequestInfo::KnownExt("Input::XIGrabDevice"),
827 xinput::XI_UNGRAB_DEVICE_REQUEST => RequestInfo::KnownExt("Input::XIUngrabDevice"),
828 xinput::XI_ALLOW_EVENTS_REQUEST => RequestInfo::KnownExt("Input::XIAllowEvents"),
829 xinput::XI_PASSIVE_GRAB_DEVICE_REQUEST => RequestInfo::KnownExt("Input::XIPassiveGrabDevice"),
830 xinput::XI_PASSIVE_UNGRAB_DEVICE_REQUEST => RequestInfo::KnownExt("Input::XIPassiveUngrabDevice"),
831 xinput::XI_LIST_PROPERTIES_REQUEST => RequestInfo::KnownExt("Input::XIListProperties"),
832 xinput::XI_CHANGE_PROPERTY_REQUEST => RequestInfo::KnownExt("Input::XIChangeProperty"),
833 xinput::XI_DELETE_PROPERTY_REQUEST => RequestInfo::KnownExt("Input::XIDeleteProperty"),
834 xinput::XI_GET_PROPERTY_REQUEST => RequestInfo::KnownExt("Input::XIGetProperty"),
835 xinput::XI_GET_SELECTED_EVENTS_REQUEST => RequestInfo::KnownExt("Input::XIGetSelectedEvents"),
836 xinput::XI_BARRIER_RELEASE_POINTER_REQUEST => RequestInfo::KnownExt("Input::XIBarrierReleasePointer"),
837 xinput::SEND_EXTENSION_EVENT_REQUEST => RequestInfo::KnownExt("Input::SendExtensionEvent"),
838 _ => RequestInfo::UnknownRequest(Some("Input"), minor_opcode),
839 }
840 }
841 #[cfg(feature = "xkb")]
842 xkb::X11_EXTENSION_NAME => {
843 match minor_opcode {
844 xkb::USE_EXTENSION_REQUEST => RequestInfo::KnownExt("xkb::UseExtension"),
845 xkb::SELECT_EVENTS_REQUEST => RequestInfo::KnownExt("xkb::SelectEvents"),
846 xkb::BELL_REQUEST => RequestInfo::KnownExt("xkb::Bell"),
847 xkb::GET_STATE_REQUEST => RequestInfo::KnownExt("xkb::GetState"),
848 xkb::LATCH_LOCK_STATE_REQUEST => RequestInfo::KnownExt("xkb::LatchLockState"),
849 xkb::GET_CONTROLS_REQUEST => RequestInfo::KnownExt("xkb::GetControls"),
850 xkb::SET_CONTROLS_REQUEST => RequestInfo::KnownExt("xkb::SetControls"),
851 xkb::GET_MAP_REQUEST => RequestInfo::KnownExt("xkb::GetMap"),
852 xkb::SET_MAP_REQUEST => RequestInfo::KnownExt("xkb::SetMap"),
853 xkb::GET_COMPAT_MAP_REQUEST => RequestInfo::KnownExt("xkb::GetCompatMap"),
854 xkb::SET_COMPAT_MAP_REQUEST => RequestInfo::KnownExt("xkb::SetCompatMap"),
855 xkb::GET_INDICATOR_STATE_REQUEST => RequestInfo::KnownExt("xkb::GetIndicatorState"),
856 xkb::GET_INDICATOR_MAP_REQUEST => RequestInfo::KnownExt("xkb::GetIndicatorMap"),
857 xkb::SET_INDICATOR_MAP_REQUEST => RequestInfo::KnownExt("xkb::SetIndicatorMap"),
858 xkb::GET_NAMED_INDICATOR_REQUEST => RequestInfo::KnownExt("xkb::GetNamedIndicator"),
859 xkb::SET_NAMED_INDICATOR_REQUEST => RequestInfo::KnownExt("xkb::SetNamedIndicator"),
860 xkb::GET_NAMES_REQUEST => RequestInfo::KnownExt("xkb::GetNames"),
861 xkb::SET_NAMES_REQUEST => RequestInfo::KnownExt("xkb::SetNames"),
862 xkb::PER_CLIENT_FLAGS_REQUEST => RequestInfo::KnownExt("xkb::PerClientFlags"),
863 xkb::LIST_COMPONENTS_REQUEST => RequestInfo::KnownExt("xkb::ListComponents"),
864 xkb::GET_KBD_BY_NAME_REQUEST => RequestInfo::KnownExt("xkb::GetKbdByName"),
865 xkb::GET_DEVICE_INFO_REQUEST => RequestInfo::KnownExt("xkb::GetDeviceInfo"),
866 xkb::SET_DEVICE_INFO_REQUEST => RequestInfo::KnownExt("xkb::SetDeviceInfo"),
867 xkb::SET_DEBUGGING_FLAGS_REQUEST => RequestInfo::KnownExt("xkb::SetDebuggingFlags"),
868 _ => RequestInfo::UnknownRequest(Some("xkb"), minor_opcode),
869 }
870 }
871 #[cfg(feature = "xprint")]
872 xprint::X11_EXTENSION_NAME => {
873 match minor_opcode {
874 xprint::PRINT_QUERY_VERSION_REQUEST => RequestInfo::KnownExt("XPrint::PrintQueryVersion"),
875 xprint::PRINT_GET_PRINTER_LIST_REQUEST => RequestInfo::KnownExt("XPrint::PrintGetPrinterList"),
876 xprint::PRINT_REHASH_PRINTER_LIST_REQUEST => RequestInfo::KnownExt("XPrint::PrintRehashPrinterList"),
877 xprint::CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("XPrint::CreateContext"),
878 xprint::PRINT_SET_CONTEXT_REQUEST => RequestInfo::KnownExt("XPrint::PrintSetContext"),
879 xprint::PRINT_GET_CONTEXT_REQUEST => RequestInfo::KnownExt("XPrint::PrintGetContext"),
880 xprint::PRINT_DESTROY_CONTEXT_REQUEST => RequestInfo::KnownExt("XPrint::PrintDestroyContext"),
881 xprint::PRINT_GET_SCREEN_OF_CONTEXT_REQUEST => RequestInfo::KnownExt("XPrint::PrintGetScreenOfContext"),
882 xprint::PRINT_START_JOB_REQUEST => RequestInfo::KnownExt("XPrint::PrintStartJob"),
883 xprint::PRINT_END_JOB_REQUEST => RequestInfo::KnownExt("XPrint::PrintEndJob"),
884 xprint::PRINT_START_DOC_REQUEST => RequestInfo::KnownExt("XPrint::PrintStartDoc"),
885 xprint::PRINT_END_DOC_REQUEST => RequestInfo::KnownExt("XPrint::PrintEndDoc"),
886 xprint::PRINT_PUT_DOCUMENT_DATA_REQUEST => RequestInfo::KnownExt("XPrint::PrintPutDocumentData"),
887 xprint::PRINT_GET_DOCUMENT_DATA_REQUEST => RequestInfo::KnownExt("XPrint::PrintGetDocumentData"),
888 xprint::PRINT_START_PAGE_REQUEST => RequestInfo::KnownExt("XPrint::PrintStartPage"),
889 xprint::PRINT_END_PAGE_REQUEST => RequestInfo::KnownExt("XPrint::PrintEndPage"),
890 xprint::PRINT_SELECT_INPUT_REQUEST => RequestInfo::KnownExt("XPrint::PrintSelectInput"),
891 xprint::PRINT_INPUT_SELECTED_REQUEST => RequestInfo::KnownExt("XPrint::PrintInputSelected"),
892 xprint::PRINT_GET_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("XPrint::PrintGetAttributes"),
893 xprint::PRINT_GET_ONE_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("XPrint::PrintGetOneAttributes"),
894 xprint::PRINT_SET_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("XPrint::PrintSetAttributes"),
895 xprint::PRINT_GET_PAGE_DIMENSIONS_REQUEST => RequestInfo::KnownExt("XPrint::PrintGetPageDimensions"),
896 xprint::PRINT_QUERY_SCREENS_REQUEST => RequestInfo::KnownExt("XPrint::PrintQueryScreens"),
897 xprint::PRINT_SET_IMAGE_RESOLUTION_REQUEST => RequestInfo::KnownExt("XPrint::PrintSetImageResolution"),
898 xprint::PRINT_GET_IMAGE_RESOLUTION_REQUEST => RequestInfo::KnownExt("XPrint::PrintGetImageResolution"),
899 _ => RequestInfo::UnknownRequest(Some("XPrint"), minor_opcode),
900 }
901 }
902 #[cfg(feature = "xselinux")]
903 xselinux::X11_EXTENSION_NAME => {
904 match minor_opcode {
905 xselinux::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("SELinux::QueryVersion"),
906 xselinux::SET_DEVICE_CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::SetDeviceCreateContext"),
907 xselinux::GET_DEVICE_CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetDeviceCreateContext"),
908 xselinux::SET_DEVICE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::SetDeviceContext"),
909 xselinux::GET_DEVICE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetDeviceContext"),
910 xselinux::SET_WINDOW_CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::SetWindowCreateContext"),
911 xselinux::GET_WINDOW_CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetWindowCreateContext"),
912 xselinux::GET_WINDOW_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetWindowContext"),
913 xselinux::SET_PROPERTY_CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::SetPropertyCreateContext"),
914 xselinux::GET_PROPERTY_CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetPropertyCreateContext"),
915 xselinux::SET_PROPERTY_USE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::SetPropertyUseContext"),
916 xselinux::GET_PROPERTY_USE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetPropertyUseContext"),
917 xselinux::GET_PROPERTY_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetPropertyContext"),
918 xselinux::GET_PROPERTY_DATA_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetPropertyDataContext"),
919 xselinux::LIST_PROPERTIES_REQUEST => RequestInfo::KnownExt("SELinux::ListProperties"),
920 xselinux::SET_SELECTION_CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::SetSelectionCreateContext"),
921 xselinux::GET_SELECTION_CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetSelectionCreateContext"),
922 xselinux::SET_SELECTION_USE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::SetSelectionUseContext"),
923 xselinux::GET_SELECTION_USE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetSelectionUseContext"),
924 xselinux::GET_SELECTION_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetSelectionContext"),
925 xselinux::GET_SELECTION_DATA_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetSelectionDataContext"),
926 xselinux::LIST_SELECTIONS_REQUEST => RequestInfo::KnownExt("SELinux::ListSelections"),
927 xselinux::GET_CLIENT_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetClientContext"),
928 _ => RequestInfo::UnknownRequest(Some("SELinux"), minor_opcode),
929 }
930 }
931 #[cfg(feature = "xtest")]
932 xtest::X11_EXTENSION_NAME => {
933 match minor_opcode {
934 xtest::GET_VERSION_REQUEST => RequestInfo::KnownExt("Test::GetVersion"),
935 xtest::COMPARE_CURSOR_REQUEST => RequestInfo::KnownExt("Test::CompareCursor"),
936 xtest::FAKE_INPUT_REQUEST => RequestInfo::KnownExt("Test::FakeInput"),
937 xtest::GRAB_CONTROL_REQUEST => RequestInfo::KnownExt("Test::GrabControl"),
938 _ => RequestInfo::UnknownRequest(Some("Test"), minor_opcode),
939 }
940 }
941 #[cfg(feature = "xv")]
942 xv::X11_EXTENSION_NAME => {
943 match minor_opcode {
944 xv::QUERY_EXTENSION_REQUEST => RequestInfo::KnownExt("Xv::QueryExtension"),
945 xv::QUERY_ADAPTORS_REQUEST => RequestInfo::KnownExt("Xv::QueryAdaptors"),
946 xv::QUERY_ENCODINGS_REQUEST => RequestInfo::KnownExt("Xv::QueryEncodings"),
947 xv::GRAB_PORT_REQUEST => RequestInfo::KnownExt("Xv::GrabPort"),
948 xv::UNGRAB_PORT_REQUEST => RequestInfo::KnownExt("Xv::UngrabPort"),
949 xv::PUT_VIDEO_REQUEST => RequestInfo::KnownExt("Xv::PutVideo"),
950 xv::PUT_STILL_REQUEST => RequestInfo::KnownExt("Xv::PutStill"),
951 xv::GET_VIDEO_REQUEST => RequestInfo::KnownExt("Xv::GetVideo"),
952 xv::GET_STILL_REQUEST => RequestInfo::KnownExt("Xv::GetStill"),
953 xv::STOP_VIDEO_REQUEST => RequestInfo::KnownExt("Xv::StopVideo"),
954 xv::SELECT_VIDEO_NOTIFY_REQUEST => RequestInfo::KnownExt("Xv::SelectVideoNotify"),
955 xv::SELECT_PORT_NOTIFY_REQUEST => RequestInfo::KnownExt("Xv::SelectPortNotify"),
956 xv::QUERY_BEST_SIZE_REQUEST => RequestInfo::KnownExt("Xv::QueryBestSize"),
957 xv::SET_PORT_ATTRIBUTE_REQUEST => RequestInfo::KnownExt("Xv::SetPortAttribute"),
958 xv::GET_PORT_ATTRIBUTE_REQUEST => RequestInfo::KnownExt("Xv::GetPortAttribute"),
959 xv::QUERY_PORT_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("Xv::QueryPortAttributes"),
960 xv::LIST_IMAGE_FORMATS_REQUEST => RequestInfo::KnownExt("Xv::ListImageFormats"),
961 xv::QUERY_IMAGE_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("Xv::QueryImageAttributes"),
962 xv::PUT_IMAGE_REQUEST => RequestInfo::KnownExt("Xv::PutImage"),
963 xv::SHM_PUT_IMAGE_REQUEST => RequestInfo::KnownExt("Xv::ShmPutImage"),
964 _ => RequestInfo::UnknownRequest(Some("Xv"), minor_opcode),
965 }
966 }
967 #[cfg(feature = "xvmc")]
968 xvmc::X11_EXTENSION_NAME => {
969 match minor_opcode {
970 xvmc::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("XvMC::QueryVersion"),
971 xvmc::LIST_SURFACE_TYPES_REQUEST => RequestInfo::KnownExt("XvMC::ListSurfaceTypes"),
972 xvmc::CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("XvMC::CreateContext"),
973 xvmc::DESTROY_CONTEXT_REQUEST => RequestInfo::KnownExt("XvMC::DestroyContext"),
974 xvmc::CREATE_SURFACE_REQUEST => RequestInfo::KnownExt("XvMC::CreateSurface"),
975 xvmc::DESTROY_SURFACE_REQUEST => RequestInfo::KnownExt("XvMC::DestroySurface"),
976 xvmc::CREATE_SUBPICTURE_REQUEST => RequestInfo::KnownExt("XvMC::CreateSubpicture"),
977 xvmc::DESTROY_SUBPICTURE_REQUEST => RequestInfo::KnownExt("XvMC::DestroySubpicture"),
978 xvmc::LIST_SUBPICTURE_TYPES_REQUEST => RequestInfo::KnownExt("XvMC::ListSubpictureTypes"),
979 _ => RequestInfo::UnknownRequest(Some("XvMC"), minor_opcode),
980 }
981 }
982 _ => RequestInfo::UnknownExtension(major_opcode, minor_opcode),
983 };
984 (Some(ext_name), info)
985 }
986}
987
988/// Get the name of a request based on its major and minor code.
989///
990/// The major and minor opcode are the first and second byte of a request.
991/// Core requests do not have a minor opcode. For these, the minor opcode is ignored by this function.
992pub fn get_request_name(
993 ext_info_provider: &dyn ExtInfoProvider,
994 major_opcode: u8,
995 minor_opcode: u8,
996) -> Cow<'static, str> {
997 let (ext_name: Option<&str>, info: RequestInfo) = get_request_name_internal(ext_info_provider, major_opcode, minor_opcode);
998 match info {
999 RequestInfo::Xproto(request: &str) => request.into(),
1000 RequestInfo::KnownExt(ext_and_request: &str) => ext_and_request.into(),
1001 RequestInfo::UnknownRequest(None, opcode: u8) => alloc::format!("xproto::opcode {}", opcode).into(),
1002 RequestInfo::UnknownRequest(Some(ext: &str), opcode: u8) => alloc::format!("{}::opcode {}", ext, opcode).into(),
1003 RequestInfo::UnknownExtension(major_opcode: u8, minor_opcode: u8) => match ext_name {
1004 None => alloc::format!("ext {}::opcode {}", major_opcode, minor_opcode).into(),
1005 Some(ext_name: &str) => alloc::format!("ext {}::opcode {}", ext_name, minor_opcode).into(),
1006 }
1007 }
1008}
1009
1010/// Enumeration of all possible X11 requests.
1011#[derive(Debug)]
1012#[allow(clippy::large_enum_variant)]
1013#[non_exhaustive]
1014pub enum Request<'input> {
1015 Unknown(RequestHeader, Cow<'input, [u8]>),
1016 CreateWindow(xproto::CreateWindowRequest<'input>),
1017 ChangeWindowAttributes(xproto::ChangeWindowAttributesRequest<'input>),
1018 GetWindowAttributes(xproto::GetWindowAttributesRequest),
1019 DestroyWindow(xproto::DestroyWindowRequest),
1020 DestroySubwindows(xproto::DestroySubwindowsRequest),
1021 ChangeSaveSet(xproto::ChangeSaveSetRequest),
1022 ReparentWindow(xproto::ReparentWindowRequest),
1023 MapWindow(xproto::MapWindowRequest),
1024 MapSubwindows(xproto::MapSubwindowsRequest),
1025 UnmapWindow(xproto::UnmapWindowRequest),
1026 UnmapSubwindows(xproto::UnmapSubwindowsRequest),
1027 ConfigureWindow(xproto::ConfigureWindowRequest<'input>),
1028 CirculateWindow(xproto::CirculateWindowRequest),
1029 GetGeometry(xproto::GetGeometryRequest),
1030 QueryTree(xproto::QueryTreeRequest),
1031 InternAtom(xproto::InternAtomRequest<'input>),
1032 GetAtomName(xproto::GetAtomNameRequest),
1033 ChangeProperty(xproto::ChangePropertyRequest<'input>),
1034 DeleteProperty(xproto::DeletePropertyRequest),
1035 GetProperty(xproto::GetPropertyRequest),
1036 ListProperties(xproto::ListPropertiesRequest),
1037 SetSelectionOwner(xproto::SetSelectionOwnerRequest),
1038 GetSelectionOwner(xproto::GetSelectionOwnerRequest),
1039 ConvertSelection(xproto::ConvertSelectionRequest),
1040 SendEvent(xproto::SendEventRequest<'input>),
1041 GrabPointer(xproto::GrabPointerRequest),
1042 UngrabPointer(xproto::UngrabPointerRequest),
1043 GrabButton(xproto::GrabButtonRequest),
1044 UngrabButton(xproto::UngrabButtonRequest),
1045 ChangeActivePointerGrab(xproto::ChangeActivePointerGrabRequest),
1046 GrabKeyboard(xproto::GrabKeyboardRequest),
1047 UngrabKeyboard(xproto::UngrabKeyboardRequest),
1048 GrabKey(xproto::GrabKeyRequest),
1049 UngrabKey(xproto::UngrabKeyRequest),
1050 AllowEvents(xproto::AllowEventsRequest),
1051 GrabServer(xproto::GrabServerRequest),
1052 UngrabServer(xproto::UngrabServerRequest),
1053 QueryPointer(xproto::QueryPointerRequest),
1054 GetMotionEvents(xproto::GetMotionEventsRequest),
1055 TranslateCoordinates(xproto::TranslateCoordinatesRequest),
1056 WarpPointer(xproto::WarpPointerRequest),
1057 SetInputFocus(xproto::SetInputFocusRequest),
1058 GetInputFocus(xproto::GetInputFocusRequest),
1059 QueryKeymap(xproto::QueryKeymapRequest),
1060 OpenFont(xproto::OpenFontRequest<'input>),
1061 CloseFont(xproto::CloseFontRequest),
1062 QueryFont(xproto::QueryFontRequest),
1063 QueryTextExtents(xproto::QueryTextExtentsRequest<'input>),
1064 ListFonts(xproto::ListFontsRequest<'input>),
1065 ListFontsWithInfo(xproto::ListFontsWithInfoRequest<'input>),
1066 SetFontPath(xproto::SetFontPathRequest<'input>),
1067 GetFontPath(xproto::GetFontPathRequest),
1068 CreatePixmap(xproto::CreatePixmapRequest),
1069 FreePixmap(xproto::FreePixmapRequest),
1070 CreateGC(xproto::CreateGCRequest<'input>),
1071 ChangeGC(xproto::ChangeGCRequest<'input>),
1072 CopyGC(xproto::CopyGCRequest),
1073 SetDashes(xproto::SetDashesRequest<'input>),
1074 SetClipRectangles(xproto::SetClipRectanglesRequest<'input>),
1075 FreeGC(xproto::FreeGCRequest),
1076 ClearArea(xproto::ClearAreaRequest),
1077 CopyArea(xproto::CopyAreaRequest),
1078 CopyPlane(xproto::CopyPlaneRequest),
1079 PolyPoint(xproto::PolyPointRequest<'input>),
1080 PolyLine(xproto::PolyLineRequest<'input>),
1081 PolySegment(xproto::PolySegmentRequest<'input>),
1082 PolyRectangle(xproto::PolyRectangleRequest<'input>),
1083 PolyArc(xproto::PolyArcRequest<'input>),
1084 FillPoly(xproto::FillPolyRequest<'input>),
1085 PolyFillRectangle(xproto::PolyFillRectangleRequest<'input>),
1086 PolyFillArc(xproto::PolyFillArcRequest<'input>),
1087 PutImage(xproto::PutImageRequest<'input>),
1088 GetImage(xproto::GetImageRequest),
1089 PolyText8(xproto::PolyText8Request<'input>),
1090 PolyText16(xproto::PolyText16Request<'input>),
1091 ImageText8(xproto::ImageText8Request<'input>),
1092 ImageText16(xproto::ImageText16Request<'input>),
1093 CreateColormap(xproto::CreateColormapRequest),
1094 FreeColormap(xproto::FreeColormapRequest),
1095 CopyColormapAndFree(xproto::CopyColormapAndFreeRequest),
1096 InstallColormap(xproto::InstallColormapRequest),
1097 UninstallColormap(xproto::UninstallColormapRequest),
1098 ListInstalledColormaps(xproto::ListInstalledColormapsRequest),
1099 AllocColor(xproto::AllocColorRequest),
1100 AllocNamedColor(xproto::AllocNamedColorRequest<'input>),
1101 AllocColorCells(xproto::AllocColorCellsRequest),
1102 AllocColorPlanes(xproto::AllocColorPlanesRequest),
1103 FreeColors(xproto::FreeColorsRequest<'input>),
1104 StoreColors(xproto::StoreColorsRequest<'input>),
1105 StoreNamedColor(xproto::StoreNamedColorRequest<'input>),
1106 QueryColors(xproto::QueryColorsRequest<'input>),
1107 LookupColor(xproto::LookupColorRequest<'input>),
1108 CreateCursor(xproto::CreateCursorRequest),
1109 CreateGlyphCursor(xproto::CreateGlyphCursorRequest),
1110 FreeCursor(xproto::FreeCursorRequest),
1111 RecolorCursor(xproto::RecolorCursorRequest),
1112 QueryBestSize(xproto::QueryBestSizeRequest),
1113 QueryExtension(xproto::QueryExtensionRequest<'input>),
1114 ListExtensions(xproto::ListExtensionsRequest),
1115 ChangeKeyboardMapping(xproto::ChangeKeyboardMappingRequest<'input>),
1116 GetKeyboardMapping(xproto::GetKeyboardMappingRequest),
1117 ChangeKeyboardControl(xproto::ChangeKeyboardControlRequest<'input>),
1118 GetKeyboardControl(xproto::GetKeyboardControlRequest),
1119 Bell(xproto::BellRequest),
1120 ChangePointerControl(xproto::ChangePointerControlRequest),
1121 GetPointerControl(xproto::GetPointerControlRequest),
1122 SetScreenSaver(xproto::SetScreenSaverRequest),
1123 GetScreenSaver(xproto::GetScreenSaverRequest),
1124 ChangeHosts(xproto::ChangeHostsRequest<'input>),
1125 ListHosts(xproto::ListHostsRequest),
1126 SetAccessControl(xproto::SetAccessControlRequest),
1127 SetCloseDownMode(xproto::SetCloseDownModeRequest),
1128 KillClient(xproto::KillClientRequest),
1129 RotateProperties(xproto::RotatePropertiesRequest<'input>),
1130 ForceScreenSaver(xproto::ForceScreenSaverRequest),
1131 SetPointerMapping(xproto::SetPointerMappingRequest<'input>),
1132 GetPointerMapping(xproto::GetPointerMappingRequest),
1133 SetModifierMapping(xproto::SetModifierMappingRequest<'input>),
1134 GetModifierMapping(xproto::GetModifierMappingRequest),
1135 NoOperation(xproto::NoOperationRequest),
1136 BigreqEnable(bigreq::EnableRequest),
1137 #[cfg(feature = "composite")]
1138 CompositeQueryVersion(composite::QueryVersionRequest),
1139 #[cfg(feature = "composite")]
1140 CompositeRedirectWindow(composite::RedirectWindowRequest),
1141 #[cfg(feature = "composite")]
1142 CompositeRedirectSubwindows(composite::RedirectSubwindowsRequest),
1143 #[cfg(feature = "composite")]
1144 CompositeUnredirectWindow(composite::UnredirectWindowRequest),
1145 #[cfg(feature = "composite")]
1146 CompositeUnredirectSubwindows(composite::UnredirectSubwindowsRequest),
1147 #[cfg(feature = "composite")]
1148 CompositeCreateRegionFromBorderClip(composite::CreateRegionFromBorderClipRequest),
1149 #[cfg(feature = "composite")]
1150 CompositeNameWindowPixmap(composite::NameWindowPixmapRequest),
1151 #[cfg(feature = "composite")]
1152 CompositeGetOverlayWindow(composite::GetOverlayWindowRequest),
1153 #[cfg(feature = "composite")]
1154 CompositeReleaseOverlayWindow(composite::ReleaseOverlayWindowRequest),
1155 #[cfg(feature = "damage")]
1156 DamageQueryVersion(damage::QueryVersionRequest),
1157 #[cfg(feature = "damage")]
1158 DamageCreate(damage::CreateRequest),
1159 #[cfg(feature = "damage")]
1160 DamageDestroy(damage::DestroyRequest),
1161 #[cfg(feature = "damage")]
1162 DamageSubtract(damage::SubtractRequest),
1163 #[cfg(feature = "damage")]
1164 DamageAdd(damage::AddRequest),
1165 #[cfg(feature = "dbe")]
1166 DbeQueryVersion(dbe::QueryVersionRequest),
1167 #[cfg(feature = "dbe")]
1168 DbeAllocateBackBuffer(dbe::AllocateBackBufferRequest),
1169 #[cfg(feature = "dbe")]
1170 DbeDeallocateBackBuffer(dbe::DeallocateBackBufferRequest),
1171 #[cfg(feature = "dbe")]
1172 DbeSwapBuffers(dbe::SwapBuffersRequest<'input>),
1173 #[cfg(feature = "dbe")]
1174 DbeBeginIdiom(dbe::BeginIdiomRequest),
1175 #[cfg(feature = "dbe")]
1176 DbeEndIdiom(dbe::EndIdiomRequest),
1177 #[cfg(feature = "dbe")]
1178 DbeGetVisualInfo(dbe::GetVisualInfoRequest<'input>),
1179 #[cfg(feature = "dbe")]
1180 DbeGetBackBufferAttributes(dbe::GetBackBufferAttributesRequest),
1181 #[cfg(feature = "dpms")]
1182 DpmsGetVersion(dpms::GetVersionRequest),
1183 #[cfg(feature = "dpms")]
1184 DpmsCapable(dpms::CapableRequest),
1185 #[cfg(feature = "dpms")]
1186 DpmsGetTimeouts(dpms::GetTimeoutsRequest),
1187 #[cfg(feature = "dpms")]
1188 DpmsSetTimeouts(dpms::SetTimeoutsRequest),
1189 #[cfg(feature = "dpms")]
1190 DpmsEnable(dpms::EnableRequest),
1191 #[cfg(feature = "dpms")]
1192 DpmsDisable(dpms::DisableRequest),
1193 #[cfg(feature = "dpms")]
1194 DpmsForceLevel(dpms::ForceLevelRequest),
1195 #[cfg(feature = "dpms")]
1196 DpmsInfo(dpms::InfoRequest),
1197 #[cfg(feature = "dpms")]
1198 DpmsSelectInput(dpms::SelectInputRequest),
1199 #[cfg(feature = "dri2")]
1200 Dri2QueryVersion(dri2::QueryVersionRequest),
1201 #[cfg(feature = "dri2")]
1202 Dri2Connect(dri2::ConnectRequest),
1203 #[cfg(feature = "dri2")]
1204 Dri2Authenticate(dri2::AuthenticateRequest),
1205 #[cfg(feature = "dri2")]
1206 Dri2CreateDrawable(dri2::CreateDrawableRequest),
1207 #[cfg(feature = "dri2")]
1208 Dri2DestroyDrawable(dri2::DestroyDrawableRequest),
1209 #[cfg(feature = "dri2")]
1210 Dri2GetBuffers(dri2::GetBuffersRequest<'input>),
1211 #[cfg(feature = "dri2")]
1212 Dri2CopyRegion(dri2::CopyRegionRequest),
1213 #[cfg(feature = "dri2")]
1214 Dri2GetBuffersWithFormat(dri2::GetBuffersWithFormatRequest<'input>),
1215 #[cfg(feature = "dri2")]
1216 Dri2SwapBuffers(dri2::SwapBuffersRequest),
1217 #[cfg(feature = "dri2")]
1218 Dri2GetMSC(dri2::GetMSCRequest),
1219 #[cfg(feature = "dri2")]
1220 Dri2WaitMSC(dri2::WaitMSCRequest),
1221 #[cfg(feature = "dri2")]
1222 Dri2WaitSBC(dri2::WaitSBCRequest),
1223 #[cfg(feature = "dri2")]
1224 Dri2SwapInterval(dri2::SwapIntervalRequest),
1225 #[cfg(feature = "dri2")]
1226 Dri2GetParam(dri2::GetParamRequest),
1227 #[cfg(feature = "dri3")]
1228 Dri3QueryVersion(dri3::QueryVersionRequest),
1229 #[cfg(feature = "dri3")]
1230 Dri3Open(dri3::OpenRequest),
1231 #[cfg(feature = "dri3")]
1232 Dri3PixmapFromBuffer(dri3::PixmapFromBufferRequest),
1233 #[cfg(feature = "dri3")]
1234 Dri3BufferFromPixmap(dri3::BufferFromPixmapRequest),
1235 #[cfg(feature = "dri3")]
1236 Dri3FenceFromFD(dri3::FenceFromFDRequest),
1237 #[cfg(feature = "dri3")]
1238 Dri3FDFromFence(dri3::FDFromFenceRequest),
1239 #[cfg(feature = "dri3")]
1240 Dri3GetSupportedModifiers(dri3::GetSupportedModifiersRequest),
1241 #[cfg(feature = "dri3")]
1242 Dri3PixmapFromBuffers(dri3::PixmapFromBuffersRequest),
1243 #[cfg(feature = "dri3")]
1244 Dri3BuffersFromPixmap(dri3::BuffersFromPixmapRequest),
1245 #[cfg(feature = "dri3")]
1246 Dri3SetDRMDeviceInUse(dri3::SetDRMDeviceInUseRequest),
1247 GeQueryVersion(ge::QueryVersionRequest),
1248 #[cfg(feature = "glx")]
1249 GlxRender(glx::RenderRequest<'input>),
1250 #[cfg(feature = "glx")]
1251 GlxRenderLarge(glx::RenderLargeRequest<'input>),
1252 #[cfg(feature = "glx")]
1253 GlxCreateContext(glx::CreateContextRequest),
1254 #[cfg(feature = "glx")]
1255 GlxDestroyContext(glx::DestroyContextRequest),
1256 #[cfg(feature = "glx")]
1257 GlxMakeCurrent(glx::MakeCurrentRequest),
1258 #[cfg(feature = "glx")]
1259 GlxIsDirect(glx::IsDirectRequest),
1260 #[cfg(feature = "glx")]
1261 GlxQueryVersion(glx::QueryVersionRequest),
1262 #[cfg(feature = "glx")]
1263 GlxWaitGL(glx::WaitGLRequest),
1264 #[cfg(feature = "glx")]
1265 GlxWaitX(glx::WaitXRequest),
1266 #[cfg(feature = "glx")]
1267 GlxCopyContext(glx::CopyContextRequest),
1268 #[cfg(feature = "glx")]
1269 GlxSwapBuffers(glx::SwapBuffersRequest),
1270 #[cfg(feature = "glx")]
1271 GlxUseXFont(glx::UseXFontRequest),
1272 #[cfg(feature = "glx")]
1273 GlxCreateGLXPixmap(glx::CreateGLXPixmapRequest),
1274 #[cfg(feature = "glx")]
1275 GlxGetVisualConfigs(glx::GetVisualConfigsRequest),
1276 #[cfg(feature = "glx")]
1277 GlxDestroyGLXPixmap(glx::DestroyGLXPixmapRequest),
1278 #[cfg(feature = "glx")]
1279 GlxVendorPrivate(glx::VendorPrivateRequest<'input>),
1280 #[cfg(feature = "glx")]
1281 GlxVendorPrivateWithReply(glx::VendorPrivateWithReplyRequest<'input>),
1282 #[cfg(feature = "glx")]
1283 GlxQueryExtensionsString(glx::QueryExtensionsStringRequest),
1284 #[cfg(feature = "glx")]
1285 GlxQueryServerString(glx::QueryServerStringRequest),
1286 #[cfg(feature = "glx")]
1287 GlxClientInfo(glx::ClientInfoRequest<'input>),
1288 #[cfg(feature = "glx")]
1289 GlxGetFBConfigs(glx::GetFBConfigsRequest),
1290 #[cfg(feature = "glx")]
1291 GlxCreatePixmap(glx::CreatePixmapRequest<'input>),
1292 #[cfg(feature = "glx")]
1293 GlxDestroyPixmap(glx::DestroyPixmapRequest),
1294 #[cfg(feature = "glx")]
1295 GlxCreateNewContext(glx::CreateNewContextRequest),
1296 #[cfg(feature = "glx")]
1297 GlxQueryContext(glx::QueryContextRequest),
1298 #[cfg(feature = "glx")]
1299 GlxMakeContextCurrent(glx::MakeContextCurrentRequest),
1300 #[cfg(feature = "glx")]
1301 GlxCreatePbuffer(glx::CreatePbufferRequest<'input>),
1302 #[cfg(feature = "glx")]
1303 GlxDestroyPbuffer(glx::DestroyPbufferRequest),
1304 #[cfg(feature = "glx")]
1305 GlxGetDrawableAttributes(glx::GetDrawableAttributesRequest),
1306 #[cfg(feature = "glx")]
1307 GlxChangeDrawableAttributes(glx::ChangeDrawableAttributesRequest<'input>),
1308 #[cfg(feature = "glx")]
1309 GlxCreateWindow(glx::CreateWindowRequest<'input>),
1310 #[cfg(feature = "glx")]
1311 GlxDeleteWindow(glx::DeleteWindowRequest),
1312 #[cfg(feature = "glx")]
1313 GlxSetClientInfoARB(glx::SetClientInfoARBRequest<'input>),
1314 #[cfg(feature = "glx")]
1315 GlxCreateContextAttribsARB(glx::CreateContextAttribsARBRequest<'input>),
1316 #[cfg(feature = "glx")]
1317 GlxSetClientInfo2ARB(glx::SetClientInfo2ARBRequest<'input>),
1318 #[cfg(feature = "glx")]
1319 GlxNewList(glx::NewListRequest),
1320 #[cfg(feature = "glx")]
1321 GlxEndList(glx::EndListRequest),
1322 #[cfg(feature = "glx")]
1323 GlxDeleteLists(glx::DeleteListsRequest),
1324 #[cfg(feature = "glx")]
1325 GlxGenLists(glx::GenListsRequest),
1326 #[cfg(feature = "glx")]
1327 GlxFeedbackBuffer(glx::FeedbackBufferRequest),
1328 #[cfg(feature = "glx")]
1329 GlxSelectBuffer(glx::SelectBufferRequest),
1330 #[cfg(feature = "glx")]
1331 GlxRenderMode(glx::RenderModeRequest),
1332 #[cfg(feature = "glx")]
1333 GlxFinish(glx::FinishRequest),
1334 #[cfg(feature = "glx")]
1335 GlxPixelStoref(glx::PixelStorefRequest),
1336 #[cfg(feature = "glx")]
1337 GlxPixelStorei(glx::PixelStoreiRequest),
1338 #[cfg(feature = "glx")]
1339 GlxReadPixels(glx::ReadPixelsRequest),
1340 #[cfg(feature = "glx")]
1341 GlxGetBooleanv(glx::GetBooleanvRequest),
1342 #[cfg(feature = "glx")]
1343 GlxGetClipPlane(glx::GetClipPlaneRequest),
1344 #[cfg(feature = "glx")]
1345 GlxGetDoublev(glx::GetDoublevRequest),
1346 #[cfg(feature = "glx")]
1347 GlxGetError(glx::GetErrorRequest),
1348 #[cfg(feature = "glx")]
1349 GlxGetFloatv(glx::GetFloatvRequest),
1350 #[cfg(feature = "glx")]
1351 GlxGetIntegerv(glx::GetIntegervRequest),
1352 #[cfg(feature = "glx")]
1353 GlxGetLightfv(glx::GetLightfvRequest),
1354 #[cfg(feature = "glx")]
1355 GlxGetLightiv(glx::GetLightivRequest),
1356 #[cfg(feature = "glx")]
1357 GlxGetMapdv(glx::GetMapdvRequest),
1358 #[cfg(feature = "glx")]
1359 GlxGetMapfv(glx::GetMapfvRequest),
1360 #[cfg(feature = "glx")]
1361 GlxGetMapiv(glx::GetMapivRequest),
1362 #[cfg(feature = "glx")]
1363 GlxGetMaterialfv(glx::GetMaterialfvRequest),
1364 #[cfg(feature = "glx")]
1365 GlxGetMaterialiv(glx::GetMaterialivRequest),
1366 #[cfg(feature = "glx")]
1367 GlxGetPixelMapfv(glx::GetPixelMapfvRequest),
1368 #[cfg(feature = "glx")]
1369 GlxGetPixelMapuiv(glx::GetPixelMapuivRequest),
1370 #[cfg(feature = "glx")]
1371 GlxGetPixelMapusv(glx::GetPixelMapusvRequest),
1372 #[cfg(feature = "glx")]
1373 GlxGetPolygonStipple(glx::GetPolygonStippleRequest),
1374 #[cfg(feature = "glx")]
1375 GlxGetString(glx::GetStringRequest),
1376 #[cfg(feature = "glx")]
1377 GlxGetTexEnvfv(glx::GetTexEnvfvRequest),
1378 #[cfg(feature = "glx")]
1379 GlxGetTexEnviv(glx::GetTexEnvivRequest),
1380 #[cfg(feature = "glx")]
1381 GlxGetTexGendv(glx::GetTexGendvRequest),
1382 #[cfg(feature = "glx")]
1383 GlxGetTexGenfv(glx::GetTexGenfvRequest),
1384 #[cfg(feature = "glx")]
1385 GlxGetTexGeniv(glx::GetTexGenivRequest),
1386 #[cfg(feature = "glx")]
1387 GlxGetTexImage(glx::GetTexImageRequest),
1388 #[cfg(feature = "glx")]
1389 GlxGetTexParameterfv(glx::GetTexParameterfvRequest),
1390 #[cfg(feature = "glx")]
1391 GlxGetTexParameteriv(glx::GetTexParameterivRequest),
1392 #[cfg(feature = "glx")]
1393 GlxGetTexLevelParameterfv(glx::GetTexLevelParameterfvRequest),
1394 #[cfg(feature = "glx")]
1395 GlxGetTexLevelParameteriv(glx::GetTexLevelParameterivRequest),
1396 #[cfg(feature = "glx")]
1397 GlxIsEnabled(glx::IsEnabledRequest),
1398 #[cfg(feature = "glx")]
1399 GlxIsList(glx::IsListRequest),
1400 #[cfg(feature = "glx")]
1401 GlxFlush(glx::FlushRequest),
1402 #[cfg(feature = "glx")]
1403 GlxAreTexturesResident(glx::AreTexturesResidentRequest<'input>),
1404 #[cfg(feature = "glx")]
1405 GlxDeleteTextures(glx::DeleteTexturesRequest<'input>),
1406 #[cfg(feature = "glx")]
1407 GlxGenTextures(glx::GenTexturesRequest),
1408 #[cfg(feature = "glx")]
1409 GlxIsTexture(glx::IsTextureRequest),
1410 #[cfg(feature = "glx")]
1411 GlxGetColorTable(glx::GetColorTableRequest),
1412 #[cfg(feature = "glx")]
1413 GlxGetColorTableParameterfv(glx::GetColorTableParameterfvRequest),
1414 #[cfg(feature = "glx")]
1415 GlxGetColorTableParameteriv(glx::GetColorTableParameterivRequest),
1416 #[cfg(feature = "glx")]
1417 GlxGetConvolutionFilter(glx::GetConvolutionFilterRequest),
1418 #[cfg(feature = "glx")]
1419 GlxGetConvolutionParameterfv(glx::GetConvolutionParameterfvRequest),
1420 #[cfg(feature = "glx")]
1421 GlxGetConvolutionParameteriv(glx::GetConvolutionParameterivRequest),
1422 #[cfg(feature = "glx")]
1423 GlxGetSeparableFilter(glx::GetSeparableFilterRequest),
1424 #[cfg(feature = "glx")]
1425 GlxGetHistogram(glx::GetHistogramRequest),
1426 #[cfg(feature = "glx")]
1427 GlxGetHistogramParameterfv(glx::GetHistogramParameterfvRequest),
1428 #[cfg(feature = "glx")]
1429 GlxGetHistogramParameteriv(glx::GetHistogramParameterivRequest),
1430 #[cfg(feature = "glx")]
1431 GlxGetMinmax(glx::GetMinmaxRequest),
1432 #[cfg(feature = "glx")]
1433 GlxGetMinmaxParameterfv(glx::GetMinmaxParameterfvRequest),
1434 #[cfg(feature = "glx")]
1435 GlxGetMinmaxParameteriv(glx::GetMinmaxParameterivRequest),
1436 #[cfg(feature = "glx")]
1437 GlxGetCompressedTexImageARB(glx::GetCompressedTexImageARBRequest),
1438 #[cfg(feature = "glx")]
1439 GlxDeleteQueriesARB(glx::DeleteQueriesARBRequest<'input>),
1440 #[cfg(feature = "glx")]
1441 GlxGenQueriesARB(glx::GenQueriesARBRequest),
1442 #[cfg(feature = "glx")]
1443 GlxIsQueryARB(glx::IsQueryARBRequest),
1444 #[cfg(feature = "glx")]
1445 GlxGetQueryivARB(glx::GetQueryivARBRequest),
1446 #[cfg(feature = "glx")]
1447 GlxGetQueryObjectivARB(glx::GetQueryObjectivARBRequest),
1448 #[cfg(feature = "glx")]
1449 GlxGetQueryObjectuivARB(glx::GetQueryObjectuivARBRequest),
1450 #[cfg(feature = "present")]
1451 PresentQueryVersion(present::QueryVersionRequest),
1452 #[cfg(feature = "present")]
1453 PresentPixmap(present::PixmapRequest<'input>),
1454 #[cfg(feature = "present")]
1455 PresentNotifyMSC(present::NotifyMSCRequest),
1456 #[cfg(feature = "present")]
1457 PresentSelectInput(present::SelectInputRequest),
1458 #[cfg(feature = "present")]
1459 PresentQueryCapabilities(present::QueryCapabilitiesRequest),
1460 #[cfg(feature = "randr")]
1461 RandrQueryVersion(randr::QueryVersionRequest),
1462 #[cfg(feature = "randr")]
1463 RandrSetScreenConfig(randr::SetScreenConfigRequest),
1464 #[cfg(feature = "randr")]
1465 RandrSelectInput(randr::SelectInputRequest),
1466 #[cfg(feature = "randr")]
1467 RandrGetScreenInfo(randr::GetScreenInfoRequest),
1468 #[cfg(feature = "randr")]
1469 RandrGetScreenSizeRange(randr::GetScreenSizeRangeRequest),
1470 #[cfg(feature = "randr")]
1471 RandrSetScreenSize(randr::SetScreenSizeRequest),
1472 #[cfg(feature = "randr")]
1473 RandrGetScreenResources(randr::GetScreenResourcesRequest),
1474 #[cfg(feature = "randr")]
1475 RandrGetOutputInfo(randr::GetOutputInfoRequest),
1476 #[cfg(feature = "randr")]
1477 RandrListOutputProperties(randr::ListOutputPropertiesRequest),
1478 #[cfg(feature = "randr")]
1479 RandrQueryOutputProperty(randr::QueryOutputPropertyRequest),
1480 #[cfg(feature = "randr")]
1481 RandrConfigureOutputProperty(randr::ConfigureOutputPropertyRequest<'input>),
1482 #[cfg(feature = "randr")]
1483 RandrChangeOutputProperty(randr::ChangeOutputPropertyRequest<'input>),
1484 #[cfg(feature = "randr")]
1485 RandrDeleteOutputProperty(randr::DeleteOutputPropertyRequest),
1486 #[cfg(feature = "randr")]
1487 RandrGetOutputProperty(randr::GetOutputPropertyRequest),
1488 #[cfg(feature = "randr")]
1489 RandrCreateMode(randr::CreateModeRequest<'input>),
1490 #[cfg(feature = "randr")]
1491 RandrDestroyMode(randr::DestroyModeRequest),
1492 #[cfg(feature = "randr")]
1493 RandrAddOutputMode(randr::AddOutputModeRequest),
1494 #[cfg(feature = "randr")]
1495 RandrDeleteOutputMode(randr::DeleteOutputModeRequest),
1496 #[cfg(feature = "randr")]
1497 RandrGetCrtcInfo(randr::GetCrtcInfoRequest),
1498 #[cfg(feature = "randr")]
1499 RandrSetCrtcConfig(randr::SetCrtcConfigRequest<'input>),
1500 #[cfg(feature = "randr")]
1501 RandrGetCrtcGammaSize(randr::GetCrtcGammaSizeRequest),
1502 #[cfg(feature = "randr")]
1503 RandrGetCrtcGamma(randr::GetCrtcGammaRequest),
1504 #[cfg(feature = "randr")]
1505 RandrSetCrtcGamma(randr::SetCrtcGammaRequest<'input>),
1506 #[cfg(feature = "randr")]
1507 RandrGetScreenResourcesCurrent(randr::GetScreenResourcesCurrentRequest),
1508 #[cfg(feature = "randr")]
1509 RandrSetCrtcTransform(randr::SetCrtcTransformRequest<'input>),
1510 #[cfg(feature = "randr")]
1511 RandrGetCrtcTransform(randr::GetCrtcTransformRequest),
1512 #[cfg(feature = "randr")]
1513 RandrGetPanning(randr::GetPanningRequest),
1514 #[cfg(feature = "randr")]
1515 RandrSetPanning(randr::SetPanningRequest),
1516 #[cfg(feature = "randr")]
1517 RandrSetOutputPrimary(randr::SetOutputPrimaryRequest),
1518 #[cfg(feature = "randr")]
1519 RandrGetOutputPrimary(randr::GetOutputPrimaryRequest),
1520 #[cfg(feature = "randr")]
1521 RandrGetProviders(randr::GetProvidersRequest),
1522 #[cfg(feature = "randr")]
1523 RandrGetProviderInfo(randr::GetProviderInfoRequest),
1524 #[cfg(feature = "randr")]
1525 RandrSetProviderOffloadSink(randr::SetProviderOffloadSinkRequest),
1526 #[cfg(feature = "randr")]
1527 RandrSetProviderOutputSource(randr::SetProviderOutputSourceRequest),
1528 #[cfg(feature = "randr")]
1529 RandrListProviderProperties(randr::ListProviderPropertiesRequest),
1530 #[cfg(feature = "randr")]
1531 RandrQueryProviderProperty(randr::QueryProviderPropertyRequest),
1532 #[cfg(feature = "randr")]
1533 RandrConfigureProviderProperty(randr::ConfigureProviderPropertyRequest<'input>),
1534 #[cfg(feature = "randr")]
1535 RandrChangeProviderProperty(randr::ChangeProviderPropertyRequest<'input>),
1536 #[cfg(feature = "randr")]
1537 RandrDeleteProviderProperty(randr::DeleteProviderPropertyRequest),
1538 #[cfg(feature = "randr")]
1539 RandrGetProviderProperty(randr::GetProviderPropertyRequest),
1540 #[cfg(feature = "randr")]
1541 RandrGetMonitors(randr::GetMonitorsRequest),
1542 #[cfg(feature = "randr")]
1543 RandrSetMonitor(randr::SetMonitorRequest),
1544 #[cfg(feature = "randr")]
1545 RandrDeleteMonitor(randr::DeleteMonitorRequest),
1546 #[cfg(feature = "randr")]
1547 RandrCreateLease(randr::CreateLeaseRequest<'input>),
1548 #[cfg(feature = "randr")]
1549 RandrFreeLease(randr::FreeLeaseRequest),
1550 #[cfg(feature = "record")]
1551 RecordQueryVersion(record::QueryVersionRequest),
1552 #[cfg(feature = "record")]
1553 RecordCreateContext(record::CreateContextRequest<'input>),
1554 #[cfg(feature = "record")]
1555 RecordRegisterClients(record::RegisterClientsRequest<'input>),
1556 #[cfg(feature = "record")]
1557 RecordUnregisterClients(record::UnregisterClientsRequest<'input>),
1558 #[cfg(feature = "record")]
1559 RecordGetContext(record::GetContextRequest),
1560 #[cfg(feature = "record")]
1561 RecordEnableContext(record::EnableContextRequest),
1562 #[cfg(feature = "record")]
1563 RecordDisableContext(record::DisableContextRequest),
1564 #[cfg(feature = "record")]
1565 RecordFreeContext(record::FreeContextRequest),
1566 #[cfg(feature = "render")]
1567 RenderQueryVersion(render::QueryVersionRequest),
1568 #[cfg(feature = "render")]
1569 RenderQueryPictFormats(render::QueryPictFormatsRequest),
1570 #[cfg(feature = "render")]
1571 RenderQueryPictIndexValues(render::QueryPictIndexValuesRequest),
1572 #[cfg(feature = "render")]
1573 RenderCreatePicture(render::CreatePictureRequest<'input>),
1574 #[cfg(feature = "render")]
1575 RenderChangePicture(render::ChangePictureRequest<'input>),
1576 #[cfg(feature = "render")]
1577 RenderSetPictureClipRectangles(render::SetPictureClipRectanglesRequest<'input>),
1578 #[cfg(feature = "render")]
1579 RenderFreePicture(render::FreePictureRequest),
1580 #[cfg(feature = "render")]
1581 RenderComposite(render::CompositeRequest),
1582 #[cfg(feature = "render")]
1583 RenderTrapezoids(render::TrapezoidsRequest<'input>),
1584 #[cfg(feature = "render")]
1585 RenderTriangles(render::TrianglesRequest<'input>),
1586 #[cfg(feature = "render")]
1587 RenderTriStrip(render::TriStripRequest<'input>),
1588 #[cfg(feature = "render")]
1589 RenderTriFan(render::TriFanRequest<'input>),
1590 #[cfg(feature = "render")]
1591 RenderCreateGlyphSet(render::CreateGlyphSetRequest),
1592 #[cfg(feature = "render")]
1593 RenderReferenceGlyphSet(render::ReferenceGlyphSetRequest),
1594 #[cfg(feature = "render")]
1595 RenderFreeGlyphSet(render::FreeGlyphSetRequest),
1596 #[cfg(feature = "render")]
1597 RenderAddGlyphs(render::AddGlyphsRequest<'input>),
1598 #[cfg(feature = "render")]
1599 RenderFreeGlyphs(render::FreeGlyphsRequest<'input>),
1600 #[cfg(feature = "render")]
1601 RenderCompositeGlyphs8(render::CompositeGlyphs8Request<'input>),
1602 #[cfg(feature = "render")]
1603 RenderCompositeGlyphs16(render::CompositeGlyphs16Request<'input>),
1604 #[cfg(feature = "render")]
1605 RenderCompositeGlyphs32(render::CompositeGlyphs32Request<'input>),
1606 #[cfg(feature = "render")]
1607 RenderFillRectangles(render::FillRectanglesRequest<'input>),
1608 #[cfg(feature = "render")]
1609 RenderCreateCursor(render::CreateCursorRequest),
1610 #[cfg(feature = "render")]
1611 RenderSetPictureTransform(render::SetPictureTransformRequest),
1612 #[cfg(feature = "render")]
1613 RenderQueryFilters(render::QueryFiltersRequest),
1614 #[cfg(feature = "render")]
1615 RenderSetPictureFilter(render::SetPictureFilterRequest<'input>),
1616 #[cfg(feature = "render")]
1617 RenderCreateAnimCursor(render::CreateAnimCursorRequest<'input>),
1618 #[cfg(feature = "render")]
1619 RenderAddTraps(render::AddTrapsRequest<'input>),
1620 #[cfg(feature = "render")]
1621 RenderCreateSolidFill(render::CreateSolidFillRequest),
1622 #[cfg(feature = "render")]
1623 RenderCreateLinearGradient(render::CreateLinearGradientRequest<'input>),
1624 #[cfg(feature = "render")]
1625 RenderCreateRadialGradient(render::CreateRadialGradientRequest<'input>),
1626 #[cfg(feature = "render")]
1627 RenderCreateConicalGradient(render::CreateConicalGradientRequest<'input>),
1628 #[cfg(feature = "res")]
1629 ResQueryVersion(res::QueryVersionRequest),
1630 #[cfg(feature = "res")]
1631 ResQueryClients(res::QueryClientsRequest),
1632 #[cfg(feature = "res")]
1633 ResQueryClientResources(res::QueryClientResourcesRequest),
1634 #[cfg(feature = "res")]
1635 ResQueryClientPixmapBytes(res::QueryClientPixmapBytesRequest),
1636 #[cfg(feature = "res")]
1637 ResQueryClientIds(res::QueryClientIdsRequest<'input>),
1638 #[cfg(feature = "res")]
1639 ResQueryResourceBytes(res::QueryResourceBytesRequest<'input>),
1640 #[cfg(feature = "screensaver")]
1641 ScreensaverQueryVersion(screensaver::QueryVersionRequest),
1642 #[cfg(feature = "screensaver")]
1643 ScreensaverQueryInfo(screensaver::QueryInfoRequest),
1644 #[cfg(feature = "screensaver")]
1645 ScreensaverSelectInput(screensaver::SelectInputRequest),
1646 #[cfg(feature = "screensaver")]
1647 ScreensaverSetAttributes(screensaver::SetAttributesRequest<'input>),
1648 #[cfg(feature = "screensaver")]
1649 ScreensaverUnsetAttributes(screensaver::UnsetAttributesRequest),
1650 #[cfg(feature = "screensaver")]
1651 ScreensaverSuspend(screensaver::SuspendRequest),
1652 #[cfg(feature = "shape")]
1653 ShapeQueryVersion(shape::QueryVersionRequest),
1654 #[cfg(feature = "shape")]
1655 ShapeRectangles(shape::RectanglesRequest<'input>),
1656 #[cfg(feature = "shape")]
1657 ShapeMask(shape::MaskRequest),
1658 #[cfg(feature = "shape")]
1659 ShapeCombine(shape::CombineRequest),
1660 #[cfg(feature = "shape")]
1661 ShapeOffset(shape::OffsetRequest),
1662 #[cfg(feature = "shape")]
1663 ShapeQueryExtents(shape::QueryExtentsRequest),
1664 #[cfg(feature = "shape")]
1665 ShapeSelectInput(shape::SelectInputRequest),
1666 #[cfg(feature = "shape")]
1667 ShapeInputSelected(shape::InputSelectedRequest),
1668 #[cfg(feature = "shape")]
1669 ShapeGetRectangles(shape::GetRectanglesRequest),
1670 #[cfg(feature = "shm")]
1671 ShmQueryVersion(shm::QueryVersionRequest),
1672 #[cfg(feature = "shm")]
1673 ShmAttach(shm::AttachRequest),
1674 #[cfg(feature = "shm")]
1675 ShmDetach(shm::DetachRequest),
1676 #[cfg(feature = "shm")]
1677 ShmPutImage(shm::PutImageRequest),
1678 #[cfg(feature = "shm")]
1679 ShmGetImage(shm::GetImageRequest),
1680 #[cfg(feature = "shm")]
1681 ShmCreatePixmap(shm::CreatePixmapRequest),
1682 #[cfg(feature = "shm")]
1683 ShmAttachFd(shm::AttachFdRequest),
1684 #[cfg(feature = "shm")]
1685 ShmCreateSegment(shm::CreateSegmentRequest),
1686 #[cfg(feature = "sync")]
1687 SyncInitialize(sync::InitializeRequest),
1688 #[cfg(feature = "sync")]
1689 SyncListSystemCounters(sync::ListSystemCountersRequest),
1690 #[cfg(feature = "sync")]
1691 SyncCreateCounter(sync::CreateCounterRequest),
1692 #[cfg(feature = "sync")]
1693 SyncDestroyCounter(sync::DestroyCounterRequest),
1694 #[cfg(feature = "sync")]
1695 SyncQueryCounter(sync::QueryCounterRequest),
1696 #[cfg(feature = "sync")]
1697 SyncAwait(sync::AwaitRequest<'input>),
1698 #[cfg(feature = "sync")]
1699 SyncChangeCounter(sync::ChangeCounterRequest),
1700 #[cfg(feature = "sync")]
1701 SyncSetCounter(sync::SetCounterRequest),
1702 #[cfg(feature = "sync")]
1703 SyncCreateAlarm(sync::CreateAlarmRequest<'input>),
1704 #[cfg(feature = "sync")]
1705 SyncChangeAlarm(sync::ChangeAlarmRequest<'input>),
1706 #[cfg(feature = "sync")]
1707 SyncDestroyAlarm(sync::DestroyAlarmRequest),
1708 #[cfg(feature = "sync")]
1709 SyncQueryAlarm(sync::QueryAlarmRequest),
1710 #[cfg(feature = "sync")]
1711 SyncSetPriority(sync::SetPriorityRequest),
1712 #[cfg(feature = "sync")]
1713 SyncGetPriority(sync::GetPriorityRequest),
1714 #[cfg(feature = "sync")]
1715 SyncCreateFence(sync::CreateFenceRequest),
1716 #[cfg(feature = "sync")]
1717 SyncTriggerFence(sync::TriggerFenceRequest),
1718 #[cfg(feature = "sync")]
1719 SyncResetFence(sync::ResetFenceRequest),
1720 #[cfg(feature = "sync")]
1721 SyncDestroyFence(sync::DestroyFenceRequest),
1722 #[cfg(feature = "sync")]
1723 SyncQueryFence(sync::QueryFenceRequest),
1724 #[cfg(feature = "sync")]
1725 SyncAwaitFence(sync::AwaitFenceRequest<'input>),
1726 XcMiscGetVersion(xc_misc::GetVersionRequest),
1727 XcMiscGetXIDRange(xc_misc::GetXIDRangeRequest),
1728 XcMiscGetXIDList(xc_misc::GetXIDListRequest),
1729 #[cfg(feature = "xevie")]
1730 XevieQueryVersion(xevie::QueryVersionRequest),
1731 #[cfg(feature = "xevie")]
1732 XevieStart(xevie::StartRequest),
1733 #[cfg(feature = "xevie")]
1734 XevieEnd(xevie::EndRequest),
1735 #[cfg(feature = "xevie")]
1736 XevieSend(xevie::SendRequest),
1737 #[cfg(feature = "xevie")]
1738 XevieSelectInput(xevie::SelectInputRequest),
1739 #[cfg(feature = "xf86dri")]
1740 Xf86driQueryVersion(xf86dri::QueryVersionRequest),
1741 #[cfg(feature = "xf86dri")]
1742 Xf86driQueryDirectRenderingCapable(xf86dri::QueryDirectRenderingCapableRequest),
1743 #[cfg(feature = "xf86dri")]
1744 Xf86driOpenConnection(xf86dri::OpenConnectionRequest),
1745 #[cfg(feature = "xf86dri")]
1746 Xf86driCloseConnection(xf86dri::CloseConnectionRequest),
1747 #[cfg(feature = "xf86dri")]
1748 Xf86driGetClientDriverName(xf86dri::GetClientDriverNameRequest),
1749 #[cfg(feature = "xf86dri")]
1750 Xf86driCreateContext(xf86dri::CreateContextRequest),
1751 #[cfg(feature = "xf86dri")]
1752 Xf86driDestroyContext(xf86dri::DestroyContextRequest),
1753 #[cfg(feature = "xf86dri")]
1754 Xf86driCreateDrawable(xf86dri::CreateDrawableRequest),
1755 #[cfg(feature = "xf86dri")]
1756 Xf86driDestroyDrawable(xf86dri::DestroyDrawableRequest),
1757 #[cfg(feature = "xf86dri")]
1758 Xf86driGetDrawableInfo(xf86dri::GetDrawableInfoRequest),
1759 #[cfg(feature = "xf86dri")]
1760 Xf86driGetDeviceInfo(xf86dri::GetDeviceInfoRequest),
1761 #[cfg(feature = "xf86dri")]
1762 Xf86driAuthConnection(xf86dri::AuthConnectionRequest),
1763 #[cfg(feature = "xf86vidmode")]
1764 Xf86vidmodeQueryVersion(xf86vidmode::QueryVersionRequest),
1765 #[cfg(feature = "xf86vidmode")]
1766 Xf86vidmodeGetModeLine(xf86vidmode::GetModeLineRequest),
1767 #[cfg(feature = "xf86vidmode")]
1768 Xf86vidmodeModModeLine(xf86vidmode::ModModeLineRequest<'input>),
1769 #[cfg(feature = "xf86vidmode")]
1770 Xf86vidmodeSwitchMode(xf86vidmode::SwitchModeRequest),
1771 #[cfg(feature = "xf86vidmode")]
1772 Xf86vidmodeGetMonitor(xf86vidmode::GetMonitorRequest),
1773 #[cfg(feature = "xf86vidmode")]
1774 Xf86vidmodeLockModeSwitch(xf86vidmode::LockModeSwitchRequest),
1775 #[cfg(feature = "xf86vidmode")]
1776 Xf86vidmodeGetAllModeLines(xf86vidmode::GetAllModeLinesRequest),
1777 #[cfg(feature = "xf86vidmode")]
1778 Xf86vidmodeAddModeLine(xf86vidmode::AddModeLineRequest<'input>),
1779 #[cfg(feature = "xf86vidmode")]
1780 Xf86vidmodeDeleteModeLine(xf86vidmode::DeleteModeLineRequest<'input>),
1781 #[cfg(feature = "xf86vidmode")]
1782 Xf86vidmodeValidateModeLine(xf86vidmode::ValidateModeLineRequest<'input>),
1783 #[cfg(feature = "xf86vidmode")]
1784 Xf86vidmodeSwitchToMode(xf86vidmode::SwitchToModeRequest<'input>),
1785 #[cfg(feature = "xf86vidmode")]
1786 Xf86vidmodeGetViewPort(xf86vidmode::GetViewPortRequest),
1787 #[cfg(feature = "xf86vidmode")]
1788 Xf86vidmodeSetViewPort(xf86vidmode::SetViewPortRequest),
1789 #[cfg(feature = "xf86vidmode")]
1790 Xf86vidmodeGetDotClocks(xf86vidmode::GetDotClocksRequest),
1791 #[cfg(feature = "xf86vidmode")]
1792 Xf86vidmodeSetClientVersion(xf86vidmode::SetClientVersionRequest),
1793 #[cfg(feature = "xf86vidmode")]
1794 Xf86vidmodeSetGamma(xf86vidmode::SetGammaRequest),
1795 #[cfg(feature = "xf86vidmode")]
1796 Xf86vidmodeGetGamma(xf86vidmode::GetGammaRequest),
1797 #[cfg(feature = "xf86vidmode")]
1798 Xf86vidmodeGetGammaRamp(xf86vidmode::GetGammaRampRequest),
1799 #[cfg(feature = "xf86vidmode")]
1800 Xf86vidmodeSetGammaRamp(xf86vidmode::SetGammaRampRequest<'input>),
1801 #[cfg(feature = "xf86vidmode")]
1802 Xf86vidmodeGetGammaRampSize(xf86vidmode::GetGammaRampSizeRequest),
1803 #[cfg(feature = "xf86vidmode")]
1804 Xf86vidmodeGetPermissions(xf86vidmode::GetPermissionsRequest),
1805 #[cfg(feature = "xfixes")]
1806 XfixesQueryVersion(xfixes::QueryVersionRequest),
1807 #[cfg(feature = "xfixes")]
1808 XfixesChangeSaveSet(xfixes::ChangeSaveSetRequest),
1809 #[cfg(feature = "xfixes")]
1810 XfixesSelectSelectionInput(xfixes::SelectSelectionInputRequest),
1811 #[cfg(feature = "xfixes")]
1812 XfixesSelectCursorInput(xfixes::SelectCursorInputRequest),
1813 #[cfg(feature = "xfixes")]
1814 XfixesGetCursorImage(xfixes::GetCursorImageRequest),
1815 #[cfg(feature = "xfixes")]
1816 XfixesCreateRegion(xfixes::CreateRegionRequest<'input>),
1817 #[cfg(feature = "xfixes")]
1818 XfixesCreateRegionFromBitmap(xfixes::CreateRegionFromBitmapRequest),
1819 #[cfg(feature = "xfixes")]
1820 XfixesCreateRegionFromWindow(xfixes::CreateRegionFromWindowRequest),
1821 #[cfg(feature = "xfixes")]
1822 XfixesCreateRegionFromGC(xfixes::CreateRegionFromGCRequest),
1823 #[cfg(feature = "xfixes")]
1824 XfixesCreateRegionFromPicture(xfixes::CreateRegionFromPictureRequest),
1825 #[cfg(feature = "xfixes")]
1826 XfixesDestroyRegion(xfixes::DestroyRegionRequest),
1827 #[cfg(feature = "xfixes")]
1828 XfixesSetRegion(xfixes::SetRegionRequest<'input>),
1829 #[cfg(feature = "xfixes")]
1830 XfixesCopyRegion(xfixes::CopyRegionRequest),
1831 #[cfg(feature = "xfixes")]
1832 XfixesUnionRegion(xfixes::UnionRegionRequest),
1833 #[cfg(feature = "xfixes")]
1834 XfixesIntersectRegion(xfixes::IntersectRegionRequest),
1835 #[cfg(feature = "xfixes")]
1836 XfixesSubtractRegion(xfixes::SubtractRegionRequest),
1837 #[cfg(feature = "xfixes")]
1838 XfixesInvertRegion(xfixes::InvertRegionRequest),
1839 #[cfg(feature = "xfixes")]
1840 XfixesTranslateRegion(xfixes::TranslateRegionRequest),
1841 #[cfg(feature = "xfixes")]
1842 XfixesRegionExtents(xfixes::RegionExtentsRequest),
1843 #[cfg(feature = "xfixes")]
1844 XfixesFetchRegion(xfixes::FetchRegionRequest),
1845 #[cfg(feature = "xfixes")]
1846 XfixesSetGCClipRegion(xfixes::SetGCClipRegionRequest),
1847 #[cfg(feature = "xfixes")]
1848 XfixesSetWindowShapeRegion(xfixes::SetWindowShapeRegionRequest),
1849 #[cfg(feature = "xfixes")]
1850 XfixesSetPictureClipRegion(xfixes::SetPictureClipRegionRequest),
1851 #[cfg(feature = "xfixes")]
1852 XfixesSetCursorName(xfixes::SetCursorNameRequest<'input>),
1853 #[cfg(feature = "xfixes")]
1854 XfixesGetCursorName(xfixes::GetCursorNameRequest),
1855 #[cfg(feature = "xfixes")]
1856 XfixesGetCursorImageAndName(xfixes::GetCursorImageAndNameRequest),
1857 #[cfg(feature = "xfixes")]
1858 XfixesChangeCursor(xfixes::ChangeCursorRequest),
1859 #[cfg(feature = "xfixes")]
1860 XfixesChangeCursorByName(xfixes::ChangeCursorByNameRequest<'input>),
1861 #[cfg(feature = "xfixes")]
1862 XfixesExpandRegion(xfixes::ExpandRegionRequest),
1863 #[cfg(feature = "xfixes")]
1864 XfixesHideCursor(xfixes::HideCursorRequest),
1865 #[cfg(feature = "xfixes")]
1866 XfixesShowCursor(xfixes::ShowCursorRequest),
1867 #[cfg(feature = "xfixes")]
1868 XfixesCreatePointerBarrier(xfixes::CreatePointerBarrierRequest<'input>),
1869 #[cfg(feature = "xfixes")]
1870 XfixesDeletePointerBarrier(xfixes::DeletePointerBarrierRequest),
1871 #[cfg(feature = "xfixes")]
1872 XfixesSetClientDisconnectMode(xfixes::SetClientDisconnectModeRequest),
1873 #[cfg(feature = "xfixes")]
1874 XfixesGetClientDisconnectMode(xfixes::GetClientDisconnectModeRequest),
1875 #[cfg(feature = "xinerama")]
1876 XineramaQueryVersion(xinerama::QueryVersionRequest),
1877 #[cfg(feature = "xinerama")]
1878 XineramaGetState(xinerama::GetStateRequest),
1879 #[cfg(feature = "xinerama")]
1880 XineramaGetScreenCount(xinerama::GetScreenCountRequest),
1881 #[cfg(feature = "xinerama")]
1882 XineramaGetScreenSize(xinerama::GetScreenSizeRequest),
1883 #[cfg(feature = "xinerama")]
1884 XineramaIsActive(xinerama::IsActiveRequest),
1885 #[cfg(feature = "xinerama")]
1886 XineramaQueryScreens(xinerama::QueryScreensRequest),
1887 #[cfg(feature = "xinput")]
1888 XinputGetExtensionVersion(xinput::GetExtensionVersionRequest<'input>),
1889 #[cfg(feature = "xinput")]
1890 XinputListInputDevices(xinput::ListInputDevicesRequest),
1891 #[cfg(feature = "xinput")]
1892 XinputOpenDevice(xinput::OpenDeviceRequest),
1893 #[cfg(feature = "xinput")]
1894 XinputCloseDevice(xinput::CloseDeviceRequest),
1895 #[cfg(feature = "xinput")]
1896 XinputSetDeviceMode(xinput::SetDeviceModeRequest),
1897 #[cfg(feature = "xinput")]
1898 XinputSelectExtensionEvent(xinput::SelectExtensionEventRequest<'input>),
1899 #[cfg(feature = "xinput")]
1900 XinputGetSelectedExtensionEvents(xinput::GetSelectedExtensionEventsRequest),
1901 #[cfg(feature = "xinput")]
1902 XinputChangeDeviceDontPropagateList(xinput::ChangeDeviceDontPropagateListRequest<'input>),
1903 #[cfg(feature = "xinput")]
1904 XinputGetDeviceDontPropagateList(xinput::GetDeviceDontPropagateListRequest),
1905 #[cfg(feature = "xinput")]
1906 XinputGetDeviceMotionEvents(xinput::GetDeviceMotionEventsRequest),
1907 #[cfg(feature = "xinput")]
1908 XinputChangeKeyboardDevice(xinput::ChangeKeyboardDeviceRequest),
1909 #[cfg(feature = "xinput")]
1910 XinputChangePointerDevice(xinput::ChangePointerDeviceRequest),
1911 #[cfg(feature = "xinput")]
1912 XinputGrabDevice(xinput::GrabDeviceRequest<'input>),
1913 #[cfg(feature = "xinput")]
1914 XinputUngrabDevice(xinput::UngrabDeviceRequest),
1915 #[cfg(feature = "xinput")]
1916 XinputGrabDeviceKey(xinput::GrabDeviceKeyRequest<'input>),
1917 #[cfg(feature = "xinput")]
1918 XinputUngrabDeviceKey(xinput::UngrabDeviceKeyRequest),
1919 #[cfg(feature = "xinput")]
1920 XinputGrabDeviceButton(xinput::GrabDeviceButtonRequest<'input>),
1921 #[cfg(feature = "xinput")]
1922 XinputUngrabDeviceButton(xinput::UngrabDeviceButtonRequest),
1923 #[cfg(feature = "xinput")]
1924 XinputAllowDeviceEvents(xinput::AllowDeviceEventsRequest),
1925 #[cfg(feature = "xinput")]
1926 XinputGetDeviceFocus(xinput::GetDeviceFocusRequest),
1927 #[cfg(feature = "xinput")]
1928 XinputSetDeviceFocus(xinput::SetDeviceFocusRequest),
1929 #[cfg(feature = "xinput")]
1930 XinputGetFeedbackControl(xinput::GetFeedbackControlRequest),
1931 #[cfg(feature = "xinput")]
1932 XinputChangeFeedbackControl(xinput::ChangeFeedbackControlRequest),
1933 #[cfg(feature = "xinput")]
1934 XinputGetDeviceKeyMapping(xinput::GetDeviceKeyMappingRequest),
1935 #[cfg(feature = "xinput")]
1936 XinputChangeDeviceKeyMapping(xinput::ChangeDeviceKeyMappingRequest<'input>),
1937 #[cfg(feature = "xinput")]
1938 XinputGetDeviceModifierMapping(xinput::GetDeviceModifierMappingRequest),
1939 #[cfg(feature = "xinput")]
1940 XinputSetDeviceModifierMapping(xinput::SetDeviceModifierMappingRequest<'input>),
1941 #[cfg(feature = "xinput")]
1942 XinputGetDeviceButtonMapping(xinput::GetDeviceButtonMappingRequest),
1943 #[cfg(feature = "xinput")]
1944 XinputSetDeviceButtonMapping(xinput::SetDeviceButtonMappingRequest<'input>),
1945 #[cfg(feature = "xinput")]
1946 XinputQueryDeviceState(xinput::QueryDeviceStateRequest),
1947 #[cfg(feature = "xinput")]
1948 XinputDeviceBell(xinput::DeviceBellRequest),
1949 #[cfg(feature = "xinput")]
1950 XinputSetDeviceValuators(xinput::SetDeviceValuatorsRequest<'input>),
1951 #[cfg(feature = "xinput")]
1952 XinputGetDeviceControl(xinput::GetDeviceControlRequest),
1953 #[cfg(feature = "xinput")]
1954 XinputChangeDeviceControl(xinput::ChangeDeviceControlRequest),
1955 #[cfg(feature = "xinput")]
1956 XinputListDeviceProperties(xinput::ListDevicePropertiesRequest),
1957 #[cfg(feature = "xinput")]
1958 XinputChangeDeviceProperty(xinput::ChangeDevicePropertyRequest<'input>),
1959 #[cfg(feature = "xinput")]
1960 XinputDeleteDeviceProperty(xinput::DeleteDevicePropertyRequest),
1961 #[cfg(feature = "xinput")]
1962 XinputGetDeviceProperty(xinput::GetDevicePropertyRequest),
1963 #[cfg(feature = "xinput")]
1964 XinputXIQueryPointer(xinput::XIQueryPointerRequest),
1965 #[cfg(feature = "xinput")]
1966 XinputXIWarpPointer(xinput::XIWarpPointerRequest),
1967 #[cfg(feature = "xinput")]
1968 XinputXIChangeCursor(xinput::XIChangeCursorRequest),
1969 #[cfg(feature = "xinput")]
1970 XinputXIChangeHierarchy(xinput::XIChangeHierarchyRequest<'input>),
1971 #[cfg(feature = "xinput")]
1972 XinputXISetClientPointer(xinput::XISetClientPointerRequest),
1973 #[cfg(feature = "xinput")]
1974 XinputXIGetClientPointer(xinput::XIGetClientPointerRequest),
1975 #[cfg(feature = "xinput")]
1976 XinputXISelectEvents(xinput::XISelectEventsRequest<'input>),
1977 #[cfg(feature = "xinput")]
1978 XinputXIQueryVersion(xinput::XIQueryVersionRequest),
1979 #[cfg(feature = "xinput")]
1980 XinputXIQueryDevice(xinput::XIQueryDeviceRequest),
1981 #[cfg(feature = "xinput")]
1982 XinputXISetFocus(xinput::XISetFocusRequest),
1983 #[cfg(feature = "xinput")]
1984 XinputXIGetFocus(xinput::XIGetFocusRequest),
1985 #[cfg(feature = "xinput")]
1986 XinputXIGrabDevice(xinput::XIGrabDeviceRequest<'input>),
1987 #[cfg(feature = "xinput")]
1988 XinputXIUngrabDevice(xinput::XIUngrabDeviceRequest),
1989 #[cfg(feature = "xinput")]
1990 XinputXIAllowEvents(xinput::XIAllowEventsRequest),
1991 #[cfg(feature = "xinput")]
1992 XinputXIPassiveGrabDevice(xinput::XIPassiveGrabDeviceRequest<'input>),
1993 #[cfg(feature = "xinput")]
1994 XinputXIPassiveUngrabDevice(xinput::XIPassiveUngrabDeviceRequest<'input>),
1995 #[cfg(feature = "xinput")]
1996 XinputXIListProperties(xinput::XIListPropertiesRequest),
1997 #[cfg(feature = "xinput")]
1998 XinputXIChangeProperty(xinput::XIChangePropertyRequest<'input>),
1999 #[cfg(feature = "xinput")]
2000 XinputXIDeleteProperty(xinput::XIDeletePropertyRequest),
2001 #[cfg(feature = "xinput")]
2002 XinputXIGetProperty(xinput::XIGetPropertyRequest),
2003 #[cfg(feature = "xinput")]
2004 XinputXIGetSelectedEvents(xinput::XIGetSelectedEventsRequest),
2005 #[cfg(feature = "xinput")]
2006 XinputXIBarrierReleasePointer(xinput::XIBarrierReleasePointerRequest<'input>),
2007 #[cfg(feature = "xinput")]
2008 XinputSendExtensionEvent(xinput::SendExtensionEventRequest<'input>),
2009 #[cfg(feature = "xkb")]
2010 XkbUseExtension(xkb::UseExtensionRequest),
2011 #[cfg(feature = "xkb")]
2012 XkbSelectEvents(xkb::SelectEventsRequest<'input>),
2013 #[cfg(feature = "xkb")]
2014 XkbBell(xkb::BellRequest),
2015 #[cfg(feature = "xkb")]
2016 XkbGetState(xkb::GetStateRequest),
2017 #[cfg(feature = "xkb")]
2018 XkbLatchLockState(xkb::LatchLockStateRequest),
2019 #[cfg(feature = "xkb")]
2020 XkbGetControls(xkb::GetControlsRequest),
2021 #[cfg(feature = "xkb")]
2022 XkbSetControls(xkb::SetControlsRequest<'input>),
2023 #[cfg(feature = "xkb")]
2024 XkbGetMap(xkb::GetMapRequest),
2025 #[cfg(feature = "xkb")]
2026 XkbSetMap(xkb::SetMapRequest<'input>),
2027 #[cfg(feature = "xkb")]
2028 XkbGetCompatMap(xkb::GetCompatMapRequest),
2029 #[cfg(feature = "xkb")]
2030 XkbSetCompatMap(xkb::SetCompatMapRequest<'input>),
2031 #[cfg(feature = "xkb")]
2032 XkbGetIndicatorState(xkb::GetIndicatorStateRequest),
2033 #[cfg(feature = "xkb")]
2034 XkbGetIndicatorMap(xkb::GetIndicatorMapRequest),
2035 #[cfg(feature = "xkb")]
2036 XkbSetIndicatorMap(xkb::SetIndicatorMapRequest<'input>),
2037 #[cfg(feature = "xkb")]
2038 XkbGetNamedIndicator(xkb::GetNamedIndicatorRequest),
2039 #[cfg(feature = "xkb")]
2040 XkbSetNamedIndicator(xkb::SetNamedIndicatorRequest),
2041 #[cfg(feature = "xkb")]
2042 XkbGetNames(xkb::GetNamesRequest),
2043 #[cfg(feature = "xkb")]
2044 XkbSetNames(xkb::SetNamesRequest<'input>),
2045 #[cfg(feature = "xkb")]
2046 XkbPerClientFlags(xkb::PerClientFlagsRequest),
2047 #[cfg(feature = "xkb")]
2048 XkbListComponents(xkb::ListComponentsRequest),
2049 #[cfg(feature = "xkb")]
2050 XkbGetKbdByName(xkb::GetKbdByNameRequest),
2051 #[cfg(feature = "xkb")]
2052 XkbGetDeviceInfo(xkb::GetDeviceInfoRequest),
2053 #[cfg(feature = "xkb")]
2054 XkbSetDeviceInfo(xkb::SetDeviceInfoRequest<'input>),
2055 #[cfg(feature = "xkb")]
2056 XkbSetDebuggingFlags(xkb::SetDebuggingFlagsRequest<'input>),
2057 #[cfg(feature = "xprint")]
2058 XprintPrintQueryVersion(xprint::PrintQueryVersionRequest),
2059 #[cfg(feature = "xprint")]
2060 XprintPrintGetPrinterList(xprint::PrintGetPrinterListRequest<'input>),
2061 #[cfg(feature = "xprint")]
2062 XprintPrintRehashPrinterList(xprint::PrintRehashPrinterListRequest),
2063 #[cfg(feature = "xprint")]
2064 XprintCreateContext(xprint::CreateContextRequest<'input>),
2065 #[cfg(feature = "xprint")]
2066 XprintPrintSetContext(xprint::PrintSetContextRequest),
2067 #[cfg(feature = "xprint")]
2068 XprintPrintGetContext(xprint::PrintGetContextRequest),
2069 #[cfg(feature = "xprint")]
2070 XprintPrintDestroyContext(xprint::PrintDestroyContextRequest),
2071 #[cfg(feature = "xprint")]
2072 XprintPrintGetScreenOfContext(xprint::PrintGetScreenOfContextRequest),
2073 #[cfg(feature = "xprint")]
2074 XprintPrintStartJob(xprint::PrintStartJobRequest),
2075 #[cfg(feature = "xprint")]
2076 XprintPrintEndJob(xprint::PrintEndJobRequest),
2077 #[cfg(feature = "xprint")]
2078 XprintPrintStartDoc(xprint::PrintStartDocRequest),
2079 #[cfg(feature = "xprint")]
2080 XprintPrintEndDoc(xprint::PrintEndDocRequest),
2081 #[cfg(feature = "xprint")]
2082 XprintPrintPutDocumentData(xprint::PrintPutDocumentDataRequest<'input>),
2083 #[cfg(feature = "xprint")]
2084 XprintPrintGetDocumentData(xprint::PrintGetDocumentDataRequest),
2085 #[cfg(feature = "xprint")]
2086 XprintPrintStartPage(xprint::PrintStartPageRequest),
2087 #[cfg(feature = "xprint")]
2088 XprintPrintEndPage(xprint::PrintEndPageRequest),
2089 #[cfg(feature = "xprint")]
2090 XprintPrintSelectInput(xprint::PrintSelectInputRequest),
2091 #[cfg(feature = "xprint")]
2092 XprintPrintInputSelected(xprint::PrintInputSelectedRequest),
2093 #[cfg(feature = "xprint")]
2094 XprintPrintGetAttributes(xprint::PrintGetAttributesRequest),
2095 #[cfg(feature = "xprint")]
2096 XprintPrintGetOneAttributes(xprint::PrintGetOneAttributesRequest<'input>),
2097 #[cfg(feature = "xprint")]
2098 XprintPrintSetAttributes(xprint::PrintSetAttributesRequest<'input>),
2099 #[cfg(feature = "xprint")]
2100 XprintPrintGetPageDimensions(xprint::PrintGetPageDimensionsRequest),
2101 #[cfg(feature = "xprint")]
2102 XprintPrintQueryScreens(xprint::PrintQueryScreensRequest),
2103 #[cfg(feature = "xprint")]
2104 XprintPrintSetImageResolution(xprint::PrintSetImageResolutionRequest),
2105 #[cfg(feature = "xprint")]
2106 XprintPrintGetImageResolution(xprint::PrintGetImageResolutionRequest),
2107 #[cfg(feature = "xselinux")]
2108 XselinuxQueryVersion(xselinux::QueryVersionRequest),
2109 #[cfg(feature = "xselinux")]
2110 XselinuxSetDeviceCreateContext(xselinux::SetDeviceCreateContextRequest<'input>),
2111 #[cfg(feature = "xselinux")]
2112 XselinuxGetDeviceCreateContext(xselinux::GetDeviceCreateContextRequest),
2113 #[cfg(feature = "xselinux")]
2114 XselinuxSetDeviceContext(xselinux::SetDeviceContextRequest<'input>),
2115 #[cfg(feature = "xselinux")]
2116 XselinuxGetDeviceContext(xselinux::GetDeviceContextRequest),
2117 #[cfg(feature = "xselinux")]
2118 XselinuxSetWindowCreateContext(xselinux::SetWindowCreateContextRequest<'input>),
2119 #[cfg(feature = "xselinux")]
2120 XselinuxGetWindowCreateContext(xselinux::GetWindowCreateContextRequest),
2121 #[cfg(feature = "xselinux")]
2122 XselinuxGetWindowContext(xselinux::GetWindowContextRequest),
2123 #[cfg(feature = "xselinux")]
2124 XselinuxSetPropertyCreateContext(xselinux::SetPropertyCreateContextRequest<'input>),
2125 #[cfg(feature = "xselinux")]
2126 XselinuxGetPropertyCreateContext(xselinux::GetPropertyCreateContextRequest),
2127 #[cfg(feature = "xselinux")]
2128 XselinuxSetPropertyUseContext(xselinux::SetPropertyUseContextRequest<'input>),
2129 #[cfg(feature = "xselinux")]
2130 XselinuxGetPropertyUseContext(xselinux::GetPropertyUseContextRequest),
2131 #[cfg(feature = "xselinux")]
2132 XselinuxGetPropertyContext(xselinux::GetPropertyContextRequest),
2133 #[cfg(feature = "xselinux")]
2134 XselinuxGetPropertyDataContext(xselinux::GetPropertyDataContextRequest),
2135 #[cfg(feature = "xselinux")]
2136 XselinuxListProperties(xselinux::ListPropertiesRequest),
2137 #[cfg(feature = "xselinux")]
2138 XselinuxSetSelectionCreateContext(xselinux::SetSelectionCreateContextRequest<'input>),
2139 #[cfg(feature = "xselinux")]
2140 XselinuxGetSelectionCreateContext(xselinux::GetSelectionCreateContextRequest),
2141 #[cfg(feature = "xselinux")]
2142 XselinuxSetSelectionUseContext(xselinux::SetSelectionUseContextRequest<'input>),
2143 #[cfg(feature = "xselinux")]
2144 XselinuxGetSelectionUseContext(xselinux::GetSelectionUseContextRequest),
2145 #[cfg(feature = "xselinux")]
2146 XselinuxGetSelectionContext(xselinux::GetSelectionContextRequest),
2147 #[cfg(feature = "xselinux")]
2148 XselinuxGetSelectionDataContext(xselinux::GetSelectionDataContextRequest),
2149 #[cfg(feature = "xselinux")]
2150 XselinuxListSelections(xselinux::ListSelectionsRequest),
2151 #[cfg(feature = "xselinux")]
2152 XselinuxGetClientContext(xselinux::GetClientContextRequest),
2153 #[cfg(feature = "xtest")]
2154 XtestGetVersion(xtest::GetVersionRequest),
2155 #[cfg(feature = "xtest")]
2156 XtestCompareCursor(xtest::CompareCursorRequest),
2157 #[cfg(feature = "xtest")]
2158 XtestFakeInput(xtest::FakeInputRequest),
2159 #[cfg(feature = "xtest")]
2160 XtestGrabControl(xtest::GrabControlRequest),
2161 #[cfg(feature = "xv")]
2162 XvQueryExtension(xv::QueryExtensionRequest),
2163 #[cfg(feature = "xv")]
2164 XvQueryAdaptors(xv::QueryAdaptorsRequest),
2165 #[cfg(feature = "xv")]
2166 XvQueryEncodings(xv::QueryEncodingsRequest),
2167 #[cfg(feature = "xv")]
2168 XvGrabPort(xv::GrabPortRequest),
2169 #[cfg(feature = "xv")]
2170 XvUngrabPort(xv::UngrabPortRequest),
2171 #[cfg(feature = "xv")]
2172 XvPutVideo(xv::PutVideoRequest),
2173 #[cfg(feature = "xv")]
2174 XvPutStill(xv::PutStillRequest),
2175 #[cfg(feature = "xv")]
2176 XvGetVideo(xv::GetVideoRequest),
2177 #[cfg(feature = "xv")]
2178 XvGetStill(xv::GetStillRequest),
2179 #[cfg(feature = "xv")]
2180 XvStopVideo(xv::StopVideoRequest),
2181 #[cfg(feature = "xv")]
2182 XvSelectVideoNotify(xv::SelectVideoNotifyRequest),
2183 #[cfg(feature = "xv")]
2184 XvSelectPortNotify(xv::SelectPortNotifyRequest),
2185 #[cfg(feature = "xv")]
2186 XvQueryBestSize(xv::QueryBestSizeRequest),
2187 #[cfg(feature = "xv")]
2188 XvSetPortAttribute(xv::SetPortAttributeRequest),
2189 #[cfg(feature = "xv")]
2190 XvGetPortAttribute(xv::GetPortAttributeRequest),
2191 #[cfg(feature = "xv")]
2192 XvQueryPortAttributes(xv::QueryPortAttributesRequest),
2193 #[cfg(feature = "xv")]
2194 XvListImageFormats(xv::ListImageFormatsRequest),
2195 #[cfg(feature = "xv")]
2196 XvQueryImageAttributes(xv::QueryImageAttributesRequest),
2197 #[cfg(feature = "xv")]
2198 XvPutImage(xv::PutImageRequest<'input>),
2199 #[cfg(feature = "xv")]
2200 XvShmPutImage(xv::ShmPutImageRequest),
2201 #[cfg(feature = "xvmc")]
2202 XvmcQueryVersion(xvmc::QueryVersionRequest),
2203 #[cfg(feature = "xvmc")]
2204 XvmcListSurfaceTypes(xvmc::ListSurfaceTypesRequest),
2205 #[cfg(feature = "xvmc")]
2206 XvmcCreateContext(xvmc::CreateContextRequest),
2207 #[cfg(feature = "xvmc")]
2208 XvmcDestroyContext(xvmc::DestroyContextRequest),
2209 #[cfg(feature = "xvmc")]
2210 XvmcCreateSurface(xvmc::CreateSurfaceRequest),
2211 #[cfg(feature = "xvmc")]
2212 XvmcDestroySurface(xvmc::DestroySurfaceRequest),
2213 #[cfg(feature = "xvmc")]
2214 XvmcCreateSubpicture(xvmc::CreateSubpictureRequest),
2215 #[cfg(feature = "xvmc")]
2216 XvmcDestroySubpicture(xvmc::DestroySubpictureRequest),
2217 #[cfg(feature = "xvmc")]
2218 XvmcListSubpictureTypes(xvmc::ListSubpictureTypesRequest),
2219}
2220
2221impl<'input> Request<'input> {
2222 // Parse a X11 request into a concrete type
2223 #[allow(clippy::cognitive_complexity, clippy::single_match)]
2224 #[cfg(feature = "request-parsing")]
2225 pub fn parse(
2226 header: RequestHeader,
2227 body: &'input [u8],
2228 // Might not be used if none of the extensions that use FD passing is enabled
2229 #[allow(unused_variables, clippy::ptr_arg)]
2230 fds: &mut Vec<RawFdContainer>,
2231 ext_info_provider: &dyn ExtInfoProvider,
2232 ) -> Result<Self, ParseError> {
2233 let remaining = body;
2234 // Check if this is a core protocol request.
2235 match header.major_opcode {
2236 xproto::CREATE_WINDOW_REQUEST => return Ok(Request::CreateWindow(xproto::CreateWindowRequest::try_parse_request(header, remaining)?)),
2237 xproto::CHANGE_WINDOW_ATTRIBUTES_REQUEST => return Ok(Request::ChangeWindowAttributes(xproto::ChangeWindowAttributesRequest::try_parse_request(header, remaining)?)),
2238 xproto::GET_WINDOW_ATTRIBUTES_REQUEST => return Ok(Request::GetWindowAttributes(xproto::GetWindowAttributesRequest::try_parse_request(header, remaining)?)),
2239 xproto::DESTROY_WINDOW_REQUEST => return Ok(Request::DestroyWindow(xproto::DestroyWindowRequest::try_parse_request(header, remaining)?)),
2240 xproto::DESTROY_SUBWINDOWS_REQUEST => return Ok(Request::DestroySubwindows(xproto::DestroySubwindowsRequest::try_parse_request(header, remaining)?)),
2241 xproto::CHANGE_SAVE_SET_REQUEST => return Ok(Request::ChangeSaveSet(xproto::ChangeSaveSetRequest::try_parse_request(header, remaining)?)),
2242 xproto::REPARENT_WINDOW_REQUEST => return Ok(Request::ReparentWindow(xproto::ReparentWindowRequest::try_parse_request(header, remaining)?)),
2243 xproto::MAP_WINDOW_REQUEST => return Ok(Request::MapWindow(xproto::MapWindowRequest::try_parse_request(header, remaining)?)),
2244 xproto::MAP_SUBWINDOWS_REQUEST => return Ok(Request::MapSubwindows(xproto::MapSubwindowsRequest::try_parse_request(header, remaining)?)),
2245 xproto::UNMAP_WINDOW_REQUEST => return Ok(Request::UnmapWindow(xproto::UnmapWindowRequest::try_parse_request(header, remaining)?)),
2246 xproto::UNMAP_SUBWINDOWS_REQUEST => return Ok(Request::UnmapSubwindows(xproto::UnmapSubwindowsRequest::try_parse_request(header, remaining)?)),
2247 xproto::CONFIGURE_WINDOW_REQUEST => return Ok(Request::ConfigureWindow(xproto::ConfigureWindowRequest::try_parse_request(header, remaining)?)),
2248 xproto::CIRCULATE_WINDOW_REQUEST => return Ok(Request::CirculateWindow(xproto::CirculateWindowRequest::try_parse_request(header, remaining)?)),
2249 xproto::GET_GEOMETRY_REQUEST => return Ok(Request::GetGeometry(xproto::GetGeometryRequest::try_parse_request(header, remaining)?)),
2250 xproto::QUERY_TREE_REQUEST => return Ok(Request::QueryTree(xproto::QueryTreeRequest::try_parse_request(header, remaining)?)),
2251 xproto::INTERN_ATOM_REQUEST => return Ok(Request::InternAtom(xproto::InternAtomRequest::try_parse_request(header, remaining)?)),
2252 xproto::GET_ATOM_NAME_REQUEST => return Ok(Request::GetAtomName(xproto::GetAtomNameRequest::try_parse_request(header, remaining)?)),
2253 xproto::CHANGE_PROPERTY_REQUEST => return Ok(Request::ChangeProperty(xproto::ChangePropertyRequest::try_parse_request(header, remaining)?)),
2254 xproto::DELETE_PROPERTY_REQUEST => return Ok(Request::DeleteProperty(xproto::DeletePropertyRequest::try_parse_request(header, remaining)?)),
2255 xproto::GET_PROPERTY_REQUEST => return Ok(Request::GetProperty(xproto::GetPropertyRequest::try_parse_request(header, remaining)?)),
2256 xproto::LIST_PROPERTIES_REQUEST => return Ok(Request::ListProperties(xproto::ListPropertiesRequest::try_parse_request(header, remaining)?)),
2257 xproto::SET_SELECTION_OWNER_REQUEST => return Ok(Request::SetSelectionOwner(xproto::SetSelectionOwnerRequest::try_parse_request(header, remaining)?)),
2258 xproto::GET_SELECTION_OWNER_REQUEST => return Ok(Request::GetSelectionOwner(xproto::GetSelectionOwnerRequest::try_parse_request(header, remaining)?)),
2259 xproto::CONVERT_SELECTION_REQUEST => return Ok(Request::ConvertSelection(xproto::ConvertSelectionRequest::try_parse_request(header, remaining)?)),
2260 xproto::SEND_EVENT_REQUEST => return Ok(Request::SendEvent(xproto::SendEventRequest::try_parse_request(header, remaining)?)),
2261 xproto::GRAB_POINTER_REQUEST => return Ok(Request::GrabPointer(xproto::GrabPointerRequest::try_parse_request(header, remaining)?)),
2262 xproto::UNGRAB_POINTER_REQUEST => return Ok(Request::UngrabPointer(xproto::UngrabPointerRequest::try_parse_request(header, remaining)?)),
2263 xproto::GRAB_BUTTON_REQUEST => return Ok(Request::GrabButton(xproto::GrabButtonRequest::try_parse_request(header, remaining)?)),
2264 xproto::UNGRAB_BUTTON_REQUEST => return Ok(Request::UngrabButton(xproto::UngrabButtonRequest::try_parse_request(header, remaining)?)),
2265 xproto::CHANGE_ACTIVE_POINTER_GRAB_REQUEST => return Ok(Request::ChangeActivePointerGrab(xproto::ChangeActivePointerGrabRequest::try_parse_request(header, remaining)?)),
2266 xproto::GRAB_KEYBOARD_REQUEST => return Ok(Request::GrabKeyboard(xproto::GrabKeyboardRequest::try_parse_request(header, remaining)?)),
2267 xproto::UNGRAB_KEYBOARD_REQUEST => return Ok(Request::UngrabKeyboard(xproto::UngrabKeyboardRequest::try_parse_request(header, remaining)?)),
2268 xproto::GRAB_KEY_REQUEST => return Ok(Request::GrabKey(xproto::GrabKeyRequest::try_parse_request(header, remaining)?)),
2269 xproto::UNGRAB_KEY_REQUEST => return Ok(Request::UngrabKey(xproto::UngrabKeyRequest::try_parse_request(header, remaining)?)),
2270 xproto::ALLOW_EVENTS_REQUEST => return Ok(Request::AllowEvents(xproto::AllowEventsRequest::try_parse_request(header, remaining)?)),
2271 xproto::GRAB_SERVER_REQUEST => return Ok(Request::GrabServer(xproto::GrabServerRequest::try_parse_request(header, remaining)?)),
2272 xproto::UNGRAB_SERVER_REQUEST => return Ok(Request::UngrabServer(xproto::UngrabServerRequest::try_parse_request(header, remaining)?)),
2273 xproto::QUERY_POINTER_REQUEST => return Ok(Request::QueryPointer(xproto::QueryPointerRequest::try_parse_request(header, remaining)?)),
2274 xproto::GET_MOTION_EVENTS_REQUEST => return Ok(Request::GetMotionEvents(xproto::GetMotionEventsRequest::try_parse_request(header, remaining)?)),
2275 xproto::TRANSLATE_COORDINATES_REQUEST => return Ok(Request::TranslateCoordinates(xproto::TranslateCoordinatesRequest::try_parse_request(header, remaining)?)),
2276 xproto::WARP_POINTER_REQUEST => return Ok(Request::WarpPointer(xproto::WarpPointerRequest::try_parse_request(header, remaining)?)),
2277 xproto::SET_INPUT_FOCUS_REQUEST => return Ok(Request::SetInputFocus(xproto::SetInputFocusRequest::try_parse_request(header, remaining)?)),
2278 xproto::GET_INPUT_FOCUS_REQUEST => return Ok(Request::GetInputFocus(xproto::GetInputFocusRequest::try_parse_request(header, remaining)?)),
2279 xproto::QUERY_KEYMAP_REQUEST => return Ok(Request::QueryKeymap(xproto::QueryKeymapRequest::try_parse_request(header, remaining)?)),
2280 xproto::OPEN_FONT_REQUEST => return Ok(Request::OpenFont(xproto::OpenFontRequest::try_parse_request(header, remaining)?)),
2281 xproto::CLOSE_FONT_REQUEST => return Ok(Request::CloseFont(xproto::CloseFontRequest::try_parse_request(header, remaining)?)),
2282 xproto::QUERY_FONT_REQUEST => return Ok(Request::QueryFont(xproto::QueryFontRequest::try_parse_request(header, remaining)?)),
2283 xproto::QUERY_TEXT_EXTENTS_REQUEST => return Ok(Request::QueryTextExtents(xproto::QueryTextExtentsRequest::try_parse_request(header, remaining)?)),
2284 xproto::LIST_FONTS_REQUEST => return Ok(Request::ListFonts(xproto::ListFontsRequest::try_parse_request(header, remaining)?)),
2285 xproto::LIST_FONTS_WITH_INFO_REQUEST => return Ok(Request::ListFontsWithInfo(xproto::ListFontsWithInfoRequest::try_parse_request(header, remaining)?)),
2286 xproto::SET_FONT_PATH_REQUEST => return Ok(Request::SetFontPath(xproto::SetFontPathRequest::try_parse_request(header, remaining)?)),
2287 xproto::GET_FONT_PATH_REQUEST => return Ok(Request::GetFontPath(xproto::GetFontPathRequest::try_parse_request(header, remaining)?)),
2288 xproto::CREATE_PIXMAP_REQUEST => return Ok(Request::CreatePixmap(xproto::CreatePixmapRequest::try_parse_request(header, remaining)?)),
2289 xproto::FREE_PIXMAP_REQUEST => return Ok(Request::FreePixmap(xproto::FreePixmapRequest::try_parse_request(header, remaining)?)),
2290 xproto::CREATE_GC_REQUEST => return Ok(Request::CreateGC(xproto::CreateGCRequest::try_parse_request(header, remaining)?)),
2291 xproto::CHANGE_GC_REQUEST => return Ok(Request::ChangeGC(xproto::ChangeGCRequest::try_parse_request(header, remaining)?)),
2292 xproto::COPY_GC_REQUEST => return Ok(Request::CopyGC(xproto::CopyGCRequest::try_parse_request(header, remaining)?)),
2293 xproto::SET_DASHES_REQUEST => return Ok(Request::SetDashes(xproto::SetDashesRequest::try_parse_request(header, remaining)?)),
2294 xproto::SET_CLIP_RECTANGLES_REQUEST => return Ok(Request::SetClipRectangles(xproto::SetClipRectanglesRequest::try_parse_request(header, remaining)?)),
2295 xproto::FREE_GC_REQUEST => return Ok(Request::FreeGC(xproto::FreeGCRequest::try_parse_request(header, remaining)?)),
2296 xproto::CLEAR_AREA_REQUEST => return Ok(Request::ClearArea(xproto::ClearAreaRequest::try_parse_request(header, remaining)?)),
2297 xproto::COPY_AREA_REQUEST => return Ok(Request::CopyArea(xproto::CopyAreaRequest::try_parse_request(header, remaining)?)),
2298 xproto::COPY_PLANE_REQUEST => return Ok(Request::CopyPlane(xproto::CopyPlaneRequest::try_parse_request(header, remaining)?)),
2299 xproto::POLY_POINT_REQUEST => return Ok(Request::PolyPoint(xproto::PolyPointRequest::try_parse_request(header, remaining)?)),
2300 xproto::POLY_LINE_REQUEST => return Ok(Request::PolyLine(xproto::PolyLineRequest::try_parse_request(header, remaining)?)),
2301 xproto::POLY_SEGMENT_REQUEST => return Ok(Request::PolySegment(xproto::PolySegmentRequest::try_parse_request(header, remaining)?)),
2302 xproto::POLY_RECTANGLE_REQUEST => return Ok(Request::PolyRectangle(xproto::PolyRectangleRequest::try_parse_request(header, remaining)?)),
2303 xproto::POLY_ARC_REQUEST => return Ok(Request::PolyArc(xproto::PolyArcRequest::try_parse_request(header, remaining)?)),
2304 xproto::FILL_POLY_REQUEST => return Ok(Request::FillPoly(xproto::FillPolyRequest::try_parse_request(header, remaining)?)),
2305 xproto::POLY_FILL_RECTANGLE_REQUEST => return Ok(Request::PolyFillRectangle(xproto::PolyFillRectangleRequest::try_parse_request(header, remaining)?)),
2306 xproto::POLY_FILL_ARC_REQUEST => return Ok(Request::PolyFillArc(xproto::PolyFillArcRequest::try_parse_request(header, remaining)?)),
2307 xproto::PUT_IMAGE_REQUEST => return Ok(Request::PutImage(xproto::PutImageRequest::try_parse_request(header, remaining)?)),
2308 xproto::GET_IMAGE_REQUEST => return Ok(Request::GetImage(xproto::GetImageRequest::try_parse_request(header, remaining)?)),
2309 xproto::POLY_TEXT8_REQUEST => return Ok(Request::PolyText8(xproto::PolyText8Request::try_parse_request(header, remaining)?)),
2310 xproto::POLY_TEXT16_REQUEST => return Ok(Request::PolyText16(xproto::PolyText16Request::try_parse_request(header, remaining)?)),
2311 xproto::IMAGE_TEXT8_REQUEST => return Ok(Request::ImageText8(xproto::ImageText8Request::try_parse_request(header, remaining)?)),
2312 xproto::IMAGE_TEXT16_REQUEST => return Ok(Request::ImageText16(xproto::ImageText16Request::try_parse_request(header, remaining)?)),
2313 xproto::CREATE_COLORMAP_REQUEST => return Ok(Request::CreateColormap(xproto::CreateColormapRequest::try_parse_request(header, remaining)?)),
2314 xproto::FREE_COLORMAP_REQUEST => return Ok(Request::FreeColormap(xproto::FreeColormapRequest::try_parse_request(header, remaining)?)),
2315 xproto::COPY_COLORMAP_AND_FREE_REQUEST => return Ok(Request::CopyColormapAndFree(xproto::CopyColormapAndFreeRequest::try_parse_request(header, remaining)?)),
2316 xproto::INSTALL_COLORMAP_REQUEST => return Ok(Request::InstallColormap(xproto::InstallColormapRequest::try_parse_request(header, remaining)?)),
2317 xproto::UNINSTALL_COLORMAP_REQUEST => return Ok(Request::UninstallColormap(xproto::UninstallColormapRequest::try_parse_request(header, remaining)?)),
2318 xproto::LIST_INSTALLED_COLORMAPS_REQUEST => return Ok(Request::ListInstalledColormaps(xproto::ListInstalledColormapsRequest::try_parse_request(header, remaining)?)),
2319 xproto::ALLOC_COLOR_REQUEST => return Ok(Request::AllocColor(xproto::AllocColorRequest::try_parse_request(header, remaining)?)),
2320 xproto::ALLOC_NAMED_COLOR_REQUEST => return Ok(Request::AllocNamedColor(xproto::AllocNamedColorRequest::try_parse_request(header, remaining)?)),
2321 xproto::ALLOC_COLOR_CELLS_REQUEST => return Ok(Request::AllocColorCells(xproto::AllocColorCellsRequest::try_parse_request(header, remaining)?)),
2322 xproto::ALLOC_COLOR_PLANES_REQUEST => return Ok(Request::AllocColorPlanes(xproto::AllocColorPlanesRequest::try_parse_request(header, remaining)?)),
2323 xproto::FREE_COLORS_REQUEST => return Ok(Request::FreeColors(xproto::FreeColorsRequest::try_parse_request(header, remaining)?)),
2324 xproto::STORE_COLORS_REQUEST => return Ok(Request::StoreColors(xproto::StoreColorsRequest::try_parse_request(header, remaining)?)),
2325 xproto::STORE_NAMED_COLOR_REQUEST => return Ok(Request::StoreNamedColor(xproto::StoreNamedColorRequest::try_parse_request(header, remaining)?)),
2326 xproto::QUERY_COLORS_REQUEST => return Ok(Request::QueryColors(xproto::QueryColorsRequest::try_parse_request(header, remaining)?)),
2327 xproto::LOOKUP_COLOR_REQUEST => return Ok(Request::LookupColor(xproto::LookupColorRequest::try_parse_request(header, remaining)?)),
2328 xproto::CREATE_CURSOR_REQUEST => return Ok(Request::CreateCursor(xproto::CreateCursorRequest::try_parse_request(header, remaining)?)),
2329 xproto::CREATE_GLYPH_CURSOR_REQUEST => return Ok(Request::CreateGlyphCursor(xproto::CreateGlyphCursorRequest::try_parse_request(header, remaining)?)),
2330 xproto::FREE_CURSOR_REQUEST => return Ok(Request::FreeCursor(xproto::FreeCursorRequest::try_parse_request(header, remaining)?)),
2331 xproto::RECOLOR_CURSOR_REQUEST => return Ok(Request::RecolorCursor(xproto::RecolorCursorRequest::try_parse_request(header, remaining)?)),
2332 xproto::QUERY_BEST_SIZE_REQUEST => return Ok(Request::QueryBestSize(xproto::QueryBestSizeRequest::try_parse_request(header, remaining)?)),
2333 xproto::QUERY_EXTENSION_REQUEST => return Ok(Request::QueryExtension(xproto::QueryExtensionRequest::try_parse_request(header, remaining)?)),
2334 xproto::LIST_EXTENSIONS_REQUEST => return Ok(Request::ListExtensions(xproto::ListExtensionsRequest::try_parse_request(header, remaining)?)),
2335 xproto::CHANGE_KEYBOARD_MAPPING_REQUEST => return Ok(Request::ChangeKeyboardMapping(xproto::ChangeKeyboardMappingRequest::try_parse_request(header, remaining)?)),
2336 xproto::GET_KEYBOARD_MAPPING_REQUEST => return Ok(Request::GetKeyboardMapping(xproto::GetKeyboardMappingRequest::try_parse_request(header, remaining)?)),
2337 xproto::CHANGE_KEYBOARD_CONTROL_REQUEST => return Ok(Request::ChangeKeyboardControl(xproto::ChangeKeyboardControlRequest::try_parse_request(header, remaining)?)),
2338 xproto::GET_KEYBOARD_CONTROL_REQUEST => return Ok(Request::GetKeyboardControl(xproto::GetKeyboardControlRequest::try_parse_request(header, remaining)?)),
2339 xproto::BELL_REQUEST => return Ok(Request::Bell(xproto::BellRequest::try_parse_request(header, remaining)?)),
2340 xproto::CHANGE_POINTER_CONTROL_REQUEST => return Ok(Request::ChangePointerControl(xproto::ChangePointerControlRequest::try_parse_request(header, remaining)?)),
2341 xproto::GET_POINTER_CONTROL_REQUEST => return Ok(Request::GetPointerControl(xproto::GetPointerControlRequest::try_parse_request(header, remaining)?)),
2342 xproto::SET_SCREEN_SAVER_REQUEST => return Ok(Request::SetScreenSaver(xproto::SetScreenSaverRequest::try_parse_request(header, remaining)?)),
2343 xproto::GET_SCREEN_SAVER_REQUEST => return Ok(Request::GetScreenSaver(xproto::GetScreenSaverRequest::try_parse_request(header, remaining)?)),
2344 xproto::CHANGE_HOSTS_REQUEST => return Ok(Request::ChangeHosts(xproto::ChangeHostsRequest::try_parse_request(header, remaining)?)),
2345 xproto::LIST_HOSTS_REQUEST => return Ok(Request::ListHosts(xproto::ListHostsRequest::try_parse_request(header, remaining)?)),
2346 xproto::SET_ACCESS_CONTROL_REQUEST => return Ok(Request::SetAccessControl(xproto::SetAccessControlRequest::try_parse_request(header, remaining)?)),
2347 xproto::SET_CLOSE_DOWN_MODE_REQUEST => return Ok(Request::SetCloseDownMode(xproto::SetCloseDownModeRequest::try_parse_request(header, remaining)?)),
2348 xproto::KILL_CLIENT_REQUEST => return Ok(Request::KillClient(xproto::KillClientRequest::try_parse_request(header, remaining)?)),
2349 xproto::ROTATE_PROPERTIES_REQUEST => return Ok(Request::RotateProperties(xproto::RotatePropertiesRequest::try_parse_request(header, remaining)?)),
2350 xproto::FORCE_SCREEN_SAVER_REQUEST => return Ok(Request::ForceScreenSaver(xproto::ForceScreenSaverRequest::try_parse_request(header, remaining)?)),
2351 xproto::SET_POINTER_MAPPING_REQUEST => return Ok(Request::SetPointerMapping(xproto::SetPointerMappingRequest::try_parse_request(header, remaining)?)),
2352 xproto::GET_POINTER_MAPPING_REQUEST => return Ok(Request::GetPointerMapping(xproto::GetPointerMappingRequest::try_parse_request(header, remaining)?)),
2353 xproto::SET_MODIFIER_MAPPING_REQUEST => return Ok(Request::SetModifierMapping(xproto::SetModifierMappingRequest::try_parse_request(header, remaining)?)),
2354 xproto::GET_MODIFIER_MAPPING_REQUEST => return Ok(Request::GetModifierMapping(xproto::GetModifierMappingRequest::try_parse_request(header, remaining)?)),
2355 xproto::NO_OPERATION_REQUEST => return Ok(Request::NoOperation(xproto::NoOperationRequest::try_parse_request(header, remaining)?)),
2356 _ => (),
2357 }
2358 // Find the extension that this request could belong to
2359 let ext_info = ext_info_provider.get_from_major_opcode(header.major_opcode);
2360 match ext_info {
2361 Some((bigreq::X11_EXTENSION_NAME, _)) => {
2362 match header.minor_opcode {
2363 bigreq::ENABLE_REQUEST => return Ok(Request::BigreqEnable(bigreq::EnableRequest::try_parse_request(header, remaining)?)),
2364 _ => (),
2365 }
2366 }
2367 #[cfg(feature = "composite")]
2368 Some((composite::X11_EXTENSION_NAME, _)) => {
2369 match header.minor_opcode {
2370 composite::QUERY_VERSION_REQUEST => return Ok(Request::CompositeQueryVersion(composite::QueryVersionRequest::try_parse_request(header, remaining)?)),
2371 composite::REDIRECT_WINDOW_REQUEST => return Ok(Request::CompositeRedirectWindow(composite::RedirectWindowRequest::try_parse_request(header, remaining)?)),
2372 composite::REDIRECT_SUBWINDOWS_REQUEST => return Ok(Request::CompositeRedirectSubwindows(composite::RedirectSubwindowsRequest::try_parse_request(header, remaining)?)),
2373 composite::UNREDIRECT_WINDOW_REQUEST => return Ok(Request::CompositeUnredirectWindow(composite::UnredirectWindowRequest::try_parse_request(header, remaining)?)),
2374 composite::UNREDIRECT_SUBWINDOWS_REQUEST => return Ok(Request::CompositeUnredirectSubwindows(composite::UnredirectSubwindowsRequest::try_parse_request(header, remaining)?)),
2375 composite::CREATE_REGION_FROM_BORDER_CLIP_REQUEST => return Ok(Request::CompositeCreateRegionFromBorderClip(composite::CreateRegionFromBorderClipRequest::try_parse_request(header, remaining)?)),
2376 composite::NAME_WINDOW_PIXMAP_REQUEST => return Ok(Request::CompositeNameWindowPixmap(composite::NameWindowPixmapRequest::try_parse_request(header, remaining)?)),
2377 composite::GET_OVERLAY_WINDOW_REQUEST => return Ok(Request::CompositeGetOverlayWindow(composite::GetOverlayWindowRequest::try_parse_request(header, remaining)?)),
2378 composite::RELEASE_OVERLAY_WINDOW_REQUEST => return Ok(Request::CompositeReleaseOverlayWindow(composite::ReleaseOverlayWindowRequest::try_parse_request(header, remaining)?)),
2379 _ => (),
2380 }
2381 }
2382 #[cfg(feature = "damage")]
2383 Some((damage::X11_EXTENSION_NAME, _)) => {
2384 match header.minor_opcode {
2385 damage::QUERY_VERSION_REQUEST => return Ok(Request::DamageQueryVersion(damage::QueryVersionRequest::try_parse_request(header, remaining)?)),
2386 damage::CREATE_REQUEST => return Ok(Request::DamageCreate(damage::CreateRequest::try_parse_request(header, remaining)?)),
2387 damage::DESTROY_REQUEST => return Ok(Request::DamageDestroy(damage::DestroyRequest::try_parse_request(header, remaining)?)),
2388 damage::SUBTRACT_REQUEST => return Ok(Request::DamageSubtract(damage::SubtractRequest::try_parse_request(header, remaining)?)),
2389 damage::ADD_REQUEST => return Ok(Request::DamageAdd(damage::AddRequest::try_parse_request(header, remaining)?)),
2390 _ => (),
2391 }
2392 }
2393 #[cfg(feature = "dbe")]
2394 Some((dbe::X11_EXTENSION_NAME, _)) => {
2395 match header.minor_opcode {
2396 dbe::QUERY_VERSION_REQUEST => return Ok(Request::DbeQueryVersion(dbe::QueryVersionRequest::try_parse_request(header, remaining)?)),
2397 dbe::ALLOCATE_BACK_BUFFER_REQUEST => return Ok(Request::DbeAllocateBackBuffer(dbe::AllocateBackBufferRequest::try_parse_request(header, remaining)?)),
2398 dbe::DEALLOCATE_BACK_BUFFER_REQUEST => return Ok(Request::DbeDeallocateBackBuffer(dbe::DeallocateBackBufferRequest::try_parse_request(header, remaining)?)),
2399 dbe::SWAP_BUFFERS_REQUEST => return Ok(Request::DbeSwapBuffers(dbe::SwapBuffersRequest::try_parse_request(header, remaining)?)),
2400 dbe::BEGIN_IDIOM_REQUEST => return Ok(Request::DbeBeginIdiom(dbe::BeginIdiomRequest::try_parse_request(header, remaining)?)),
2401 dbe::END_IDIOM_REQUEST => return Ok(Request::DbeEndIdiom(dbe::EndIdiomRequest::try_parse_request(header, remaining)?)),
2402 dbe::GET_VISUAL_INFO_REQUEST => return Ok(Request::DbeGetVisualInfo(dbe::GetVisualInfoRequest::try_parse_request(header, remaining)?)),
2403 dbe::GET_BACK_BUFFER_ATTRIBUTES_REQUEST => return Ok(Request::DbeGetBackBufferAttributes(dbe::GetBackBufferAttributesRequest::try_parse_request(header, remaining)?)),
2404 _ => (),
2405 }
2406 }
2407 #[cfg(feature = "dpms")]
2408 Some((dpms::X11_EXTENSION_NAME, _)) => {
2409 match header.minor_opcode {
2410 dpms::GET_VERSION_REQUEST => return Ok(Request::DpmsGetVersion(dpms::GetVersionRequest::try_parse_request(header, remaining)?)),
2411 dpms::CAPABLE_REQUEST => return Ok(Request::DpmsCapable(dpms::CapableRequest::try_parse_request(header, remaining)?)),
2412 dpms::GET_TIMEOUTS_REQUEST => return Ok(Request::DpmsGetTimeouts(dpms::GetTimeoutsRequest::try_parse_request(header, remaining)?)),
2413 dpms::SET_TIMEOUTS_REQUEST => return Ok(Request::DpmsSetTimeouts(dpms::SetTimeoutsRequest::try_parse_request(header, remaining)?)),
2414 dpms::ENABLE_REQUEST => return Ok(Request::DpmsEnable(dpms::EnableRequest::try_parse_request(header, remaining)?)),
2415 dpms::DISABLE_REQUEST => return Ok(Request::DpmsDisable(dpms::DisableRequest::try_parse_request(header, remaining)?)),
2416 dpms::FORCE_LEVEL_REQUEST => return Ok(Request::DpmsForceLevel(dpms::ForceLevelRequest::try_parse_request(header, remaining)?)),
2417 dpms::INFO_REQUEST => return Ok(Request::DpmsInfo(dpms::InfoRequest::try_parse_request(header, remaining)?)),
2418 dpms::SELECT_INPUT_REQUEST => return Ok(Request::DpmsSelectInput(dpms::SelectInputRequest::try_parse_request(header, remaining)?)),
2419 _ => (),
2420 }
2421 }
2422 #[cfg(feature = "dri2")]
2423 Some((dri2::X11_EXTENSION_NAME, _)) => {
2424 match header.minor_opcode {
2425 dri2::QUERY_VERSION_REQUEST => return Ok(Request::Dri2QueryVersion(dri2::QueryVersionRequest::try_parse_request(header, remaining)?)),
2426 dri2::CONNECT_REQUEST => return Ok(Request::Dri2Connect(dri2::ConnectRequest::try_parse_request(header, remaining)?)),
2427 dri2::AUTHENTICATE_REQUEST => return Ok(Request::Dri2Authenticate(dri2::AuthenticateRequest::try_parse_request(header, remaining)?)),
2428 dri2::CREATE_DRAWABLE_REQUEST => return Ok(Request::Dri2CreateDrawable(dri2::CreateDrawableRequest::try_parse_request(header, remaining)?)),
2429 dri2::DESTROY_DRAWABLE_REQUEST => return Ok(Request::Dri2DestroyDrawable(dri2::DestroyDrawableRequest::try_parse_request(header, remaining)?)),
2430 dri2::GET_BUFFERS_REQUEST => return Ok(Request::Dri2GetBuffers(dri2::GetBuffersRequest::try_parse_request(header, remaining)?)),
2431 dri2::COPY_REGION_REQUEST => return Ok(Request::Dri2CopyRegion(dri2::CopyRegionRequest::try_parse_request(header, remaining)?)),
2432 dri2::GET_BUFFERS_WITH_FORMAT_REQUEST => return Ok(Request::Dri2GetBuffersWithFormat(dri2::GetBuffersWithFormatRequest::try_parse_request(header, remaining)?)),
2433 dri2::SWAP_BUFFERS_REQUEST => return Ok(Request::Dri2SwapBuffers(dri2::SwapBuffersRequest::try_parse_request(header, remaining)?)),
2434 dri2::GET_MSC_REQUEST => return Ok(Request::Dri2GetMSC(dri2::GetMSCRequest::try_parse_request(header, remaining)?)),
2435 dri2::WAIT_MSC_REQUEST => return Ok(Request::Dri2WaitMSC(dri2::WaitMSCRequest::try_parse_request(header, remaining)?)),
2436 dri2::WAIT_SBC_REQUEST => return Ok(Request::Dri2WaitSBC(dri2::WaitSBCRequest::try_parse_request(header, remaining)?)),
2437 dri2::SWAP_INTERVAL_REQUEST => return Ok(Request::Dri2SwapInterval(dri2::SwapIntervalRequest::try_parse_request(header, remaining)?)),
2438 dri2::GET_PARAM_REQUEST => return Ok(Request::Dri2GetParam(dri2::GetParamRequest::try_parse_request(header, remaining)?)),
2439 _ => (),
2440 }
2441 }
2442 #[cfg(feature = "dri3")]
2443 Some((dri3::X11_EXTENSION_NAME, _)) => {
2444 match header.minor_opcode {
2445 dri3::QUERY_VERSION_REQUEST => return Ok(Request::Dri3QueryVersion(dri3::QueryVersionRequest::try_parse_request(header, remaining)?)),
2446 dri3::OPEN_REQUEST => return Ok(Request::Dri3Open(dri3::OpenRequest::try_parse_request(header, remaining)?)),
2447 dri3::PIXMAP_FROM_BUFFER_REQUEST => return Ok(Request::Dri3PixmapFromBuffer(dri3::PixmapFromBufferRequest::try_parse_request_fd(header, remaining, fds)?)),
2448 dri3::BUFFER_FROM_PIXMAP_REQUEST => return Ok(Request::Dri3BufferFromPixmap(dri3::BufferFromPixmapRequest::try_parse_request(header, remaining)?)),
2449 dri3::FENCE_FROM_FD_REQUEST => return Ok(Request::Dri3FenceFromFD(dri3::FenceFromFDRequest::try_parse_request_fd(header, remaining, fds)?)),
2450 dri3::FD_FROM_FENCE_REQUEST => return Ok(Request::Dri3FDFromFence(dri3::FDFromFenceRequest::try_parse_request(header, remaining)?)),
2451 dri3::GET_SUPPORTED_MODIFIERS_REQUEST => return Ok(Request::Dri3GetSupportedModifiers(dri3::GetSupportedModifiersRequest::try_parse_request(header, remaining)?)),
2452 dri3::PIXMAP_FROM_BUFFERS_REQUEST => return Ok(Request::Dri3PixmapFromBuffers(dri3::PixmapFromBuffersRequest::try_parse_request_fd(header, remaining, fds)?)),
2453 dri3::BUFFERS_FROM_PIXMAP_REQUEST => return Ok(Request::Dri3BuffersFromPixmap(dri3::BuffersFromPixmapRequest::try_parse_request(header, remaining)?)),
2454 dri3::SET_DRM_DEVICE_IN_USE_REQUEST => return Ok(Request::Dri3SetDRMDeviceInUse(dri3::SetDRMDeviceInUseRequest::try_parse_request(header, remaining)?)),
2455 _ => (),
2456 }
2457 }
2458 Some((ge::X11_EXTENSION_NAME, _)) => {
2459 match header.minor_opcode {
2460 ge::QUERY_VERSION_REQUEST => return Ok(Request::GeQueryVersion(ge::QueryVersionRequest::try_parse_request(header, remaining)?)),
2461 _ => (),
2462 }
2463 }
2464 #[cfg(feature = "glx")]
2465 Some((glx::X11_EXTENSION_NAME, _)) => {
2466 match header.minor_opcode {
2467 glx::RENDER_REQUEST => return Ok(Request::GlxRender(glx::RenderRequest::try_parse_request(header, remaining)?)),
2468 glx::RENDER_LARGE_REQUEST => return Ok(Request::GlxRenderLarge(glx::RenderLargeRequest::try_parse_request(header, remaining)?)),
2469 glx::CREATE_CONTEXT_REQUEST => return Ok(Request::GlxCreateContext(glx::CreateContextRequest::try_parse_request(header, remaining)?)),
2470 glx::DESTROY_CONTEXT_REQUEST => return Ok(Request::GlxDestroyContext(glx::DestroyContextRequest::try_parse_request(header, remaining)?)),
2471 glx::MAKE_CURRENT_REQUEST => return Ok(Request::GlxMakeCurrent(glx::MakeCurrentRequest::try_parse_request(header, remaining)?)),
2472 glx::IS_DIRECT_REQUEST => return Ok(Request::GlxIsDirect(glx::IsDirectRequest::try_parse_request(header, remaining)?)),
2473 glx::QUERY_VERSION_REQUEST => return Ok(Request::GlxQueryVersion(glx::QueryVersionRequest::try_parse_request(header, remaining)?)),
2474 glx::WAIT_GL_REQUEST => return Ok(Request::GlxWaitGL(glx::WaitGLRequest::try_parse_request(header, remaining)?)),
2475 glx::WAIT_X_REQUEST => return Ok(Request::GlxWaitX(glx::WaitXRequest::try_parse_request(header, remaining)?)),
2476 glx::COPY_CONTEXT_REQUEST => return Ok(Request::GlxCopyContext(glx::CopyContextRequest::try_parse_request(header, remaining)?)),
2477 glx::SWAP_BUFFERS_REQUEST => return Ok(Request::GlxSwapBuffers(glx::SwapBuffersRequest::try_parse_request(header, remaining)?)),
2478 glx::USE_X_FONT_REQUEST => return Ok(Request::GlxUseXFont(glx::UseXFontRequest::try_parse_request(header, remaining)?)),
2479 glx::CREATE_GLX_PIXMAP_REQUEST => return Ok(Request::GlxCreateGLXPixmap(glx::CreateGLXPixmapRequest::try_parse_request(header, remaining)?)),
2480 glx::GET_VISUAL_CONFIGS_REQUEST => return Ok(Request::GlxGetVisualConfigs(glx::GetVisualConfigsRequest::try_parse_request(header, remaining)?)),
2481 glx::DESTROY_GLX_PIXMAP_REQUEST => return Ok(Request::GlxDestroyGLXPixmap(glx::DestroyGLXPixmapRequest::try_parse_request(header, remaining)?)),
2482 glx::VENDOR_PRIVATE_REQUEST => return Ok(Request::GlxVendorPrivate(glx::VendorPrivateRequest::try_parse_request(header, remaining)?)),
2483 glx::VENDOR_PRIVATE_WITH_REPLY_REQUEST => return Ok(Request::GlxVendorPrivateWithReply(glx::VendorPrivateWithReplyRequest::try_parse_request(header, remaining)?)),
2484 glx::QUERY_EXTENSIONS_STRING_REQUEST => return Ok(Request::GlxQueryExtensionsString(glx::QueryExtensionsStringRequest::try_parse_request(header, remaining)?)),
2485 glx::QUERY_SERVER_STRING_REQUEST => return Ok(Request::GlxQueryServerString(glx::QueryServerStringRequest::try_parse_request(header, remaining)?)),
2486 glx::CLIENT_INFO_REQUEST => return Ok(Request::GlxClientInfo(glx::ClientInfoRequest::try_parse_request(header, remaining)?)),
2487 glx::GET_FB_CONFIGS_REQUEST => return Ok(Request::GlxGetFBConfigs(glx::GetFBConfigsRequest::try_parse_request(header, remaining)?)),
2488 glx::CREATE_PIXMAP_REQUEST => return Ok(Request::GlxCreatePixmap(glx::CreatePixmapRequest::try_parse_request(header, remaining)?)),
2489 glx::DESTROY_PIXMAP_REQUEST => return Ok(Request::GlxDestroyPixmap(glx::DestroyPixmapRequest::try_parse_request(header, remaining)?)),
2490 glx::CREATE_NEW_CONTEXT_REQUEST => return Ok(Request::GlxCreateNewContext(glx::CreateNewContextRequest::try_parse_request(header, remaining)?)),
2491 glx::QUERY_CONTEXT_REQUEST => return Ok(Request::GlxQueryContext(glx::QueryContextRequest::try_parse_request(header, remaining)?)),
2492 glx::MAKE_CONTEXT_CURRENT_REQUEST => return Ok(Request::GlxMakeContextCurrent(glx::MakeContextCurrentRequest::try_parse_request(header, remaining)?)),
2493 glx::CREATE_PBUFFER_REQUEST => return Ok(Request::GlxCreatePbuffer(glx::CreatePbufferRequest::try_parse_request(header, remaining)?)),
2494 glx::DESTROY_PBUFFER_REQUEST => return Ok(Request::GlxDestroyPbuffer(glx::DestroyPbufferRequest::try_parse_request(header, remaining)?)),
2495 glx::GET_DRAWABLE_ATTRIBUTES_REQUEST => return Ok(Request::GlxGetDrawableAttributes(glx::GetDrawableAttributesRequest::try_parse_request(header, remaining)?)),
2496 glx::CHANGE_DRAWABLE_ATTRIBUTES_REQUEST => return Ok(Request::GlxChangeDrawableAttributes(glx::ChangeDrawableAttributesRequest::try_parse_request(header, remaining)?)),
2497 glx::CREATE_WINDOW_REQUEST => return Ok(Request::GlxCreateWindow(glx::CreateWindowRequest::try_parse_request(header, remaining)?)),
2498 glx::DELETE_WINDOW_REQUEST => return Ok(Request::GlxDeleteWindow(glx::DeleteWindowRequest::try_parse_request(header, remaining)?)),
2499 glx::SET_CLIENT_INFO_ARB_REQUEST => return Ok(Request::GlxSetClientInfoARB(glx::SetClientInfoARBRequest::try_parse_request(header, remaining)?)),
2500 glx::CREATE_CONTEXT_ATTRIBS_ARB_REQUEST => return Ok(Request::GlxCreateContextAttribsARB(glx::CreateContextAttribsARBRequest::try_parse_request(header, remaining)?)),
2501 glx::SET_CLIENT_INFO2_ARB_REQUEST => return Ok(Request::GlxSetClientInfo2ARB(glx::SetClientInfo2ARBRequest::try_parse_request(header, remaining)?)),
2502 glx::NEW_LIST_REQUEST => return Ok(Request::GlxNewList(glx::NewListRequest::try_parse_request(header, remaining)?)),
2503 glx::END_LIST_REQUEST => return Ok(Request::GlxEndList(glx::EndListRequest::try_parse_request(header, remaining)?)),
2504 glx::DELETE_LISTS_REQUEST => return Ok(Request::GlxDeleteLists(glx::DeleteListsRequest::try_parse_request(header, remaining)?)),
2505 glx::GEN_LISTS_REQUEST => return Ok(Request::GlxGenLists(glx::GenListsRequest::try_parse_request(header, remaining)?)),
2506 glx::FEEDBACK_BUFFER_REQUEST => return Ok(Request::GlxFeedbackBuffer(glx::FeedbackBufferRequest::try_parse_request(header, remaining)?)),
2507 glx::SELECT_BUFFER_REQUEST => return Ok(Request::GlxSelectBuffer(glx::SelectBufferRequest::try_parse_request(header, remaining)?)),
2508 glx::RENDER_MODE_REQUEST => return Ok(Request::GlxRenderMode(glx::RenderModeRequest::try_parse_request(header, remaining)?)),
2509 glx::FINISH_REQUEST => return Ok(Request::GlxFinish(glx::FinishRequest::try_parse_request(header, remaining)?)),
2510 glx::PIXEL_STOREF_REQUEST => return Ok(Request::GlxPixelStoref(glx::PixelStorefRequest::try_parse_request(header, remaining)?)),
2511 glx::PIXEL_STOREI_REQUEST => return Ok(Request::GlxPixelStorei(glx::PixelStoreiRequest::try_parse_request(header, remaining)?)),
2512 glx::READ_PIXELS_REQUEST => return Ok(Request::GlxReadPixels(glx::ReadPixelsRequest::try_parse_request(header, remaining)?)),
2513 glx::GET_BOOLEANV_REQUEST => return Ok(Request::GlxGetBooleanv(glx::GetBooleanvRequest::try_parse_request(header, remaining)?)),
2514 glx::GET_CLIP_PLANE_REQUEST => return Ok(Request::GlxGetClipPlane(glx::GetClipPlaneRequest::try_parse_request(header, remaining)?)),
2515 glx::GET_DOUBLEV_REQUEST => return Ok(Request::GlxGetDoublev(glx::GetDoublevRequest::try_parse_request(header, remaining)?)),
2516 glx::GET_ERROR_REQUEST => return Ok(Request::GlxGetError(glx::GetErrorRequest::try_parse_request(header, remaining)?)),
2517 glx::GET_FLOATV_REQUEST => return Ok(Request::GlxGetFloatv(glx::GetFloatvRequest::try_parse_request(header, remaining)?)),
2518 glx::GET_INTEGERV_REQUEST => return Ok(Request::GlxGetIntegerv(glx::GetIntegervRequest::try_parse_request(header, remaining)?)),
2519 glx::GET_LIGHTFV_REQUEST => return Ok(Request::GlxGetLightfv(glx::GetLightfvRequest::try_parse_request(header, remaining)?)),
2520 glx::GET_LIGHTIV_REQUEST => return Ok(Request::GlxGetLightiv(glx::GetLightivRequest::try_parse_request(header, remaining)?)),
2521 glx::GET_MAPDV_REQUEST => return Ok(Request::GlxGetMapdv(glx::GetMapdvRequest::try_parse_request(header, remaining)?)),
2522 glx::GET_MAPFV_REQUEST => return Ok(Request::GlxGetMapfv(glx::GetMapfvRequest::try_parse_request(header, remaining)?)),
2523 glx::GET_MAPIV_REQUEST => return Ok(Request::GlxGetMapiv(glx::GetMapivRequest::try_parse_request(header, remaining)?)),
2524 glx::GET_MATERIALFV_REQUEST => return Ok(Request::GlxGetMaterialfv(glx::GetMaterialfvRequest::try_parse_request(header, remaining)?)),
2525 glx::GET_MATERIALIV_REQUEST => return Ok(Request::GlxGetMaterialiv(glx::GetMaterialivRequest::try_parse_request(header, remaining)?)),
2526 glx::GET_PIXEL_MAPFV_REQUEST => return Ok(Request::GlxGetPixelMapfv(glx::GetPixelMapfvRequest::try_parse_request(header, remaining)?)),
2527 glx::GET_PIXEL_MAPUIV_REQUEST => return Ok(Request::GlxGetPixelMapuiv(glx::GetPixelMapuivRequest::try_parse_request(header, remaining)?)),
2528 glx::GET_PIXEL_MAPUSV_REQUEST => return Ok(Request::GlxGetPixelMapusv(glx::GetPixelMapusvRequest::try_parse_request(header, remaining)?)),
2529 glx::GET_POLYGON_STIPPLE_REQUEST => return Ok(Request::GlxGetPolygonStipple(glx::GetPolygonStippleRequest::try_parse_request(header, remaining)?)),
2530 glx::GET_STRING_REQUEST => return Ok(Request::GlxGetString(glx::GetStringRequest::try_parse_request(header, remaining)?)),
2531 glx::GET_TEX_ENVFV_REQUEST => return Ok(Request::GlxGetTexEnvfv(glx::GetTexEnvfvRequest::try_parse_request(header, remaining)?)),
2532 glx::GET_TEX_ENVIV_REQUEST => return Ok(Request::GlxGetTexEnviv(glx::GetTexEnvivRequest::try_parse_request(header, remaining)?)),
2533 glx::GET_TEX_GENDV_REQUEST => return Ok(Request::GlxGetTexGendv(glx::GetTexGendvRequest::try_parse_request(header, remaining)?)),
2534 glx::GET_TEX_GENFV_REQUEST => return Ok(Request::GlxGetTexGenfv(glx::GetTexGenfvRequest::try_parse_request(header, remaining)?)),
2535 glx::GET_TEX_GENIV_REQUEST => return Ok(Request::GlxGetTexGeniv(glx::GetTexGenivRequest::try_parse_request(header, remaining)?)),
2536 glx::GET_TEX_IMAGE_REQUEST => return Ok(Request::GlxGetTexImage(glx::GetTexImageRequest::try_parse_request(header, remaining)?)),
2537 glx::GET_TEX_PARAMETERFV_REQUEST => return Ok(Request::GlxGetTexParameterfv(glx::GetTexParameterfvRequest::try_parse_request(header, remaining)?)),
2538 glx::GET_TEX_PARAMETERIV_REQUEST => return Ok(Request::GlxGetTexParameteriv(glx::GetTexParameterivRequest::try_parse_request(header, remaining)?)),
2539 glx::GET_TEX_LEVEL_PARAMETERFV_REQUEST => return Ok(Request::GlxGetTexLevelParameterfv(glx::GetTexLevelParameterfvRequest::try_parse_request(header, remaining)?)),
2540 glx::GET_TEX_LEVEL_PARAMETERIV_REQUEST => return Ok(Request::GlxGetTexLevelParameteriv(glx::GetTexLevelParameterivRequest::try_parse_request(header, remaining)?)),
2541 glx::IS_ENABLED_REQUEST => return Ok(Request::GlxIsEnabled(glx::IsEnabledRequest::try_parse_request(header, remaining)?)),
2542 glx::IS_LIST_REQUEST => return Ok(Request::GlxIsList(glx::IsListRequest::try_parse_request(header, remaining)?)),
2543 glx::FLUSH_REQUEST => return Ok(Request::GlxFlush(glx::FlushRequest::try_parse_request(header, remaining)?)),
2544 glx::ARE_TEXTURES_RESIDENT_REQUEST => return Ok(Request::GlxAreTexturesResident(glx::AreTexturesResidentRequest::try_parse_request(header, remaining)?)),
2545 glx::DELETE_TEXTURES_REQUEST => return Ok(Request::GlxDeleteTextures(glx::DeleteTexturesRequest::try_parse_request(header, remaining)?)),
2546 glx::GEN_TEXTURES_REQUEST => return Ok(Request::GlxGenTextures(glx::GenTexturesRequest::try_parse_request(header, remaining)?)),
2547 glx::IS_TEXTURE_REQUEST => return Ok(Request::GlxIsTexture(glx::IsTextureRequest::try_parse_request(header, remaining)?)),
2548 glx::GET_COLOR_TABLE_REQUEST => return Ok(Request::GlxGetColorTable(glx::GetColorTableRequest::try_parse_request(header, remaining)?)),
2549 glx::GET_COLOR_TABLE_PARAMETERFV_REQUEST => return Ok(Request::GlxGetColorTableParameterfv(glx::GetColorTableParameterfvRequest::try_parse_request(header, remaining)?)),
2550 glx::GET_COLOR_TABLE_PARAMETERIV_REQUEST => return Ok(Request::GlxGetColorTableParameteriv(glx::GetColorTableParameterivRequest::try_parse_request(header, remaining)?)),
2551 glx::GET_CONVOLUTION_FILTER_REQUEST => return Ok(Request::GlxGetConvolutionFilter(glx::GetConvolutionFilterRequest::try_parse_request(header, remaining)?)),
2552 glx::GET_CONVOLUTION_PARAMETERFV_REQUEST => return Ok(Request::GlxGetConvolutionParameterfv(glx::GetConvolutionParameterfvRequest::try_parse_request(header, remaining)?)),
2553 glx::GET_CONVOLUTION_PARAMETERIV_REQUEST => return Ok(Request::GlxGetConvolutionParameteriv(glx::GetConvolutionParameterivRequest::try_parse_request(header, remaining)?)),
2554 glx::GET_SEPARABLE_FILTER_REQUEST => return Ok(Request::GlxGetSeparableFilter(glx::GetSeparableFilterRequest::try_parse_request(header, remaining)?)),
2555 glx::GET_HISTOGRAM_REQUEST => return Ok(Request::GlxGetHistogram(glx::GetHistogramRequest::try_parse_request(header, remaining)?)),
2556 glx::GET_HISTOGRAM_PARAMETERFV_REQUEST => return Ok(Request::GlxGetHistogramParameterfv(glx::GetHistogramParameterfvRequest::try_parse_request(header, remaining)?)),
2557 glx::GET_HISTOGRAM_PARAMETERIV_REQUEST => return Ok(Request::GlxGetHistogramParameteriv(glx::GetHistogramParameterivRequest::try_parse_request(header, remaining)?)),
2558 glx::GET_MINMAX_REQUEST => return Ok(Request::GlxGetMinmax(glx::GetMinmaxRequest::try_parse_request(header, remaining)?)),
2559 glx::GET_MINMAX_PARAMETERFV_REQUEST => return Ok(Request::GlxGetMinmaxParameterfv(glx::GetMinmaxParameterfvRequest::try_parse_request(header, remaining)?)),
2560 glx::GET_MINMAX_PARAMETERIV_REQUEST => return Ok(Request::GlxGetMinmaxParameteriv(glx::GetMinmaxParameterivRequest::try_parse_request(header, remaining)?)),
2561 glx::GET_COMPRESSED_TEX_IMAGE_ARB_REQUEST => return Ok(Request::GlxGetCompressedTexImageARB(glx::GetCompressedTexImageARBRequest::try_parse_request(header, remaining)?)),
2562 glx::DELETE_QUERIES_ARB_REQUEST => return Ok(Request::GlxDeleteQueriesARB(glx::DeleteQueriesARBRequest::try_parse_request(header, remaining)?)),
2563 glx::GEN_QUERIES_ARB_REQUEST => return Ok(Request::GlxGenQueriesARB(glx::GenQueriesARBRequest::try_parse_request(header, remaining)?)),
2564 glx::IS_QUERY_ARB_REQUEST => return Ok(Request::GlxIsQueryARB(glx::IsQueryARBRequest::try_parse_request(header, remaining)?)),
2565 glx::GET_QUERYIV_ARB_REQUEST => return Ok(Request::GlxGetQueryivARB(glx::GetQueryivARBRequest::try_parse_request(header, remaining)?)),
2566 glx::GET_QUERY_OBJECTIV_ARB_REQUEST => return Ok(Request::GlxGetQueryObjectivARB(glx::GetQueryObjectivARBRequest::try_parse_request(header, remaining)?)),
2567 glx::GET_QUERY_OBJECTUIV_ARB_REQUEST => return Ok(Request::GlxGetQueryObjectuivARB(glx::GetQueryObjectuivARBRequest::try_parse_request(header, remaining)?)),
2568 _ => (),
2569 }
2570 }
2571 #[cfg(feature = "present")]
2572 Some((present::X11_EXTENSION_NAME, _)) => {
2573 match header.minor_opcode {
2574 present::QUERY_VERSION_REQUEST => return Ok(Request::PresentQueryVersion(present::QueryVersionRequest::try_parse_request(header, remaining)?)),
2575 present::PIXMAP_REQUEST => return Ok(Request::PresentPixmap(present::PixmapRequest::try_parse_request(header, remaining)?)),
2576 present::NOTIFY_MSC_REQUEST => return Ok(Request::PresentNotifyMSC(present::NotifyMSCRequest::try_parse_request(header, remaining)?)),
2577 present::SELECT_INPUT_REQUEST => return Ok(Request::PresentSelectInput(present::SelectInputRequest::try_parse_request(header, remaining)?)),
2578 present::QUERY_CAPABILITIES_REQUEST => return Ok(Request::PresentQueryCapabilities(present::QueryCapabilitiesRequest::try_parse_request(header, remaining)?)),
2579 _ => (),
2580 }
2581 }
2582 #[cfg(feature = "randr")]
2583 Some((randr::X11_EXTENSION_NAME, _)) => {
2584 match header.minor_opcode {
2585 randr::QUERY_VERSION_REQUEST => return Ok(Request::RandrQueryVersion(randr::QueryVersionRequest::try_parse_request(header, remaining)?)),
2586 randr::SET_SCREEN_CONFIG_REQUEST => return Ok(Request::RandrSetScreenConfig(randr::SetScreenConfigRequest::try_parse_request(header, remaining)?)),
2587 randr::SELECT_INPUT_REQUEST => return Ok(Request::RandrSelectInput(randr::SelectInputRequest::try_parse_request(header, remaining)?)),
2588 randr::GET_SCREEN_INFO_REQUEST => return Ok(Request::RandrGetScreenInfo(randr::GetScreenInfoRequest::try_parse_request(header, remaining)?)),
2589 randr::GET_SCREEN_SIZE_RANGE_REQUEST => return Ok(Request::RandrGetScreenSizeRange(randr::GetScreenSizeRangeRequest::try_parse_request(header, remaining)?)),
2590 randr::SET_SCREEN_SIZE_REQUEST => return Ok(Request::RandrSetScreenSize(randr::SetScreenSizeRequest::try_parse_request(header, remaining)?)),
2591 randr::GET_SCREEN_RESOURCES_REQUEST => return Ok(Request::RandrGetScreenResources(randr::GetScreenResourcesRequest::try_parse_request(header, remaining)?)),
2592 randr::GET_OUTPUT_INFO_REQUEST => return Ok(Request::RandrGetOutputInfo(randr::GetOutputInfoRequest::try_parse_request(header, remaining)?)),
2593 randr::LIST_OUTPUT_PROPERTIES_REQUEST => return Ok(Request::RandrListOutputProperties(randr::ListOutputPropertiesRequest::try_parse_request(header, remaining)?)),
2594 randr::QUERY_OUTPUT_PROPERTY_REQUEST => return Ok(Request::RandrQueryOutputProperty(randr::QueryOutputPropertyRequest::try_parse_request(header, remaining)?)),
2595 randr::CONFIGURE_OUTPUT_PROPERTY_REQUEST => return Ok(Request::RandrConfigureOutputProperty(randr::ConfigureOutputPropertyRequest::try_parse_request(header, remaining)?)),
2596 randr::CHANGE_OUTPUT_PROPERTY_REQUEST => return Ok(Request::RandrChangeOutputProperty(randr::ChangeOutputPropertyRequest::try_parse_request(header, remaining)?)),
2597 randr::DELETE_OUTPUT_PROPERTY_REQUEST => return Ok(Request::RandrDeleteOutputProperty(randr::DeleteOutputPropertyRequest::try_parse_request(header, remaining)?)),
2598 randr::GET_OUTPUT_PROPERTY_REQUEST => return Ok(Request::RandrGetOutputProperty(randr::GetOutputPropertyRequest::try_parse_request(header, remaining)?)),
2599 randr::CREATE_MODE_REQUEST => return Ok(Request::RandrCreateMode(randr::CreateModeRequest::try_parse_request(header, remaining)?)),
2600 randr::DESTROY_MODE_REQUEST => return Ok(Request::RandrDestroyMode(randr::DestroyModeRequest::try_parse_request(header, remaining)?)),
2601 randr::ADD_OUTPUT_MODE_REQUEST => return Ok(Request::RandrAddOutputMode(randr::AddOutputModeRequest::try_parse_request(header, remaining)?)),
2602 randr::DELETE_OUTPUT_MODE_REQUEST => return Ok(Request::RandrDeleteOutputMode(randr::DeleteOutputModeRequest::try_parse_request(header, remaining)?)),
2603 randr::GET_CRTC_INFO_REQUEST => return Ok(Request::RandrGetCrtcInfo(randr::GetCrtcInfoRequest::try_parse_request(header, remaining)?)),
2604 randr::SET_CRTC_CONFIG_REQUEST => return Ok(Request::RandrSetCrtcConfig(randr::SetCrtcConfigRequest::try_parse_request(header, remaining)?)),
2605 randr::GET_CRTC_GAMMA_SIZE_REQUEST => return Ok(Request::RandrGetCrtcGammaSize(randr::GetCrtcGammaSizeRequest::try_parse_request(header, remaining)?)),
2606 randr::GET_CRTC_GAMMA_REQUEST => return Ok(Request::RandrGetCrtcGamma(randr::GetCrtcGammaRequest::try_parse_request(header, remaining)?)),
2607 randr::SET_CRTC_GAMMA_REQUEST => return Ok(Request::RandrSetCrtcGamma(randr::SetCrtcGammaRequest::try_parse_request(header, remaining)?)),
2608 randr::GET_SCREEN_RESOURCES_CURRENT_REQUEST => return Ok(Request::RandrGetScreenResourcesCurrent(randr::GetScreenResourcesCurrentRequest::try_parse_request(header, remaining)?)),
2609 randr::SET_CRTC_TRANSFORM_REQUEST => return Ok(Request::RandrSetCrtcTransform(randr::SetCrtcTransformRequest::try_parse_request(header, remaining)?)),
2610 randr::GET_CRTC_TRANSFORM_REQUEST => return Ok(Request::RandrGetCrtcTransform(randr::GetCrtcTransformRequest::try_parse_request(header, remaining)?)),
2611 randr::GET_PANNING_REQUEST => return Ok(Request::RandrGetPanning(randr::GetPanningRequest::try_parse_request(header, remaining)?)),
2612 randr::SET_PANNING_REQUEST => return Ok(Request::RandrSetPanning(randr::SetPanningRequest::try_parse_request(header, remaining)?)),
2613 randr::SET_OUTPUT_PRIMARY_REQUEST => return Ok(Request::RandrSetOutputPrimary(randr::SetOutputPrimaryRequest::try_parse_request(header, remaining)?)),
2614 randr::GET_OUTPUT_PRIMARY_REQUEST => return Ok(Request::RandrGetOutputPrimary(randr::GetOutputPrimaryRequest::try_parse_request(header, remaining)?)),
2615 randr::GET_PROVIDERS_REQUEST => return Ok(Request::RandrGetProviders(randr::GetProvidersRequest::try_parse_request(header, remaining)?)),
2616 randr::GET_PROVIDER_INFO_REQUEST => return Ok(Request::RandrGetProviderInfo(randr::GetProviderInfoRequest::try_parse_request(header, remaining)?)),
2617 randr::SET_PROVIDER_OFFLOAD_SINK_REQUEST => return Ok(Request::RandrSetProviderOffloadSink(randr::SetProviderOffloadSinkRequest::try_parse_request(header, remaining)?)),
2618 randr::SET_PROVIDER_OUTPUT_SOURCE_REQUEST => return Ok(Request::RandrSetProviderOutputSource(randr::SetProviderOutputSourceRequest::try_parse_request(header, remaining)?)),
2619 randr::LIST_PROVIDER_PROPERTIES_REQUEST => return Ok(Request::RandrListProviderProperties(randr::ListProviderPropertiesRequest::try_parse_request(header, remaining)?)),
2620 randr::QUERY_PROVIDER_PROPERTY_REQUEST => return Ok(Request::RandrQueryProviderProperty(randr::QueryProviderPropertyRequest::try_parse_request(header, remaining)?)),
2621 randr::CONFIGURE_PROVIDER_PROPERTY_REQUEST => return Ok(Request::RandrConfigureProviderProperty(randr::ConfigureProviderPropertyRequest::try_parse_request(header, remaining)?)),
2622 randr::CHANGE_PROVIDER_PROPERTY_REQUEST => return Ok(Request::RandrChangeProviderProperty(randr::ChangeProviderPropertyRequest::try_parse_request(header, remaining)?)),
2623 randr::DELETE_PROVIDER_PROPERTY_REQUEST => return Ok(Request::RandrDeleteProviderProperty(randr::DeleteProviderPropertyRequest::try_parse_request(header, remaining)?)),
2624 randr::GET_PROVIDER_PROPERTY_REQUEST => return Ok(Request::RandrGetProviderProperty(randr::GetProviderPropertyRequest::try_parse_request(header, remaining)?)),
2625 randr::GET_MONITORS_REQUEST => return Ok(Request::RandrGetMonitors(randr::GetMonitorsRequest::try_parse_request(header, remaining)?)),
2626 randr::SET_MONITOR_REQUEST => return Ok(Request::RandrSetMonitor(randr::SetMonitorRequest::try_parse_request(header, remaining)?)),
2627 randr::DELETE_MONITOR_REQUEST => return Ok(Request::RandrDeleteMonitor(randr::DeleteMonitorRequest::try_parse_request(header, remaining)?)),
2628 randr::CREATE_LEASE_REQUEST => return Ok(Request::RandrCreateLease(randr::CreateLeaseRequest::try_parse_request(header, remaining)?)),
2629 randr::FREE_LEASE_REQUEST => return Ok(Request::RandrFreeLease(randr::FreeLeaseRequest::try_parse_request(header, remaining)?)),
2630 _ => (),
2631 }
2632 }
2633 #[cfg(feature = "record")]
2634 Some((record::X11_EXTENSION_NAME, _)) => {
2635 match header.minor_opcode {
2636 record::QUERY_VERSION_REQUEST => return Ok(Request::RecordQueryVersion(record::QueryVersionRequest::try_parse_request(header, remaining)?)),
2637 record::CREATE_CONTEXT_REQUEST => return Ok(Request::RecordCreateContext(record::CreateContextRequest::try_parse_request(header, remaining)?)),
2638 record::REGISTER_CLIENTS_REQUEST => return Ok(Request::RecordRegisterClients(record::RegisterClientsRequest::try_parse_request(header, remaining)?)),
2639 record::UNREGISTER_CLIENTS_REQUEST => return Ok(Request::RecordUnregisterClients(record::UnregisterClientsRequest::try_parse_request(header, remaining)?)),
2640 record::GET_CONTEXT_REQUEST => return Ok(Request::RecordGetContext(record::GetContextRequest::try_parse_request(header, remaining)?)),
2641 record::ENABLE_CONTEXT_REQUEST => return Ok(Request::RecordEnableContext(record::EnableContextRequest::try_parse_request(header, remaining)?)),
2642 record::DISABLE_CONTEXT_REQUEST => return Ok(Request::RecordDisableContext(record::DisableContextRequest::try_parse_request(header, remaining)?)),
2643 record::FREE_CONTEXT_REQUEST => return Ok(Request::RecordFreeContext(record::FreeContextRequest::try_parse_request(header, remaining)?)),
2644 _ => (),
2645 }
2646 }
2647 #[cfg(feature = "render")]
2648 Some((render::X11_EXTENSION_NAME, _)) => {
2649 match header.minor_opcode {
2650 render::QUERY_VERSION_REQUEST => return Ok(Request::RenderQueryVersion(render::QueryVersionRequest::try_parse_request(header, remaining)?)),
2651 render::QUERY_PICT_FORMATS_REQUEST => return Ok(Request::RenderQueryPictFormats(render::QueryPictFormatsRequest::try_parse_request(header, remaining)?)),
2652 render::QUERY_PICT_INDEX_VALUES_REQUEST => return Ok(Request::RenderQueryPictIndexValues(render::QueryPictIndexValuesRequest::try_parse_request(header, remaining)?)),
2653 render::CREATE_PICTURE_REQUEST => return Ok(Request::RenderCreatePicture(render::CreatePictureRequest::try_parse_request(header, remaining)?)),
2654 render::CHANGE_PICTURE_REQUEST => return Ok(Request::RenderChangePicture(render::ChangePictureRequest::try_parse_request(header, remaining)?)),
2655 render::SET_PICTURE_CLIP_RECTANGLES_REQUEST => return Ok(Request::RenderSetPictureClipRectangles(render::SetPictureClipRectanglesRequest::try_parse_request(header, remaining)?)),
2656 render::FREE_PICTURE_REQUEST => return Ok(Request::RenderFreePicture(render::FreePictureRequest::try_parse_request(header, remaining)?)),
2657 render::COMPOSITE_REQUEST => return Ok(Request::RenderComposite(render::CompositeRequest::try_parse_request(header, remaining)?)),
2658 render::TRAPEZOIDS_REQUEST => return Ok(Request::RenderTrapezoids(render::TrapezoidsRequest::try_parse_request(header, remaining)?)),
2659 render::TRIANGLES_REQUEST => return Ok(Request::RenderTriangles(render::TrianglesRequest::try_parse_request(header, remaining)?)),
2660 render::TRI_STRIP_REQUEST => return Ok(Request::RenderTriStrip(render::TriStripRequest::try_parse_request(header, remaining)?)),
2661 render::TRI_FAN_REQUEST => return Ok(Request::RenderTriFan(render::TriFanRequest::try_parse_request(header, remaining)?)),
2662 render::CREATE_GLYPH_SET_REQUEST => return Ok(Request::RenderCreateGlyphSet(render::CreateGlyphSetRequest::try_parse_request(header, remaining)?)),
2663 render::REFERENCE_GLYPH_SET_REQUEST => return Ok(Request::RenderReferenceGlyphSet(render::ReferenceGlyphSetRequest::try_parse_request(header, remaining)?)),
2664 render::FREE_GLYPH_SET_REQUEST => return Ok(Request::RenderFreeGlyphSet(render::FreeGlyphSetRequest::try_parse_request(header, remaining)?)),
2665 render::ADD_GLYPHS_REQUEST => return Ok(Request::RenderAddGlyphs(render::AddGlyphsRequest::try_parse_request(header, remaining)?)),
2666 render::FREE_GLYPHS_REQUEST => return Ok(Request::RenderFreeGlyphs(render::FreeGlyphsRequest::try_parse_request(header, remaining)?)),
2667 render::COMPOSITE_GLYPHS8_REQUEST => return Ok(Request::RenderCompositeGlyphs8(render::CompositeGlyphs8Request::try_parse_request(header, remaining)?)),
2668 render::COMPOSITE_GLYPHS16_REQUEST => return Ok(Request::RenderCompositeGlyphs16(render::CompositeGlyphs16Request::try_parse_request(header, remaining)?)),
2669 render::COMPOSITE_GLYPHS32_REQUEST => return Ok(Request::RenderCompositeGlyphs32(render::CompositeGlyphs32Request::try_parse_request(header, remaining)?)),
2670 render::FILL_RECTANGLES_REQUEST => return Ok(Request::RenderFillRectangles(render::FillRectanglesRequest::try_parse_request(header, remaining)?)),
2671 render::CREATE_CURSOR_REQUEST => return Ok(Request::RenderCreateCursor(render::CreateCursorRequest::try_parse_request(header, remaining)?)),
2672 render::SET_PICTURE_TRANSFORM_REQUEST => return Ok(Request::RenderSetPictureTransform(render::SetPictureTransformRequest::try_parse_request(header, remaining)?)),
2673 render::QUERY_FILTERS_REQUEST => return Ok(Request::RenderQueryFilters(render::QueryFiltersRequest::try_parse_request(header, remaining)?)),
2674 render::SET_PICTURE_FILTER_REQUEST => return Ok(Request::RenderSetPictureFilter(render::SetPictureFilterRequest::try_parse_request(header, remaining)?)),
2675 render::CREATE_ANIM_CURSOR_REQUEST => return Ok(Request::RenderCreateAnimCursor(render::CreateAnimCursorRequest::try_parse_request(header, remaining)?)),
2676 render::ADD_TRAPS_REQUEST => return Ok(Request::RenderAddTraps(render::AddTrapsRequest::try_parse_request(header, remaining)?)),
2677 render::CREATE_SOLID_FILL_REQUEST => return Ok(Request::RenderCreateSolidFill(render::CreateSolidFillRequest::try_parse_request(header, remaining)?)),
2678 render::CREATE_LINEAR_GRADIENT_REQUEST => return Ok(Request::RenderCreateLinearGradient(render::CreateLinearGradientRequest::try_parse_request(header, remaining)?)),
2679 render::CREATE_RADIAL_GRADIENT_REQUEST => return Ok(Request::RenderCreateRadialGradient(render::CreateRadialGradientRequest::try_parse_request(header, remaining)?)),
2680 render::CREATE_CONICAL_GRADIENT_REQUEST => return Ok(Request::RenderCreateConicalGradient(render::CreateConicalGradientRequest::try_parse_request(header, remaining)?)),
2681 _ => (),
2682 }
2683 }
2684 #[cfg(feature = "res")]
2685 Some((res::X11_EXTENSION_NAME, _)) => {
2686 match header.minor_opcode {
2687 res::QUERY_VERSION_REQUEST => return Ok(Request::ResQueryVersion(res::QueryVersionRequest::try_parse_request(header, remaining)?)),
2688 res::QUERY_CLIENTS_REQUEST => return Ok(Request::ResQueryClients(res::QueryClientsRequest::try_parse_request(header, remaining)?)),
2689 res::QUERY_CLIENT_RESOURCES_REQUEST => return Ok(Request::ResQueryClientResources(res::QueryClientResourcesRequest::try_parse_request(header, remaining)?)),
2690 res::QUERY_CLIENT_PIXMAP_BYTES_REQUEST => return Ok(Request::ResQueryClientPixmapBytes(res::QueryClientPixmapBytesRequest::try_parse_request(header, remaining)?)),
2691 res::QUERY_CLIENT_IDS_REQUEST => return Ok(Request::ResQueryClientIds(res::QueryClientIdsRequest::try_parse_request(header, remaining)?)),
2692 res::QUERY_RESOURCE_BYTES_REQUEST => return Ok(Request::ResQueryResourceBytes(res::QueryResourceBytesRequest::try_parse_request(header, remaining)?)),
2693 _ => (),
2694 }
2695 }
2696 #[cfg(feature = "screensaver")]
2697 Some((screensaver::X11_EXTENSION_NAME, _)) => {
2698 match header.minor_opcode {
2699 screensaver::QUERY_VERSION_REQUEST => return Ok(Request::ScreensaverQueryVersion(screensaver::QueryVersionRequest::try_parse_request(header, remaining)?)),
2700 screensaver::QUERY_INFO_REQUEST => return Ok(Request::ScreensaverQueryInfo(screensaver::QueryInfoRequest::try_parse_request(header, remaining)?)),
2701 screensaver::SELECT_INPUT_REQUEST => return Ok(Request::ScreensaverSelectInput(screensaver::SelectInputRequest::try_parse_request(header, remaining)?)),
2702 screensaver::SET_ATTRIBUTES_REQUEST => return Ok(Request::ScreensaverSetAttributes(screensaver::SetAttributesRequest::try_parse_request(header, remaining)?)),
2703 screensaver::UNSET_ATTRIBUTES_REQUEST => return Ok(Request::ScreensaverUnsetAttributes(screensaver::UnsetAttributesRequest::try_parse_request(header, remaining)?)),
2704 screensaver::SUSPEND_REQUEST => return Ok(Request::ScreensaverSuspend(screensaver::SuspendRequest::try_parse_request(header, remaining)?)),
2705 _ => (),
2706 }
2707 }
2708 #[cfg(feature = "shape")]
2709 Some((shape::X11_EXTENSION_NAME, _)) => {
2710 match header.minor_opcode {
2711 shape::QUERY_VERSION_REQUEST => return Ok(Request::ShapeQueryVersion(shape::QueryVersionRequest::try_parse_request(header, remaining)?)),
2712 shape::RECTANGLES_REQUEST => return Ok(Request::ShapeRectangles(shape::RectanglesRequest::try_parse_request(header, remaining)?)),
2713 shape::MASK_REQUEST => return Ok(Request::ShapeMask(shape::MaskRequest::try_parse_request(header, remaining)?)),
2714 shape::COMBINE_REQUEST => return Ok(Request::ShapeCombine(shape::CombineRequest::try_parse_request(header, remaining)?)),
2715 shape::OFFSET_REQUEST => return Ok(Request::ShapeOffset(shape::OffsetRequest::try_parse_request(header, remaining)?)),
2716 shape::QUERY_EXTENTS_REQUEST => return Ok(Request::ShapeQueryExtents(shape::QueryExtentsRequest::try_parse_request(header, remaining)?)),
2717 shape::SELECT_INPUT_REQUEST => return Ok(Request::ShapeSelectInput(shape::SelectInputRequest::try_parse_request(header, remaining)?)),
2718 shape::INPUT_SELECTED_REQUEST => return Ok(Request::ShapeInputSelected(shape::InputSelectedRequest::try_parse_request(header, remaining)?)),
2719 shape::GET_RECTANGLES_REQUEST => return Ok(Request::ShapeGetRectangles(shape::GetRectanglesRequest::try_parse_request(header, remaining)?)),
2720 _ => (),
2721 }
2722 }
2723 #[cfg(feature = "shm")]
2724 Some((shm::X11_EXTENSION_NAME, _)) => {
2725 match header.minor_opcode {
2726 shm::QUERY_VERSION_REQUEST => return Ok(Request::ShmQueryVersion(shm::QueryVersionRequest::try_parse_request(header, remaining)?)),
2727 shm::ATTACH_REQUEST => return Ok(Request::ShmAttach(shm::AttachRequest::try_parse_request(header, remaining)?)),
2728 shm::DETACH_REQUEST => return Ok(Request::ShmDetach(shm::DetachRequest::try_parse_request(header, remaining)?)),
2729 shm::PUT_IMAGE_REQUEST => return Ok(Request::ShmPutImage(shm::PutImageRequest::try_parse_request(header, remaining)?)),
2730 shm::GET_IMAGE_REQUEST => return Ok(Request::ShmGetImage(shm::GetImageRequest::try_parse_request(header, remaining)?)),
2731 shm::CREATE_PIXMAP_REQUEST => return Ok(Request::ShmCreatePixmap(shm::CreatePixmapRequest::try_parse_request(header, remaining)?)),
2732 shm::ATTACH_FD_REQUEST => return Ok(Request::ShmAttachFd(shm::AttachFdRequest::try_parse_request_fd(header, remaining, fds)?)),
2733 shm::CREATE_SEGMENT_REQUEST => return Ok(Request::ShmCreateSegment(shm::CreateSegmentRequest::try_parse_request(header, remaining)?)),
2734 _ => (),
2735 }
2736 }
2737 #[cfg(feature = "sync")]
2738 Some((sync::X11_EXTENSION_NAME, _)) => {
2739 match header.minor_opcode {
2740 sync::INITIALIZE_REQUEST => return Ok(Request::SyncInitialize(sync::InitializeRequest::try_parse_request(header, remaining)?)),
2741 sync::LIST_SYSTEM_COUNTERS_REQUEST => return Ok(Request::SyncListSystemCounters(sync::ListSystemCountersRequest::try_parse_request(header, remaining)?)),
2742 sync::CREATE_COUNTER_REQUEST => return Ok(Request::SyncCreateCounter(sync::CreateCounterRequest::try_parse_request(header, remaining)?)),
2743 sync::DESTROY_COUNTER_REQUEST => return Ok(Request::SyncDestroyCounter(sync::DestroyCounterRequest::try_parse_request(header, remaining)?)),
2744 sync::QUERY_COUNTER_REQUEST => return Ok(Request::SyncQueryCounter(sync::QueryCounterRequest::try_parse_request(header, remaining)?)),
2745 sync::AWAIT_REQUEST => return Ok(Request::SyncAwait(sync::AwaitRequest::try_parse_request(header, remaining)?)),
2746 sync::CHANGE_COUNTER_REQUEST => return Ok(Request::SyncChangeCounter(sync::ChangeCounterRequest::try_parse_request(header, remaining)?)),
2747 sync::SET_COUNTER_REQUEST => return Ok(Request::SyncSetCounter(sync::SetCounterRequest::try_parse_request(header, remaining)?)),
2748 sync::CREATE_ALARM_REQUEST => return Ok(Request::SyncCreateAlarm(sync::CreateAlarmRequest::try_parse_request(header, remaining)?)),
2749 sync::CHANGE_ALARM_REQUEST => return Ok(Request::SyncChangeAlarm(sync::ChangeAlarmRequest::try_parse_request(header, remaining)?)),
2750 sync::DESTROY_ALARM_REQUEST => return Ok(Request::SyncDestroyAlarm(sync::DestroyAlarmRequest::try_parse_request(header, remaining)?)),
2751 sync::QUERY_ALARM_REQUEST => return Ok(Request::SyncQueryAlarm(sync::QueryAlarmRequest::try_parse_request(header, remaining)?)),
2752 sync::SET_PRIORITY_REQUEST => return Ok(Request::SyncSetPriority(sync::SetPriorityRequest::try_parse_request(header, remaining)?)),
2753 sync::GET_PRIORITY_REQUEST => return Ok(Request::SyncGetPriority(sync::GetPriorityRequest::try_parse_request(header, remaining)?)),
2754 sync::CREATE_FENCE_REQUEST => return Ok(Request::SyncCreateFence(sync::CreateFenceRequest::try_parse_request(header, remaining)?)),
2755 sync::TRIGGER_FENCE_REQUEST => return Ok(Request::SyncTriggerFence(sync::TriggerFenceRequest::try_parse_request(header, remaining)?)),
2756 sync::RESET_FENCE_REQUEST => return Ok(Request::SyncResetFence(sync::ResetFenceRequest::try_parse_request(header, remaining)?)),
2757 sync::DESTROY_FENCE_REQUEST => return Ok(Request::SyncDestroyFence(sync::DestroyFenceRequest::try_parse_request(header, remaining)?)),
2758 sync::QUERY_FENCE_REQUEST => return Ok(Request::SyncQueryFence(sync::QueryFenceRequest::try_parse_request(header, remaining)?)),
2759 sync::AWAIT_FENCE_REQUEST => return Ok(Request::SyncAwaitFence(sync::AwaitFenceRequest::try_parse_request(header, remaining)?)),
2760 _ => (),
2761 }
2762 }
2763 Some((xc_misc::X11_EXTENSION_NAME, _)) => {
2764 match header.minor_opcode {
2765 xc_misc::GET_VERSION_REQUEST => return Ok(Request::XcMiscGetVersion(xc_misc::GetVersionRequest::try_parse_request(header, remaining)?)),
2766 xc_misc::GET_XID_RANGE_REQUEST => return Ok(Request::XcMiscGetXIDRange(xc_misc::GetXIDRangeRequest::try_parse_request(header, remaining)?)),
2767 xc_misc::GET_XID_LIST_REQUEST => return Ok(Request::XcMiscGetXIDList(xc_misc::GetXIDListRequest::try_parse_request(header, remaining)?)),
2768 _ => (),
2769 }
2770 }
2771 #[cfg(feature = "xevie")]
2772 Some((xevie::X11_EXTENSION_NAME, _)) => {
2773 match header.minor_opcode {
2774 xevie::QUERY_VERSION_REQUEST => return Ok(Request::XevieQueryVersion(xevie::QueryVersionRequest::try_parse_request(header, remaining)?)),
2775 xevie::START_REQUEST => return Ok(Request::XevieStart(xevie::StartRequest::try_parse_request(header, remaining)?)),
2776 xevie::END_REQUEST => return Ok(Request::XevieEnd(xevie::EndRequest::try_parse_request(header, remaining)?)),
2777 xevie::SEND_REQUEST => return Ok(Request::XevieSend(xevie::SendRequest::try_parse_request(header, remaining)?)),
2778 xevie::SELECT_INPUT_REQUEST => return Ok(Request::XevieSelectInput(xevie::SelectInputRequest::try_parse_request(header, remaining)?)),
2779 _ => (),
2780 }
2781 }
2782 #[cfg(feature = "xf86dri")]
2783 Some((xf86dri::X11_EXTENSION_NAME, _)) => {
2784 match header.minor_opcode {
2785 xf86dri::QUERY_VERSION_REQUEST => return Ok(Request::Xf86driQueryVersion(xf86dri::QueryVersionRequest::try_parse_request(header, remaining)?)),
2786 xf86dri::QUERY_DIRECT_RENDERING_CAPABLE_REQUEST => return Ok(Request::Xf86driQueryDirectRenderingCapable(xf86dri::QueryDirectRenderingCapableRequest::try_parse_request(header, remaining)?)),
2787 xf86dri::OPEN_CONNECTION_REQUEST => return Ok(Request::Xf86driOpenConnection(xf86dri::OpenConnectionRequest::try_parse_request(header, remaining)?)),
2788 xf86dri::CLOSE_CONNECTION_REQUEST => return Ok(Request::Xf86driCloseConnection(xf86dri::CloseConnectionRequest::try_parse_request(header, remaining)?)),
2789 xf86dri::GET_CLIENT_DRIVER_NAME_REQUEST => return Ok(Request::Xf86driGetClientDriverName(xf86dri::GetClientDriverNameRequest::try_parse_request(header, remaining)?)),
2790 xf86dri::CREATE_CONTEXT_REQUEST => return Ok(Request::Xf86driCreateContext(xf86dri::CreateContextRequest::try_parse_request(header, remaining)?)),
2791 xf86dri::DESTROY_CONTEXT_REQUEST => return Ok(Request::Xf86driDestroyContext(xf86dri::DestroyContextRequest::try_parse_request(header, remaining)?)),
2792 xf86dri::CREATE_DRAWABLE_REQUEST => return Ok(Request::Xf86driCreateDrawable(xf86dri::CreateDrawableRequest::try_parse_request(header, remaining)?)),
2793 xf86dri::DESTROY_DRAWABLE_REQUEST => return Ok(Request::Xf86driDestroyDrawable(xf86dri::DestroyDrawableRequest::try_parse_request(header, remaining)?)),
2794 xf86dri::GET_DRAWABLE_INFO_REQUEST => return Ok(Request::Xf86driGetDrawableInfo(xf86dri::GetDrawableInfoRequest::try_parse_request(header, remaining)?)),
2795 xf86dri::GET_DEVICE_INFO_REQUEST => return Ok(Request::Xf86driGetDeviceInfo(xf86dri::GetDeviceInfoRequest::try_parse_request(header, remaining)?)),
2796 xf86dri::AUTH_CONNECTION_REQUEST => return Ok(Request::Xf86driAuthConnection(xf86dri::AuthConnectionRequest::try_parse_request(header, remaining)?)),
2797 _ => (),
2798 }
2799 }
2800 #[cfg(feature = "xf86vidmode")]
2801 Some((xf86vidmode::X11_EXTENSION_NAME, _)) => {
2802 match header.minor_opcode {
2803 xf86vidmode::QUERY_VERSION_REQUEST => return Ok(Request::Xf86vidmodeQueryVersion(xf86vidmode::QueryVersionRequest::try_parse_request(header, remaining)?)),
2804 xf86vidmode::GET_MODE_LINE_REQUEST => return Ok(Request::Xf86vidmodeGetModeLine(xf86vidmode::GetModeLineRequest::try_parse_request(header, remaining)?)),
2805 xf86vidmode::MOD_MODE_LINE_REQUEST => return Ok(Request::Xf86vidmodeModModeLine(xf86vidmode::ModModeLineRequest::try_parse_request(header, remaining)?)),
2806 xf86vidmode::SWITCH_MODE_REQUEST => return Ok(Request::Xf86vidmodeSwitchMode(xf86vidmode::SwitchModeRequest::try_parse_request(header, remaining)?)),
2807 xf86vidmode::GET_MONITOR_REQUEST => return Ok(Request::Xf86vidmodeGetMonitor(xf86vidmode::GetMonitorRequest::try_parse_request(header, remaining)?)),
2808 xf86vidmode::LOCK_MODE_SWITCH_REQUEST => return Ok(Request::Xf86vidmodeLockModeSwitch(xf86vidmode::LockModeSwitchRequest::try_parse_request(header, remaining)?)),
2809 xf86vidmode::GET_ALL_MODE_LINES_REQUEST => return Ok(Request::Xf86vidmodeGetAllModeLines(xf86vidmode::GetAllModeLinesRequest::try_parse_request(header, remaining)?)),
2810 xf86vidmode::ADD_MODE_LINE_REQUEST => return Ok(Request::Xf86vidmodeAddModeLine(xf86vidmode::AddModeLineRequest::try_parse_request(header, remaining)?)),
2811 xf86vidmode::DELETE_MODE_LINE_REQUEST => return Ok(Request::Xf86vidmodeDeleteModeLine(xf86vidmode::DeleteModeLineRequest::try_parse_request(header, remaining)?)),
2812 xf86vidmode::VALIDATE_MODE_LINE_REQUEST => return Ok(Request::Xf86vidmodeValidateModeLine(xf86vidmode::ValidateModeLineRequest::try_parse_request(header, remaining)?)),
2813 xf86vidmode::SWITCH_TO_MODE_REQUEST => return Ok(Request::Xf86vidmodeSwitchToMode(xf86vidmode::SwitchToModeRequest::try_parse_request(header, remaining)?)),
2814 xf86vidmode::GET_VIEW_PORT_REQUEST => return Ok(Request::Xf86vidmodeGetViewPort(xf86vidmode::GetViewPortRequest::try_parse_request(header, remaining)?)),
2815 xf86vidmode::SET_VIEW_PORT_REQUEST => return Ok(Request::Xf86vidmodeSetViewPort(xf86vidmode::SetViewPortRequest::try_parse_request(header, remaining)?)),
2816 xf86vidmode::GET_DOT_CLOCKS_REQUEST => return Ok(Request::Xf86vidmodeGetDotClocks(xf86vidmode::GetDotClocksRequest::try_parse_request(header, remaining)?)),
2817 xf86vidmode::SET_CLIENT_VERSION_REQUEST => return Ok(Request::Xf86vidmodeSetClientVersion(xf86vidmode::SetClientVersionRequest::try_parse_request(header, remaining)?)),
2818 xf86vidmode::SET_GAMMA_REQUEST => return Ok(Request::Xf86vidmodeSetGamma(xf86vidmode::SetGammaRequest::try_parse_request(header, remaining)?)),
2819 xf86vidmode::GET_GAMMA_REQUEST => return Ok(Request::Xf86vidmodeGetGamma(xf86vidmode::GetGammaRequest::try_parse_request(header, remaining)?)),
2820 xf86vidmode::GET_GAMMA_RAMP_REQUEST => return Ok(Request::Xf86vidmodeGetGammaRamp(xf86vidmode::GetGammaRampRequest::try_parse_request(header, remaining)?)),
2821 xf86vidmode::SET_GAMMA_RAMP_REQUEST => return Ok(Request::Xf86vidmodeSetGammaRamp(xf86vidmode::SetGammaRampRequest::try_parse_request(header, remaining)?)),
2822 xf86vidmode::GET_GAMMA_RAMP_SIZE_REQUEST => return Ok(Request::Xf86vidmodeGetGammaRampSize(xf86vidmode::GetGammaRampSizeRequest::try_parse_request(header, remaining)?)),
2823 xf86vidmode::GET_PERMISSIONS_REQUEST => return Ok(Request::Xf86vidmodeGetPermissions(xf86vidmode::GetPermissionsRequest::try_parse_request(header, remaining)?)),
2824 _ => (),
2825 }
2826 }
2827 #[cfg(feature = "xfixes")]
2828 Some((xfixes::X11_EXTENSION_NAME, _)) => {
2829 match header.minor_opcode {
2830 xfixes::QUERY_VERSION_REQUEST => return Ok(Request::XfixesQueryVersion(xfixes::QueryVersionRequest::try_parse_request(header, remaining)?)),
2831 xfixes::CHANGE_SAVE_SET_REQUEST => return Ok(Request::XfixesChangeSaveSet(xfixes::ChangeSaveSetRequest::try_parse_request(header, remaining)?)),
2832 xfixes::SELECT_SELECTION_INPUT_REQUEST => return Ok(Request::XfixesSelectSelectionInput(xfixes::SelectSelectionInputRequest::try_parse_request(header, remaining)?)),
2833 xfixes::SELECT_CURSOR_INPUT_REQUEST => return Ok(Request::XfixesSelectCursorInput(xfixes::SelectCursorInputRequest::try_parse_request(header, remaining)?)),
2834 xfixes::GET_CURSOR_IMAGE_REQUEST => return Ok(Request::XfixesGetCursorImage(xfixes::GetCursorImageRequest::try_parse_request(header, remaining)?)),
2835 xfixes::CREATE_REGION_REQUEST => return Ok(Request::XfixesCreateRegion(xfixes::CreateRegionRequest::try_parse_request(header, remaining)?)),
2836 xfixes::CREATE_REGION_FROM_BITMAP_REQUEST => return Ok(Request::XfixesCreateRegionFromBitmap(xfixes::CreateRegionFromBitmapRequest::try_parse_request(header, remaining)?)),
2837 xfixes::CREATE_REGION_FROM_WINDOW_REQUEST => return Ok(Request::XfixesCreateRegionFromWindow(xfixes::CreateRegionFromWindowRequest::try_parse_request(header, remaining)?)),
2838 xfixes::CREATE_REGION_FROM_GC_REQUEST => return Ok(Request::XfixesCreateRegionFromGC(xfixes::CreateRegionFromGCRequest::try_parse_request(header, remaining)?)),
2839 xfixes::CREATE_REGION_FROM_PICTURE_REQUEST => return Ok(Request::XfixesCreateRegionFromPicture(xfixes::CreateRegionFromPictureRequest::try_parse_request(header, remaining)?)),
2840 xfixes::DESTROY_REGION_REQUEST => return Ok(Request::XfixesDestroyRegion(xfixes::DestroyRegionRequest::try_parse_request(header, remaining)?)),
2841 xfixes::SET_REGION_REQUEST => return Ok(Request::XfixesSetRegion(xfixes::SetRegionRequest::try_parse_request(header, remaining)?)),
2842 xfixes::COPY_REGION_REQUEST => return Ok(Request::XfixesCopyRegion(xfixes::CopyRegionRequest::try_parse_request(header, remaining)?)),
2843 xfixes::UNION_REGION_REQUEST => return Ok(Request::XfixesUnionRegion(xfixes::UnionRegionRequest::try_parse_request(header, remaining)?)),
2844 xfixes::INTERSECT_REGION_REQUEST => return Ok(Request::XfixesIntersectRegion(xfixes::IntersectRegionRequest::try_parse_request(header, remaining)?)),
2845 xfixes::SUBTRACT_REGION_REQUEST => return Ok(Request::XfixesSubtractRegion(xfixes::SubtractRegionRequest::try_parse_request(header, remaining)?)),
2846 xfixes::INVERT_REGION_REQUEST => return Ok(Request::XfixesInvertRegion(xfixes::InvertRegionRequest::try_parse_request(header, remaining)?)),
2847 xfixes::TRANSLATE_REGION_REQUEST => return Ok(Request::XfixesTranslateRegion(xfixes::TranslateRegionRequest::try_parse_request(header, remaining)?)),
2848 xfixes::REGION_EXTENTS_REQUEST => return Ok(Request::XfixesRegionExtents(xfixes::RegionExtentsRequest::try_parse_request(header, remaining)?)),
2849 xfixes::FETCH_REGION_REQUEST => return Ok(Request::XfixesFetchRegion(xfixes::FetchRegionRequest::try_parse_request(header, remaining)?)),
2850 xfixes::SET_GC_CLIP_REGION_REQUEST => return Ok(Request::XfixesSetGCClipRegion(xfixes::SetGCClipRegionRequest::try_parse_request(header, remaining)?)),
2851 xfixes::SET_WINDOW_SHAPE_REGION_REQUEST => return Ok(Request::XfixesSetWindowShapeRegion(xfixes::SetWindowShapeRegionRequest::try_parse_request(header, remaining)?)),
2852 xfixes::SET_PICTURE_CLIP_REGION_REQUEST => return Ok(Request::XfixesSetPictureClipRegion(xfixes::SetPictureClipRegionRequest::try_parse_request(header, remaining)?)),
2853 xfixes::SET_CURSOR_NAME_REQUEST => return Ok(Request::XfixesSetCursorName(xfixes::SetCursorNameRequest::try_parse_request(header, remaining)?)),
2854 xfixes::GET_CURSOR_NAME_REQUEST => return Ok(Request::XfixesGetCursorName(xfixes::GetCursorNameRequest::try_parse_request(header, remaining)?)),
2855 xfixes::GET_CURSOR_IMAGE_AND_NAME_REQUEST => return Ok(Request::XfixesGetCursorImageAndName(xfixes::GetCursorImageAndNameRequest::try_parse_request(header, remaining)?)),
2856 xfixes::CHANGE_CURSOR_REQUEST => return Ok(Request::XfixesChangeCursor(xfixes::ChangeCursorRequest::try_parse_request(header, remaining)?)),
2857 xfixes::CHANGE_CURSOR_BY_NAME_REQUEST => return Ok(Request::XfixesChangeCursorByName(xfixes::ChangeCursorByNameRequest::try_parse_request(header, remaining)?)),
2858 xfixes::EXPAND_REGION_REQUEST => return Ok(Request::XfixesExpandRegion(xfixes::ExpandRegionRequest::try_parse_request(header, remaining)?)),
2859 xfixes::HIDE_CURSOR_REQUEST => return Ok(Request::XfixesHideCursor(xfixes::HideCursorRequest::try_parse_request(header, remaining)?)),
2860 xfixes::SHOW_CURSOR_REQUEST => return Ok(Request::XfixesShowCursor(xfixes::ShowCursorRequest::try_parse_request(header, remaining)?)),
2861 xfixes::CREATE_POINTER_BARRIER_REQUEST => return Ok(Request::XfixesCreatePointerBarrier(xfixes::CreatePointerBarrierRequest::try_parse_request(header, remaining)?)),
2862 xfixes::DELETE_POINTER_BARRIER_REQUEST => return Ok(Request::XfixesDeletePointerBarrier(xfixes::DeletePointerBarrierRequest::try_parse_request(header, remaining)?)),
2863 xfixes::SET_CLIENT_DISCONNECT_MODE_REQUEST => return Ok(Request::XfixesSetClientDisconnectMode(xfixes::SetClientDisconnectModeRequest::try_parse_request(header, remaining)?)),
2864 xfixes::GET_CLIENT_DISCONNECT_MODE_REQUEST => return Ok(Request::XfixesGetClientDisconnectMode(xfixes::GetClientDisconnectModeRequest::try_parse_request(header, remaining)?)),
2865 _ => (),
2866 }
2867 }
2868 #[cfg(feature = "xinerama")]
2869 Some((xinerama::X11_EXTENSION_NAME, _)) => {
2870 match header.minor_opcode {
2871 xinerama::QUERY_VERSION_REQUEST => return Ok(Request::XineramaQueryVersion(xinerama::QueryVersionRequest::try_parse_request(header, remaining)?)),
2872 xinerama::GET_STATE_REQUEST => return Ok(Request::XineramaGetState(xinerama::GetStateRequest::try_parse_request(header, remaining)?)),
2873 xinerama::GET_SCREEN_COUNT_REQUEST => return Ok(Request::XineramaGetScreenCount(xinerama::GetScreenCountRequest::try_parse_request(header, remaining)?)),
2874 xinerama::GET_SCREEN_SIZE_REQUEST => return Ok(Request::XineramaGetScreenSize(xinerama::GetScreenSizeRequest::try_parse_request(header, remaining)?)),
2875 xinerama::IS_ACTIVE_REQUEST => return Ok(Request::XineramaIsActive(xinerama::IsActiveRequest::try_parse_request(header, remaining)?)),
2876 xinerama::QUERY_SCREENS_REQUEST => return Ok(Request::XineramaQueryScreens(xinerama::QueryScreensRequest::try_parse_request(header, remaining)?)),
2877 _ => (),
2878 }
2879 }
2880 #[cfg(feature = "xinput")]
2881 Some((xinput::X11_EXTENSION_NAME, _)) => {
2882 match header.minor_opcode {
2883 xinput::GET_EXTENSION_VERSION_REQUEST => return Ok(Request::XinputGetExtensionVersion(xinput::GetExtensionVersionRequest::try_parse_request(header, remaining)?)),
2884 xinput::LIST_INPUT_DEVICES_REQUEST => return Ok(Request::XinputListInputDevices(xinput::ListInputDevicesRequest::try_parse_request(header, remaining)?)),
2885 xinput::OPEN_DEVICE_REQUEST => return Ok(Request::XinputOpenDevice(xinput::OpenDeviceRequest::try_parse_request(header, remaining)?)),
2886 xinput::CLOSE_DEVICE_REQUEST => return Ok(Request::XinputCloseDevice(xinput::CloseDeviceRequest::try_parse_request(header, remaining)?)),
2887 xinput::SET_DEVICE_MODE_REQUEST => return Ok(Request::XinputSetDeviceMode(xinput::SetDeviceModeRequest::try_parse_request(header, remaining)?)),
2888 xinput::SELECT_EXTENSION_EVENT_REQUEST => return Ok(Request::XinputSelectExtensionEvent(xinput::SelectExtensionEventRequest::try_parse_request(header, remaining)?)),
2889 xinput::GET_SELECTED_EXTENSION_EVENTS_REQUEST => return Ok(Request::XinputGetSelectedExtensionEvents(xinput::GetSelectedExtensionEventsRequest::try_parse_request(header, remaining)?)),
2890 xinput::CHANGE_DEVICE_DONT_PROPAGATE_LIST_REQUEST => return Ok(Request::XinputChangeDeviceDontPropagateList(xinput::ChangeDeviceDontPropagateListRequest::try_parse_request(header, remaining)?)),
2891 xinput::GET_DEVICE_DONT_PROPAGATE_LIST_REQUEST => return Ok(Request::XinputGetDeviceDontPropagateList(xinput::GetDeviceDontPropagateListRequest::try_parse_request(header, remaining)?)),
2892 xinput::GET_DEVICE_MOTION_EVENTS_REQUEST => return Ok(Request::XinputGetDeviceMotionEvents(xinput::GetDeviceMotionEventsRequest::try_parse_request(header, remaining)?)),
2893 xinput::CHANGE_KEYBOARD_DEVICE_REQUEST => return Ok(Request::XinputChangeKeyboardDevice(xinput::ChangeKeyboardDeviceRequest::try_parse_request(header, remaining)?)),
2894 xinput::CHANGE_POINTER_DEVICE_REQUEST => return Ok(Request::XinputChangePointerDevice(xinput::ChangePointerDeviceRequest::try_parse_request(header, remaining)?)),
2895 xinput::GRAB_DEVICE_REQUEST => return Ok(Request::XinputGrabDevice(xinput::GrabDeviceRequest::try_parse_request(header, remaining)?)),
2896 xinput::UNGRAB_DEVICE_REQUEST => return Ok(Request::XinputUngrabDevice(xinput::UngrabDeviceRequest::try_parse_request(header, remaining)?)),
2897 xinput::GRAB_DEVICE_KEY_REQUEST => return Ok(Request::XinputGrabDeviceKey(xinput::GrabDeviceKeyRequest::try_parse_request(header, remaining)?)),
2898 xinput::UNGRAB_DEVICE_KEY_REQUEST => return Ok(Request::XinputUngrabDeviceKey(xinput::UngrabDeviceKeyRequest::try_parse_request(header, remaining)?)),
2899 xinput::GRAB_DEVICE_BUTTON_REQUEST => return Ok(Request::XinputGrabDeviceButton(xinput::GrabDeviceButtonRequest::try_parse_request(header, remaining)?)),
2900 xinput::UNGRAB_DEVICE_BUTTON_REQUEST => return Ok(Request::XinputUngrabDeviceButton(xinput::UngrabDeviceButtonRequest::try_parse_request(header, remaining)?)),
2901 xinput::ALLOW_DEVICE_EVENTS_REQUEST => return Ok(Request::XinputAllowDeviceEvents(xinput::AllowDeviceEventsRequest::try_parse_request(header, remaining)?)),
2902 xinput::GET_DEVICE_FOCUS_REQUEST => return Ok(Request::XinputGetDeviceFocus(xinput::GetDeviceFocusRequest::try_parse_request(header, remaining)?)),
2903 xinput::SET_DEVICE_FOCUS_REQUEST => return Ok(Request::XinputSetDeviceFocus(xinput::SetDeviceFocusRequest::try_parse_request(header, remaining)?)),
2904 xinput::GET_FEEDBACK_CONTROL_REQUEST => return Ok(Request::XinputGetFeedbackControl(xinput::GetFeedbackControlRequest::try_parse_request(header, remaining)?)),
2905 xinput::CHANGE_FEEDBACK_CONTROL_REQUEST => return Ok(Request::XinputChangeFeedbackControl(xinput::ChangeFeedbackControlRequest::try_parse_request(header, remaining)?)),
2906 xinput::GET_DEVICE_KEY_MAPPING_REQUEST => return Ok(Request::XinputGetDeviceKeyMapping(xinput::GetDeviceKeyMappingRequest::try_parse_request(header, remaining)?)),
2907 xinput::CHANGE_DEVICE_KEY_MAPPING_REQUEST => return Ok(Request::XinputChangeDeviceKeyMapping(xinput::ChangeDeviceKeyMappingRequest::try_parse_request(header, remaining)?)),
2908 xinput::GET_DEVICE_MODIFIER_MAPPING_REQUEST => return Ok(Request::XinputGetDeviceModifierMapping(xinput::GetDeviceModifierMappingRequest::try_parse_request(header, remaining)?)),
2909 xinput::SET_DEVICE_MODIFIER_MAPPING_REQUEST => return Ok(Request::XinputSetDeviceModifierMapping(xinput::SetDeviceModifierMappingRequest::try_parse_request(header, remaining)?)),
2910 xinput::GET_DEVICE_BUTTON_MAPPING_REQUEST => return Ok(Request::XinputGetDeviceButtonMapping(xinput::GetDeviceButtonMappingRequest::try_parse_request(header, remaining)?)),
2911 xinput::SET_DEVICE_BUTTON_MAPPING_REQUEST => return Ok(Request::XinputSetDeviceButtonMapping(xinput::SetDeviceButtonMappingRequest::try_parse_request(header, remaining)?)),
2912 xinput::QUERY_DEVICE_STATE_REQUEST => return Ok(Request::XinputQueryDeviceState(xinput::QueryDeviceStateRequest::try_parse_request(header, remaining)?)),
2913 xinput::DEVICE_BELL_REQUEST => return Ok(Request::XinputDeviceBell(xinput::DeviceBellRequest::try_parse_request(header, remaining)?)),
2914 xinput::SET_DEVICE_VALUATORS_REQUEST => return Ok(Request::XinputSetDeviceValuators(xinput::SetDeviceValuatorsRequest::try_parse_request(header, remaining)?)),
2915 xinput::GET_DEVICE_CONTROL_REQUEST => return Ok(Request::XinputGetDeviceControl(xinput::GetDeviceControlRequest::try_parse_request(header, remaining)?)),
2916 xinput::CHANGE_DEVICE_CONTROL_REQUEST => return Ok(Request::XinputChangeDeviceControl(xinput::ChangeDeviceControlRequest::try_parse_request(header, remaining)?)),
2917 xinput::LIST_DEVICE_PROPERTIES_REQUEST => return Ok(Request::XinputListDeviceProperties(xinput::ListDevicePropertiesRequest::try_parse_request(header, remaining)?)),
2918 xinput::CHANGE_DEVICE_PROPERTY_REQUEST => return Ok(Request::XinputChangeDeviceProperty(xinput::ChangeDevicePropertyRequest::try_parse_request(header, remaining)?)),
2919 xinput::DELETE_DEVICE_PROPERTY_REQUEST => return Ok(Request::XinputDeleteDeviceProperty(xinput::DeleteDevicePropertyRequest::try_parse_request(header, remaining)?)),
2920 xinput::GET_DEVICE_PROPERTY_REQUEST => return Ok(Request::XinputGetDeviceProperty(xinput::GetDevicePropertyRequest::try_parse_request(header, remaining)?)),
2921 xinput::XI_QUERY_POINTER_REQUEST => return Ok(Request::XinputXIQueryPointer(xinput::XIQueryPointerRequest::try_parse_request(header, remaining)?)),
2922 xinput::XI_WARP_POINTER_REQUEST => return Ok(Request::XinputXIWarpPointer(xinput::XIWarpPointerRequest::try_parse_request(header, remaining)?)),
2923 xinput::XI_CHANGE_CURSOR_REQUEST => return Ok(Request::XinputXIChangeCursor(xinput::XIChangeCursorRequest::try_parse_request(header, remaining)?)),
2924 xinput::XI_CHANGE_HIERARCHY_REQUEST => return Ok(Request::XinputXIChangeHierarchy(xinput::XIChangeHierarchyRequest::try_parse_request(header, remaining)?)),
2925 xinput::XI_SET_CLIENT_POINTER_REQUEST => return Ok(Request::XinputXISetClientPointer(xinput::XISetClientPointerRequest::try_parse_request(header, remaining)?)),
2926 xinput::XI_GET_CLIENT_POINTER_REQUEST => return Ok(Request::XinputXIGetClientPointer(xinput::XIGetClientPointerRequest::try_parse_request(header, remaining)?)),
2927 xinput::XI_SELECT_EVENTS_REQUEST => return Ok(Request::XinputXISelectEvents(xinput::XISelectEventsRequest::try_parse_request(header, remaining)?)),
2928 xinput::XI_QUERY_VERSION_REQUEST => return Ok(Request::XinputXIQueryVersion(xinput::XIQueryVersionRequest::try_parse_request(header, remaining)?)),
2929 xinput::XI_QUERY_DEVICE_REQUEST => return Ok(Request::XinputXIQueryDevice(xinput::XIQueryDeviceRequest::try_parse_request(header, remaining)?)),
2930 xinput::XI_SET_FOCUS_REQUEST => return Ok(Request::XinputXISetFocus(xinput::XISetFocusRequest::try_parse_request(header, remaining)?)),
2931 xinput::XI_GET_FOCUS_REQUEST => return Ok(Request::XinputXIGetFocus(xinput::XIGetFocusRequest::try_parse_request(header, remaining)?)),
2932 xinput::XI_GRAB_DEVICE_REQUEST => return Ok(Request::XinputXIGrabDevice(xinput::XIGrabDeviceRequest::try_parse_request(header, remaining)?)),
2933 xinput::XI_UNGRAB_DEVICE_REQUEST => return Ok(Request::XinputXIUngrabDevice(xinput::XIUngrabDeviceRequest::try_parse_request(header, remaining)?)),
2934 xinput::XI_ALLOW_EVENTS_REQUEST => return Ok(Request::XinputXIAllowEvents(xinput::XIAllowEventsRequest::try_parse_request(header, remaining)?)),
2935 xinput::XI_PASSIVE_GRAB_DEVICE_REQUEST => return Ok(Request::XinputXIPassiveGrabDevice(xinput::XIPassiveGrabDeviceRequest::try_parse_request(header, remaining)?)),
2936 xinput::XI_PASSIVE_UNGRAB_DEVICE_REQUEST => return Ok(Request::XinputXIPassiveUngrabDevice(xinput::XIPassiveUngrabDeviceRequest::try_parse_request(header, remaining)?)),
2937 xinput::XI_LIST_PROPERTIES_REQUEST => return Ok(Request::XinputXIListProperties(xinput::XIListPropertiesRequest::try_parse_request(header, remaining)?)),
2938 xinput::XI_CHANGE_PROPERTY_REQUEST => return Ok(Request::XinputXIChangeProperty(xinput::XIChangePropertyRequest::try_parse_request(header, remaining)?)),
2939 xinput::XI_DELETE_PROPERTY_REQUEST => return Ok(Request::XinputXIDeleteProperty(xinput::XIDeletePropertyRequest::try_parse_request(header, remaining)?)),
2940 xinput::XI_GET_PROPERTY_REQUEST => return Ok(Request::XinputXIGetProperty(xinput::XIGetPropertyRequest::try_parse_request(header, remaining)?)),
2941 xinput::XI_GET_SELECTED_EVENTS_REQUEST => return Ok(Request::XinputXIGetSelectedEvents(xinput::XIGetSelectedEventsRequest::try_parse_request(header, remaining)?)),
2942 xinput::XI_BARRIER_RELEASE_POINTER_REQUEST => return Ok(Request::XinputXIBarrierReleasePointer(xinput::XIBarrierReleasePointerRequest::try_parse_request(header, remaining)?)),
2943 xinput::SEND_EXTENSION_EVENT_REQUEST => return Ok(Request::XinputSendExtensionEvent(xinput::SendExtensionEventRequest::try_parse_request(header, remaining)?)),
2944 _ => (),
2945 }
2946 }
2947 #[cfg(feature = "xkb")]
2948 Some((xkb::X11_EXTENSION_NAME, _)) => {
2949 match header.minor_opcode {
2950 xkb::USE_EXTENSION_REQUEST => return Ok(Request::XkbUseExtension(xkb::UseExtensionRequest::try_parse_request(header, remaining)?)),
2951 xkb::SELECT_EVENTS_REQUEST => return Ok(Request::XkbSelectEvents(xkb::SelectEventsRequest::try_parse_request(header, remaining)?)),
2952 xkb::BELL_REQUEST => return Ok(Request::XkbBell(xkb::BellRequest::try_parse_request(header, remaining)?)),
2953 xkb::GET_STATE_REQUEST => return Ok(Request::XkbGetState(xkb::GetStateRequest::try_parse_request(header, remaining)?)),
2954 xkb::LATCH_LOCK_STATE_REQUEST => return Ok(Request::XkbLatchLockState(xkb::LatchLockStateRequest::try_parse_request(header, remaining)?)),
2955 xkb::GET_CONTROLS_REQUEST => return Ok(Request::XkbGetControls(xkb::GetControlsRequest::try_parse_request(header, remaining)?)),
2956 xkb::SET_CONTROLS_REQUEST => return Ok(Request::XkbSetControls(xkb::SetControlsRequest::try_parse_request(header, remaining)?)),
2957 xkb::GET_MAP_REQUEST => return Ok(Request::XkbGetMap(xkb::GetMapRequest::try_parse_request(header, remaining)?)),
2958 xkb::SET_MAP_REQUEST => return Ok(Request::XkbSetMap(xkb::SetMapRequest::try_parse_request(header, remaining)?)),
2959 xkb::GET_COMPAT_MAP_REQUEST => return Ok(Request::XkbGetCompatMap(xkb::GetCompatMapRequest::try_parse_request(header, remaining)?)),
2960 xkb::SET_COMPAT_MAP_REQUEST => return Ok(Request::XkbSetCompatMap(xkb::SetCompatMapRequest::try_parse_request(header, remaining)?)),
2961 xkb::GET_INDICATOR_STATE_REQUEST => return Ok(Request::XkbGetIndicatorState(xkb::GetIndicatorStateRequest::try_parse_request(header, remaining)?)),
2962 xkb::GET_INDICATOR_MAP_REQUEST => return Ok(Request::XkbGetIndicatorMap(xkb::GetIndicatorMapRequest::try_parse_request(header, remaining)?)),
2963 xkb::SET_INDICATOR_MAP_REQUEST => return Ok(Request::XkbSetIndicatorMap(xkb::SetIndicatorMapRequest::try_parse_request(header, remaining)?)),
2964 xkb::GET_NAMED_INDICATOR_REQUEST => return Ok(Request::XkbGetNamedIndicator(xkb::GetNamedIndicatorRequest::try_parse_request(header, remaining)?)),
2965 xkb::SET_NAMED_INDICATOR_REQUEST => return Ok(Request::XkbSetNamedIndicator(xkb::SetNamedIndicatorRequest::try_parse_request(header, remaining)?)),
2966 xkb::GET_NAMES_REQUEST => return Ok(Request::XkbGetNames(xkb::GetNamesRequest::try_parse_request(header, remaining)?)),
2967 xkb::SET_NAMES_REQUEST => return Ok(Request::XkbSetNames(xkb::SetNamesRequest::try_parse_request(header, remaining)?)),
2968 xkb::PER_CLIENT_FLAGS_REQUEST => return Ok(Request::XkbPerClientFlags(xkb::PerClientFlagsRequest::try_parse_request(header, remaining)?)),
2969 xkb::LIST_COMPONENTS_REQUEST => return Ok(Request::XkbListComponents(xkb::ListComponentsRequest::try_parse_request(header, remaining)?)),
2970 xkb::GET_KBD_BY_NAME_REQUEST => return Ok(Request::XkbGetKbdByName(xkb::GetKbdByNameRequest::try_parse_request(header, remaining)?)),
2971 xkb::GET_DEVICE_INFO_REQUEST => return Ok(Request::XkbGetDeviceInfo(xkb::GetDeviceInfoRequest::try_parse_request(header, remaining)?)),
2972 xkb::SET_DEVICE_INFO_REQUEST => return Ok(Request::XkbSetDeviceInfo(xkb::SetDeviceInfoRequest::try_parse_request(header, remaining)?)),
2973 xkb::SET_DEBUGGING_FLAGS_REQUEST => return Ok(Request::XkbSetDebuggingFlags(xkb::SetDebuggingFlagsRequest::try_parse_request(header, remaining)?)),
2974 _ => (),
2975 }
2976 }
2977 #[cfg(feature = "xprint")]
2978 Some((xprint::X11_EXTENSION_NAME, _)) => {
2979 match header.minor_opcode {
2980 xprint::PRINT_QUERY_VERSION_REQUEST => return Ok(Request::XprintPrintQueryVersion(xprint::PrintQueryVersionRequest::try_parse_request(header, remaining)?)),
2981 xprint::PRINT_GET_PRINTER_LIST_REQUEST => return Ok(Request::XprintPrintGetPrinterList(xprint::PrintGetPrinterListRequest::try_parse_request(header, remaining)?)),
2982 xprint::PRINT_REHASH_PRINTER_LIST_REQUEST => return Ok(Request::XprintPrintRehashPrinterList(xprint::PrintRehashPrinterListRequest::try_parse_request(header, remaining)?)),
2983 xprint::CREATE_CONTEXT_REQUEST => return Ok(Request::XprintCreateContext(xprint::CreateContextRequest::try_parse_request(header, remaining)?)),
2984 xprint::PRINT_SET_CONTEXT_REQUEST => return Ok(Request::XprintPrintSetContext(xprint::PrintSetContextRequest::try_parse_request(header, remaining)?)),
2985 xprint::PRINT_GET_CONTEXT_REQUEST => return Ok(Request::XprintPrintGetContext(xprint::PrintGetContextRequest::try_parse_request(header, remaining)?)),
2986 xprint::PRINT_DESTROY_CONTEXT_REQUEST => return Ok(Request::XprintPrintDestroyContext(xprint::PrintDestroyContextRequest::try_parse_request(header, remaining)?)),
2987 xprint::PRINT_GET_SCREEN_OF_CONTEXT_REQUEST => return Ok(Request::XprintPrintGetScreenOfContext(xprint::PrintGetScreenOfContextRequest::try_parse_request(header, remaining)?)),
2988 xprint::PRINT_START_JOB_REQUEST => return Ok(Request::XprintPrintStartJob(xprint::PrintStartJobRequest::try_parse_request(header, remaining)?)),
2989 xprint::PRINT_END_JOB_REQUEST => return Ok(Request::XprintPrintEndJob(xprint::PrintEndJobRequest::try_parse_request(header, remaining)?)),
2990 xprint::PRINT_START_DOC_REQUEST => return Ok(Request::XprintPrintStartDoc(xprint::PrintStartDocRequest::try_parse_request(header, remaining)?)),
2991 xprint::PRINT_END_DOC_REQUEST => return Ok(Request::XprintPrintEndDoc(xprint::PrintEndDocRequest::try_parse_request(header, remaining)?)),
2992 xprint::PRINT_PUT_DOCUMENT_DATA_REQUEST => return Ok(Request::XprintPrintPutDocumentData(xprint::PrintPutDocumentDataRequest::try_parse_request(header, remaining)?)),
2993 xprint::PRINT_GET_DOCUMENT_DATA_REQUEST => return Ok(Request::XprintPrintGetDocumentData(xprint::PrintGetDocumentDataRequest::try_parse_request(header, remaining)?)),
2994 xprint::PRINT_START_PAGE_REQUEST => return Ok(Request::XprintPrintStartPage(xprint::PrintStartPageRequest::try_parse_request(header, remaining)?)),
2995 xprint::PRINT_END_PAGE_REQUEST => return Ok(Request::XprintPrintEndPage(xprint::PrintEndPageRequest::try_parse_request(header, remaining)?)),
2996 xprint::PRINT_SELECT_INPUT_REQUEST => return Ok(Request::XprintPrintSelectInput(xprint::PrintSelectInputRequest::try_parse_request(header, remaining)?)),
2997 xprint::PRINT_INPUT_SELECTED_REQUEST => return Ok(Request::XprintPrintInputSelected(xprint::PrintInputSelectedRequest::try_parse_request(header, remaining)?)),
2998 xprint::PRINT_GET_ATTRIBUTES_REQUEST => return Ok(Request::XprintPrintGetAttributes(xprint::PrintGetAttributesRequest::try_parse_request(header, remaining)?)),
2999 xprint::PRINT_GET_ONE_ATTRIBUTES_REQUEST => return Ok(Request::XprintPrintGetOneAttributes(xprint::PrintGetOneAttributesRequest::try_parse_request(header, remaining)?)),
3000 xprint::PRINT_SET_ATTRIBUTES_REQUEST => return Ok(Request::XprintPrintSetAttributes(xprint::PrintSetAttributesRequest::try_parse_request(header, remaining)?)),
3001 xprint::PRINT_GET_PAGE_DIMENSIONS_REQUEST => return Ok(Request::XprintPrintGetPageDimensions(xprint::PrintGetPageDimensionsRequest::try_parse_request(header, remaining)?)),
3002 xprint::PRINT_QUERY_SCREENS_REQUEST => return Ok(Request::XprintPrintQueryScreens(xprint::PrintQueryScreensRequest::try_parse_request(header, remaining)?)),
3003 xprint::PRINT_SET_IMAGE_RESOLUTION_REQUEST => return Ok(Request::XprintPrintSetImageResolution(xprint::PrintSetImageResolutionRequest::try_parse_request(header, remaining)?)),
3004 xprint::PRINT_GET_IMAGE_RESOLUTION_REQUEST => return Ok(Request::XprintPrintGetImageResolution(xprint::PrintGetImageResolutionRequest::try_parse_request(header, remaining)?)),
3005 _ => (),
3006 }
3007 }
3008 #[cfg(feature = "xselinux")]
3009 Some((xselinux::X11_EXTENSION_NAME, _)) => {
3010 match header.minor_opcode {
3011 xselinux::QUERY_VERSION_REQUEST => return Ok(Request::XselinuxQueryVersion(xselinux::QueryVersionRequest::try_parse_request(header, remaining)?)),
3012 xselinux::SET_DEVICE_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetDeviceCreateContext(xselinux::SetDeviceCreateContextRequest::try_parse_request(header, remaining)?)),
3013 xselinux::GET_DEVICE_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetDeviceCreateContext(xselinux::GetDeviceCreateContextRequest::try_parse_request(header, remaining)?)),
3014 xselinux::SET_DEVICE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetDeviceContext(xselinux::SetDeviceContextRequest::try_parse_request(header, remaining)?)),
3015 xselinux::GET_DEVICE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetDeviceContext(xselinux::GetDeviceContextRequest::try_parse_request(header, remaining)?)),
3016 xselinux::SET_WINDOW_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetWindowCreateContext(xselinux::SetWindowCreateContextRequest::try_parse_request(header, remaining)?)),
3017 xselinux::GET_WINDOW_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetWindowCreateContext(xselinux::GetWindowCreateContextRequest::try_parse_request(header, remaining)?)),
3018 xselinux::GET_WINDOW_CONTEXT_REQUEST => return Ok(Request::XselinuxGetWindowContext(xselinux::GetWindowContextRequest::try_parse_request(header, remaining)?)),
3019 xselinux::SET_PROPERTY_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetPropertyCreateContext(xselinux::SetPropertyCreateContextRequest::try_parse_request(header, remaining)?)),
3020 xselinux::GET_PROPERTY_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetPropertyCreateContext(xselinux::GetPropertyCreateContextRequest::try_parse_request(header, remaining)?)),
3021 xselinux::SET_PROPERTY_USE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetPropertyUseContext(xselinux::SetPropertyUseContextRequest::try_parse_request(header, remaining)?)),
3022 xselinux::GET_PROPERTY_USE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetPropertyUseContext(xselinux::GetPropertyUseContextRequest::try_parse_request(header, remaining)?)),
3023 xselinux::GET_PROPERTY_CONTEXT_REQUEST => return Ok(Request::XselinuxGetPropertyContext(xselinux::GetPropertyContextRequest::try_parse_request(header, remaining)?)),
3024 xselinux::GET_PROPERTY_DATA_CONTEXT_REQUEST => return Ok(Request::XselinuxGetPropertyDataContext(xselinux::GetPropertyDataContextRequest::try_parse_request(header, remaining)?)),
3025 xselinux::LIST_PROPERTIES_REQUEST => return Ok(Request::XselinuxListProperties(xselinux::ListPropertiesRequest::try_parse_request(header, remaining)?)),
3026 xselinux::SET_SELECTION_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetSelectionCreateContext(xselinux::SetSelectionCreateContextRequest::try_parse_request(header, remaining)?)),
3027 xselinux::GET_SELECTION_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetSelectionCreateContext(xselinux::GetSelectionCreateContextRequest::try_parse_request(header, remaining)?)),
3028 xselinux::SET_SELECTION_USE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetSelectionUseContext(xselinux::SetSelectionUseContextRequest::try_parse_request(header, remaining)?)),
3029 xselinux::GET_SELECTION_USE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetSelectionUseContext(xselinux::GetSelectionUseContextRequest::try_parse_request(header, remaining)?)),
3030 xselinux::GET_SELECTION_CONTEXT_REQUEST => return Ok(Request::XselinuxGetSelectionContext(xselinux::GetSelectionContextRequest::try_parse_request(header, remaining)?)),
3031 xselinux::GET_SELECTION_DATA_CONTEXT_REQUEST => return Ok(Request::XselinuxGetSelectionDataContext(xselinux::GetSelectionDataContextRequest::try_parse_request(header, remaining)?)),
3032 xselinux::LIST_SELECTIONS_REQUEST => return Ok(Request::XselinuxListSelections(xselinux::ListSelectionsRequest::try_parse_request(header, remaining)?)),
3033 xselinux::GET_CLIENT_CONTEXT_REQUEST => return Ok(Request::XselinuxGetClientContext(xselinux::GetClientContextRequest::try_parse_request(header, remaining)?)),
3034 _ => (),
3035 }
3036 }
3037 #[cfg(feature = "xtest")]
3038 Some((xtest::X11_EXTENSION_NAME, _)) => {
3039 match header.minor_opcode {
3040 xtest::GET_VERSION_REQUEST => return Ok(Request::XtestGetVersion(xtest::GetVersionRequest::try_parse_request(header, remaining)?)),
3041 xtest::COMPARE_CURSOR_REQUEST => return Ok(Request::XtestCompareCursor(xtest::CompareCursorRequest::try_parse_request(header, remaining)?)),
3042 xtest::FAKE_INPUT_REQUEST => return Ok(Request::XtestFakeInput(xtest::FakeInputRequest::try_parse_request(header, remaining)?)),
3043 xtest::GRAB_CONTROL_REQUEST => return Ok(Request::XtestGrabControl(xtest::GrabControlRequest::try_parse_request(header, remaining)?)),
3044 _ => (),
3045 }
3046 }
3047 #[cfg(feature = "xv")]
3048 Some((xv::X11_EXTENSION_NAME, _)) => {
3049 match header.minor_opcode {
3050 xv::QUERY_EXTENSION_REQUEST => return Ok(Request::XvQueryExtension(xv::QueryExtensionRequest::try_parse_request(header, remaining)?)),
3051 xv::QUERY_ADAPTORS_REQUEST => return Ok(Request::XvQueryAdaptors(xv::QueryAdaptorsRequest::try_parse_request(header, remaining)?)),
3052 xv::QUERY_ENCODINGS_REQUEST => return Ok(Request::XvQueryEncodings(xv::QueryEncodingsRequest::try_parse_request(header, remaining)?)),
3053 xv::GRAB_PORT_REQUEST => return Ok(Request::XvGrabPort(xv::GrabPortRequest::try_parse_request(header, remaining)?)),
3054 xv::UNGRAB_PORT_REQUEST => return Ok(Request::XvUngrabPort(xv::UngrabPortRequest::try_parse_request(header, remaining)?)),
3055 xv::PUT_VIDEO_REQUEST => return Ok(Request::XvPutVideo(xv::PutVideoRequest::try_parse_request(header, remaining)?)),
3056 xv::PUT_STILL_REQUEST => return Ok(Request::XvPutStill(xv::PutStillRequest::try_parse_request(header, remaining)?)),
3057 xv::GET_VIDEO_REQUEST => return Ok(Request::XvGetVideo(xv::GetVideoRequest::try_parse_request(header, remaining)?)),
3058 xv::GET_STILL_REQUEST => return Ok(Request::XvGetStill(xv::GetStillRequest::try_parse_request(header, remaining)?)),
3059 xv::STOP_VIDEO_REQUEST => return Ok(Request::XvStopVideo(xv::StopVideoRequest::try_parse_request(header, remaining)?)),
3060 xv::SELECT_VIDEO_NOTIFY_REQUEST => return Ok(Request::XvSelectVideoNotify(xv::SelectVideoNotifyRequest::try_parse_request(header, remaining)?)),
3061 xv::SELECT_PORT_NOTIFY_REQUEST => return Ok(Request::XvSelectPortNotify(xv::SelectPortNotifyRequest::try_parse_request(header, remaining)?)),
3062 xv::QUERY_BEST_SIZE_REQUEST => return Ok(Request::XvQueryBestSize(xv::QueryBestSizeRequest::try_parse_request(header, remaining)?)),
3063 xv::SET_PORT_ATTRIBUTE_REQUEST => return Ok(Request::XvSetPortAttribute(xv::SetPortAttributeRequest::try_parse_request(header, remaining)?)),
3064 xv::GET_PORT_ATTRIBUTE_REQUEST => return Ok(Request::XvGetPortAttribute(xv::GetPortAttributeRequest::try_parse_request(header, remaining)?)),
3065 xv::QUERY_PORT_ATTRIBUTES_REQUEST => return Ok(Request::XvQueryPortAttributes(xv::QueryPortAttributesRequest::try_parse_request(header, remaining)?)),
3066 xv::LIST_IMAGE_FORMATS_REQUEST => return Ok(Request::XvListImageFormats(xv::ListImageFormatsRequest::try_parse_request(header, remaining)?)),
3067 xv::QUERY_IMAGE_ATTRIBUTES_REQUEST => return Ok(Request::XvQueryImageAttributes(xv::QueryImageAttributesRequest::try_parse_request(header, remaining)?)),
3068 xv::PUT_IMAGE_REQUEST => return Ok(Request::XvPutImage(xv::PutImageRequest::try_parse_request(header, remaining)?)),
3069 xv::SHM_PUT_IMAGE_REQUEST => return Ok(Request::XvShmPutImage(xv::ShmPutImageRequest::try_parse_request(header, remaining)?)),
3070 _ => (),
3071 }
3072 }
3073 #[cfg(feature = "xvmc")]
3074 Some((xvmc::X11_EXTENSION_NAME, _)) => {
3075 match header.minor_opcode {
3076 xvmc::QUERY_VERSION_REQUEST => return Ok(Request::XvmcQueryVersion(xvmc::QueryVersionRequest::try_parse_request(header, remaining)?)),
3077 xvmc::LIST_SURFACE_TYPES_REQUEST => return Ok(Request::XvmcListSurfaceTypes(xvmc::ListSurfaceTypesRequest::try_parse_request(header, remaining)?)),
3078 xvmc::CREATE_CONTEXT_REQUEST => return Ok(Request::XvmcCreateContext(xvmc::CreateContextRequest::try_parse_request(header, remaining)?)),
3079 xvmc::DESTROY_CONTEXT_REQUEST => return Ok(Request::XvmcDestroyContext(xvmc::DestroyContextRequest::try_parse_request(header, remaining)?)),
3080 xvmc::CREATE_SURFACE_REQUEST => return Ok(Request::XvmcCreateSurface(xvmc::CreateSurfaceRequest::try_parse_request(header, remaining)?)),
3081 xvmc::DESTROY_SURFACE_REQUEST => return Ok(Request::XvmcDestroySurface(xvmc::DestroySurfaceRequest::try_parse_request(header, remaining)?)),
3082 xvmc::CREATE_SUBPICTURE_REQUEST => return Ok(Request::XvmcCreateSubpicture(xvmc::CreateSubpictureRequest::try_parse_request(header, remaining)?)),
3083 xvmc::DESTROY_SUBPICTURE_REQUEST => return Ok(Request::XvmcDestroySubpicture(xvmc::DestroySubpictureRequest::try_parse_request(header, remaining)?)),
3084 xvmc::LIST_SUBPICTURE_TYPES_REQUEST => return Ok(Request::XvmcListSubpictureTypes(xvmc::ListSubpictureTypesRequest::try_parse_request(header, remaining)?)),
3085 _ => (),
3086 }
3087 }
3088 _ => (),
3089 }
3090 Ok(Request::Unknown(header, Cow::Borrowed(remaining)))
3091 }
3092 /// Get the matching reply parser (if any) for this request.
3093 /// For `Request::Unknown`, `None` is also returned.
3094 pub fn reply_parser(&self) -> Option<ReplyParsingFunction> {
3095 match self {
3096 Request::Unknown(_, _) => None,
3097 Request::CreateWindow(_) => None,
3098 Request::ChangeWindowAttributes(_) => None,
3099 Request::GetWindowAttributes(_) => Some(parse_reply::<xproto::GetWindowAttributesRequest>),
3100 Request::DestroyWindow(_) => None,
3101 Request::DestroySubwindows(_) => None,
3102 Request::ChangeSaveSet(_) => None,
3103 Request::ReparentWindow(_) => None,
3104 Request::MapWindow(_) => None,
3105 Request::MapSubwindows(_) => None,
3106 Request::UnmapWindow(_) => None,
3107 Request::UnmapSubwindows(_) => None,
3108 Request::ConfigureWindow(_) => None,
3109 Request::CirculateWindow(_) => None,
3110 Request::GetGeometry(_) => Some(parse_reply::<xproto::GetGeometryRequest>),
3111 Request::QueryTree(_) => Some(parse_reply::<xproto::QueryTreeRequest>),
3112 Request::InternAtom(_) => Some(parse_reply::<xproto::InternAtomRequest<'_>>),
3113 Request::GetAtomName(_) => Some(parse_reply::<xproto::GetAtomNameRequest>),
3114 Request::ChangeProperty(_) => None,
3115 Request::DeleteProperty(_) => None,
3116 Request::GetProperty(_) => Some(parse_reply::<xproto::GetPropertyRequest>),
3117 Request::ListProperties(_) => Some(parse_reply::<xproto::ListPropertiesRequest>),
3118 Request::SetSelectionOwner(_) => None,
3119 Request::GetSelectionOwner(_) => Some(parse_reply::<xproto::GetSelectionOwnerRequest>),
3120 Request::ConvertSelection(_) => None,
3121 Request::SendEvent(_) => None,
3122 Request::GrabPointer(_) => Some(parse_reply::<xproto::GrabPointerRequest>),
3123 Request::UngrabPointer(_) => None,
3124 Request::GrabButton(_) => None,
3125 Request::UngrabButton(_) => None,
3126 Request::ChangeActivePointerGrab(_) => None,
3127 Request::GrabKeyboard(_) => Some(parse_reply::<xproto::GrabKeyboardRequest>),
3128 Request::UngrabKeyboard(_) => None,
3129 Request::GrabKey(_) => None,
3130 Request::UngrabKey(_) => None,
3131 Request::AllowEvents(_) => None,
3132 Request::GrabServer(_) => None,
3133 Request::UngrabServer(_) => None,
3134 Request::QueryPointer(_) => Some(parse_reply::<xproto::QueryPointerRequest>),
3135 Request::GetMotionEvents(_) => Some(parse_reply::<xproto::GetMotionEventsRequest>),
3136 Request::TranslateCoordinates(_) => Some(parse_reply::<xproto::TranslateCoordinatesRequest>),
3137 Request::WarpPointer(_) => None,
3138 Request::SetInputFocus(_) => None,
3139 Request::GetInputFocus(_) => Some(parse_reply::<xproto::GetInputFocusRequest>),
3140 Request::QueryKeymap(_) => Some(parse_reply::<xproto::QueryKeymapRequest>),
3141 Request::OpenFont(_) => None,
3142 Request::CloseFont(_) => None,
3143 Request::QueryFont(_) => Some(parse_reply::<xproto::QueryFontRequest>),
3144 Request::QueryTextExtents(_) => Some(parse_reply::<xproto::QueryTextExtentsRequest<'_>>),
3145 Request::ListFonts(_) => Some(parse_reply::<xproto::ListFontsRequest<'_>>),
3146 Request::ListFontsWithInfo(_) => Some(parse_reply::<xproto::ListFontsWithInfoRequest<'_>>),
3147 Request::SetFontPath(_) => None,
3148 Request::GetFontPath(_) => Some(parse_reply::<xproto::GetFontPathRequest>),
3149 Request::CreatePixmap(_) => None,
3150 Request::FreePixmap(_) => None,
3151 Request::CreateGC(_) => None,
3152 Request::ChangeGC(_) => None,
3153 Request::CopyGC(_) => None,
3154 Request::SetDashes(_) => None,
3155 Request::SetClipRectangles(_) => None,
3156 Request::FreeGC(_) => None,
3157 Request::ClearArea(_) => None,
3158 Request::CopyArea(_) => None,
3159 Request::CopyPlane(_) => None,
3160 Request::PolyPoint(_) => None,
3161 Request::PolyLine(_) => None,
3162 Request::PolySegment(_) => None,
3163 Request::PolyRectangle(_) => None,
3164 Request::PolyArc(_) => None,
3165 Request::FillPoly(_) => None,
3166 Request::PolyFillRectangle(_) => None,
3167 Request::PolyFillArc(_) => None,
3168 Request::PutImage(_) => None,
3169 Request::GetImage(_) => Some(parse_reply::<xproto::GetImageRequest>),
3170 Request::PolyText8(_) => None,
3171 Request::PolyText16(_) => None,
3172 Request::ImageText8(_) => None,
3173 Request::ImageText16(_) => None,
3174 Request::CreateColormap(_) => None,
3175 Request::FreeColormap(_) => None,
3176 Request::CopyColormapAndFree(_) => None,
3177 Request::InstallColormap(_) => None,
3178 Request::UninstallColormap(_) => None,
3179 Request::ListInstalledColormaps(_) => Some(parse_reply::<xproto::ListInstalledColormapsRequest>),
3180 Request::AllocColor(_) => Some(parse_reply::<xproto::AllocColorRequest>),
3181 Request::AllocNamedColor(_) => Some(parse_reply::<xproto::AllocNamedColorRequest<'_>>),
3182 Request::AllocColorCells(_) => Some(parse_reply::<xproto::AllocColorCellsRequest>),
3183 Request::AllocColorPlanes(_) => Some(parse_reply::<xproto::AllocColorPlanesRequest>),
3184 Request::FreeColors(_) => None,
3185 Request::StoreColors(_) => None,
3186 Request::StoreNamedColor(_) => None,
3187 Request::QueryColors(_) => Some(parse_reply::<xproto::QueryColorsRequest<'_>>),
3188 Request::LookupColor(_) => Some(parse_reply::<xproto::LookupColorRequest<'_>>),
3189 Request::CreateCursor(_) => None,
3190 Request::CreateGlyphCursor(_) => None,
3191 Request::FreeCursor(_) => None,
3192 Request::RecolorCursor(_) => None,
3193 Request::QueryBestSize(_) => Some(parse_reply::<xproto::QueryBestSizeRequest>),
3194 Request::QueryExtension(_) => Some(parse_reply::<xproto::QueryExtensionRequest<'_>>),
3195 Request::ListExtensions(_) => Some(parse_reply::<xproto::ListExtensionsRequest>),
3196 Request::ChangeKeyboardMapping(_) => None,
3197 Request::GetKeyboardMapping(_) => Some(parse_reply::<xproto::GetKeyboardMappingRequest>),
3198 Request::ChangeKeyboardControl(_) => None,
3199 Request::GetKeyboardControl(_) => Some(parse_reply::<xproto::GetKeyboardControlRequest>),
3200 Request::Bell(_) => None,
3201 Request::ChangePointerControl(_) => None,
3202 Request::GetPointerControl(_) => Some(parse_reply::<xproto::GetPointerControlRequest>),
3203 Request::SetScreenSaver(_) => None,
3204 Request::GetScreenSaver(_) => Some(parse_reply::<xproto::GetScreenSaverRequest>),
3205 Request::ChangeHosts(_) => None,
3206 Request::ListHosts(_) => Some(parse_reply::<xproto::ListHostsRequest>),
3207 Request::SetAccessControl(_) => None,
3208 Request::SetCloseDownMode(_) => None,
3209 Request::KillClient(_) => None,
3210 Request::RotateProperties(_) => None,
3211 Request::ForceScreenSaver(_) => None,
3212 Request::SetPointerMapping(_) => Some(parse_reply::<xproto::SetPointerMappingRequest<'_>>),
3213 Request::GetPointerMapping(_) => Some(parse_reply::<xproto::GetPointerMappingRequest>),
3214 Request::SetModifierMapping(_) => Some(parse_reply::<xproto::SetModifierMappingRequest<'_>>),
3215 Request::GetModifierMapping(_) => Some(parse_reply::<xproto::GetModifierMappingRequest>),
3216 Request::NoOperation(_) => None,
3217 Request::BigreqEnable(_) => Some(parse_reply::<bigreq::EnableRequest>),
3218 #[cfg(feature = "composite")]
3219 Request::CompositeQueryVersion(_) => Some(parse_reply::<composite::QueryVersionRequest>),
3220 #[cfg(feature = "composite")]
3221 Request::CompositeRedirectWindow(_) => None,
3222 #[cfg(feature = "composite")]
3223 Request::CompositeRedirectSubwindows(_) => None,
3224 #[cfg(feature = "composite")]
3225 Request::CompositeUnredirectWindow(_) => None,
3226 #[cfg(feature = "composite")]
3227 Request::CompositeUnredirectSubwindows(_) => None,
3228 #[cfg(feature = "composite")]
3229 Request::CompositeCreateRegionFromBorderClip(_) => None,
3230 #[cfg(feature = "composite")]
3231 Request::CompositeNameWindowPixmap(_) => None,
3232 #[cfg(feature = "composite")]
3233 Request::CompositeGetOverlayWindow(_) => Some(parse_reply::<composite::GetOverlayWindowRequest>),
3234 #[cfg(feature = "composite")]
3235 Request::CompositeReleaseOverlayWindow(_) => None,
3236 #[cfg(feature = "damage")]
3237 Request::DamageQueryVersion(_) => Some(parse_reply::<damage::QueryVersionRequest>),
3238 #[cfg(feature = "damage")]
3239 Request::DamageCreate(_) => None,
3240 #[cfg(feature = "damage")]
3241 Request::DamageDestroy(_) => None,
3242 #[cfg(feature = "damage")]
3243 Request::DamageSubtract(_) => None,
3244 #[cfg(feature = "damage")]
3245 Request::DamageAdd(_) => None,
3246 #[cfg(feature = "dbe")]
3247 Request::DbeQueryVersion(_) => Some(parse_reply::<dbe::QueryVersionRequest>),
3248 #[cfg(feature = "dbe")]
3249 Request::DbeAllocateBackBuffer(_) => None,
3250 #[cfg(feature = "dbe")]
3251 Request::DbeDeallocateBackBuffer(_) => None,
3252 #[cfg(feature = "dbe")]
3253 Request::DbeSwapBuffers(_) => None,
3254 #[cfg(feature = "dbe")]
3255 Request::DbeBeginIdiom(_) => None,
3256 #[cfg(feature = "dbe")]
3257 Request::DbeEndIdiom(_) => None,
3258 #[cfg(feature = "dbe")]
3259 Request::DbeGetVisualInfo(_) => Some(parse_reply::<dbe::GetVisualInfoRequest<'_>>),
3260 #[cfg(feature = "dbe")]
3261 Request::DbeGetBackBufferAttributes(_) => Some(parse_reply::<dbe::GetBackBufferAttributesRequest>),
3262 #[cfg(feature = "dpms")]
3263 Request::DpmsGetVersion(_) => Some(parse_reply::<dpms::GetVersionRequest>),
3264 #[cfg(feature = "dpms")]
3265 Request::DpmsCapable(_) => Some(parse_reply::<dpms::CapableRequest>),
3266 #[cfg(feature = "dpms")]
3267 Request::DpmsGetTimeouts(_) => Some(parse_reply::<dpms::GetTimeoutsRequest>),
3268 #[cfg(feature = "dpms")]
3269 Request::DpmsSetTimeouts(_) => None,
3270 #[cfg(feature = "dpms")]
3271 Request::DpmsEnable(_) => None,
3272 #[cfg(feature = "dpms")]
3273 Request::DpmsDisable(_) => None,
3274 #[cfg(feature = "dpms")]
3275 Request::DpmsForceLevel(_) => None,
3276 #[cfg(feature = "dpms")]
3277 Request::DpmsInfo(_) => Some(parse_reply::<dpms::InfoRequest>),
3278 #[cfg(feature = "dpms")]
3279 Request::DpmsSelectInput(_) => None,
3280 #[cfg(feature = "dri2")]
3281 Request::Dri2QueryVersion(_) => Some(parse_reply::<dri2::QueryVersionRequest>),
3282 #[cfg(feature = "dri2")]
3283 Request::Dri2Connect(_) => Some(parse_reply::<dri2::ConnectRequest>),
3284 #[cfg(feature = "dri2")]
3285 Request::Dri2Authenticate(_) => Some(parse_reply::<dri2::AuthenticateRequest>),
3286 #[cfg(feature = "dri2")]
3287 Request::Dri2CreateDrawable(_) => None,
3288 #[cfg(feature = "dri2")]
3289 Request::Dri2DestroyDrawable(_) => None,
3290 #[cfg(feature = "dri2")]
3291 Request::Dri2GetBuffers(_) => Some(parse_reply::<dri2::GetBuffersRequest<'_>>),
3292 #[cfg(feature = "dri2")]
3293 Request::Dri2CopyRegion(_) => Some(parse_reply::<dri2::CopyRegionRequest>),
3294 #[cfg(feature = "dri2")]
3295 Request::Dri2GetBuffersWithFormat(_) => Some(parse_reply::<dri2::GetBuffersWithFormatRequest<'_>>),
3296 #[cfg(feature = "dri2")]
3297 Request::Dri2SwapBuffers(_) => Some(parse_reply::<dri2::SwapBuffersRequest>),
3298 #[cfg(feature = "dri2")]
3299 Request::Dri2GetMSC(_) => Some(parse_reply::<dri2::GetMSCRequest>),
3300 #[cfg(feature = "dri2")]
3301 Request::Dri2WaitMSC(_) => Some(parse_reply::<dri2::WaitMSCRequest>),
3302 #[cfg(feature = "dri2")]
3303 Request::Dri2WaitSBC(_) => Some(parse_reply::<dri2::WaitSBCRequest>),
3304 #[cfg(feature = "dri2")]
3305 Request::Dri2SwapInterval(_) => None,
3306 #[cfg(feature = "dri2")]
3307 Request::Dri2GetParam(_) => Some(parse_reply::<dri2::GetParamRequest>),
3308 #[cfg(feature = "dri3")]
3309 Request::Dri3QueryVersion(_) => Some(parse_reply::<dri3::QueryVersionRequest>),
3310 #[cfg(feature = "dri3")]
3311 Request::Dri3Open(_) => Some(parse_reply_fds::<dri3::OpenRequest>),
3312 #[cfg(feature = "dri3")]
3313 Request::Dri3PixmapFromBuffer(_) => None,
3314 #[cfg(feature = "dri3")]
3315 Request::Dri3BufferFromPixmap(_) => Some(parse_reply_fds::<dri3::BufferFromPixmapRequest>),
3316 #[cfg(feature = "dri3")]
3317 Request::Dri3FenceFromFD(_) => None,
3318 #[cfg(feature = "dri3")]
3319 Request::Dri3FDFromFence(_) => Some(parse_reply_fds::<dri3::FDFromFenceRequest>),
3320 #[cfg(feature = "dri3")]
3321 Request::Dri3GetSupportedModifiers(_) => Some(parse_reply::<dri3::GetSupportedModifiersRequest>),
3322 #[cfg(feature = "dri3")]
3323 Request::Dri3PixmapFromBuffers(_) => None,
3324 #[cfg(feature = "dri3")]
3325 Request::Dri3BuffersFromPixmap(_) => Some(parse_reply_fds::<dri3::BuffersFromPixmapRequest>),
3326 #[cfg(feature = "dri3")]
3327 Request::Dri3SetDRMDeviceInUse(_) => None,
3328 Request::GeQueryVersion(_) => Some(parse_reply::<ge::QueryVersionRequest>),
3329 #[cfg(feature = "glx")]
3330 Request::GlxRender(_) => None,
3331 #[cfg(feature = "glx")]
3332 Request::GlxRenderLarge(_) => None,
3333 #[cfg(feature = "glx")]
3334 Request::GlxCreateContext(_) => None,
3335 #[cfg(feature = "glx")]
3336 Request::GlxDestroyContext(_) => None,
3337 #[cfg(feature = "glx")]
3338 Request::GlxMakeCurrent(_) => Some(parse_reply::<glx::MakeCurrentRequest>),
3339 #[cfg(feature = "glx")]
3340 Request::GlxIsDirect(_) => Some(parse_reply::<glx::IsDirectRequest>),
3341 #[cfg(feature = "glx")]
3342 Request::GlxQueryVersion(_) => Some(parse_reply::<glx::QueryVersionRequest>),
3343 #[cfg(feature = "glx")]
3344 Request::GlxWaitGL(_) => None,
3345 #[cfg(feature = "glx")]
3346 Request::GlxWaitX(_) => None,
3347 #[cfg(feature = "glx")]
3348 Request::GlxCopyContext(_) => None,
3349 #[cfg(feature = "glx")]
3350 Request::GlxSwapBuffers(_) => None,
3351 #[cfg(feature = "glx")]
3352 Request::GlxUseXFont(_) => None,
3353 #[cfg(feature = "glx")]
3354 Request::GlxCreateGLXPixmap(_) => None,
3355 #[cfg(feature = "glx")]
3356 Request::GlxGetVisualConfigs(_) => Some(parse_reply::<glx::GetVisualConfigsRequest>),
3357 #[cfg(feature = "glx")]
3358 Request::GlxDestroyGLXPixmap(_) => None,
3359 #[cfg(feature = "glx")]
3360 Request::GlxVendorPrivate(_) => None,
3361 #[cfg(feature = "glx")]
3362 Request::GlxVendorPrivateWithReply(_) => Some(parse_reply::<glx::VendorPrivateWithReplyRequest<'_>>),
3363 #[cfg(feature = "glx")]
3364 Request::GlxQueryExtensionsString(_) => Some(parse_reply::<glx::QueryExtensionsStringRequest>),
3365 #[cfg(feature = "glx")]
3366 Request::GlxQueryServerString(_) => Some(parse_reply::<glx::QueryServerStringRequest>),
3367 #[cfg(feature = "glx")]
3368 Request::GlxClientInfo(_) => None,
3369 #[cfg(feature = "glx")]
3370 Request::GlxGetFBConfigs(_) => Some(parse_reply::<glx::GetFBConfigsRequest>),
3371 #[cfg(feature = "glx")]
3372 Request::GlxCreatePixmap(_) => None,
3373 #[cfg(feature = "glx")]
3374 Request::GlxDestroyPixmap(_) => None,
3375 #[cfg(feature = "glx")]
3376 Request::GlxCreateNewContext(_) => None,
3377 #[cfg(feature = "glx")]
3378 Request::GlxQueryContext(_) => Some(parse_reply::<glx::QueryContextRequest>),
3379 #[cfg(feature = "glx")]
3380 Request::GlxMakeContextCurrent(_) => Some(parse_reply::<glx::MakeContextCurrentRequest>),
3381 #[cfg(feature = "glx")]
3382 Request::GlxCreatePbuffer(_) => None,
3383 #[cfg(feature = "glx")]
3384 Request::GlxDestroyPbuffer(_) => None,
3385 #[cfg(feature = "glx")]
3386 Request::GlxGetDrawableAttributes(_) => Some(parse_reply::<glx::GetDrawableAttributesRequest>),
3387 #[cfg(feature = "glx")]
3388 Request::GlxChangeDrawableAttributes(_) => None,
3389 #[cfg(feature = "glx")]
3390 Request::GlxCreateWindow(_) => None,
3391 #[cfg(feature = "glx")]
3392 Request::GlxDeleteWindow(_) => None,
3393 #[cfg(feature = "glx")]
3394 Request::GlxSetClientInfoARB(_) => None,
3395 #[cfg(feature = "glx")]
3396 Request::GlxCreateContextAttribsARB(_) => None,
3397 #[cfg(feature = "glx")]
3398 Request::GlxSetClientInfo2ARB(_) => None,
3399 #[cfg(feature = "glx")]
3400 Request::GlxNewList(_) => None,
3401 #[cfg(feature = "glx")]
3402 Request::GlxEndList(_) => None,
3403 #[cfg(feature = "glx")]
3404 Request::GlxDeleteLists(_) => None,
3405 #[cfg(feature = "glx")]
3406 Request::GlxGenLists(_) => Some(parse_reply::<glx::GenListsRequest>),
3407 #[cfg(feature = "glx")]
3408 Request::GlxFeedbackBuffer(_) => None,
3409 #[cfg(feature = "glx")]
3410 Request::GlxSelectBuffer(_) => None,
3411 #[cfg(feature = "glx")]
3412 Request::GlxRenderMode(_) => Some(parse_reply::<glx::RenderModeRequest>),
3413 #[cfg(feature = "glx")]
3414 Request::GlxFinish(_) => Some(parse_reply::<glx::FinishRequest>),
3415 #[cfg(feature = "glx")]
3416 Request::GlxPixelStoref(_) => None,
3417 #[cfg(feature = "glx")]
3418 Request::GlxPixelStorei(_) => None,
3419 #[cfg(feature = "glx")]
3420 Request::GlxReadPixels(_) => Some(parse_reply::<glx::ReadPixelsRequest>),
3421 #[cfg(feature = "glx")]
3422 Request::GlxGetBooleanv(_) => Some(parse_reply::<glx::GetBooleanvRequest>),
3423 #[cfg(feature = "glx")]
3424 Request::GlxGetClipPlane(_) => Some(parse_reply::<glx::GetClipPlaneRequest>),
3425 #[cfg(feature = "glx")]
3426 Request::GlxGetDoublev(_) => Some(parse_reply::<glx::GetDoublevRequest>),
3427 #[cfg(feature = "glx")]
3428 Request::GlxGetError(_) => Some(parse_reply::<glx::GetErrorRequest>),
3429 #[cfg(feature = "glx")]
3430 Request::GlxGetFloatv(_) => Some(parse_reply::<glx::GetFloatvRequest>),
3431 #[cfg(feature = "glx")]
3432 Request::GlxGetIntegerv(_) => Some(parse_reply::<glx::GetIntegervRequest>),
3433 #[cfg(feature = "glx")]
3434 Request::GlxGetLightfv(_) => Some(parse_reply::<glx::GetLightfvRequest>),
3435 #[cfg(feature = "glx")]
3436 Request::GlxGetLightiv(_) => Some(parse_reply::<glx::GetLightivRequest>),
3437 #[cfg(feature = "glx")]
3438 Request::GlxGetMapdv(_) => Some(parse_reply::<glx::GetMapdvRequest>),
3439 #[cfg(feature = "glx")]
3440 Request::GlxGetMapfv(_) => Some(parse_reply::<glx::GetMapfvRequest>),
3441 #[cfg(feature = "glx")]
3442 Request::GlxGetMapiv(_) => Some(parse_reply::<glx::GetMapivRequest>),
3443 #[cfg(feature = "glx")]
3444 Request::GlxGetMaterialfv(_) => Some(parse_reply::<glx::GetMaterialfvRequest>),
3445 #[cfg(feature = "glx")]
3446 Request::GlxGetMaterialiv(_) => Some(parse_reply::<glx::GetMaterialivRequest>),
3447 #[cfg(feature = "glx")]
3448 Request::GlxGetPixelMapfv(_) => Some(parse_reply::<glx::GetPixelMapfvRequest>),
3449 #[cfg(feature = "glx")]
3450 Request::GlxGetPixelMapuiv(_) => Some(parse_reply::<glx::GetPixelMapuivRequest>),
3451 #[cfg(feature = "glx")]
3452 Request::GlxGetPixelMapusv(_) => Some(parse_reply::<glx::GetPixelMapusvRequest>),
3453 #[cfg(feature = "glx")]
3454 Request::GlxGetPolygonStipple(_) => Some(parse_reply::<glx::GetPolygonStippleRequest>),
3455 #[cfg(feature = "glx")]
3456 Request::GlxGetString(_) => Some(parse_reply::<glx::GetStringRequest>),
3457 #[cfg(feature = "glx")]
3458 Request::GlxGetTexEnvfv(_) => Some(parse_reply::<glx::GetTexEnvfvRequest>),
3459 #[cfg(feature = "glx")]
3460 Request::GlxGetTexEnviv(_) => Some(parse_reply::<glx::GetTexEnvivRequest>),
3461 #[cfg(feature = "glx")]
3462 Request::GlxGetTexGendv(_) => Some(parse_reply::<glx::GetTexGendvRequest>),
3463 #[cfg(feature = "glx")]
3464 Request::GlxGetTexGenfv(_) => Some(parse_reply::<glx::GetTexGenfvRequest>),
3465 #[cfg(feature = "glx")]
3466 Request::GlxGetTexGeniv(_) => Some(parse_reply::<glx::GetTexGenivRequest>),
3467 #[cfg(feature = "glx")]
3468 Request::GlxGetTexImage(_) => Some(parse_reply::<glx::GetTexImageRequest>),
3469 #[cfg(feature = "glx")]
3470 Request::GlxGetTexParameterfv(_) => Some(parse_reply::<glx::GetTexParameterfvRequest>),
3471 #[cfg(feature = "glx")]
3472 Request::GlxGetTexParameteriv(_) => Some(parse_reply::<glx::GetTexParameterivRequest>),
3473 #[cfg(feature = "glx")]
3474 Request::GlxGetTexLevelParameterfv(_) => Some(parse_reply::<glx::GetTexLevelParameterfvRequest>),
3475 #[cfg(feature = "glx")]
3476 Request::GlxGetTexLevelParameteriv(_) => Some(parse_reply::<glx::GetTexLevelParameterivRequest>),
3477 #[cfg(feature = "glx")]
3478 Request::GlxIsEnabled(_) => Some(parse_reply::<glx::IsEnabledRequest>),
3479 #[cfg(feature = "glx")]
3480 Request::GlxIsList(_) => Some(parse_reply::<glx::IsListRequest>),
3481 #[cfg(feature = "glx")]
3482 Request::GlxFlush(_) => None,
3483 #[cfg(feature = "glx")]
3484 Request::GlxAreTexturesResident(_) => Some(parse_reply::<glx::AreTexturesResidentRequest<'_>>),
3485 #[cfg(feature = "glx")]
3486 Request::GlxDeleteTextures(_) => None,
3487 #[cfg(feature = "glx")]
3488 Request::GlxGenTextures(_) => Some(parse_reply::<glx::GenTexturesRequest>),
3489 #[cfg(feature = "glx")]
3490 Request::GlxIsTexture(_) => Some(parse_reply::<glx::IsTextureRequest>),
3491 #[cfg(feature = "glx")]
3492 Request::GlxGetColorTable(_) => Some(parse_reply::<glx::GetColorTableRequest>),
3493 #[cfg(feature = "glx")]
3494 Request::GlxGetColorTableParameterfv(_) => Some(parse_reply::<glx::GetColorTableParameterfvRequest>),
3495 #[cfg(feature = "glx")]
3496 Request::GlxGetColorTableParameteriv(_) => Some(parse_reply::<glx::GetColorTableParameterivRequest>),
3497 #[cfg(feature = "glx")]
3498 Request::GlxGetConvolutionFilter(_) => Some(parse_reply::<glx::GetConvolutionFilterRequest>),
3499 #[cfg(feature = "glx")]
3500 Request::GlxGetConvolutionParameterfv(_) => Some(parse_reply::<glx::GetConvolutionParameterfvRequest>),
3501 #[cfg(feature = "glx")]
3502 Request::GlxGetConvolutionParameteriv(_) => Some(parse_reply::<glx::GetConvolutionParameterivRequest>),
3503 #[cfg(feature = "glx")]
3504 Request::GlxGetSeparableFilter(_) => Some(parse_reply::<glx::GetSeparableFilterRequest>),
3505 #[cfg(feature = "glx")]
3506 Request::GlxGetHistogram(_) => Some(parse_reply::<glx::GetHistogramRequest>),
3507 #[cfg(feature = "glx")]
3508 Request::GlxGetHistogramParameterfv(_) => Some(parse_reply::<glx::GetHistogramParameterfvRequest>),
3509 #[cfg(feature = "glx")]
3510 Request::GlxGetHistogramParameteriv(_) => Some(parse_reply::<glx::GetHistogramParameterivRequest>),
3511 #[cfg(feature = "glx")]
3512 Request::GlxGetMinmax(_) => Some(parse_reply::<glx::GetMinmaxRequest>),
3513 #[cfg(feature = "glx")]
3514 Request::GlxGetMinmaxParameterfv(_) => Some(parse_reply::<glx::GetMinmaxParameterfvRequest>),
3515 #[cfg(feature = "glx")]
3516 Request::GlxGetMinmaxParameteriv(_) => Some(parse_reply::<glx::GetMinmaxParameterivRequest>),
3517 #[cfg(feature = "glx")]
3518 Request::GlxGetCompressedTexImageARB(_) => Some(parse_reply::<glx::GetCompressedTexImageARBRequest>),
3519 #[cfg(feature = "glx")]
3520 Request::GlxDeleteQueriesARB(_) => None,
3521 #[cfg(feature = "glx")]
3522 Request::GlxGenQueriesARB(_) => Some(parse_reply::<glx::GenQueriesARBRequest>),
3523 #[cfg(feature = "glx")]
3524 Request::GlxIsQueryARB(_) => Some(parse_reply::<glx::IsQueryARBRequest>),
3525 #[cfg(feature = "glx")]
3526 Request::GlxGetQueryivARB(_) => Some(parse_reply::<glx::GetQueryivARBRequest>),
3527 #[cfg(feature = "glx")]
3528 Request::GlxGetQueryObjectivARB(_) => Some(parse_reply::<glx::GetQueryObjectivARBRequest>),
3529 #[cfg(feature = "glx")]
3530 Request::GlxGetQueryObjectuivARB(_) => Some(parse_reply::<glx::GetQueryObjectuivARBRequest>),
3531 #[cfg(feature = "present")]
3532 Request::PresentQueryVersion(_) => Some(parse_reply::<present::QueryVersionRequest>),
3533 #[cfg(feature = "present")]
3534 Request::PresentPixmap(_) => None,
3535 #[cfg(feature = "present")]
3536 Request::PresentNotifyMSC(_) => None,
3537 #[cfg(feature = "present")]
3538 Request::PresentSelectInput(_) => None,
3539 #[cfg(feature = "present")]
3540 Request::PresentQueryCapabilities(_) => Some(parse_reply::<present::QueryCapabilitiesRequest>),
3541 #[cfg(feature = "randr")]
3542 Request::RandrQueryVersion(_) => Some(parse_reply::<randr::QueryVersionRequest>),
3543 #[cfg(feature = "randr")]
3544 Request::RandrSetScreenConfig(_) => Some(parse_reply::<randr::SetScreenConfigRequest>),
3545 #[cfg(feature = "randr")]
3546 Request::RandrSelectInput(_) => None,
3547 #[cfg(feature = "randr")]
3548 Request::RandrGetScreenInfo(_) => Some(parse_reply::<randr::GetScreenInfoRequest>),
3549 #[cfg(feature = "randr")]
3550 Request::RandrGetScreenSizeRange(_) => Some(parse_reply::<randr::GetScreenSizeRangeRequest>),
3551 #[cfg(feature = "randr")]
3552 Request::RandrSetScreenSize(_) => None,
3553 #[cfg(feature = "randr")]
3554 Request::RandrGetScreenResources(_) => Some(parse_reply::<randr::GetScreenResourcesRequest>),
3555 #[cfg(feature = "randr")]
3556 Request::RandrGetOutputInfo(_) => Some(parse_reply::<randr::GetOutputInfoRequest>),
3557 #[cfg(feature = "randr")]
3558 Request::RandrListOutputProperties(_) => Some(parse_reply::<randr::ListOutputPropertiesRequest>),
3559 #[cfg(feature = "randr")]
3560 Request::RandrQueryOutputProperty(_) => Some(parse_reply::<randr::QueryOutputPropertyRequest>),
3561 #[cfg(feature = "randr")]
3562 Request::RandrConfigureOutputProperty(_) => None,
3563 #[cfg(feature = "randr")]
3564 Request::RandrChangeOutputProperty(_) => None,
3565 #[cfg(feature = "randr")]
3566 Request::RandrDeleteOutputProperty(_) => None,
3567 #[cfg(feature = "randr")]
3568 Request::RandrGetOutputProperty(_) => Some(parse_reply::<randr::GetOutputPropertyRequest>),
3569 #[cfg(feature = "randr")]
3570 Request::RandrCreateMode(_) => Some(parse_reply::<randr::CreateModeRequest<'_>>),
3571 #[cfg(feature = "randr")]
3572 Request::RandrDestroyMode(_) => None,
3573 #[cfg(feature = "randr")]
3574 Request::RandrAddOutputMode(_) => None,
3575 #[cfg(feature = "randr")]
3576 Request::RandrDeleteOutputMode(_) => None,
3577 #[cfg(feature = "randr")]
3578 Request::RandrGetCrtcInfo(_) => Some(parse_reply::<randr::GetCrtcInfoRequest>),
3579 #[cfg(feature = "randr")]
3580 Request::RandrSetCrtcConfig(_) => Some(parse_reply::<randr::SetCrtcConfigRequest<'_>>),
3581 #[cfg(feature = "randr")]
3582 Request::RandrGetCrtcGammaSize(_) => Some(parse_reply::<randr::GetCrtcGammaSizeRequest>),
3583 #[cfg(feature = "randr")]
3584 Request::RandrGetCrtcGamma(_) => Some(parse_reply::<randr::GetCrtcGammaRequest>),
3585 #[cfg(feature = "randr")]
3586 Request::RandrSetCrtcGamma(_) => None,
3587 #[cfg(feature = "randr")]
3588 Request::RandrGetScreenResourcesCurrent(_) => Some(parse_reply::<randr::GetScreenResourcesCurrentRequest>),
3589 #[cfg(feature = "randr")]
3590 Request::RandrSetCrtcTransform(_) => None,
3591 #[cfg(feature = "randr")]
3592 Request::RandrGetCrtcTransform(_) => Some(parse_reply::<randr::GetCrtcTransformRequest>),
3593 #[cfg(feature = "randr")]
3594 Request::RandrGetPanning(_) => Some(parse_reply::<randr::GetPanningRequest>),
3595 #[cfg(feature = "randr")]
3596 Request::RandrSetPanning(_) => Some(parse_reply::<randr::SetPanningRequest>),
3597 #[cfg(feature = "randr")]
3598 Request::RandrSetOutputPrimary(_) => None,
3599 #[cfg(feature = "randr")]
3600 Request::RandrGetOutputPrimary(_) => Some(parse_reply::<randr::GetOutputPrimaryRequest>),
3601 #[cfg(feature = "randr")]
3602 Request::RandrGetProviders(_) => Some(parse_reply::<randr::GetProvidersRequest>),
3603 #[cfg(feature = "randr")]
3604 Request::RandrGetProviderInfo(_) => Some(parse_reply::<randr::GetProviderInfoRequest>),
3605 #[cfg(feature = "randr")]
3606 Request::RandrSetProviderOffloadSink(_) => None,
3607 #[cfg(feature = "randr")]
3608 Request::RandrSetProviderOutputSource(_) => None,
3609 #[cfg(feature = "randr")]
3610 Request::RandrListProviderProperties(_) => Some(parse_reply::<randr::ListProviderPropertiesRequest>),
3611 #[cfg(feature = "randr")]
3612 Request::RandrQueryProviderProperty(_) => Some(parse_reply::<randr::QueryProviderPropertyRequest>),
3613 #[cfg(feature = "randr")]
3614 Request::RandrConfigureProviderProperty(_) => None,
3615 #[cfg(feature = "randr")]
3616 Request::RandrChangeProviderProperty(_) => None,
3617 #[cfg(feature = "randr")]
3618 Request::RandrDeleteProviderProperty(_) => None,
3619 #[cfg(feature = "randr")]
3620 Request::RandrGetProviderProperty(_) => Some(parse_reply::<randr::GetProviderPropertyRequest>),
3621 #[cfg(feature = "randr")]
3622 Request::RandrGetMonitors(_) => Some(parse_reply::<randr::GetMonitorsRequest>),
3623 #[cfg(feature = "randr")]
3624 Request::RandrSetMonitor(_) => None,
3625 #[cfg(feature = "randr")]
3626 Request::RandrDeleteMonitor(_) => None,
3627 #[cfg(feature = "randr")]
3628 Request::RandrCreateLease(_) => Some(parse_reply_fds::<randr::CreateLeaseRequest<'_>>),
3629 #[cfg(feature = "randr")]
3630 Request::RandrFreeLease(_) => None,
3631 #[cfg(feature = "record")]
3632 Request::RecordQueryVersion(_) => Some(parse_reply::<record::QueryVersionRequest>),
3633 #[cfg(feature = "record")]
3634 Request::RecordCreateContext(_) => None,
3635 #[cfg(feature = "record")]
3636 Request::RecordRegisterClients(_) => None,
3637 #[cfg(feature = "record")]
3638 Request::RecordUnregisterClients(_) => None,
3639 #[cfg(feature = "record")]
3640 Request::RecordGetContext(_) => Some(parse_reply::<record::GetContextRequest>),
3641 #[cfg(feature = "record")]
3642 Request::RecordEnableContext(_) => Some(parse_reply::<record::EnableContextRequest>),
3643 #[cfg(feature = "record")]
3644 Request::RecordDisableContext(_) => None,
3645 #[cfg(feature = "record")]
3646 Request::RecordFreeContext(_) => None,
3647 #[cfg(feature = "render")]
3648 Request::RenderQueryVersion(_) => Some(parse_reply::<render::QueryVersionRequest>),
3649 #[cfg(feature = "render")]
3650 Request::RenderQueryPictFormats(_) => Some(parse_reply::<render::QueryPictFormatsRequest>),
3651 #[cfg(feature = "render")]
3652 Request::RenderQueryPictIndexValues(_) => Some(parse_reply::<render::QueryPictIndexValuesRequest>),
3653 #[cfg(feature = "render")]
3654 Request::RenderCreatePicture(_) => None,
3655 #[cfg(feature = "render")]
3656 Request::RenderChangePicture(_) => None,
3657 #[cfg(feature = "render")]
3658 Request::RenderSetPictureClipRectangles(_) => None,
3659 #[cfg(feature = "render")]
3660 Request::RenderFreePicture(_) => None,
3661 #[cfg(feature = "render")]
3662 Request::RenderComposite(_) => None,
3663 #[cfg(feature = "render")]
3664 Request::RenderTrapezoids(_) => None,
3665 #[cfg(feature = "render")]
3666 Request::RenderTriangles(_) => None,
3667 #[cfg(feature = "render")]
3668 Request::RenderTriStrip(_) => None,
3669 #[cfg(feature = "render")]
3670 Request::RenderTriFan(_) => None,
3671 #[cfg(feature = "render")]
3672 Request::RenderCreateGlyphSet(_) => None,
3673 #[cfg(feature = "render")]
3674 Request::RenderReferenceGlyphSet(_) => None,
3675 #[cfg(feature = "render")]
3676 Request::RenderFreeGlyphSet(_) => None,
3677 #[cfg(feature = "render")]
3678 Request::RenderAddGlyphs(_) => None,
3679 #[cfg(feature = "render")]
3680 Request::RenderFreeGlyphs(_) => None,
3681 #[cfg(feature = "render")]
3682 Request::RenderCompositeGlyphs8(_) => None,
3683 #[cfg(feature = "render")]
3684 Request::RenderCompositeGlyphs16(_) => None,
3685 #[cfg(feature = "render")]
3686 Request::RenderCompositeGlyphs32(_) => None,
3687 #[cfg(feature = "render")]
3688 Request::RenderFillRectangles(_) => None,
3689 #[cfg(feature = "render")]
3690 Request::RenderCreateCursor(_) => None,
3691 #[cfg(feature = "render")]
3692 Request::RenderSetPictureTransform(_) => None,
3693 #[cfg(feature = "render")]
3694 Request::RenderQueryFilters(_) => Some(parse_reply::<render::QueryFiltersRequest>),
3695 #[cfg(feature = "render")]
3696 Request::RenderSetPictureFilter(_) => None,
3697 #[cfg(feature = "render")]
3698 Request::RenderCreateAnimCursor(_) => None,
3699 #[cfg(feature = "render")]
3700 Request::RenderAddTraps(_) => None,
3701 #[cfg(feature = "render")]
3702 Request::RenderCreateSolidFill(_) => None,
3703 #[cfg(feature = "render")]
3704 Request::RenderCreateLinearGradient(_) => None,
3705 #[cfg(feature = "render")]
3706 Request::RenderCreateRadialGradient(_) => None,
3707 #[cfg(feature = "render")]
3708 Request::RenderCreateConicalGradient(_) => None,
3709 #[cfg(feature = "res")]
3710 Request::ResQueryVersion(_) => Some(parse_reply::<res::QueryVersionRequest>),
3711 #[cfg(feature = "res")]
3712 Request::ResQueryClients(_) => Some(parse_reply::<res::QueryClientsRequest>),
3713 #[cfg(feature = "res")]
3714 Request::ResQueryClientResources(_) => Some(parse_reply::<res::QueryClientResourcesRequest>),
3715 #[cfg(feature = "res")]
3716 Request::ResQueryClientPixmapBytes(_) => Some(parse_reply::<res::QueryClientPixmapBytesRequest>),
3717 #[cfg(feature = "res")]
3718 Request::ResQueryClientIds(_) => Some(parse_reply::<res::QueryClientIdsRequest<'_>>),
3719 #[cfg(feature = "res")]
3720 Request::ResQueryResourceBytes(_) => Some(parse_reply::<res::QueryResourceBytesRequest<'_>>),
3721 #[cfg(feature = "screensaver")]
3722 Request::ScreensaverQueryVersion(_) => Some(parse_reply::<screensaver::QueryVersionRequest>),
3723 #[cfg(feature = "screensaver")]
3724 Request::ScreensaverQueryInfo(_) => Some(parse_reply::<screensaver::QueryInfoRequest>),
3725 #[cfg(feature = "screensaver")]
3726 Request::ScreensaverSelectInput(_) => None,
3727 #[cfg(feature = "screensaver")]
3728 Request::ScreensaverSetAttributes(_) => None,
3729 #[cfg(feature = "screensaver")]
3730 Request::ScreensaverUnsetAttributes(_) => None,
3731 #[cfg(feature = "screensaver")]
3732 Request::ScreensaverSuspend(_) => None,
3733 #[cfg(feature = "shape")]
3734 Request::ShapeQueryVersion(_) => Some(parse_reply::<shape::QueryVersionRequest>),
3735 #[cfg(feature = "shape")]
3736 Request::ShapeRectangles(_) => None,
3737 #[cfg(feature = "shape")]
3738 Request::ShapeMask(_) => None,
3739 #[cfg(feature = "shape")]
3740 Request::ShapeCombine(_) => None,
3741 #[cfg(feature = "shape")]
3742 Request::ShapeOffset(_) => None,
3743 #[cfg(feature = "shape")]
3744 Request::ShapeQueryExtents(_) => Some(parse_reply::<shape::QueryExtentsRequest>),
3745 #[cfg(feature = "shape")]
3746 Request::ShapeSelectInput(_) => None,
3747 #[cfg(feature = "shape")]
3748 Request::ShapeInputSelected(_) => Some(parse_reply::<shape::InputSelectedRequest>),
3749 #[cfg(feature = "shape")]
3750 Request::ShapeGetRectangles(_) => Some(parse_reply::<shape::GetRectanglesRequest>),
3751 #[cfg(feature = "shm")]
3752 Request::ShmQueryVersion(_) => Some(parse_reply::<shm::QueryVersionRequest>),
3753 #[cfg(feature = "shm")]
3754 Request::ShmAttach(_) => None,
3755 #[cfg(feature = "shm")]
3756 Request::ShmDetach(_) => None,
3757 #[cfg(feature = "shm")]
3758 Request::ShmPutImage(_) => None,
3759 #[cfg(feature = "shm")]
3760 Request::ShmGetImage(_) => Some(parse_reply::<shm::GetImageRequest>),
3761 #[cfg(feature = "shm")]
3762 Request::ShmCreatePixmap(_) => None,
3763 #[cfg(feature = "shm")]
3764 Request::ShmAttachFd(_) => None,
3765 #[cfg(feature = "shm")]
3766 Request::ShmCreateSegment(_) => Some(parse_reply_fds::<shm::CreateSegmentRequest>),
3767 #[cfg(feature = "sync")]
3768 Request::SyncInitialize(_) => Some(parse_reply::<sync::InitializeRequest>),
3769 #[cfg(feature = "sync")]
3770 Request::SyncListSystemCounters(_) => Some(parse_reply::<sync::ListSystemCountersRequest>),
3771 #[cfg(feature = "sync")]
3772 Request::SyncCreateCounter(_) => None,
3773 #[cfg(feature = "sync")]
3774 Request::SyncDestroyCounter(_) => None,
3775 #[cfg(feature = "sync")]
3776 Request::SyncQueryCounter(_) => Some(parse_reply::<sync::QueryCounterRequest>),
3777 #[cfg(feature = "sync")]
3778 Request::SyncAwait(_) => None,
3779 #[cfg(feature = "sync")]
3780 Request::SyncChangeCounter(_) => None,
3781 #[cfg(feature = "sync")]
3782 Request::SyncSetCounter(_) => None,
3783 #[cfg(feature = "sync")]
3784 Request::SyncCreateAlarm(_) => None,
3785 #[cfg(feature = "sync")]
3786 Request::SyncChangeAlarm(_) => None,
3787 #[cfg(feature = "sync")]
3788 Request::SyncDestroyAlarm(_) => None,
3789 #[cfg(feature = "sync")]
3790 Request::SyncQueryAlarm(_) => Some(parse_reply::<sync::QueryAlarmRequest>),
3791 #[cfg(feature = "sync")]
3792 Request::SyncSetPriority(_) => None,
3793 #[cfg(feature = "sync")]
3794 Request::SyncGetPriority(_) => Some(parse_reply::<sync::GetPriorityRequest>),
3795 #[cfg(feature = "sync")]
3796 Request::SyncCreateFence(_) => None,
3797 #[cfg(feature = "sync")]
3798 Request::SyncTriggerFence(_) => None,
3799 #[cfg(feature = "sync")]
3800 Request::SyncResetFence(_) => None,
3801 #[cfg(feature = "sync")]
3802 Request::SyncDestroyFence(_) => None,
3803 #[cfg(feature = "sync")]
3804 Request::SyncQueryFence(_) => Some(parse_reply::<sync::QueryFenceRequest>),
3805 #[cfg(feature = "sync")]
3806 Request::SyncAwaitFence(_) => None,
3807 Request::XcMiscGetVersion(_) => Some(parse_reply::<xc_misc::GetVersionRequest>),
3808 Request::XcMiscGetXIDRange(_) => Some(parse_reply::<xc_misc::GetXIDRangeRequest>),
3809 Request::XcMiscGetXIDList(_) => Some(parse_reply::<xc_misc::GetXIDListRequest>),
3810 #[cfg(feature = "xevie")]
3811 Request::XevieQueryVersion(_) => Some(parse_reply::<xevie::QueryVersionRequest>),
3812 #[cfg(feature = "xevie")]
3813 Request::XevieStart(_) => Some(parse_reply::<xevie::StartRequest>),
3814 #[cfg(feature = "xevie")]
3815 Request::XevieEnd(_) => Some(parse_reply::<xevie::EndRequest>),
3816 #[cfg(feature = "xevie")]
3817 Request::XevieSend(_) => Some(parse_reply::<xevie::SendRequest>),
3818 #[cfg(feature = "xevie")]
3819 Request::XevieSelectInput(_) => Some(parse_reply::<xevie::SelectInputRequest>),
3820 #[cfg(feature = "xf86dri")]
3821 Request::Xf86driQueryVersion(_) => Some(parse_reply::<xf86dri::QueryVersionRequest>),
3822 #[cfg(feature = "xf86dri")]
3823 Request::Xf86driQueryDirectRenderingCapable(_) => Some(parse_reply::<xf86dri::QueryDirectRenderingCapableRequest>),
3824 #[cfg(feature = "xf86dri")]
3825 Request::Xf86driOpenConnection(_) => Some(parse_reply::<xf86dri::OpenConnectionRequest>),
3826 #[cfg(feature = "xf86dri")]
3827 Request::Xf86driCloseConnection(_) => None,
3828 #[cfg(feature = "xf86dri")]
3829 Request::Xf86driGetClientDriverName(_) => Some(parse_reply::<xf86dri::GetClientDriverNameRequest>),
3830 #[cfg(feature = "xf86dri")]
3831 Request::Xf86driCreateContext(_) => Some(parse_reply::<xf86dri::CreateContextRequest>),
3832 #[cfg(feature = "xf86dri")]
3833 Request::Xf86driDestroyContext(_) => None,
3834 #[cfg(feature = "xf86dri")]
3835 Request::Xf86driCreateDrawable(_) => Some(parse_reply::<xf86dri::CreateDrawableRequest>),
3836 #[cfg(feature = "xf86dri")]
3837 Request::Xf86driDestroyDrawable(_) => None,
3838 #[cfg(feature = "xf86dri")]
3839 Request::Xf86driGetDrawableInfo(_) => Some(parse_reply::<xf86dri::GetDrawableInfoRequest>),
3840 #[cfg(feature = "xf86dri")]
3841 Request::Xf86driGetDeviceInfo(_) => Some(parse_reply::<xf86dri::GetDeviceInfoRequest>),
3842 #[cfg(feature = "xf86dri")]
3843 Request::Xf86driAuthConnection(_) => Some(parse_reply::<xf86dri::AuthConnectionRequest>),
3844 #[cfg(feature = "xf86vidmode")]
3845 Request::Xf86vidmodeQueryVersion(_) => Some(parse_reply::<xf86vidmode::QueryVersionRequest>),
3846 #[cfg(feature = "xf86vidmode")]
3847 Request::Xf86vidmodeGetModeLine(_) => Some(parse_reply::<xf86vidmode::GetModeLineRequest>),
3848 #[cfg(feature = "xf86vidmode")]
3849 Request::Xf86vidmodeModModeLine(_) => None,
3850 #[cfg(feature = "xf86vidmode")]
3851 Request::Xf86vidmodeSwitchMode(_) => None,
3852 #[cfg(feature = "xf86vidmode")]
3853 Request::Xf86vidmodeGetMonitor(_) => Some(parse_reply::<xf86vidmode::GetMonitorRequest>),
3854 #[cfg(feature = "xf86vidmode")]
3855 Request::Xf86vidmodeLockModeSwitch(_) => None,
3856 #[cfg(feature = "xf86vidmode")]
3857 Request::Xf86vidmodeGetAllModeLines(_) => Some(parse_reply::<xf86vidmode::GetAllModeLinesRequest>),
3858 #[cfg(feature = "xf86vidmode")]
3859 Request::Xf86vidmodeAddModeLine(_) => None,
3860 #[cfg(feature = "xf86vidmode")]
3861 Request::Xf86vidmodeDeleteModeLine(_) => None,
3862 #[cfg(feature = "xf86vidmode")]
3863 Request::Xf86vidmodeValidateModeLine(_) => Some(parse_reply::<xf86vidmode::ValidateModeLineRequest<'_>>),
3864 #[cfg(feature = "xf86vidmode")]
3865 Request::Xf86vidmodeSwitchToMode(_) => None,
3866 #[cfg(feature = "xf86vidmode")]
3867 Request::Xf86vidmodeGetViewPort(_) => Some(parse_reply::<xf86vidmode::GetViewPortRequest>),
3868 #[cfg(feature = "xf86vidmode")]
3869 Request::Xf86vidmodeSetViewPort(_) => None,
3870 #[cfg(feature = "xf86vidmode")]
3871 Request::Xf86vidmodeGetDotClocks(_) => Some(parse_reply::<xf86vidmode::GetDotClocksRequest>),
3872 #[cfg(feature = "xf86vidmode")]
3873 Request::Xf86vidmodeSetClientVersion(_) => None,
3874 #[cfg(feature = "xf86vidmode")]
3875 Request::Xf86vidmodeSetGamma(_) => None,
3876 #[cfg(feature = "xf86vidmode")]
3877 Request::Xf86vidmodeGetGamma(_) => Some(parse_reply::<xf86vidmode::GetGammaRequest>),
3878 #[cfg(feature = "xf86vidmode")]
3879 Request::Xf86vidmodeGetGammaRamp(_) => Some(parse_reply::<xf86vidmode::GetGammaRampRequest>),
3880 #[cfg(feature = "xf86vidmode")]
3881 Request::Xf86vidmodeSetGammaRamp(_) => None,
3882 #[cfg(feature = "xf86vidmode")]
3883 Request::Xf86vidmodeGetGammaRampSize(_) => Some(parse_reply::<xf86vidmode::GetGammaRampSizeRequest>),
3884 #[cfg(feature = "xf86vidmode")]
3885 Request::Xf86vidmodeGetPermissions(_) => Some(parse_reply::<xf86vidmode::GetPermissionsRequest>),
3886 #[cfg(feature = "xfixes")]
3887 Request::XfixesQueryVersion(_) => Some(parse_reply::<xfixes::QueryVersionRequest>),
3888 #[cfg(feature = "xfixes")]
3889 Request::XfixesChangeSaveSet(_) => None,
3890 #[cfg(feature = "xfixes")]
3891 Request::XfixesSelectSelectionInput(_) => None,
3892 #[cfg(feature = "xfixes")]
3893 Request::XfixesSelectCursorInput(_) => None,
3894 #[cfg(feature = "xfixes")]
3895 Request::XfixesGetCursorImage(_) => Some(parse_reply::<xfixes::GetCursorImageRequest>),
3896 #[cfg(feature = "xfixes")]
3897 Request::XfixesCreateRegion(_) => None,
3898 #[cfg(feature = "xfixes")]
3899 Request::XfixesCreateRegionFromBitmap(_) => None,
3900 #[cfg(feature = "xfixes")]
3901 Request::XfixesCreateRegionFromWindow(_) => None,
3902 #[cfg(feature = "xfixes")]
3903 Request::XfixesCreateRegionFromGC(_) => None,
3904 #[cfg(feature = "xfixes")]
3905 Request::XfixesCreateRegionFromPicture(_) => None,
3906 #[cfg(feature = "xfixes")]
3907 Request::XfixesDestroyRegion(_) => None,
3908 #[cfg(feature = "xfixes")]
3909 Request::XfixesSetRegion(_) => None,
3910 #[cfg(feature = "xfixes")]
3911 Request::XfixesCopyRegion(_) => None,
3912 #[cfg(feature = "xfixes")]
3913 Request::XfixesUnionRegion(_) => None,
3914 #[cfg(feature = "xfixes")]
3915 Request::XfixesIntersectRegion(_) => None,
3916 #[cfg(feature = "xfixes")]
3917 Request::XfixesSubtractRegion(_) => None,
3918 #[cfg(feature = "xfixes")]
3919 Request::XfixesInvertRegion(_) => None,
3920 #[cfg(feature = "xfixes")]
3921 Request::XfixesTranslateRegion(_) => None,
3922 #[cfg(feature = "xfixes")]
3923 Request::XfixesRegionExtents(_) => None,
3924 #[cfg(feature = "xfixes")]
3925 Request::XfixesFetchRegion(_) => Some(parse_reply::<xfixes::FetchRegionRequest>),
3926 #[cfg(feature = "xfixes")]
3927 Request::XfixesSetGCClipRegion(_) => None,
3928 #[cfg(feature = "xfixes")]
3929 Request::XfixesSetWindowShapeRegion(_) => None,
3930 #[cfg(feature = "xfixes")]
3931 Request::XfixesSetPictureClipRegion(_) => None,
3932 #[cfg(feature = "xfixes")]
3933 Request::XfixesSetCursorName(_) => None,
3934 #[cfg(feature = "xfixes")]
3935 Request::XfixesGetCursorName(_) => Some(parse_reply::<xfixes::GetCursorNameRequest>),
3936 #[cfg(feature = "xfixes")]
3937 Request::XfixesGetCursorImageAndName(_) => Some(parse_reply::<xfixes::GetCursorImageAndNameRequest>),
3938 #[cfg(feature = "xfixes")]
3939 Request::XfixesChangeCursor(_) => None,
3940 #[cfg(feature = "xfixes")]
3941 Request::XfixesChangeCursorByName(_) => None,
3942 #[cfg(feature = "xfixes")]
3943 Request::XfixesExpandRegion(_) => None,
3944 #[cfg(feature = "xfixes")]
3945 Request::XfixesHideCursor(_) => None,
3946 #[cfg(feature = "xfixes")]
3947 Request::XfixesShowCursor(_) => None,
3948 #[cfg(feature = "xfixes")]
3949 Request::XfixesCreatePointerBarrier(_) => None,
3950 #[cfg(feature = "xfixes")]
3951 Request::XfixesDeletePointerBarrier(_) => None,
3952 #[cfg(feature = "xfixes")]
3953 Request::XfixesSetClientDisconnectMode(_) => None,
3954 #[cfg(feature = "xfixes")]
3955 Request::XfixesGetClientDisconnectMode(_) => Some(parse_reply::<xfixes::GetClientDisconnectModeRequest>),
3956 #[cfg(feature = "xinerama")]
3957 Request::XineramaQueryVersion(_) => Some(parse_reply::<xinerama::QueryVersionRequest>),
3958 #[cfg(feature = "xinerama")]
3959 Request::XineramaGetState(_) => Some(parse_reply::<xinerama::GetStateRequest>),
3960 #[cfg(feature = "xinerama")]
3961 Request::XineramaGetScreenCount(_) => Some(parse_reply::<xinerama::GetScreenCountRequest>),
3962 #[cfg(feature = "xinerama")]
3963 Request::XineramaGetScreenSize(_) => Some(parse_reply::<xinerama::GetScreenSizeRequest>),
3964 #[cfg(feature = "xinerama")]
3965 Request::XineramaIsActive(_) => Some(parse_reply::<xinerama::IsActiveRequest>),
3966 #[cfg(feature = "xinerama")]
3967 Request::XineramaQueryScreens(_) => Some(parse_reply::<xinerama::QueryScreensRequest>),
3968 #[cfg(feature = "xinput")]
3969 Request::XinputGetExtensionVersion(_) => Some(parse_reply::<xinput::GetExtensionVersionRequest<'_>>),
3970 #[cfg(feature = "xinput")]
3971 Request::XinputListInputDevices(_) => Some(parse_reply::<xinput::ListInputDevicesRequest>),
3972 #[cfg(feature = "xinput")]
3973 Request::XinputOpenDevice(_) => Some(parse_reply::<xinput::OpenDeviceRequest>),
3974 #[cfg(feature = "xinput")]
3975 Request::XinputCloseDevice(_) => None,
3976 #[cfg(feature = "xinput")]
3977 Request::XinputSetDeviceMode(_) => Some(parse_reply::<xinput::SetDeviceModeRequest>),
3978 #[cfg(feature = "xinput")]
3979 Request::XinputSelectExtensionEvent(_) => None,
3980 #[cfg(feature = "xinput")]
3981 Request::XinputGetSelectedExtensionEvents(_) => Some(parse_reply::<xinput::GetSelectedExtensionEventsRequest>),
3982 #[cfg(feature = "xinput")]
3983 Request::XinputChangeDeviceDontPropagateList(_) => None,
3984 #[cfg(feature = "xinput")]
3985 Request::XinputGetDeviceDontPropagateList(_) => Some(parse_reply::<xinput::GetDeviceDontPropagateListRequest>),
3986 #[cfg(feature = "xinput")]
3987 Request::XinputGetDeviceMotionEvents(_) => Some(parse_reply::<xinput::GetDeviceMotionEventsRequest>),
3988 #[cfg(feature = "xinput")]
3989 Request::XinputChangeKeyboardDevice(_) => Some(parse_reply::<xinput::ChangeKeyboardDeviceRequest>),
3990 #[cfg(feature = "xinput")]
3991 Request::XinputChangePointerDevice(_) => Some(parse_reply::<xinput::ChangePointerDeviceRequest>),
3992 #[cfg(feature = "xinput")]
3993 Request::XinputGrabDevice(_) => Some(parse_reply::<xinput::GrabDeviceRequest<'_>>),
3994 #[cfg(feature = "xinput")]
3995 Request::XinputUngrabDevice(_) => None,
3996 #[cfg(feature = "xinput")]
3997 Request::XinputGrabDeviceKey(_) => None,
3998 #[cfg(feature = "xinput")]
3999 Request::XinputUngrabDeviceKey(_) => None,
4000 #[cfg(feature = "xinput")]
4001 Request::XinputGrabDeviceButton(_) => None,
4002 #[cfg(feature = "xinput")]
4003 Request::XinputUngrabDeviceButton(_) => None,
4004 #[cfg(feature = "xinput")]
4005 Request::XinputAllowDeviceEvents(_) => None,
4006 #[cfg(feature = "xinput")]
4007 Request::XinputGetDeviceFocus(_) => Some(parse_reply::<xinput::GetDeviceFocusRequest>),
4008 #[cfg(feature = "xinput")]
4009 Request::XinputSetDeviceFocus(_) => None,
4010 #[cfg(feature = "xinput")]
4011 Request::XinputGetFeedbackControl(_) => Some(parse_reply::<xinput::GetFeedbackControlRequest>),
4012 #[cfg(feature = "xinput")]
4013 Request::XinputChangeFeedbackControl(_) => None,
4014 #[cfg(feature = "xinput")]
4015 Request::XinputGetDeviceKeyMapping(_) => Some(parse_reply::<xinput::GetDeviceKeyMappingRequest>),
4016 #[cfg(feature = "xinput")]
4017 Request::XinputChangeDeviceKeyMapping(_) => None,
4018 #[cfg(feature = "xinput")]
4019 Request::XinputGetDeviceModifierMapping(_) => Some(parse_reply::<xinput::GetDeviceModifierMappingRequest>),
4020 #[cfg(feature = "xinput")]
4021 Request::XinputSetDeviceModifierMapping(_) => Some(parse_reply::<xinput::SetDeviceModifierMappingRequest<'_>>),
4022 #[cfg(feature = "xinput")]
4023 Request::XinputGetDeviceButtonMapping(_) => Some(parse_reply::<xinput::GetDeviceButtonMappingRequest>),
4024 #[cfg(feature = "xinput")]
4025 Request::XinputSetDeviceButtonMapping(_) => Some(parse_reply::<xinput::SetDeviceButtonMappingRequest<'_>>),
4026 #[cfg(feature = "xinput")]
4027 Request::XinputQueryDeviceState(_) => Some(parse_reply::<xinput::QueryDeviceStateRequest>),
4028 #[cfg(feature = "xinput")]
4029 Request::XinputDeviceBell(_) => None,
4030 #[cfg(feature = "xinput")]
4031 Request::XinputSetDeviceValuators(_) => Some(parse_reply::<xinput::SetDeviceValuatorsRequest<'_>>),
4032 #[cfg(feature = "xinput")]
4033 Request::XinputGetDeviceControl(_) => Some(parse_reply::<xinput::GetDeviceControlRequest>),
4034 #[cfg(feature = "xinput")]
4035 Request::XinputChangeDeviceControl(_) => Some(parse_reply::<xinput::ChangeDeviceControlRequest>),
4036 #[cfg(feature = "xinput")]
4037 Request::XinputListDeviceProperties(_) => Some(parse_reply::<xinput::ListDevicePropertiesRequest>),
4038 #[cfg(feature = "xinput")]
4039 Request::XinputChangeDeviceProperty(_) => None,
4040 #[cfg(feature = "xinput")]
4041 Request::XinputDeleteDeviceProperty(_) => None,
4042 #[cfg(feature = "xinput")]
4043 Request::XinputGetDeviceProperty(_) => Some(parse_reply::<xinput::GetDevicePropertyRequest>),
4044 #[cfg(feature = "xinput")]
4045 Request::XinputXIQueryPointer(_) => Some(parse_reply::<xinput::XIQueryPointerRequest>),
4046 #[cfg(feature = "xinput")]
4047 Request::XinputXIWarpPointer(_) => None,
4048 #[cfg(feature = "xinput")]
4049 Request::XinputXIChangeCursor(_) => None,
4050 #[cfg(feature = "xinput")]
4051 Request::XinputXIChangeHierarchy(_) => None,
4052 #[cfg(feature = "xinput")]
4053 Request::XinputXISetClientPointer(_) => None,
4054 #[cfg(feature = "xinput")]
4055 Request::XinputXIGetClientPointer(_) => Some(parse_reply::<xinput::XIGetClientPointerRequest>),
4056 #[cfg(feature = "xinput")]
4057 Request::XinputXISelectEvents(_) => None,
4058 #[cfg(feature = "xinput")]
4059 Request::XinputXIQueryVersion(_) => Some(parse_reply::<xinput::XIQueryVersionRequest>),
4060 #[cfg(feature = "xinput")]
4061 Request::XinputXIQueryDevice(_) => Some(parse_reply::<xinput::XIQueryDeviceRequest>),
4062 #[cfg(feature = "xinput")]
4063 Request::XinputXISetFocus(_) => None,
4064 #[cfg(feature = "xinput")]
4065 Request::XinputXIGetFocus(_) => Some(parse_reply::<xinput::XIGetFocusRequest>),
4066 #[cfg(feature = "xinput")]
4067 Request::XinputXIGrabDevice(_) => Some(parse_reply::<xinput::XIGrabDeviceRequest<'_>>),
4068 #[cfg(feature = "xinput")]
4069 Request::XinputXIUngrabDevice(_) => None,
4070 #[cfg(feature = "xinput")]
4071 Request::XinputXIAllowEvents(_) => None,
4072 #[cfg(feature = "xinput")]
4073 Request::XinputXIPassiveGrabDevice(_) => Some(parse_reply::<xinput::XIPassiveGrabDeviceRequest<'_>>),
4074 #[cfg(feature = "xinput")]
4075 Request::XinputXIPassiveUngrabDevice(_) => None,
4076 #[cfg(feature = "xinput")]
4077 Request::XinputXIListProperties(_) => Some(parse_reply::<xinput::XIListPropertiesRequest>),
4078 #[cfg(feature = "xinput")]
4079 Request::XinputXIChangeProperty(_) => None,
4080 #[cfg(feature = "xinput")]
4081 Request::XinputXIDeleteProperty(_) => None,
4082 #[cfg(feature = "xinput")]
4083 Request::XinputXIGetProperty(_) => Some(parse_reply::<xinput::XIGetPropertyRequest>),
4084 #[cfg(feature = "xinput")]
4085 Request::XinputXIGetSelectedEvents(_) => Some(parse_reply::<xinput::XIGetSelectedEventsRequest>),
4086 #[cfg(feature = "xinput")]
4087 Request::XinputXIBarrierReleasePointer(_) => None,
4088 #[cfg(feature = "xinput")]
4089 Request::XinputSendExtensionEvent(_) => None,
4090 #[cfg(feature = "xkb")]
4091 Request::XkbUseExtension(_) => Some(parse_reply::<xkb::UseExtensionRequest>),
4092 #[cfg(feature = "xkb")]
4093 Request::XkbSelectEvents(_) => None,
4094 #[cfg(feature = "xkb")]
4095 Request::XkbBell(_) => None,
4096 #[cfg(feature = "xkb")]
4097 Request::XkbGetState(_) => Some(parse_reply::<xkb::GetStateRequest>),
4098 #[cfg(feature = "xkb")]
4099 Request::XkbLatchLockState(_) => None,
4100 #[cfg(feature = "xkb")]
4101 Request::XkbGetControls(_) => Some(parse_reply::<xkb::GetControlsRequest>),
4102 #[cfg(feature = "xkb")]
4103 Request::XkbSetControls(_) => None,
4104 #[cfg(feature = "xkb")]
4105 Request::XkbGetMap(_) => Some(parse_reply::<xkb::GetMapRequest>),
4106 #[cfg(feature = "xkb")]
4107 Request::XkbSetMap(_) => None,
4108 #[cfg(feature = "xkb")]
4109 Request::XkbGetCompatMap(_) => Some(parse_reply::<xkb::GetCompatMapRequest>),
4110 #[cfg(feature = "xkb")]
4111 Request::XkbSetCompatMap(_) => None,
4112 #[cfg(feature = "xkb")]
4113 Request::XkbGetIndicatorState(_) => Some(parse_reply::<xkb::GetIndicatorStateRequest>),
4114 #[cfg(feature = "xkb")]
4115 Request::XkbGetIndicatorMap(_) => Some(parse_reply::<xkb::GetIndicatorMapRequest>),
4116 #[cfg(feature = "xkb")]
4117 Request::XkbSetIndicatorMap(_) => None,
4118 #[cfg(feature = "xkb")]
4119 Request::XkbGetNamedIndicator(_) => Some(parse_reply::<xkb::GetNamedIndicatorRequest>),
4120 #[cfg(feature = "xkb")]
4121 Request::XkbSetNamedIndicator(_) => None,
4122 #[cfg(feature = "xkb")]
4123 Request::XkbGetNames(_) => Some(parse_reply::<xkb::GetNamesRequest>),
4124 #[cfg(feature = "xkb")]
4125 Request::XkbSetNames(_) => None,
4126 #[cfg(feature = "xkb")]
4127 Request::XkbPerClientFlags(_) => Some(parse_reply::<xkb::PerClientFlagsRequest>),
4128 #[cfg(feature = "xkb")]
4129 Request::XkbListComponents(_) => Some(parse_reply::<xkb::ListComponentsRequest>),
4130 #[cfg(feature = "xkb")]
4131 Request::XkbGetKbdByName(_) => Some(parse_reply::<xkb::GetKbdByNameRequest>),
4132 #[cfg(feature = "xkb")]
4133 Request::XkbGetDeviceInfo(_) => Some(parse_reply::<xkb::GetDeviceInfoRequest>),
4134 #[cfg(feature = "xkb")]
4135 Request::XkbSetDeviceInfo(_) => None,
4136 #[cfg(feature = "xkb")]
4137 Request::XkbSetDebuggingFlags(_) => Some(parse_reply::<xkb::SetDebuggingFlagsRequest<'_>>),
4138 #[cfg(feature = "xprint")]
4139 Request::XprintPrintQueryVersion(_) => Some(parse_reply::<xprint::PrintQueryVersionRequest>),
4140 #[cfg(feature = "xprint")]
4141 Request::XprintPrintGetPrinterList(_) => Some(parse_reply::<xprint::PrintGetPrinterListRequest<'_>>),
4142 #[cfg(feature = "xprint")]
4143 Request::XprintPrintRehashPrinterList(_) => None,
4144 #[cfg(feature = "xprint")]
4145 Request::XprintCreateContext(_) => None,
4146 #[cfg(feature = "xprint")]
4147 Request::XprintPrintSetContext(_) => None,
4148 #[cfg(feature = "xprint")]
4149 Request::XprintPrintGetContext(_) => Some(parse_reply::<xprint::PrintGetContextRequest>),
4150 #[cfg(feature = "xprint")]
4151 Request::XprintPrintDestroyContext(_) => None,
4152 #[cfg(feature = "xprint")]
4153 Request::XprintPrintGetScreenOfContext(_) => Some(parse_reply::<xprint::PrintGetScreenOfContextRequest>),
4154 #[cfg(feature = "xprint")]
4155 Request::XprintPrintStartJob(_) => None,
4156 #[cfg(feature = "xprint")]
4157 Request::XprintPrintEndJob(_) => None,
4158 #[cfg(feature = "xprint")]
4159 Request::XprintPrintStartDoc(_) => None,
4160 #[cfg(feature = "xprint")]
4161 Request::XprintPrintEndDoc(_) => None,
4162 #[cfg(feature = "xprint")]
4163 Request::XprintPrintPutDocumentData(_) => None,
4164 #[cfg(feature = "xprint")]
4165 Request::XprintPrintGetDocumentData(_) => Some(parse_reply::<xprint::PrintGetDocumentDataRequest>),
4166 #[cfg(feature = "xprint")]
4167 Request::XprintPrintStartPage(_) => None,
4168 #[cfg(feature = "xprint")]
4169 Request::XprintPrintEndPage(_) => None,
4170 #[cfg(feature = "xprint")]
4171 Request::XprintPrintSelectInput(_) => None,
4172 #[cfg(feature = "xprint")]
4173 Request::XprintPrintInputSelected(_) => Some(parse_reply::<xprint::PrintInputSelectedRequest>),
4174 #[cfg(feature = "xprint")]
4175 Request::XprintPrintGetAttributes(_) => Some(parse_reply::<xprint::PrintGetAttributesRequest>),
4176 #[cfg(feature = "xprint")]
4177 Request::XprintPrintGetOneAttributes(_) => Some(parse_reply::<xprint::PrintGetOneAttributesRequest<'_>>),
4178 #[cfg(feature = "xprint")]
4179 Request::XprintPrintSetAttributes(_) => None,
4180 #[cfg(feature = "xprint")]
4181 Request::XprintPrintGetPageDimensions(_) => Some(parse_reply::<xprint::PrintGetPageDimensionsRequest>),
4182 #[cfg(feature = "xprint")]
4183 Request::XprintPrintQueryScreens(_) => Some(parse_reply::<xprint::PrintQueryScreensRequest>),
4184 #[cfg(feature = "xprint")]
4185 Request::XprintPrintSetImageResolution(_) => Some(parse_reply::<xprint::PrintSetImageResolutionRequest>),
4186 #[cfg(feature = "xprint")]
4187 Request::XprintPrintGetImageResolution(_) => Some(parse_reply::<xprint::PrintGetImageResolutionRequest>),
4188 #[cfg(feature = "xselinux")]
4189 Request::XselinuxQueryVersion(_) => Some(parse_reply::<xselinux::QueryVersionRequest>),
4190 #[cfg(feature = "xselinux")]
4191 Request::XselinuxSetDeviceCreateContext(_) => None,
4192 #[cfg(feature = "xselinux")]
4193 Request::XselinuxGetDeviceCreateContext(_) => Some(parse_reply::<xselinux::GetDeviceCreateContextRequest>),
4194 #[cfg(feature = "xselinux")]
4195 Request::XselinuxSetDeviceContext(_) => None,
4196 #[cfg(feature = "xselinux")]
4197 Request::XselinuxGetDeviceContext(_) => Some(parse_reply::<xselinux::GetDeviceContextRequest>),
4198 #[cfg(feature = "xselinux")]
4199 Request::XselinuxSetWindowCreateContext(_) => None,
4200 #[cfg(feature = "xselinux")]
4201 Request::XselinuxGetWindowCreateContext(_) => Some(parse_reply::<xselinux::GetWindowCreateContextRequest>),
4202 #[cfg(feature = "xselinux")]
4203 Request::XselinuxGetWindowContext(_) => Some(parse_reply::<xselinux::GetWindowContextRequest>),
4204 #[cfg(feature = "xselinux")]
4205 Request::XselinuxSetPropertyCreateContext(_) => None,
4206 #[cfg(feature = "xselinux")]
4207 Request::XselinuxGetPropertyCreateContext(_) => Some(parse_reply::<xselinux::GetPropertyCreateContextRequest>),
4208 #[cfg(feature = "xselinux")]
4209 Request::XselinuxSetPropertyUseContext(_) => None,
4210 #[cfg(feature = "xselinux")]
4211 Request::XselinuxGetPropertyUseContext(_) => Some(parse_reply::<xselinux::GetPropertyUseContextRequest>),
4212 #[cfg(feature = "xselinux")]
4213 Request::XselinuxGetPropertyContext(_) => Some(parse_reply::<xselinux::GetPropertyContextRequest>),
4214 #[cfg(feature = "xselinux")]
4215 Request::XselinuxGetPropertyDataContext(_) => Some(parse_reply::<xselinux::GetPropertyDataContextRequest>),
4216 #[cfg(feature = "xselinux")]
4217 Request::XselinuxListProperties(_) => Some(parse_reply::<xselinux::ListPropertiesRequest>),
4218 #[cfg(feature = "xselinux")]
4219 Request::XselinuxSetSelectionCreateContext(_) => None,
4220 #[cfg(feature = "xselinux")]
4221 Request::XselinuxGetSelectionCreateContext(_) => Some(parse_reply::<xselinux::GetSelectionCreateContextRequest>),
4222 #[cfg(feature = "xselinux")]
4223 Request::XselinuxSetSelectionUseContext(_) => None,
4224 #[cfg(feature = "xselinux")]
4225 Request::XselinuxGetSelectionUseContext(_) => Some(parse_reply::<xselinux::GetSelectionUseContextRequest>),
4226 #[cfg(feature = "xselinux")]
4227 Request::XselinuxGetSelectionContext(_) => Some(parse_reply::<xselinux::GetSelectionContextRequest>),
4228 #[cfg(feature = "xselinux")]
4229 Request::XselinuxGetSelectionDataContext(_) => Some(parse_reply::<xselinux::GetSelectionDataContextRequest>),
4230 #[cfg(feature = "xselinux")]
4231 Request::XselinuxListSelections(_) => Some(parse_reply::<xselinux::ListSelectionsRequest>),
4232 #[cfg(feature = "xselinux")]
4233 Request::XselinuxGetClientContext(_) => Some(parse_reply::<xselinux::GetClientContextRequest>),
4234 #[cfg(feature = "xtest")]
4235 Request::XtestGetVersion(_) => Some(parse_reply::<xtest::GetVersionRequest>),
4236 #[cfg(feature = "xtest")]
4237 Request::XtestCompareCursor(_) => Some(parse_reply::<xtest::CompareCursorRequest>),
4238 #[cfg(feature = "xtest")]
4239 Request::XtestFakeInput(_) => None,
4240 #[cfg(feature = "xtest")]
4241 Request::XtestGrabControl(_) => None,
4242 #[cfg(feature = "xv")]
4243 Request::XvQueryExtension(_) => Some(parse_reply::<xv::QueryExtensionRequest>),
4244 #[cfg(feature = "xv")]
4245 Request::XvQueryAdaptors(_) => Some(parse_reply::<xv::QueryAdaptorsRequest>),
4246 #[cfg(feature = "xv")]
4247 Request::XvQueryEncodings(_) => Some(parse_reply::<xv::QueryEncodingsRequest>),
4248 #[cfg(feature = "xv")]
4249 Request::XvGrabPort(_) => Some(parse_reply::<xv::GrabPortRequest>),
4250 #[cfg(feature = "xv")]
4251 Request::XvUngrabPort(_) => None,
4252 #[cfg(feature = "xv")]
4253 Request::XvPutVideo(_) => None,
4254 #[cfg(feature = "xv")]
4255 Request::XvPutStill(_) => None,
4256 #[cfg(feature = "xv")]
4257 Request::XvGetVideo(_) => None,
4258 #[cfg(feature = "xv")]
4259 Request::XvGetStill(_) => None,
4260 #[cfg(feature = "xv")]
4261 Request::XvStopVideo(_) => None,
4262 #[cfg(feature = "xv")]
4263 Request::XvSelectVideoNotify(_) => None,
4264 #[cfg(feature = "xv")]
4265 Request::XvSelectPortNotify(_) => None,
4266 #[cfg(feature = "xv")]
4267 Request::XvQueryBestSize(_) => Some(parse_reply::<xv::QueryBestSizeRequest>),
4268 #[cfg(feature = "xv")]
4269 Request::XvSetPortAttribute(_) => None,
4270 #[cfg(feature = "xv")]
4271 Request::XvGetPortAttribute(_) => Some(parse_reply::<xv::GetPortAttributeRequest>),
4272 #[cfg(feature = "xv")]
4273 Request::XvQueryPortAttributes(_) => Some(parse_reply::<xv::QueryPortAttributesRequest>),
4274 #[cfg(feature = "xv")]
4275 Request::XvListImageFormats(_) => Some(parse_reply::<xv::ListImageFormatsRequest>),
4276 #[cfg(feature = "xv")]
4277 Request::XvQueryImageAttributes(_) => Some(parse_reply::<xv::QueryImageAttributesRequest>),
4278 #[cfg(feature = "xv")]
4279 Request::XvPutImage(_) => None,
4280 #[cfg(feature = "xv")]
4281 Request::XvShmPutImage(_) => None,
4282 #[cfg(feature = "xvmc")]
4283 Request::XvmcQueryVersion(_) => Some(parse_reply::<xvmc::QueryVersionRequest>),
4284 #[cfg(feature = "xvmc")]
4285 Request::XvmcListSurfaceTypes(_) => Some(parse_reply::<xvmc::ListSurfaceTypesRequest>),
4286 #[cfg(feature = "xvmc")]
4287 Request::XvmcCreateContext(_) => Some(parse_reply::<xvmc::CreateContextRequest>),
4288 #[cfg(feature = "xvmc")]
4289 Request::XvmcDestroyContext(_) => None,
4290 #[cfg(feature = "xvmc")]
4291 Request::XvmcCreateSurface(_) => Some(parse_reply::<xvmc::CreateSurfaceRequest>),
4292 #[cfg(feature = "xvmc")]
4293 Request::XvmcDestroySurface(_) => None,
4294 #[cfg(feature = "xvmc")]
4295 Request::XvmcCreateSubpicture(_) => Some(parse_reply::<xvmc::CreateSubpictureRequest>),
4296 #[cfg(feature = "xvmc")]
4297 Request::XvmcDestroySubpicture(_) => None,
4298 #[cfg(feature = "xvmc")]
4299 Request::XvmcListSubpictureTypes(_) => Some(parse_reply::<xvmc::ListSubpictureTypesRequest>),
4300 }
4301 }
4302 /// Convert this Request into an owned version with no borrows.
4303 pub fn into_owned(self) -> Request<'static> {
4304 match self {
4305 Request::Unknown(header, body) => Request::Unknown(header, Cow::Owned(body.into_owned())),
4306 Request::CreateWindow(req) => Request::CreateWindow(req.into_owned()),
4307 Request::ChangeWindowAttributes(req) => Request::ChangeWindowAttributes(req.into_owned()),
4308 Request::GetWindowAttributes(req) => Request::GetWindowAttributes(req),
4309 Request::DestroyWindow(req) => Request::DestroyWindow(req),
4310 Request::DestroySubwindows(req) => Request::DestroySubwindows(req),
4311 Request::ChangeSaveSet(req) => Request::ChangeSaveSet(req),
4312 Request::ReparentWindow(req) => Request::ReparentWindow(req),
4313 Request::MapWindow(req) => Request::MapWindow(req),
4314 Request::MapSubwindows(req) => Request::MapSubwindows(req),
4315 Request::UnmapWindow(req) => Request::UnmapWindow(req),
4316 Request::UnmapSubwindows(req) => Request::UnmapSubwindows(req),
4317 Request::ConfigureWindow(req) => Request::ConfigureWindow(req.into_owned()),
4318 Request::CirculateWindow(req) => Request::CirculateWindow(req),
4319 Request::GetGeometry(req) => Request::GetGeometry(req),
4320 Request::QueryTree(req) => Request::QueryTree(req),
4321 Request::InternAtom(req) => Request::InternAtom(req.into_owned()),
4322 Request::GetAtomName(req) => Request::GetAtomName(req),
4323 Request::ChangeProperty(req) => Request::ChangeProperty(req.into_owned()),
4324 Request::DeleteProperty(req) => Request::DeleteProperty(req),
4325 Request::GetProperty(req) => Request::GetProperty(req),
4326 Request::ListProperties(req) => Request::ListProperties(req),
4327 Request::SetSelectionOwner(req) => Request::SetSelectionOwner(req),
4328 Request::GetSelectionOwner(req) => Request::GetSelectionOwner(req),
4329 Request::ConvertSelection(req) => Request::ConvertSelection(req),
4330 Request::SendEvent(req) => Request::SendEvent(req.into_owned()),
4331 Request::GrabPointer(req) => Request::GrabPointer(req),
4332 Request::UngrabPointer(req) => Request::UngrabPointer(req),
4333 Request::GrabButton(req) => Request::GrabButton(req),
4334 Request::UngrabButton(req) => Request::UngrabButton(req),
4335 Request::ChangeActivePointerGrab(req) => Request::ChangeActivePointerGrab(req),
4336 Request::GrabKeyboard(req) => Request::GrabKeyboard(req),
4337 Request::UngrabKeyboard(req) => Request::UngrabKeyboard(req),
4338 Request::GrabKey(req) => Request::GrabKey(req),
4339 Request::UngrabKey(req) => Request::UngrabKey(req),
4340 Request::AllowEvents(req) => Request::AllowEvents(req),
4341 Request::GrabServer(req) => Request::GrabServer(req),
4342 Request::UngrabServer(req) => Request::UngrabServer(req),
4343 Request::QueryPointer(req) => Request::QueryPointer(req),
4344 Request::GetMotionEvents(req) => Request::GetMotionEvents(req),
4345 Request::TranslateCoordinates(req) => Request::TranslateCoordinates(req),
4346 Request::WarpPointer(req) => Request::WarpPointer(req),
4347 Request::SetInputFocus(req) => Request::SetInputFocus(req),
4348 Request::GetInputFocus(req) => Request::GetInputFocus(req),
4349 Request::QueryKeymap(req) => Request::QueryKeymap(req),
4350 Request::OpenFont(req) => Request::OpenFont(req.into_owned()),
4351 Request::CloseFont(req) => Request::CloseFont(req),
4352 Request::QueryFont(req) => Request::QueryFont(req),
4353 Request::QueryTextExtents(req) => Request::QueryTextExtents(req.into_owned()),
4354 Request::ListFonts(req) => Request::ListFonts(req.into_owned()),
4355 Request::ListFontsWithInfo(req) => Request::ListFontsWithInfo(req.into_owned()),
4356 Request::SetFontPath(req) => Request::SetFontPath(req.into_owned()),
4357 Request::GetFontPath(req) => Request::GetFontPath(req),
4358 Request::CreatePixmap(req) => Request::CreatePixmap(req),
4359 Request::FreePixmap(req) => Request::FreePixmap(req),
4360 Request::CreateGC(req) => Request::CreateGC(req.into_owned()),
4361 Request::ChangeGC(req) => Request::ChangeGC(req.into_owned()),
4362 Request::CopyGC(req) => Request::CopyGC(req),
4363 Request::SetDashes(req) => Request::SetDashes(req.into_owned()),
4364 Request::SetClipRectangles(req) => Request::SetClipRectangles(req.into_owned()),
4365 Request::FreeGC(req) => Request::FreeGC(req),
4366 Request::ClearArea(req) => Request::ClearArea(req),
4367 Request::CopyArea(req) => Request::CopyArea(req),
4368 Request::CopyPlane(req) => Request::CopyPlane(req),
4369 Request::PolyPoint(req) => Request::PolyPoint(req.into_owned()),
4370 Request::PolyLine(req) => Request::PolyLine(req.into_owned()),
4371 Request::PolySegment(req) => Request::PolySegment(req.into_owned()),
4372 Request::PolyRectangle(req) => Request::PolyRectangle(req.into_owned()),
4373 Request::PolyArc(req) => Request::PolyArc(req.into_owned()),
4374 Request::FillPoly(req) => Request::FillPoly(req.into_owned()),
4375 Request::PolyFillRectangle(req) => Request::PolyFillRectangle(req.into_owned()),
4376 Request::PolyFillArc(req) => Request::PolyFillArc(req.into_owned()),
4377 Request::PutImage(req) => Request::PutImage(req.into_owned()),
4378 Request::GetImage(req) => Request::GetImage(req),
4379 Request::PolyText8(req) => Request::PolyText8(req.into_owned()),
4380 Request::PolyText16(req) => Request::PolyText16(req.into_owned()),
4381 Request::ImageText8(req) => Request::ImageText8(req.into_owned()),
4382 Request::ImageText16(req) => Request::ImageText16(req.into_owned()),
4383 Request::CreateColormap(req) => Request::CreateColormap(req),
4384 Request::FreeColormap(req) => Request::FreeColormap(req),
4385 Request::CopyColormapAndFree(req) => Request::CopyColormapAndFree(req),
4386 Request::InstallColormap(req) => Request::InstallColormap(req),
4387 Request::UninstallColormap(req) => Request::UninstallColormap(req),
4388 Request::ListInstalledColormaps(req) => Request::ListInstalledColormaps(req),
4389 Request::AllocColor(req) => Request::AllocColor(req),
4390 Request::AllocNamedColor(req) => Request::AllocNamedColor(req.into_owned()),
4391 Request::AllocColorCells(req) => Request::AllocColorCells(req),
4392 Request::AllocColorPlanes(req) => Request::AllocColorPlanes(req),
4393 Request::FreeColors(req) => Request::FreeColors(req.into_owned()),
4394 Request::StoreColors(req) => Request::StoreColors(req.into_owned()),
4395 Request::StoreNamedColor(req) => Request::StoreNamedColor(req.into_owned()),
4396 Request::QueryColors(req) => Request::QueryColors(req.into_owned()),
4397 Request::LookupColor(req) => Request::LookupColor(req.into_owned()),
4398 Request::CreateCursor(req) => Request::CreateCursor(req),
4399 Request::CreateGlyphCursor(req) => Request::CreateGlyphCursor(req),
4400 Request::FreeCursor(req) => Request::FreeCursor(req),
4401 Request::RecolorCursor(req) => Request::RecolorCursor(req),
4402 Request::QueryBestSize(req) => Request::QueryBestSize(req),
4403 Request::QueryExtension(req) => Request::QueryExtension(req.into_owned()),
4404 Request::ListExtensions(req) => Request::ListExtensions(req),
4405 Request::ChangeKeyboardMapping(req) => Request::ChangeKeyboardMapping(req.into_owned()),
4406 Request::GetKeyboardMapping(req) => Request::GetKeyboardMapping(req),
4407 Request::ChangeKeyboardControl(req) => Request::ChangeKeyboardControl(req.into_owned()),
4408 Request::GetKeyboardControl(req) => Request::GetKeyboardControl(req),
4409 Request::Bell(req) => Request::Bell(req),
4410 Request::ChangePointerControl(req) => Request::ChangePointerControl(req),
4411 Request::GetPointerControl(req) => Request::GetPointerControl(req),
4412 Request::SetScreenSaver(req) => Request::SetScreenSaver(req),
4413 Request::GetScreenSaver(req) => Request::GetScreenSaver(req),
4414 Request::ChangeHosts(req) => Request::ChangeHosts(req.into_owned()),
4415 Request::ListHosts(req) => Request::ListHosts(req),
4416 Request::SetAccessControl(req) => Request::SetAccessControl(req),
4417 Request::SetCloseDownMode(req) => Request::SetCloseDownMode(req),
4418 Request::KillClient(req) => Request::KillClient(req),
4419 Request::RotateProperties(req) => Request::RotateProperties(req.into_owned()),
4420 Request::ForceScreenSaver(req) => Request::ForceScreenSaver(req),
4421 Request::SetPointerMapping(req) => Request::SetPointerMapping(req.into_owned()),
4422 Request::GetPointerMapping(req) => Request::GetPointerMapping(req),
4423 Request::SetModifierMapping(req) => Request::SetModifierMapping(req.into_owned()),
4424 Request::GetModifierMapping(req) => Request::GetModifierMapping(req),
4425 Request::NoOperation(req) => Request::NoOperation(req),
4426 Request::BigreqEnable(req) => Request::BigreqEnable(req),
4427 #[cfg(feature = "composite")]
4428 Request::CompositeQueryVersion(req) => Request::CompositeQueryVersion(req),
4429 #[cfg(feature = "composite")]
4430 Request::CompositeRedirectWindow(req) => Request::CompositeRedirectWindow(req),
4431 #[cfg(feature = "composite")]
4432 Request::CompositeRedirectSubwindows(req) => Request::CompositeRedirectSubwindows(req),
4433 #[cfg(feature = "composite")]
4434 Request::CompositeUnredirectWindow(req) => Request::CompositeUnredirectWindow(req),
4435 #[cfg(feature = "composite")]
4436 Request::CompositeUnredirectSubwindows(req) => Request::CompositeUnredirectSubwindows(req),
4437 #[cfg(feature = "composite")]
4438 Request::CompositeCreateRegionFromBorderClip(req) => Request::CompositeCreateRegionFromBorderClip(req),
4439 #[cfg(feature = "composite")]
4440 Request::CompositeNameWindowPixmap(req) => Request::CompositeNameWindowPixmap(req),
4441 #[cfg(feature = "composite")]
4442 Request::CompositeGetOverlayWindow(req) => Request::CompositeGetOverlayWindow(req),
4443 #[cfg(feature = "composite")]
4444 Request::CompositeReleaseOverlayWindow(req) => Request::CompositeReleaseOverlayWindow(req),
4445 #[cfg(feature = "damage")]
4446 Request::DamageQueryVersion(req) => Request::DamageQueryVersion(req),
4447 #[cfg(feature = "damage")]
4448 Request::DamageCreate(req) => Request::DamageCreate(req),
4449 #[cfg(feature = "damage")]
4450 Request::DamageDestroy(req) => Request::DamageDestroy(req),
4451 #[cfg(feature = "damage")]
4452 Request::DamageSubtract(req) => Request::DamageSubtract(req),
4453 #[cfg(feature = "damage")]
4454 Request::DamageAdd(req) => Request::DamageAdd(req),
4455 #[cfg(feature = "dbe")]
4456 Request::DbeQueryVersion(req) => Request::DbeQueryVersion(req),
4457 #[cfg(feature = "dbe")]
4458 Request::DbeAllocateBackBuffer(req) => Request::DbeAllocateBackBuffer(req),
4459 #[cfg(feature = "dbe")]
4460 Request::DbeDeallocateBackBuffer(req) => Request::DbeDeallocateBackBuffer(req),
4461 #[cfg(feature = "dbe")]
4462 Request::DbeSwapBuffers(req) => Request::DbeSwapBuffers(req.into_owned()),
4463 #[cfg(feature = "dbe")]
4464 Request::DbeBeginIdiom(req) => Request::DbeBeginIdiom(req),
4465 #[cfg(feature = "dbe")]
4466 Request::DbeEndIdiom(req) => Request::DbeEndIdiom(req),
4467 #[cfg(feature = "dbe")]
4468 Request::DbeGetVisualInfo(req) => Request::DbeGetVisualInfo(req.into_owned()),
4469 #[cfg(feature = "dbe")]
4470 Request::DbeGetBackBufferAttributes(req) => Request::DbeGetBackBufferAttributes(req),
4471 #[cfg(feature = "dpms")]
4472 Request::DpmsGetVersion(req) => Request::DpmsGetVersion(req),
4473 #[cfg(feature = "dpms")]
4474 Request::DpmsCapable(req) => Request::DpmsCapable(req),
4475 #[cfg(feature = "dpms")]
4476 Request::DpmsGetTimeouts(req) => Request::DpmsGetTimeouts(req),
4477 #[cfg(feature = "dpms")]
4478 Request::DpmsSetTimeouts(req) => Request::DpmsSetTimeouts(req),
4479 #[cfg(feature = "dpms")]
4480 Request::DpmsEnable(req) => Request::DpmsEnable(req),
4481 #[cfg(feature = "dpms")]
4482 Request::DpmsDisable(req) => Request::DpmsDisable(req),
4483 #[cfg(feature = "dpms")]
4484 Request::DpmsForceLevel(req) => Request::DpmsForceLevel(req),
4485 #[cfg(feature = "dpms")]
4486 Request::DpmsInfo(req) => Request::DpmsInfo(req),
4487 #[cfg(feature = "dpms")]
4488 Request::DpmsSelectInput(req) => Request::DpmsSelectInput(req),
4489 #[cfg(feature = "dri2")]
4490 Request::Dri2QueryVersion(req) => Request::Dri2QueryVersion(req),
4491 #[cfg(feature = "dri2")]
4492 Request::Dri2Connect(req) => Request::Dri2Connect(req),
4493 #[cfg(feature = "dri2")]
4494 Request::Dri2Authenticate(req) => Request::Dri2Authenticate(req),
4495 #[cfg(feature = "dri2")]
4496 Request::Dri2CreateDrawable(req) => Request::Dri2CreateDrawable(req),
4497 #[cfg(feature = "dri2")]
4498 Request::Dri2DestroyDrawable(req) => Request::Dri2DestroyDrawable(req),
4499 #[cfg(feature = "dri2")]
4500 Request::Dri2GetBuffers(req) => Request::Dri2GetBuffers(req.into_owned()),
4501 #[cfg(feature = "dri2")]
4502 Request::Dri2CopyRegion(req) => Request::Dri2CopyRegion(req),
4503 #[cfg(feature = "dri2")]
4504 Request::Dri2GetBuffersWithFormat(req) => Request::Dri2GetBuffersWithFormat(req.into_owned()),
4505 #[cfg(feature = "dri2")]
4506 Request::Dri2SwapBuffers(req) => Request::Dri2SwapBuffers(req),
4507 #[cfg(feature = "dri2")]
4508 Request::Dri2GetMSC(req) => Request::Dri2GetMSC(req),
4509 #[cfg(feature = "dri2")]
4510 Request::Dri2WaitMSC(req) => Request::Dri2WaitMSC(req),
4511 #[cfg(feature = "dri2")]
4512 Request::Dri2WaitSBC(req) => Request::Dri2WaitSBC(req),
4513 #[cfg(feature = "dri2")]
4514 Request::Dri2SwapInterval(req) => Request::Dri2SwapInterval(req),
4515 #[cfg(feature = "dri2")]
4516 Request::Dri2GetParam(req) => Request::Dri2GetParam(req),
4517 #[cfg(feature = "dri3")]
4518 Request::Dri3QueryVersion(req) => Request::Dri3QueryVersion(req),
4519 #[cfg(feature = "dri3")]
4520 Request::Dri3Open(req) => Request::Dri3Open(req),
4521 #[cfg(feature = "dri3")]
4522 Request::Dri3PixmapFromBuffer(req) => Request::Dri3PixmapFromBuffer(req),
4523 #[cfg(feature = "dri3")]
4524 Request::Dri3BufferFromPixmap(req) => Request::Dri3BufferFromPixmap(req),
4525 #[cfg(feature = "dri3")]
4526 Request::Dri3FenceFromFD(req) => Request::Dri3FenceFromFD(req),
4527 #[cfg(feature = "dri3")]
4528 Request::Dri3FDFromFence(req) => Request::Dri3FDFromFence(req),
4529 #[cfg(feature = "dri3")]
4530 Request::Dri3GetSupportedModifiers(req) => Request::Dri3GetSupportedModifiers(req),
4531 #[cfg(feature = "dri3")]
4532 Request::Dri3PixmapFromBuffers(req) => Request::Dri3PixmapFromBuffers(req),
4533 #[cfg(feature = "dri3")]
4534 Request::Dri3BuffersFromPixmap(req) => Request::Dri3BuffersFromPixmap(req),
4535 #[cfg(feature = "dri3")]
4536 Request::Dri3SetDRMDeviceInUse(req) => Request::Dri3SetDRMDeviceInUse(req),
4537 Request::GeQueryVersion(req) => Request::GeQueryVersion(req),
4538 #[cfg(feature = "glx")]
4539 Request::GlxRender(req) => Request::GlxRender(req.into_owned()),
4540 #[cfg(feature = "glx")]
4541 Request::GlxRenderLarge(req) => Request::GlxRenderLarge(req.into_owned()),
4542 #[cfg(feature = "glx")]
4543 Request::GlxCreateContext(req) => Request::GlxCreateContext(req),
4544 #[cfg(feature = "glx")]
4545 Request::GlxDestroyContext(req) => Request::GlxDestroyContext(req),
4546 #[cfg(feature = "glx")]
4547 Request::GlxMakeCurrent(req) => Request::GlxMakeCurrent(req),
4548 #[cfg(feature = "glx")]
4549 Request::GlxIsDirect(req) => Request::GlxIsDirect(req),
4550 #[cfg(feature = "glx")]
4551 Request::GlxQueryVersion(req) => Request::GlxQueryVersion(req),
4552 #[cfg(feature = "glx")]
4553 Request::GlxWaitGL(req) => Request::GlxWaitGL(req),
4554 #[cfg(feature = "glx")]
4555 Request::GlxWaitX(req) => Request::GlxWaitX(req),
4556 #[cfg(feature = "glx")]
4557 Request::GlxCopyContext(req) => Request::GlxCopyContext(req),
4558 #[cfg(feature = "glx")]
4559 Request::GlxSwapBuffers(req) => Request::GlxSwapBuffers(req),
4560 #[cfg(feature = "glx")]
4561 Request::GlxUseXFont(req) => Request::GlxUseXFont(req),
4562 #[cfg(feature = "glx")]
4563 Request::GlxCreateGLXPixmap(req) => Request::GlxCreateGLXPixmap(req),
4564 #[cfg(feature = "glx")]
4565 Request::GlxGetVisualConfigs(req) => Request::GlxGetVisualConfigs(req),
4566 #[cfg(feature = "glx")]
4567 Request::GlxDestroyGLXPixmap(req) => Request::GlxDestroyGLXPixmap(req),
4568 #[cfg(feature = "glx")]
4569 Request::GlxVendorPrivate(req) => Request::GlxVendorPrivate(req.into_owned()),
4570 #[cfg(feature = "glx")]
4571 Request::GlxVendorPrivateWithReply(req) => Request::GlxVendorPrivateWithReply(req.into_owned()),
4572 #[cfg(feature = "glx")]
4573 Request::GlxQueryExtensionsString(req) => Request::GlxQueryExtensionsString(req),
4574 #[cfg(feature = "glx")]
4575 Request::GlxQueryServerString(req) => Request::GlxQueryServerString(req),
4576 #[cfg(feature = "glx")]
4577 Request::GlxClientInfo(req) => Request::GlxClientInfo(req.into_owned()),
4578 #[cfg(feature = "glx")]
4579 Request::GlxGetFBConfigs(req) => Request::GlxGetFBConfigs(req),
4580 #[cfg(feature = "glx")]
4581 Request::GlxCreatePixmap(req) => Request::GlxCreatePixmap(req.into_owned()),
4582 #[cfg(feature = "glx")]
4583 Request::GlxDestroyPixmap(req) => Request::GlxDestroyPixmap(req),
4584 #[cfg(feature = "glx")]
4585 Request::GlxCreateNewContext(req) => Request::GlxCreateNewContext(req),
4586 #[cfg(feature = "glx")]
4587 Request::GlxQueryContext(req) => Request::GlxQueryContext(req),
4588 #[cfg(feature = "glx")]
4589 Request::GlxMakeContextCurrent(req) => Request::GlxMakeContextCurrent(req),
4590 #[cfg(feature = "glx")]
4591 Request::GlxCreatePbuffer(req) => Request::GlxCreatePbuffer(req.into_owned()),
4592 #[cfg(feature = "glx")]
4593 Request::GlxDestroyPbuffer(req) => Request::GlxDestroyPbuffer(req),
4594 #[cfg(feature = "glx")]
4595 Request::GlxGetDrawableAttributes(req) => Request::GlxGetDrawableAttributes(req),
4596 #[cfg(feature = "glx")]
4597 Request::GlxChangeDrawableAttributes(req) => Request::GlxChangeDrawableAttributes(req.into_owned()),
4598 #[cfg(feature = "glx")]
4599 Request::GlxCreateWindow(req) => Request::GlxCreateWindow(req.into_owned()),
4600 #[cfg(feature = "glx")]
4601 Request::GlxDeleteWindow(req) => Request::GlxDeleteWindow(req),
4602 #[cfg(feature = "glx")]
4603 Request::GlxSetClientInfoARB(req) => Request::GlxSetClientInfoARB(req.into_owned()),
4604 #[cfg(feature = "glx")]
4605 Request::GlxCreateContextAttribsARB(req) => Request::GlxCreateContextAttribsARB(req.into_owned()),
4606 #[cfg(feature = "glx")]
4607 Request::GlxSetClientInfo2ARB(req) => Request::GlxSetClientInfo2ARB(req.into_owned()),
4608 #[cfg(feature = "glx")]
4609 Request::GlxNewList(req) => Request::GlxNewList(req),
4610 #[cfg(feature = "glx")]
4611 Request::GlxEndList(req) => Request::GlxEndList(req),
4612 #[cfg(feature = "glx")]
4613 Request::GlxDeleteLists(req) => Request::GlxDeleteLists(req),
4614 #[cfg(feature = "glx")]
4615 Request::GlxGenLists(req) => Request::GlxGenLists(req),
4616 #[cfg(feature = "glx")]
4617 Request::GlxFeedbackBuffer(req) => Request::GlxFeedbackBuffer(req),
4618 #[cfg(feature = "glx")]
4619 Request::GlxSelectBuffer(req) => Request::GlxSelectBuffer(req),
4620 #[cfg(feature = "glx")]
4621 Request::GlxRenderMode(req) => Request::GlxRenderMode(req),
4622 #[cfg(feature = "glx")]
4623 Request::GlxFinish(req) => Request::GlxFinish(req),
4624 #[cfg(feature = "glx")]
4625 Request::GlxPixelStoref(req) => Request::GlxPixelStoref(req),
4626 #[cfg(feature = "glx")]
4627 Request::GlxPixelStorei(req) => Request::GlxPixelStorei(req),
4628 #[cfg(feature = "glx")]
4629 Request::GlxReadPixels(req) => Request::GlxReadPixels(req),
4630 #[cfg(feature = "glx")]
4631 Request::GlxGetBooleanv(req) => Request::GlxGetBooleanv(req),
4632 #[cfg(feature = "glx")]
4633 Request::GlxGetClipPlane(req) => Request::GlxGetClipPlane(req),
4634 #[cfg(feature = "glx")]
4635 Request::GlxGetDoublev(req) => Request::GlxGetDoublev(req),
4636 #[cfg(feature = "glx")]
4637 Request::GlxGetError(req) => Request::GlxGetError(req),
4638 #[cfg(feature = "glx")]
4639 Request::GlxGetFloatv(req) => Request::GlxGetFloatv(req),
4640 #[cfg(feature = "glx")]
4641 Request::GlxGetIntegerv(req) => Request::GlxGetIntegerv(req),
4642 #[cfg(feature = "glx")]
4643 Request::GlxGetLightfv(req) => Request::GlxGetLightfv(req),
4644 #[cfg(feature = "glx")]
4645 Request::GlxGetLightiv(req) => Request::GlxGetLightiv(req),
4646 #[cfg(feature = "glx")]
4647 Request::GlxGetMapdv(req) => Request::GlxGetMapdv(req),
4648 #[cfg(feature = "glx")]
4649 Request::GlxGetMapfv(req) => Request::GlxGetMapfv(req),
4650 #[cfg(feature = "glx")]
4651 Request::GlxGetMapiv(req) => Request::GlxGetMapiv(req),
4652 #[cfg(feature = "glx")]
4653 Request::GlxGetMaterialfv(req) => Request::GlxGetMaterialfv(req),
4654 #[cfg(feature = "glx")]
4655 Request::GlxGetMaterialiv(req) => Request::GlxGetMaterialiv(req),
4656 #[cfg(feature = "glx")]
4657 Request::GlxGetPixelMapfv(req) => Request::GlxGetPixelMapfv(req),
4658 #[cfg(feature = "glx")]
4659 Request::GlxGetPixelMapuiv(req) => Request::GlxGetPixelMapuiv(req),
4660 #[cfg(feature = "glx")]
4661 Request::GlxGetPixelMapusv(req) => Request::GlxGetPixelMapusv(req),
4662 #[cfg(feature = "glx")]
4663 Request::GlxGetPolygonStipple(req) => Request::GlxGetPolygonStipple(req),
4664 #[cfg(feature = "glx")]
4665 Request::GlxGetString(req) => Request::GlxGetString(req),
4666 #[cfg(feature = "glx")]
4667 Request::GlxGetTexEnvfv(req) => Request::GlxGetTexEnvfv(req),
4668 #[cfg(feature = "glx")]
4669 Request::GlxGetTexEnviv(req) => Request::GlxGetTexEnviv(req),
4670 #[cfg(feature = "glx")]
4671 Request::GlxGetTexGendv(req) => Request::GlxGetTexGendv(req),
4672 #[cfg(feature = "glx")]
4673 Request::GlxGetTexGenfv(req) => Request::GlxGetTexGenfv(req),
4674 #[cfg(feature = "glx")]
4675 Request::GlxGetTexGeniv(req) => Request::GlxGetTexGeniv(req),
4676 #[cfg(feature = "glx")]
4677 Request::GlxGetTexImage(req) => Request::GlxGetTexImage(req),
4678 #[cfg(feature = "glx")]
4679 Request::GlxGetTexParameterfv(req) => Request::GlxGetTexParameterfv(req),
4680 #[cfg(feature = "glx")]
4681 Request::GlxGetTexParameteriv(req) => Request::GlxGetTexParameteriv(req),
4682 #[cfg(feature = "glx")]
4683 Request::GlxGetTexLevelParameterfv(req) => Request::GlxGetTexLevelParameterfv(req),
4684 #[cfg(feature = "glx")]
4685 Request::GlxGetTexLevelParameteriv(req) => Request::GlxGetTexLevelParameteriv(req),
4686 #[cfg(feature = "glx")]
4687 Request::GlxIsEnabled(req) => Request::GlxIsEnabled(req),
4688 #[cfg(feature = "glx")]
4689 Request::GlxIsList(req) => Request::GlxIsList(req),
4690 #[cfg(feature = "glx")]
4691 Request::GlxFlush(req) => Request::GlxFlush(req),
4692 #[cfg(feature = "glx")]
4693 Request::GlxAreTexturesResident(req) => Request::GlxAreTexturesResident(req.into_owned()),
4694 #[cfg(feature = "glx")]
4695 Request::GlxDeleteTextures(req) => Request::GlxDeleteTextures(req.into_owned()),
4696 #[cfg(feature = "glx")]
4697 Request::GlxGenTextures(req) => Request::GlxGenTextures(req),
4698 #[cfg(feature = "glx")]
4699 Request::GlxIsTexture(req) => Request::GlxIsTexture(req),
4700 #[cfg(feature = "glx")]
4701 Request::GlxGetColorTable(req) => Request::GlxGetColorTable(req),
4702 #[cfg(feature = "glx")]
4703 Request::GlxGetColorTableParameterfv(req) => Request::GlxGetColorTableParameterfv(req),
4704 #[cfg(feature = "glx")]
4705 Request::GlxGetColorTableParameteriv(req) => Request::GlxGetColorTableParameteriv(req),
4706 #[cfg(feature = "glx")]
4707 Request::GlxGetConvolutionFilter(req) => Request::GlxGetConvolutionFilter(req),
4708 #[cfg(feature = "glx")]
4709 Request::GlxGetConvolutionParameterfv(req) => Request::GlxGetConvolutionParameterfv(req),
4710 #[cfg(feature = "glx")]
4711 Request::GlxGetConvolutionParameteriv(req) => Request::GlxGetConvolutionParameteriv(req),
4712 #[cfg(feature = "glx")]
4713 Request::GlxGetSeparableFilter(req) => Request::GlxGetSeparableFilter(req),
4714 #[cfg(feature = "glx")]
4715 Request::GlxGetHistogram(req) => Request::GlxGetHistogram(req),
4716 #[cfg(feature = "glx")]
4717 Request::GlxGetHistogramParameterfv(req) => Request::GlxGetHistogramParameterfv(req),
4718 #[cfg(feature = "glx")]
4719 Request::GlxGetHistogramParameteriv(req) => Request::GlxGetHistogramParameteriv(req),
4720 #[cfg(feature = "glx")]
4721 Request::GlxGetMinmax(req) => Request::GlxGetMinmax(req),
4722 #[cfg(feature = "glx")]
4723 Request::GlxGetMinmaxParameterfv(req) => Request::GlxGetMinmaxParameterfv(req),
4724 #[cfg(feature = "glx")]
4725 Request::GlxGetMinmaxParameteriv(req) => Request::GlxGetMinmaxParameteriv(req),
4726 #[cfg(feature = "glx")]
4727 Request::GlxGetCompressedTexImageARB(req) => Request::GlxGetCompressedTexImageARB(req),
4728 #[cfg(feature = "glx")]
4729 Request::GlxDeleteQueriesARB(req) => Request::GlxDeleteQueriesARB(req.into_owned()),
4730 #[cfg(feature = "glx")]
4731 Request::GlxGenQueriesARB(req) => Request::GlxGenQueriesARB(req),
4732 #[cfg(feature = "glx")]
4733 Request::GlxIsQueryARB(req) => Request::GlxIsQueryARB(req),
4734 #[cfg(feature = "glx")]
4735 Request::GlxGetQueryivARB(req) => Request::GlxGetQueryivARB(req),
4736 #[cfg(feature = "glx")]
4737 Request::GlxGetQueryObjectivARB(req) => Request::GlxGetQueryObjectivARB(req),
4738 #[cfg(feature = "glx")]
4739 Request::GlxGetQueryObjectuivARB(req) => Request::GlxGetQueryObjectuivARB(req),
4740 #[cfg(feature = "present")]
4741 Request::PresentQueryVersion(req) => Request::PresentQueryVersion(req),
4742 #[cfg(feature = "present")]
4743 Request::PresentPixmap(req) => Request::PresentPixmap(req.into_owned()),
4744 #[cfg(feature = "present")]
4745 Request::PresentNotifyMSC(req) => Request::PresentNotifyMSC(req),
4746 #[cfg(feature = "present")]
4747 Request::PresentSelectInput(req) => Request::PresentSelectInput(req),
4748 #[cfg(feature = "present")]
4749 Request::PresentQueryCapabilities(req) => Request::PresentQueryCapabilities(req),
4750 #[cfg(feature = "randr")]
4751 Request::RandrQueryVersion(req) => Request::RandrQueryVersion(req),
4752 #[cfg(feature = "randr")]
4753 Request::RandrSetScreenConfig(req) => Request::RandrSetScreenConfig(req),
4754 #[cfg(feature = "randr")]
4755 Request::RandrSelectInput(req) => Request::RandrSelectInput(req),
4756 #[cfg(feature = "randr")]
4757 Request::RandrGetScreenInfo(req) => Request::RandrGetScreenInfo(req),
4758 #[cfg(feature = "randr")]
4759 Request::RandrGetScreenSizeRange(req) => Request::RandrGetScreenSizeRange(req),
4760 #[cfg(feature = "randr")]
4761 Request::RandrSetScreenSize(req) => Request::RandrSetScreenSize(req),
4762 #[cfg(feature = "randr")]
4763 Request::RandrGetScreenResources(req) => Request::RandrGetScreenResources(req),
4764 #[cfg(feature = "randr")]
4765 Request::RandrGetOutputInfo(req) => Request::RandrGetOutputInfo(req),
4766 #[cfg(feature = "randr")]
4767 Request::RandrListOutputProperties(req) => Request::RandrListOutputProperties(req),
4768 #[cfg(feature = "randr")]
4769 Request::RandrQueryOutputProperty(req) => Request::RandrQueryOutputProperty(req),
4770 #[cfg(feature = "randr")]
4771 Request::RandrConfigureOutputProperty(req) => Request::RandrConfigureOutputProperty(req.into_owned()),
4772 #[cfg(feature = "randr")]
4773 Request::RandrChangeOutputProperty(req) => Request::RandrChangeOutputProperty(req.into_owned()),
4774 #[cfg(feature = "randr")]
4775 Request::RandrDeleteOutputProperty(req) => Request::RandrDeleteOutputProperty(req),
4776 #[cfg(feature = "randr")]
4777 Request::RandrGetOutputProperty(req) => Request::RandrGetOutputProperty(req),
4778 #[cfg(feature = "randr")]
4779 Request::RandrCreateMode(req) => Request::RandrCreateMode(req.into_owned()),
4780 #[cfg(feature = "randr")]
4781 Request::RandrDestroyMode(req) => Request::RandrDestroyMode(req),
4782 #[cfg(feature = "randr")]
4783 Request::RandrAddOutputMode(req) => Request::RandrAddOutputMode(req),
4784 #[cfg(feature = "randr")]
4785 Request::RandrDeleteOutputMode(req) => Request::RandrDeleteOutputMode(req),
4786 #[cfg(feature = "randr")]
4787 Request::RandrGetCrtcInfo(req) => Request::RandrGetCrtcInfo(req),
4788 #[cfg(feature = "randr")]
4789 Request::RandrSetCrtcConfig(req) => Request::RandrSetCrtcConfig(req.into_owned()),
4790 #[cfg(feature = "randr")]
4791 Request::RandrGetCrtcGammaSize(req) => Request::RandrGetCrtcGammaSize(req),
4792 #[cfg(feature = "randr")]
4793 Request::RandrGetCrtcGamma(req) => Request::RandrGetCrtcGamma(req),
4794 #[cfg(feature = "randr")]
4795 Request::RandrSetCrtcGamma(req) => Request::RandrSetCrtcGamma(req.into_owned()),
4796 #[cfg(feature = "randr")]
4797 Request::RandrGetScreenResourcesCurrent(req) => Request::RandrGetScreenResourcesCurrent(req),
4798 #[cfg(feature = "randr")]
4799 Request::RandrSetCrtcTransform(req) => Request::RandrSetCrtcTransform(req.into_owned()),
4800 #[cfg(feature = "randr")]
4801 Request::RandrGetCrtcTransform(req) => Request::RandrGetCrtcTransform(req),
4802 #[cfg(feature = "randr")]
4803 Request::RandrGetPanning(req) => Request::RandrGetPanning(req),
4804 #[cfg(feature = "randr")]
4805 Request::RandrSetPanning(req) => Request::RandrSetPanning(req),
4806 #[cfg(feature = "randr")]
4807 Request::RandrSetOutputPrimary(req) => Request::RandrSetOutputPrimary(req),
4808 #[cfg(feature = "randr")]
4809 Request::RandrGetOutputPrimary(req) => Request::RandrGetOutputPrimary(req),
4810 #[cfg(feature = "randr")]
4811 Request::RandrGetProviders(req) => Request::RandrGetProviders(req),
4812 #[cfg(feature = "randr")]
4813 Request::RandrGetProviderInfo(req) => Request::RandrGetProviderInfo(req),
4814 #[cfg(feature = "randr")]
4815 Request::RandrSetProviderOffloadSink(req) => Request::RandrSetProviderOffloadSink(req),
4816 #[cfg(feature = "randr")]
4817 Request::RandrSetProviderOutputSource(req) => Request::RandrSetProviderOutputSource(req),
4818 #[cfg(feature = "randr")]
4819 Request::RandrListProviderProperties(req) => Request::RandrListProviderProperties(req),
4820 #[cfg(feature = "randr")]
4821 Request::RandrQueryProviderProperty(req) => Request::RandrQueryProviderProperty(req),
4822 #[cfg(feature = "randr")]
4823 Request::RandrConfigureProviderProperty(req) => Request::RandrConfigureProviderProperty(req.into_owned()),
4824 #[cfg(feature = "randr")]
4825 Request::RandrChangeProviderProperty(req) => Request::RandrChangeProviderProperty(req.into_owned()),
4826 #[cfg(feature = "randr")]
4827 Request::RandrDeleteProviderProperty(req) => Request::RandrDeleteProviderProperty(req),
4828 #[cfg(feature = "randr")]
4829 Request::RandrGetProviderProperty(req) => Request::RandrGetProviderProperty(req),
4830 #[cfg(feature = "randr")]
4831 Request::RandrGetMonitors(req) => Request::RandrGetMonitors(req),
4832 #[cfg(feature = "randr")]
4833 Request::RandrSetMonitor(req) => Request::RandrSetMonitor(req),
4834 #[cfg(feature = "randr")]
4835 Request::RandrDeleteMonitor(req) => Request::RandrDeleteMonitor(req),
4836 #[cfg(feature = "randr")]
4837 Request::RandrCreateLease(req) => Request::RandrCreateLease(req.into_owned()),
4838 #[cfg(feature = "randr")]
4839 Request::RandrFreeLease(req) => Request::RandrFreeLease(req),
4840 #[cfg(feature = "record")]
4841 Request::RecordQueryVersion(req) => Request::RecordQueryVersion(req),
4842 #[cfg(feature = "record")]
4843 Request::RecordCreateContext(req) => Request::RecordCreateContext(req.into_owned()),
4844 #[cfg(feature = "record")]
4845 Request::RecordRegisterClients(req) => Request::RecordRegisterClients(req.into_owned()),
4846 #[cfg(feature = "record")]
4847 Request::RecordUnregisterClients(req) => Request::RecordUnregisterClients(req.into_owned()),
4848 #[cfg(feature = "record")]
4849 Request::RecordGetContext(req) => Request::RecordGetContext(req),
4850 #[cfg(feature = "record")]
4851 Request::RecordEnableContext(req) => Request::RecordEnableContext(req),
4852 #[cfg(feature = "record")]
4853 Request::RecordDisableContext(req) => Request::RecordDisableContext(req),
4854 #[cfg(feature = "record")]
4855 Request::RecordFreeContext(req) => Request::RecordFreeContext(req),
4856 #[cfg(feature = "render")]
4857 Request::RenderQueryVersion(req) => Request::RenderQueryVersion(req),
4858 #[cfg(feature = "render")]
4859 Request::RenderQueryPictFormats(req) => Request::RenderQueryPictFormats(req),
4860 #[cfg(feature = "render")]
4861 Request::RenderQueryPictIndexValues(req) => Request::RenderQueryPictIndexValues(req),
4862 #[cfg(feature = "render")]
4863 Request::RenderCreatePicture(req) => Request::RenderCreatePicture(req.into_owned()),
4864 #[cfg(feature = "render")]
4865 Request::RenderChangePicture(req) => Request::RenderChangePicture(req.into_owned()),
4866 #[cfg(feature = "render")]
4867 Request::RenderSetPictureClipRectangles(req) => Request::RenderSetPictureClipRectangles(req.into_owned()),
4868 #[cfg(feature = "render")]
4869 Request::RenderFreePicture(req) => Request::RenderFreePicture(req),
4870 #[cfg(feature = "render")]
4871 Request::RenderComposite(req) => Request::RenderComposite(req),
4872 #[cfg(feature = "render")]
4873 Request::RenderTrapezoids(req) => Request::RenderTrapezoids(req.into_owned()),
4874 #[cfg(feature = "render")]
4875 Request::RenderTriangles(req) => Request::RenderTriangles(req.into_owned()),
4876 #[cfg(feature = "render")]
4877 Request::RenderTriStrip(req) => Request::RenderTriStrip(req.into_owned()),
4878 #[cfg(feature = "render")]
4879 Request::RenderTriFan(req) => Request::RenderTriFan(req.into_owned()),
4880 #[cfg(feature = "render")]
4881 Request::RenderCreateGlyphSet(req) => Request::RenderCreateGlyphSet(req),
4882 #[cfg(feature = "render")]
4883 Request::RenderReferenceGlyphSet(req) => Request::RenderReferenceGlyphSet(req),
4884 #[cfg(feature = "render")]
4885 Request::RenderFreeGlyphSet(req) => Request::RenderFreeGlyphSet(req),
4886 #[cfg(feature = "render")]
4887 Request::RenderAddGlyphs(req) => Request::RenderAddGlyphs(req.into_owned()),
4888 #[cfg(feature = "render")]
4889 Request::RenderFreeGlyphs(req) => Request::RenderFreeGlyphs(req.into_owned()),
4890 #[cfg(feature = "render")]
4891 Request::RenderCompositeGlyphs8(req) => Request::RenderCompositeGlyphs8(req.into_owned()),
4892 #[cfg(feature = "render")]
4893 Request::RenderCompositeGlyphs16(req) => Request::RenderCompositeGlyphs16(req.into_owned()),
4894 #[cfg(feature = "render")]
4895 Request::RenderCompositeGlyphs32(req) => Request::RenderCompositeGlyphs32(req.into_owned()),
4896 #[cfg(feature = "render")]
4897 Request::RenderFillRectangles(req) => Request::RenderFillRectangles(req.into_owned()),
4898 #[cfg(feature = "render")]
4899 Request::RenderCreateCursor(req) => Request::RenderCreateCursor(req),
4900 #[cfg(feature = "render")]
4901 Request::RenderSetPictureTransform(req) => Request::RenderSetPictureTransform(req),
4902 #[cfg(feature = "render")]
4903 Request::RenderQueryFilters(req) => Request::RenderQueryFilters(req),
4904 #[cfg(feature = "render")]
4905 Request::RenderSetPictureFilter(req) => Request::RenderSetPictureFilter(req.into_owned()),
4906 #[cfg(feature = "render")]
4907 Request::RenderCreateAnimCursor(req) => Request::RenderCreateAnimCursor(req.into_owned()),
4908 #[cfg(feature = "render")]
4909 Request::RenderAddTraps(req) => Request::RenderAddTraps(req.into_owned()),
4910 #[cfg(feature = "render")]
4911 Request::RenderCreateSolidFill(req) => Request::RenderCreateSolidFill(req),
4912 #[cfg(feature = "render")]
4913 Request::RenderCreateLinearGradient(req) => Request::RenderCreateLinearGradient(req.into_owned()),
4914 #[cfg(feature = "render")]
4915 Request::RenderCreateRadialGradient(req) => Request::RenderCreateRadialGradient(req.into_owned()),
4916 #[cfg(feature = "render")]
4917 Request::RenderCreateConicalGradient(req) => Request::RenderCreateConicalGradient(req.into_owned()),
4918 #[cfg(feature = "res")]
4919 Request::ResQueryVersion(req) => Request::ResQueryVersion(req),
4920 #[cfg(feature = "res")]
4921 Request::ResQueryClients(req) => Request::ResQueryClients(req),
4922 #[cfg(feature = "res")]
4923 Request::ResQueryClientResources(req) => Request::ResQueryClientResources(req),
4924 #[cfg(feature = "res")]
4925 Request::ResQueryClientPixmapBytes(req) => Request::ResQueryClientPixmapBytes(req),
4926 #[cfg(feature = "res")]
4927 Request::ResQueryClientIds(req) => Request::ResQueryClientIds(req.into_owned()),
4928 #[cfg(feature = "res")]
4929 Request::ResQueryResourceBytes(req) => Request::ResQueryResourceBytes(req.into_owned()),
4930 #[cfg(feature = "screensaver")]
4931 Request::ScreensaverQueryVersion(req) => Request::ScreensaverQueryVersion(req),
4932 #[cfg(feature = "screensaver")]
4933 Request::ScreensaverQueryInfo(req) => Request::ScreensaverQueryInfo(req),
4934 #[cfg(feature = "screensaver")]
4935 Request::ScreensaverSelectInput(req) => Request::ScreensaverSelectInput(req),
4936 #[cfg(feature = "screensaver")]
4937 Request::ScreensaverSetAttributes(req) => Request::ScreensaverSetAttributes(req.into_owned()),
4938 #[cfg(feature = "screensaver")]
4939 Request::ScreensaverUnsetAttributes(req) => Request::ScreensaverUnsetAttributes(req),
4940 #[cfg(feature = "screensaver")]
4941 Request::ScreensaverSuspend(req) => Request::ScreensaverSuspend(req),
4942 #[cfg(feature = "shape")]
4943 Request::ShapeQueryVersion(req) => Request::ShapeQueryVersion(req),
4944 #[cfg(feature = "shape")]
4945 Request::ShapeRectangles(req) => Request::ShapeRectangles(req.into_owned()),
4946 #[cfg(feature = "shape")]
4947 Request::ShapeMask(req) => Request::ShapeMask(req),
4948 #[cfg(feature = "shape")]
4949 Request::ShapeCombine(req) => Request::ShapeCombine(req),
4950 #[cfg(feature = "shape")]
4951 Request::ShapeOffset(req) => Request::ShapeOffset(req),
4952 #[cfg(feature = "shape")]
4953 Request::ShapeQueryExtents(req) => Request::ShapeQueryExtents(req),
4954 #[cfg(feature = "shape")]
4955 Request::ShapeSelectInput(req) => Request::ShapeSelectInput(req),
4956 #[cfg(feature = "shape")]
4957 Request::ShapeInputSelected(req) => Request::ShapeInputSelected(req),
4958 #[cfg(feature = "shape")]
4959 Request::ShapeGetRectangles(req) => Request::ShapeGetRectangles(req),
4960 #[cfg(feature = "shm")]
4961 Request::ShmQueryVersion(req) => Request::ShmQueryVersion(req),
4962 #[cfg(feature = "shm")]
4963 Request::ShmAttach(req) => Request::ShmAttach(req),
4964 #[cfg(feature = "shm")]
4965 Request::ShmDetach(req) => Request::ShmDetach(req),
4966 #[cfg(feature = "shm")]
4967 Request::ShmPutImage(req) => Request::ShmPutImage(req),
4968 #[cfg(feature = "shm")]
4969 Request::ShmGetImage(req) => Request::ShmGetImage(req),
4970 #[cfg(feature = "shm")]
4971 Request::ShmCreatePixmap(req) => Request::ShmCreatePixmap(req),
4972 #[cfg(feature = "shm")]
4973 Request::ShmAttachFd(req) => Request::ShmAttachFd(req),
4974 #[cfg(feature = "shm")]
4975 Request::ShmCreateSegment(req) => Request::ShmCreateSegment(req),
4976 #[cfg(feature = "sync")]
4977 Request::SyncInitialize(req) => Request::SyncInitialize(req),
4978 #[cfg(feature = "sync")]
4979 Request::SyncListSystemCounters(req) => Request::SyncListSystemCounters(req),
4980 #[cfg(feature = "sync")]
4981 Request::SyncCreateCounter(req) => Request::SyncCreateCounter(req),
4982 #[cfg(feature = "sync")]
4983 Request::SyncDestroyCounter(req) => Request::SyncDestroyCounter(req),
4984 #[cfg(feature = "sync")]
4985 Request::SyncQueryCounter(req) => Request::SyncQueryCounter(req),
4986 #[cfg(feature = "sync")]
4987 Request::SyncAwait(req) => Request::SyncAwait(req.into_owned()),
4988 #[cfg(feature = "sync")]
4989 Request::SyncChangeCounter(req) => Request::SyncChangeCounter(req),
4990 #[cfg(feature = "sync")]
4991 Request::SyncSetCounter(req) => Request::SyncSetCounter(req),
4992 #[cfg(feature = "sync")]
4993 Request::SyncCreateAlarm(req) => Request::SyncCreateAlarm(req.into_owned()),
4994 #[cfg(feature = "sync")]
4995 Request::SyncChangeAlarm(req) => Request::SyncChangeAlarm(req.into_owned()),
4996 #[cfg(feature = "sync")]
4997 Request::SyncDestroyAlarm(req) => Request::SyncDestroyAlarm(req),
4998 #[cfg(feature = "sync")]
4999 Request::SyncQueryAlarm(req) => Request::SyncQueryAlarm(req),
5000 #[cfg(feature = "sync")]
5001 Request::SyncSetPriority(req) => Request::SyncSetPriority(req),
5002 #[cfg(feature = "sync")]
5003 Request::SyncGetPriority(req) => Request::SyncGetPriority(req),
5004 #[cfg(feature = "sync")]
5005 Request::SyncCreateFence(req) => Request::SyncCreateFence(req),
5006 #[cfg(feature = "sync")]
5007 Request::SyncTriggerFence(req) => Request::SyncTriggerFence(req),
5008 #[cfg(feature = "sync")]
5009 Request::SyncResetFence(req) => Request::SyncResetFence(req),
5010 #[cfg(feature = "sync")]
5011 Request::SyncDestroyFence(req) => Request::SyncDestroyFence(req),
5012 #[cfg(feature = "sync")]
5013 Request::SyncQueryFence(req) => Request::SyncQueryFence(req),
5014 #[cfg(feature = "sync")]
5015 Request::SyncAwaitFence(req) => Request::SyncAwaitFence(req.into_owned()),
5016 Request::XcMiscGetVersion(req) => Request::XcMiscGetVersion(req),
5017 Request::XcMiscGetXIDRange(req) => Request::XcMiscGetXIDRange(req),
5018 Request::XcMiscGetXIDList(req) => Request::XcMiscGetXIDList(req),
5019 #[cfg(feature = "xevie")]
5020 Request::XevieQueryVersion(req) => Request::XevieQueryVersion(req),
5021 #[cfg(feature = "xevie")]
5022 Request::XevieStart(req) => Request::XevieStart(req),
5023 #[cfg(feature = "xevie")]
5024 Request::XevieEnd(req) => Request::XevieEnd(req),
5025 #[cfg(feature = "xevie")]
5026 Request::XevieSend(req) => Request::XevieSend(req),
5027 #[cfg(feature = "xevie")]
5028 Request::XevieSelectInput(req) => Request::XevieSelectInput(req),
5029 #[cfg(feature = "xf86dri")]
5030 Request::Xf86driQueryVersion(req) => Request::Xf86driQueryVersion(req),
5031 #[cfg(feature = "xf86dri")]
5032 Request::Xf86driQueryDirectRenderingCapable(req) => Request::Xf86driQueryDirectRenderingCapable(req),
5033 #[cfg(feature = "xf86dri")]
5034 Request::Xf86driOpenConnection(req) => Request::Xf86driOpenConnection(req),
5035 #[cfg(feature = "xf86dri")]
5036 Request::Xf86driCloseConnection(req) => Request::Xf86driCloseConnection(req),
5037 #[cfg(feature = "xf86dri")]
5038 Request::Xf86driGetClientDriverName(req) => Request::Xf86driGetClientDriverName(req),
5039 #[cfg(feature = "xf86dri")]
5040 Request::Xf86driCreateContext(req) => Request::Xf86driCreateContext(req),
5041 #[cfg(feature = "xf86dri")]
5042 Request::Xf86driDestroyContext(req) => Request::Xf86driDestroyContext(req),
5043 #[cfg(feature = "xf86dri")]
5044 Request::Xf86driCreateDrawable(req) => Request::Xf86driCreateDrawable(req),
5045 #[cfg(feature = "xf86dri")]
5046 Request::Xf86driDestroyDrawable(req) => Request::Xf86driDestroyDrawable(req),
5047 #[cfg(feature = "xf86dri")]
5048 Request::Xf86driGetDrawableInfo(req) => Request::Xf86driGetDrawableInfo(req),
5049 #[cfg(feature = "xf86dri")]
5050 Request::Xf86driGetDeviceInfo(req) => Request::Xf86driGetDeviceInfo(req),
5051 #[cfg(feature = "xf86dri")]
5052 Request::Xf86driAuthConnection(req) => Request::Xf86driAuthConnection(req),
5053 #[cfg(feature = "xf86vidmode")]
5054 Request::Xf86vidmodeQueryVersion(req) => Request::Xf86vidmodeQueryVersion(req),
5055 #[cfg(feature = "xf86vidmode")]
5056 Request::Xf86vidmodeGetModeLine(req) => Request::Xf86vidmodeGetModeLine(req),
5057 #[cfg(feature = "xf86vidmode")]
5058 Request::Xf86vidmodeModModeLine(req) => Request::Xf86vidmodeModModeLine(req.into_owned()),
5059 #[cfg(feature = "xf86vidmode")]
5060 Request::Xf86vidmodeSwitchMode(req) => Request::Xf86vidmodeSwitchMode(req),
5061 #[cfg(feature = "xf86vidmode")]
5062 Request::Xf86vidmodeGetMonitor(req) => Request::Xf86vidmodeGetMonitor(req),
5063 #[cfg(feature = "xf86vidmode")]
5064 Request::Xf86vidmodeLockModeSwitch(req) => Request::Xf86vidmodeLockModeSwitch(req),
5065 #[cfg(feature = "xf86vidmode")]
5066 Request::Xf86vidmodeGetAllModeLines(req) => Request::Xf86vidmodeGetAllModeLines(req),
5067 #[cfg(feature = "xf86vidmode")]
5068 Request::Xf86vidmodeAddModeLine(req) => Request::Xf86vidmodeAddModeLine(req.into_owned()),
5069 #[cfg(feature = "xf86vidmode")]
5070 Request::Xf86vidmodeDeleteModeLine(req) => Request::Xf86vidmodeDeleteModeLine(req.into_owned()),
5071 #[cfg(feature = "xf86vidmode")]
5072 Request::Xf86vidmodeValidateModeLine(req) => Request::Xf86vidmodeValidateModeLine(req.into_owned()),
5073 #[cfg(feature = "xf86vidmode")]
5074 Request::Xf86vidmodeSwitchToMode(req) => Request::Xf86vidmodeSwitchToMode(req.into_owned()),
5075 #[cfg(feature = "xf86vidmode")]
5076 Request::Xf86vidmodeGetViewPort(req) => Request::Xf86vidmodeGetViewPort(req),
5077 #[cfg(feature = "xf86vidmode")]
5078 Request::Xf86vidmodeSetViewPort(req) => Request::Xf86vidmodeSetViewPort(req),
5079 #[cfg(feature = "xf86vidmode")]
5080 Request::Xf86vidmodeGetDotClocks(req) => Request::Xf86vidmodeGetDotClocks(req),
5081 #[cfg(feature = "xf86vidmode")]
5082 Request::Xf86vidmodeSetClientVersion(req) => Request::Xf86vidmodeSetClientVersion(req),
5083 #[cfg(feature = "xf86vidmode")]
5084 Request::Xf86vidmodeSetGamma(req) => Request::Xf86vidmodeSetGamma(req),
5085 #[cfg(feature = "xf86vidmode")]
5086 Request::Xf86vidmodeGetGamma(req) => Request::Xf86vidmodeGetGamma(req),
5087 #[cfg(feature = "xf86vidmode")]
5088 Request::Xf86vidmodeGetGammaRamp(req) => Request::Xf86vidmodeGetGammaRamp(req),
5089 #[cfg(feature = "xf86vidmode")]
5090 Request::Xf86vidmodeSetGammaRamp(req) => Request::Xf86vidmodeSetGammaRamp(req.into_owned()),
5091 #[cfg(feature = "xf86vidmode")]
5092 Request::Xf86vidmodeGetGammaRampSize(req) => Request::Xf86vidmodeGetGammaRampSize(req),
5093 #[cfg(feature = "xf86vidmode")]
5094 Request::Xf86vidmodeGetPermissions(req) => Request::Xf86vidmodeGetPermissions(req),
5095 #[cfg(feature = "xfixes")]
5096 Request::XfixesQueryVersion(req) => Request::XfixesQueryVersion(req),
5097 #[cfg(feature = "xfixes")]
5098 Request::XfixesChangeSaveSet(req) => Request::XfixesChangeSaveSet(req),
5099 #[cfg(feature = "xfixes")]
5100 Request::XfixesSelectSelectionInput(req) => Request::XfixesSelectSelectionInput(req),
5101 #[cfg(feature = "xfixes")]
5102 Request::XfixesSelectCursorInput(req) => Request::XfixesSelectCursorInput(req),
5103 #[cfg(feature = "xfixes")]
5104 Request::XfixesGetCursorImage(req) => Request::XfixesGetCursorImage(req),
5105 #[cfg(feature = "xfixes")]
5106 Request::XfixesCreateRegion(req) => Request::XfixesCreateRegion(req.into_owned()),
5107 #[cfg(feature = "xfixes")]
5108 Request::XfixesCreateRegionFromBitmap(req) => Request::XfixesCreateRegionFromBitmap(req),
5109 #[cfg(feature = "xfixes")]
5110 Request::XfixesCreateRegionFromWindow(req) => Request::XfixesCreateRegionFromWindow(req),
5111 #[cfg(feature = "xfixes")]
5112 Request::XfixesCreateRegionFromGC(req) => Request::XfixesCreateRegionFromGC(req),
5113 #[cfg(feature = "xfixes")]
5114 Request::XfixesCreateRegionFromPicture(req) => Request::XfixesCreateRegionFromPicture(req),
5115 #[cfg(feature = "xfixes")]
5116 Request::XfixesDestroyRegion(req) => Request::XfixesDestroyRegion(req),
5117 #[cfg(feature = "xfixes")]
5118 Request::XfixesSetRegion(req) => Request::XfixesSetRegion(req.into_owned()),
5119 #[cfg(feature = "xfixes")]
5120 Request::XfixesCopyRegion(req) => Request::XfixesCopyRegion(req),
5121 #[cfg(feature = "xfixes")]
5122 Request::XfixesUnionRegion(req) => Request::XfixesUnionRegion(req),
5123 #[cfg(feature = "xfixes")]
5124 Request::XfixesIntersectRegion(req) => Request::XfixesIntersectRegion(req),
5125 #[cfg(feature = "xfixes")]
5126 Request::XfixesSubtractRegion(req) => Request::XfixesSubtractRegion(req),
5127 #[cfg(feature = "xfixes")]
5128 Request::XfixesInvertRegion(req) => Request::XfixesInvertRegion(req),
5129 #[cfg(feature = "xfixes")]
5130 Request::XfixesTranslateRegion(req) => Request::XfixesTranslateRegion(req),
5131 #[cfg(feature = "xfixes")]
5132 Request::XfixesRegionExtents(req) => Request::XfixesRegionExtents(req),
5133 #[cfg(feature = "xfixes")]
5134 Request::XfixesFetchRegion(req) => Request::XfixesFetchRegion(req),
5135 #[cfg(feature = "xfixes")]
5136 Request::XfixesSetGCClipRegion(req) => Request::XfixesSetGCClipRegion(req),
5137 #[cfg(feature = "xfixes")]
5138 Request::XfixesSetWindowShapeRegion(req) => Request::XfixesSetWindowShapeRegion(req),
5139 #[cfg(feature = "xfixes")]
5140 Request::XfixesSetPictureClipRegion(req) => Request::XfixesSetPictureClipRegion(req),
5141 #[cfg(feature = "xfixes")]
5142 Request::XfixesSetCursorName(req) => Request::XfixesSetCursorName(req.into_owned()),
5143 #[cfg(feature = "xfixes")]
5144 Request::XfixesGetCursorName(req) => Request::XfixesGetCursorName(req),
5145 #[cfg(feature = "xfixes")]
5146 Request::XfixesGetCursorImageAndName(req) => Request::XfixesGetCursorImageAndName(req),
5147 #[cfg(feature = "xfixes")]
5148 Request::XfixesChangeCursor(req) => Request::XfixesChangeCursor(req),
5149 #[cfg(feature = "xfixes")]
5150 Request::XfixesChangeCursorByName(req) => Request::XfixesChangeCursorByName(req.into_owned()),
5151 #[cfg(feature = "xfixes")]
5152 Request::XfixesExpandRegion(req) => Request::XfixesExpandRegion(req),
5153 #[cfg(feature = "xfixes")]
5154 Request::XfixesHideCursor(req) => Request::XfixesHideCursor(req),
5155 #[cfg(feature = "xfixes")]
5156 Request::XfixesShowCursor(req) => Request::XfixesShowCursor(req),
5157 #[cfg(feature = "xfixes")]
5158 Request::XfixesCreatePointerBarrier(req) => Request::XfixesCreatePointerBarrier(req.into_owned()),
5159 #[cfg(feature = "xfixes")]
5160 Request::XfixesDeletePointerBarrier(req) => Request::XfixesDeletePointerBarrier(req),
5161 #[cfg(feature = "xfixes")]
5162 Request::XfixesSetClientDisconnectMode(req) => Request::XfixesSetClientDisconnectMode(req),
5163 #[cfg(feature = "xfixes")]
5164 Request::XfixesGetClientDisconnectMode(req) => Request::XfixesGetClientDisconnectMode(req),
5165 #[cfg(feature = "xinerama")]
5166 Request::XineramaQueryVersion(req) => Request::XineramaQueryVersion(req),
5167 #[cfg(feature = "xinerama")]
5168 Request::XineramaGetState(req) => Request::XineramaGetState(req),
5169 #[cfg(feature = "xinerama")]
5170 Request::XineramaGetScreenCount(req) => Request::XineramaGetScreenCount(req),
5171 #[cfg(feature = "xinerama")]
5172 Request::XineramaGetScreenSize(req) => Request::XineramaGetScreenSize(req),
5173 #[cfg(feature = "xinerama")]
5174 Request::XineramaIsActive(req) => Request::XineramaIsActive(req),
5175 #[cfg(feature = "xinerama")]
5176 Request::XineramaQueryScreens(req) => Request::XineramaQueryScreens(req),
5177 #[cfg(feature = "xinput")]
5178 Request::XinputGetExtensionVersion(req) => Request::XinputGetExtensionVersion(req.into_owned()),
5179 #[cfg(feature = "xinput")]
5180 Request::XinputListInputDevices(req) => Request::XinputListInputDevices(req),
5181 #[cfg(feature = "xinput")]
5182 Request::XinputOpenDevice(req) => Request::XinputOpenDevice(req),
5183 #[cfg(feature = "xinput")]
5184 Request::XinputCloseDevice(req) => Request::XinputCloseDevice(req),
5185 #[cfg(feature = "xinput")]
5186 Request::XinputSetDeviceMode(req) => Request::XinputSetDeviceMode(req),
5187 #[cfg(feature = "xinput")]
5188 Request::XinputSelectExtensionEvent(req) => Request::XinputSelectExtensionEvent(req.into_owned()),
5189 #[cfg(feature = "xinput")]
5190 Request::XinputGetSelectedExtensionEvents(req) => Request::XinputGetSelectedExtensionEvents(req),
5191 #[cfg(feature = "xinput")]
5192 Request::XinputChangeDeviceDontPropagateList(req) => Request::XinputChangeDeviceDontPropagateList(req.into_owned()),
5193 #[cfg(feature = "xinput")]
5194 Request::XinputGetDeviceDontPropagateList(req) => Request::XinputGetDeviceDontPropagateList(req),
5195 #[cfg(feature = "xinput")]
5196 Request::XinputGetDeviceMotionEvents(req) => Request::XinputGetDeviceMotionEvents(req),
5197 #[cfg(feature = "xinput")]
5198 Request::XinputChangeKeyboardDevice(req) => Request::XinputChangeKeyboardDevice(req),
5199 #[cfg(feature = "xinput")]
5200 Request::XinputChangePointerDevice(req) => Request::XinputChangePointerDevice(req),
5201 #[cfg(feature = "xinput")]
5202 Request::XinputGrabDevice(req) => Request::XinputGrabDevice(req.into_owned()),
5203 #[cfg(feature = "xinput")]
5204 Request::XinputUngrabDevice(req) => Request::XinputUngrabDevice(req),
5205 #[cfg(feature = "xinput")]
5206 Request::XinputGrabDeviceKey(req) => Request::XinputGrabDeviceKey(req.into_owned()),
5207 #[cfg(feature = "xinput")]
5208 Request::XinputUngrabDeviceKey(req) => Request::XinputUngrabDeviceKey(req),
5209 #[cfg(feature = "xinput")]
5210 Request::XinputGrabDeviceButton(req) => Request::XinputGrabDeviceButton(req.into_owned()),
5211 #[cfg(feature = "xinput")]
5212 Request::XinputUngrabDeviceButton(req) => Request::XinputUngrabDeviceButton(req),
5213 #[cfg(feature = "xinput")]
5214 Request::XinputAllowDeviceEvents(req) => Request::XinputAllowDeviceEvents(req),
5215 #[cfg(feature = "xinput")]
5216 Request::XinputGetDeviceFocus(req) => Request::XinputGetDeviceFocus(req),
5217 #[cfg(feature = "xinput")]
5218 Request::XinputSetDeviceFocus(req) => Request::XinputSetDeviceFocus(req),
5219 #[cfg(feature = "xinput")]
5220 Request::XinputGetFeedbackControl(req) => Request::XinputGetFeedbackControl(req),
5221 #[cfg(feature = "xinput")]
5222 Request::XinputChangeFeedbackControl(req) => Request::XinputChangeFeedbackControl(req),
5223 #[cfg(feature = "xinput")]
5224 Request::XinputGetDeviceKeyMapping(req) => Request::XinputGetDeviceKeyMapping(req),
5225 #[cfg(feature = "xinput")]
5226 Request::XinputChangeDeviceKeyMapping(req) => Request::XinputChangeDeviceKeyMapping(req.into_owned()),
5227 #[cfg(feature = "xinput")]
5228 Request::XinputGetDeviceModifierMapping(req) => Request::XinputGetDeviceModifierMapping(req),
5229 #[cfg(feature = "xinput")]
5230 Request::XinputSetDeviceModifierMapping(req) => Request::XinputSetDeviceModifierMapping(req.into_owned()),
5231 #[cfg(feature = "xinput")]
5232 Request::XinputGetDeviceButtonMapping(req) => Request::XinputGetDeviceButtonMapping(req),
5233 #[cfg(feature = "xinput")]
5234 Request::XinputSetDeviceButtonMapping(req) => Request::XinputSetDeviceButtonMapping(req.into_owned()),
5235 #[cfg(feature = "xinput")]
5236 Request::XinputQueryDeviceState(req) => Request::XinputQueryDeviceState(req),
5237 #[cfg(feature = "xinput")]
5238 Request::XinputDeviceBell(req) => Request::XinputDeviceBell(req),
5239 #[cfg(feature = "xinput")]
5240 Request::XinputSetDeviceValuators(req) => Request::XinputSetDeviceValuators(req.into_owned()),
5241 #[cfg(feature = "xinput")]
5242 Request::XinputGetDeviceControl(req) => Request::XinputGetDeviceControl(req),
5243 #[cfg(feature = "xinput")]
5244 Request::XinputChangeDeviceControl(req) => Request::XinputChangeDeviceControl(req),
5245 #[cfg(feature = "xinput")]
5246 Request::XinputListDeviceProperties(req) => Request::XinputListDeviceProperties(req),
5247 #[cfg(feature = "xinput")]
5248 Request::XinputChangeDeviceProperty(req) => Request::XinputChangeDeviceProperty(req.into_owned()),
5249 #[cfg(feature = "xinput")]
5250 Request::XinputDeleteDeviceProperty(req) => Request::XinputDeleteDeviceProperty(req),
5251 #[cfg(feature = "xinput")]
5252 Request::XinputGetDeviceProperty(req) => Request::XinputGetDeviceProperty(req),
5253 #[cfg(feature = "xinput")]
5254 Request::XinputXIQueryPointer(req) => Request::XinputXIQueryPointer(req),
5255 #[cfg(feature = "xinput")]
5256 Request::XinputXIWarpPointer(req) => Request::XinputXIWarpPointer(req),
5257 #[cfg(feature = "xinput")]
5258 Request::XinputXIChangeCursor(req) => Request::XinputXIChangeCursor(req),
5259 #[cfg(feature = "xinput")]
5260 Request::XinputXIChangeHierarchy(req) => Request::XinputXIChangeHierarchy(req.into_owned()),
5261 #[cfg(feature = "xinput")]
5262 Request::XinputXISetClientPointer(req) => Request::XinputXISetClientPointer(req),
5263 #[cfg(feature = "xinput")]
5264 Request::XinputXIGetClientPointer(req) => Request::XinputXIGetClientPointer(req),
5265 #[cfg(feature = "xinput")]
5266 Request::XinputXISelectEvents(req) => Request::XinputXISelectEvents(req.into_owned()),
5267 #[cfg(feature = "xinput")]
5268 Request::XinputXIQueryVersion(req) => Request::XinputXIQueryVersion(req),
5269 #[cfg(feature = "xinput")]
5270 Request::XinputXIQueryDevice(req) => Request::XinputXIQueryDevice(req),
5271 #[cfg(feature = "xinput")]
5272 Request::XinputXISetFocus(req) => Request::XinputXISetFocus(req),
5273 #[cfg(feature = "xinput")]
5274 Request::XinputXIGetFocus(req) => Request::XinputXIGetFocus(req),
5275 #[cfg(feature = "xinput")]
5276 Request::XinputXIGrabDevice(req) => Request::XinputXIGrabDevice(req.into_owned()),
5277 #[cfg(feature = "xinput")]
5278 Request::XinputXIUngrabDevice(req) => Request::XinputXIUngrabDevice(req),
5279 #[cfg(feature = "xinput")]
5280 Request::XinputXIAllowEvents(req) => Request::XinputXIAllowEvents(req),
5281 #[cfg(feature = "xinput")]
5282 Request::XinputXIPassiveGrabDevice(req) => Request::XinputXIPassiveGrabDevice(req.into_owned()),
5283 #[cfg(feature = "xinput")]
5284 Request::XinputXIPassiveUngrabDevice(req) => Request::XinputXIPassiveUngrabDevice(req.into_owned()),
5285 #[cfg(feature = "xinput")]
5286 Request::XinputXIListProperties(req) => Request::XinputXIListProperties(req),
5287 #[cfg(feature = "xinput")]
5288 Request::XinputXIChangeProperty(req) => Request::XinputXIChangeProperty(req.into_owned()),
5289 #[cfg(feature = "xinput")]
5290 Request::XinputXIDeleteProperty(req) => Request::XinputXIDeleteProperty(req),
5291 #[cfg(feature = "xinput")]
5292 Request::XinputXIGetProperty(req) => Request::XinputXIGetProperty(req),
5293 #[cfg(feature = "xinput")]
5294 Request::XinputXIGetSelectedEvents(req) => Request::XinputXIGetSelectedEvents(req),
5295 #[cfg(feature = "xinput")]
5296 Request::XinputXIBarrierReleasePointer(req) => Request::XinputXIBarrierReleasePointer(req.into_owned()),
5297 #[cfg(feature = "xinput")]
5298 Request::XinputSendExtensionEvent(req) => Request::XinputSendExtensionEvent(req.into_owned()),
5299 #[cfg(feature = "xkb")]
5300 Request::XkbUseExtension(req) => Request::XkbUseExtension(req),
5301 #[cfg(feature = "xkb")]
5302 Request::XkbSelectEvents(req) => Request::XkbSelectEvents(req.into_owned()),
5303 #[cfg(feature = "xkb")]
5304 Request::XkbBell(req) => Request::XkbBell(req),
5305 #[cfg(feature = "xkb")]
5306 Request::XkbGetState(req) => Request::XkbGetState(req),
5307 #[cfg(feature = "xkb")]
5308 Request::XkbLatchLockState(req) => Request::XkbLatchLockState(req),
5309 #[cfg(feature = "xkb")]
5310 Request::XkbGetControls(req) => Request::XkbGetControls(req),
5311 #[cfg(feature = "xkb")]
5312 Request::XkbSetControls(req) => Request::XkbSetControls(req.into_owned()),
5313 #[cfg(feature = "xkb")]
5314 Request::XkbGetMap(req) => Request::XkbGetMap(req),
5315 #[cfg(feature = "xkb")]
5316 Request::XkbSetMap(req) => Request::XkbSetMap(req.into_owned()),
5317 #[cfg(feature = "xkb")]
5318 Request::XkbGetCompatMap(req) => Request::XkbGetCompatMap(req),
5319 #[cfg(feature = "xkb")]
5320 Request::XkbSetCompatMap(req) => Request::XkbSetCompatMap(req.into_owned()),
5321 #[cfg(feature = "xkb")]
5322 Request::XkbGetIndicatorState(req) => Request::XkbGetIndicatorState(req),
5323 #[cfg(feature = "xkb")]
5324 Request::XkbGetIndicatorMap(req) => Request::XkbGetIndicatorMap(req),
5325 #[cfg(feature = "xkb")]
5326 Request::XkbSetIndicatorMap(req) => Request::XkbSetIndicatorMap(req.into_owned()),
5327 #[cfg(feature = "xkb")]
5328 Request::XkbGetNamedIndicator(req) => Request::XkbGetNamedIndicator(req),
5329 #[cfg(feature = "xkb")]
5330 Request::XkbSetNamedIndicator(req) => Request::XkbSetNamedIndicator(req),
5331 #[cfg(feature = "xkb")]
5332 Request::XkbGetNames(req) => Request::XkbGetNames(req),
5333 #[cfg(feature = "xkb")]
5334 Request::XkbSetNames(req) => Request::XkbSetNames(req.into_owned()),
5335 #[cfg(feature = "xkb")]
5336 Request::XkbPerClientFlags(req) => Request::XkbPerClientFlags(req),
5337 #[cfg(feature = "xkb")]
5338 Request::XkbListComponents(req) => Request::XkbListComponents(req),
5339 #[cfg(feature = "xkb")]
5340 Request::XkbGetKbdByName(req) => Request::XkbGetKbdByName(req),
5341 #[cfg(feature = "xkb")]
5342 Request::XkbGetDeviceInfo(req) => Request::XkbGetDeviceInfo(req),
5343 #[cfg(feature = "xkb")]
5344 Request::XkbSetDeviceInfo(req) => Request::XkbSetDeviceInfo(req.into_owned()),
5345 #[cfg(feature = "xkb")]
5346 Request::XkbSetDebuggingFlags(req) => Request::XkbSetDebuggingFlags(req.into_owned()),
5347 #[cfg(feature = "xprint")]
5348 Request::XprintPrintQueryVersion(req) => Request::XprintPrintQueryVersion(req),
5349 #[cfg(feature = "xprint")]
5350 Request::XprintPrintGetPrinterList(req) => Request::XprintPrintGetPrinterList(req.into_owned()),
5351 #[cfg(feature = "xprint")]
5352 Request::XprintPrintRehashPrinterList(req) => Request::XprintPrintRehashPrinterList(req),
5353 #[cfg(feature = "xprint")]
5354 Request::XprintCreateContext(req) => Request::XprintCreateContext(req.into_owned()),
5355 #[cfg(feature = "xprint")]
5356 Request::XprintPrintSetContext(req) => Request::XprintPrintSetContext(req),
5357 #[cfg(feature = "xprint")]
5358 Request::XprintPrintGetContext(req) => Request::XprintPrintGetContext(req),
5359 #[cfg(feature = "xprint")]
5360 Request::XprintPrintDestroyContext(req) => Request::XprintPrintDestroyContext(req),
5361 #[cfg(feature = "xprint")]
5362 Request::XprintPrintGetScreenOfContext(req) => Request::XprintPrintGetScreenOfContext(req),
5363 #[cfg(feature = "xprint")]
5364 Request::XprintPrintStartJob(req) => Request::XprintPrintStartJob(req),
5365 #[cfg(feature = "xprint")]
5366 Request::XprintPrintEndJob(req) => Request::XprintPrintEndJob(req),
5367 #[cfg(feature = "xprint")]
5368 Request::XprintPrintStartDoc(req) => Request::XprintPrintStartDoc(req),
5369 #[cfg(feature = "xprint")]
5370 Request::XprintPrintEndDoc(req) => Request::XprintPrintEndDoc(req),
5371 #[cfg(feature = "xprint")]
5372 Request::XprintPrintPutDocumentData(req) => Request::XprintPrintPutDocumentData(req.into_owned()),
5373 #[cfg(feature = "xprint")]
5374 Request::XprintPrintGetDocumentData(req) => Request::XprintPrintGetDocumentData(req),
5375 #[cfg(feature = "xprint")]
5376 Request::XprintPrintStartPage(req) => Request::XprintPrintStartPage(req),
5377 #[cfg(feature = "xprint")]
5378 Request::XprintPrintEndPage(req) => Request::XprintPrintEndPage(req),
5379 #[cfg(feature = "xprint")]
5380 Request::XprintPrintSelectInput(req) => Request::XprintPrintSelectInput(req),
5381 #[cfg(feature = "xprint")]
5382 Request::XprintPrintInputSelected(req) => Request::XprintPrintInputSelected(req),
5383 #[cfg(feature = "xprint")]
5384 Request::XprintPrintGetAttributes(req) => Request::XprintPrintGetAttributes(req),
5385 #[cfg(feature = "xprint")]
5386 Request::XprintPrintGetOneAttributes(req) => Request::XprintPrintGetOneAttributes(req.into_owned()),
5387 #[cfg(feature = "xprint")]
5388 Request::XprintPrintSetAttributes(req) => Request::XprintPrintSetAttributes(req.into_owned()),
5389 #[cfg(feature = "xprint")]
5390 Request::XprintPrintGetPageDimensions(req) => Request::XprintPrintGetPageDimensions(req),
5391 #[cfg(feature = "xprint")]
5392 Request::XprintPrintQueryScreens(req) => Request::XprintPrintQueryScreens(req),
5393 #[cfg(feature = "xprint")]
5394 Request::XprintPrintSetImageResolution(req) => Request::XprintPrintSetImageResolution(req),
5395 #[cfg(feature = "xprint")]
5396 Request::XprintPrintGetImageResolution(req) => Request::XprintPrintGetImageResolution(req),
5397 #[cfg(feature = "xselinux")]
5398 Request::XselinuxQueryVersion(req) => Request::XselinuxQueryVersion(req),
5399 #[cfg(feature = "xselinux")]
5400 Request::XselinuxSetDeviceCreateContext(req) => Request::XselinuxSetDeviceCreateContext(req.into_owned()),
5401 #[cfg(feature = "xselinux")]
5402 Request::XselinuxGetDeviceCreateContext(req) => Request::XselinuxGetDeviceCreateContext(req),
5403 #[cfg(feature = "xselinux")]
5404 Request::XselinuxSetDeviceContext(req) => Request::XselinuxSetDeviceContext(req.into_owned()),
5405 #[cfg(feature = "xselinux")]
5406 Request::XselinuxGetDeviceContext(req) => Request::XselinuxGetDeviceContext(req),
5407 #[cfg(feature = "xselinux")]
5408 Request::XselinuxSetWindowCreateContext(req) => Request::XselinuxSetWindowCreateContext(req.into_owned()),
5409 #[cfg(feature = "xselinux")]
5410 Request::XselinuxGetWindowCreateContext(req) => Request::XselinuxGetWindowCreateContext(req),
5411 #[cfg(feature = "xselinux")]
5412 Request::XselinuxGetWindowContext(req) => Request::XselinuxGetWindowContext(req),
5413 #[cfg(feature = "xselinux")]
5414 Request::XselinuxSetPropertyCreateContext(req) => Request::XselinuxSetPropertyCreateContext(req.into_owned()),
5415 #[cfg(feature = "xselinux")]
5416 Request::XselinuxGetPropertyCreateContext(req) => Request::XselinuxGetPropertyCreateContext(req),
5417 #[cfg(feature = "xselinux")]
5418 Request::XselinuxSetPropertyUseContext(req) => Request::XselinuxSetPropertyUseContext(req.into_owned()),
5419 #[cfg(feature = "xselinux")]
5420 Request::XselinuxGetPropertyUseContext(req) => Request::XselinuxGetPropertyUseContext(req),
5421 #[cfg(feature = "xselinux")]
5422 Request::XselinuxGetPropertyContext(req) => Request::XselinuxGetPropertyContext(req),
5423 #[cfg(feature = "xselinux")]
5424 Request::XselinuxGetPropertyDataContext(req) => Request::XselinuxGetPropertyDataContext(req),
5425 #[cfg(feature = "xselinux")]
5426 Request::XselinuxListProperties(req) => Request::XselinuxListProperties(req),
5427 #[cfg(feature = "xselinux")]
5428 Request::XselinuxSetSelectionCreateContext(req) => Request::XselinuxSetSelectionCreateContext(req.into_owned()),
5429 #[cfg(feature = "xselinux")]
5430 Request::XselinuxGetSelectionCreateContext(req) => Request::XselinuxGetSelectionCreateContext(req),
5431 #[cfg(feature = "xselinux")]
5432 Request::XselinuxSetSelectionUseContext(req) => Request::XselinuxSetSelectionUseContext(req.into_owned()),
5433 #[cfg(feature = "xselinux")]
5434 Request::XselinuxGetSelectionUseContext(req) => Request::XselinuxGetSelectionUseContext(req),
5435 #[cfg(feature = "xselinux")]
5436 Request::XselinuxGetSelectionContext(req) => Request::XselinuxGetSelectionContext(req),
5437 #[cfg(feature = "xselinux")]
5438 Request::XselinuxGetSelectionDataContext(req) => Request::XselinuxGetSelectionDataContext(req),
5439 #[cfg(feature = "xselinux")]
5440 Request::XselinuxListSelections(req) => Request::XselinuxListSelections(req),
5441 #[cfg(feature = "xselinux")]
5442 Request::XselinuxGetClientContext(req) => Request::XselinuxGetClientContext(req),
5443 #[cfg(feature = "xtest")]
5444 Request::XtestGetVersion(req) => Request::XtestGetVersion(req),
5445 #[cfg(feature = "xtest")]
5446 Request::XtestCompareCursor(req) => Request::XtestCompareCursor(req),
5447 #[cfg(feature = "xtest")]
5448 Request::XtestFakeInput(req) => Request::XtestFakeInput(req),
5449 #[cfg(feature = "xtest")]
5450 Request::XtestGrabControl(req) => Request::XtestGrabControl(req),
5451 #[cfg(feature = "xv")]
5452 Request::XvQueryExtension(req) => Request::XvQueryExtension(req),
5453 #[cfg(feature = "xv")]
5454 Request::XvQueryAdaptors(req) => Request::XvQueryAdaptors(req),
5455 #[cfg(feature = "xv")]
5456 Request::XvQueryEncodings(req) => Request::XvQueryEncodings(req),
5457 #[cfg(feature = "xv")]
5458 Request::XvGrabPort(req) => Request::XvGrabPort(req),
5459 #[cfg(feature = "xv")]
5460 Request::XvUngrabPort(req) => Request::XvUngrabPort(req),
5461 #[cfg(feature = "xv")]
5462 Request::XvPutVideo(req) => Request::XvPutVideo(req),
5463 #[cfg(feature = "xv")]
5464 Request::XvPutStill(req) => Request::XvPutStill(req),
5465 #[cfg(feature = "xv")]
5466 Request::XvGetVideo(req) => Request::XvGetVideo(req),
5467 #[cfg(feature = "xv")]
5468 Request::XvGetStill(req) => Request::XvGetStill(req),
5469 #[cfg(feature = "xv")]
5470 Request::XvStopVideo(req) => Request::XvStopVideo(req),
5471 #[cfg(feature = "xv")]
5472 Request::XvSelectVideoNotify(req) => Request::XvSelectVideoNotify(req),
5473 #[cfg(feature = "xv")]
5474 Request::XvSelectPortNotify(req) => Request::XvSelectPortNotify(req),
5475 #[cfg(feature = "xv")]
5476 Request::XvQueryBestSize(req) => Request::XvQueryBestSize(req),
5477 #[cfg(feature = "xv")]
5478 Request::XvSetPortAttribute(req) => Request::XvSetPortAttribute(req),
5479 #[cfg(feature = "xv")]
5480 Request::XvGetPortAttribute(req) => Request::XvGetPortAttribute(req),
5481 #[cfg(feature = "xv")]
5482 Request::XvQueryPortAttributes(req) => Request::XvQueryPortAttributes(req),
5483 #[cfg(feature = "xv")]
5484 Request::XvListImageFormats(req) => Request::XvListImageFormats(req),
5485 #[cfg(feature = "xv")]
5486 Request::XvQueryImageAttributes(req) => Request::XvQueryImageAttributes(req),
5487 #[cfg(feature = "xv")]
5488 Request::XvPutImage(req) => Request::XvPutImage(req.into_owned()),
5489 #[cfg(feature = "xv")]
5490 Request::XvShmPutImage(req) => Request::XvShmPutImage(req),
5491 #[cfg(feature = "xvmc")]
5492 Request::XvmcQueryVersion(req) => Request::XvmcQueryVersion(req),
5493 #[cfg(feature = "xvmc")]
5494 Request::XvmcListSurfaceTypes(req) => Request::XvmcListSurfaceTypes(req),
5495 #[cfg(feature = "xvmc")]
5496 Request::XvmcCreateContext(req) => Request::XvmcCreateContext(req),
5497 #[cfg(feature = "xvmc")]
5498 Request::XvmcDestroyContext(req) => Request::XvmcDestroyContext(req),
5499 #[cfg(feature = "xvmc")]
5500 Request::XvmcCreateSurface(req) => Request::XvmcCreateSurface(req),
5501 #[cfg(feature = "xvmc")]
5502 Request::XvmcDestroySurface(req) => Request::XvmcDestroySurface(req),
5503 #[cfg(feature = "xvmc")]
5504 Request::XvmcCreateSubpicture(req) => Request::XvmcCreateSubpicture(req),
5505 #[cfg(feature = "xvmc")]
5506 Request::XvmcDestroySubpicture(req) => Request::XvmcDestroySubpicture(req),
5507 #[cfg(feature = "xvmc")]
5508 Request::XvmcListSubpictureTypes(req) => Request::XvmcListSubpictureTypes(req),
5509 }
5510 }
5511}
5512
5513/// Enumeration of all possible X11 replies.
5514#[derive(Debug)]
5515#[allow(clippy::large_enum_variant)]
5516#[non_exhaustive]
5517pub enum Reply {
5518 Void,
5519 GetWindowAttributes(xproto::GetWindowAttributesReply),
5520 GetGeometry(xproto::GetGeometryReply),
5521 QueryTree(xproto::QueryTreeReply),
5522 InternAtom(xproto::InternAtomReply),
5523 GetAtomName(xproto::GetAtomNameReply),
5524 GetProperty(xproto::GetPropertyReply),
5525 ListProperties(xproto::ListPropertiesReply),
5526 GetSelectionOwner(xproto::GetSelectionOwnerReply),
5527 GrabPointer(xproto::GrabPointerReply),
5528 GrabKeyboard(xproto::GrabKeyboardReply),
5529 QueryPointer(xproto::QueryPointerReply),
5530 GetMotionEvents(xproto::GetMotionEventsReply),
5531 TranslateCoordinates(xproto::TranslateCoordinatesReply),
5532 GetInputFocus(xproto::GetInputFocusReply),
5533 QueryKeymap(xproto::QueryKeymapReply),
5534 QueryFont(xproto::QueryFontReply),
5535 QueryTextExtents(xproto::QueryTextExtentsReply),
5536 ListFonts(xproto::ListFontsReply),
5537 ListFontsWithInfo(xproto::ListFontsWithInfoReply),
5538 GetFontPath(xproto::GetFontPathReply),
5539 GetImage(xproto::GetImageReply),
5540 ListInstalledColormaps(xproto::ListInstalledColormapsReply),
5541 AllocColor(xproto::AllocColorReply),
5542 AllocNamedColor(xproto::AllocNamedColorReply),
5543 AllocColorCells(xproto::AllocColorCellsReply),
5544 AllocColorPlanes(xproto::AllocColorPlanesReply),
5545 QueryColors(xproto::QueryColorsReply),
5546 LookupColor(xproto::LookupColorReply),
5547 QueryBestSize(xproto::QueryBestSizeReply),
5548 QueryExtension(xproto::QueryExtensionReply),
5549 ListExtensions(xproto::ListExtensionsReply),
5550 GetKeyboardMapping(xproto::GetKeyboardMappingReply),
5551 GetKeyboardControl(xproto::GetKeyboardControlReply),
5552 GetPointerControl(xproto::GetPointerControlReply),
5553 GetScreenSaver(xproto::GetScreenSaverReply),
5554 ListHosts(xproto::ListHostsReply),
5555 SetPointerMapping(xproto::SetPointerMappingReply),
5556 GetPointerMapping(xproto::GetPointerMappingReply),
5557 SetModifierMapping(xproto::SetModifierMappingReply),
5558 GetModifierMapping(xproto::GetModifierMappingReply),
5559 BigreqEnable(bigreq::EnableReply),
5560 #[cfg(feature = "composite")]
5561 CompositeQueryVersion(composite::QueryVersionReply),
5562 #[cfg(feature = "composite")]
5563 CompositeGetOverlayWindow(composite::GetOverlayWindowReply),
5564 #[cfg(feature = "damage")]
5565 DamageQueryVersion(damage::QueryVersionReply),
5566 #[cfg(feature = "dbe")]
5567 DbeQueryVersion(dbe::QueryVersionReply),
5568 #[cfg(feature = "dbe")]
5569 DbeGetVisualInfo(dbe::GetVisualInfoReply),
5570 #[cfg(feature = "dbe")]
5571 DbeGetBackBufferAttributes(dbe::GetBackBufferAttributesReply),
5572 #[cfg(feature = "dpms")]
5573 DpmsGetVersion(dpms::GetVersionReply),
5574 #[cfg(feature = "dpms")]
5575 DpmsCapable(dpms::CapableReply),
5576 #[cfg(feature = "dpms")]
5577 DpmsGetTimeouts(dpms::GetTimeoutsReply),
5578 #[cfg(feature = "dpms")]
5579 DpmsInfo(dpms::InfoReply),
5580 #[cfg(feature = "dri2")]
5581 Dri2QueryVersion(dri2::QueryVersionReply),
5582 #[cfg(feature = "dri2")]
5583 Dri2Connect(dri2::ConnectReply),
5584 #[cfg(feature = "dri2")]
5585 Dri2Authenticate(dri2::AuthenticateReply),
5586 #[cfg(feature = "dri2")]
5587 Dri2GetBuffers(dri2::GetBuffersReply),
5588 #[cfg(feature = "dri2")]
5589 Dri2CopyRegion(dri2::CopyRegionReply),
5590 #[cfg(feature = "dri2")]
5591 Dri2GetBuffersWithFormat(dri2::GetBuffersWithFormatReply),
5592 #[cfg(feature = "dri2")]
5593 Dri2SwapBuffers(dri2::SwapBuffersReply),
5594 #[cfg(feature = "dri2")]
5595 Dri2GetMSC(dri2::GetMSCReply),
5596 #[cfg(feature = "dri2")]
5597 Dri2WaitMSC(dri2::WaitMSCReply),
5598 #[cfg(feature = "dri2")]
5599 Dri2WaitSBC(dri2::WaitSBCReply),
5600 #[cfg(feature = "dri2")]
5601 Dri2GetParam(dri2::GetParamReply),
5602 #[cfg(feature = "dri3")]
5603 Dri3QueryVersion(dri3::QueryVersionReply),
5604 #[cfg(feature = "dri3")]
5605 Dri3Open(dri3::OpenReply),
5606 #[cfg(feature = "dri3")]
5607 Dri3BufferFromPixmap(dri3::BufferFromPixmapReply),
5608 #[cfg(feature = "dri3")]
5609 Dri3FDFromFence(dri3::FDFromFenceReply),
5610 #[cfg(feature = "dri3")]
5611 Dri3GetSupportedModifiers(dri3::GetSupportedModifiersReply),
5612 #[cfg(feature = "dri3")]
5613 Dri3BuffersFromPixmap(dri3::BuffersFromPixmapReply),
5614 GeQueryVersion(ge::QueryVersionReply),
5615 #[cfg(feature = "glx")]
5616 GlxMakeCurrent(glx::MakeCurrentReply),
5617 #[cfg(feature = "glx")]
5618 GlxIsDirect(glx::IsDirectReply),
5619 #[cfg(feature = "glx")]
5620 GlxQueryVersion(glx::QueryVersionReply),
5621 #[cfg(feature = "glx")]
5622 GlxGetVisualConfigs(glx::GetVisualConfigsReply),
5623 #[cfg(feature = "glx")]
5624 GlxVendorPrivateWithReply(glx::VendorPrivateWithReplyReply),
5625 #[cfg(feature = "glx")]
5626 GlxQueryExtensionsString(glx::QueryExtensionsStringReply),
5627 #[cfg(feature = "glx")]
5628 GlxQueryServerString(glx::QueryServerStringReply),
5629 #[cfg(feature = "glx")]
5630 GlxGetFBConfigs(glx::GetFBConfigsReply),
5631 #[cfg(feature = "glx")]
5632 GlxQueryContext(glx::QueryContextReply),
5633 #[cfg(feature = "glx")]
5634 GlxMakeContextCurrent(glx::MakeContextCurrentReply),
5635 #[cfg(feature = "glx")]
5636 GlxGetDrawableAttributes(glx::GetDrawableAttributesReply),
5637 #[cfg(feature = "glx")]
5638 GlxGenLists(glx::GenListsReply),
5639 #[cfg(feature = "glx")]
5640 GlxRenderMode(glx::RenderModeReply),
5641 #[cfg(feature = "glx")]
5642 GlxFinish(glx::FinishReply),
5643 #[cfg(feature = "glx")]
5644 GlxReadPixels(glx::ReadPixelsReply),
5645 #[cfg(feature = "glx")]
5646 GlxGetBooleanv(glx::GetBooleanvReply),
5647 #[cfg(feature = "glx")]
5648 GlxGetClipPlane(glx::GetClipPlaneReply),
5649 #[cfg(feature = "glx")]
5650 GlxGetDoublev(glx::GetDoublevReply),
5651 #[cfg(feature = "glx")]
5652 GlxGetError(glx::GetErrorReply),
5653 #[cfg(feature = "glx")]
5654 GlxGetFloatv(glx::GetFloatvReply),
5655 #[cfg(feature = "glx")]
5656 GlxGetIntegerv(glx::GetIntegervReply),
5657 #[cfg(feature = "glx")]
5658 GlxGetLightfv(glx::GetLightfvReply),
5659 #[cfg(feature = "glx")]
5660 GlxGetLightiv(glx::GetLightivReply),
5661 #[cfg(feature = "glx")]
5662 GlxGetMapdv(glx::GetMapdvReply),
5663 #[cfg(feature = "glx")]
5664 GlxGetMapfv(glx::GetMapfvReply),
5665 #[cfg(feature = "glx")]
5666 GlxGetMapiv(glx::GetMapivReply),
5667 #[cfg(feature = "glx")]
5668 GlxGetMaterialfv(glx::GetMaterialfvReply),
5669 #[cfg(feature = "glx")]
5670 GlxGetMaterialiv(glx::GetMaterialivReply),
5671 #[cfg(feature = "glx")]
5672 GlxGetPixelMapfv(glx::GetPixelMapfvReply),
5673 #[cfg(feature = "glx")]
5674 GlxGetPixelMapuiv(glx::GetPixelMapuivReply),
5675 #[cfg(feature = "glx")]
5676 GlxGetPixelMapusv(glx::GetPixelMapusvReply),
5677 #[cfg(feature = "glx")]
5678 GlxGetPolygonStipple(glx::GetPolygonStippleReply),
5679 #[cfg(feature = "glx")]
5680 GlxGetString(glx::GetStringReply),
5681 #[cfg(feature = "glx")]
5682 GlxGetTexEnvfv(glx::GetTexEnvfvReply),
5683 #[cfg(feature = "glx")]
5684 GlxGetTexEnviv(glx::GetTexEnvivReply),
5685 #[cfg(feature = "glx")]
5686 GlxGetTexGendv(glx::GetTexGendvReply),
5687 #[cfg(feature = "glx")]
5688 GlxGetTexGenfv(glx::GetTexGenfvReply),
5689 #[cfg(feature = "glx")]
5690 GlxGetTexGeniv(glx::GetTexGenivReply),
5691 #[cfg(feature = "glx")]
5692 GlxGetTexImage(glx::GetTexImageReply),
5693 #[cfg(feature = "glx")]
5694 GlxGetTexParameterfv(glx::GetTexParameterfvReply),
5695 #[cfg(feature = "glx")]
5696 GlxGetTexParameteriv(glx::GetTexParameterivReply),
5697 #[cfg(feature = "glx")]
5698 GlxGetTexLevelParameterfv(glx::GetTexLevelParameterfvReply),
5699 #[cfg(feature = "glx")]
5700 GlxGetTexLevelParameteriv(glx::GetTexLevelParameterivReply),
5701 #[cfg(feature = "glx")]
5702 GlxIsEnabled(glx::IsEnabledReply),
5703 #[cfg(feature = "glx")]
5704 GlxIsList(glx::IsListReply),
5705 #[cfg(feature = "glx")]
5706 GlxAreTexturesResident(glx::AreTexturesResidentReply),
5707 #[cfg(feature = "glx")]
5708 GlxGenTextures(glx::GenTexturesReply),
5709 #[cfg(feature = "glx")]
5710 GlxIsTexture(glx::IsTextureReply),
5711 #[cfg(feature = "glx")]
5712 GlxGetColorTable(glx::GetColorTableReply),
5713 #[cfg(feature = "glx")]
5714 GlxGetColorTableParameterfv(glx::GetColorTableParameterfvReply),
5715 #[cfg(feature = "glx")]
5716 GlxGetColorTableParameteriv(glx::GetColorTableParameterivReply),
5717 #[cfg(feature = "glx")]
5718 GlxGetConvolutionFilter(glx::GetConvolutionFilterReply),
5719 #[cfg(feature = "glx")]
5720 GlxGetConvolutionParameterfv(glx::GetConvolutionParameterfvReply),
5721 #[cfg(feature = "glx")]
5722 GlxGetConvolutionParameteriv(glx::GetConvolutionParameterivReply),
5723 #[cfg(feature = "glx")]
5724 GlxGetSeparableFilter(glx::GetSeparableFilterReply),
5725 #[cfg(feature = "glx")]
5726 GlxGetHistogram(glx::GetHistogramReply),
5727 #[cfg(feature = "glx")]
5728 GlxGetHistogramParameterfv(glx::GetHistogramParameterfvReply),
5729 #[cfg(feature = "glx")]
5730 GlxGetHistogramParameteriv(glx::GetHistogramParameterivReply),
5731 #[cfg(feature = "glx")]
5732 GlxGetMinmax(glx::GetMinmaxReply),
5733 #[cfg(feature = "glx")]
5734 GlxGetMinmaxParameterfv(glx::GetMinmaxParameterfvReply),
5735 #[cfg(feature = "glx")]
5736 GlxGetMinmaxParameteriv(glx::GetMinmaxParameterivReply),
5737 #[cfg(feature = "glx")]
5738 GlxGetCompressedTexImageARB(glx::GetCompressedTexImageARBReply),
5739 #[cfg(feature = "glx")]
5740 GlxGenQueriesARB(glx::GenQueriesARBReply),
5741 #[cfg(feature = "glx")]
5742 GlxIsQueryARB(glx::IsQueryARBReply),
5743 #[cfg(feature = "glx")]
5744 GlxGetQueryivARB(glx::GetQueryivARBReply),
5745 #[cfg(feature = "glx")]
5746 GlxGetQueryObjectivARB(glx::GetQueryObjectivARBReply),
5747 #[cfg(feature = "glx")]
5748 GlxGetQueryObjectuivARB(glx::GetQueryObjectuivARBReply),
5749 #[cfg(feature = "present")]
5750 PresentQueryVersion(present::QueryVersionReply),
5751 #[cfg(feature = "present")]
5752 PresentQueryCapabilities(present::QueryCapabilitiesReply),
5753 #[cfg(feature = "randr")]
5754 RandrQueryVersion(randr::QueryVersionReply),
5755 #[cfg(feature = "randr")]
5756 RandrSetScreenConfig(randr::SetScreenConfigReply),
5757 #[cfg(feature = "randr")]
5758 RandrGetScreenInfo(randr::GetScreenInfoReply),
5759 #[cfg(feature = "randr")]
5760 RandrGetScreenSizeRange(randr::GetScreenSizeRangeReply),
5761 #[cfg(feature = "randr")]
5762 RandrGetScreenResources(randr::GetScreenResourcesReply),
5763 #[cfg(feature = "randr")]
5764 RandrGetOutputInfo(randr::GetOutputInfoReply),
5765 #[cfg(feature = "randr")]
5766 RandrListOutputProperties(randr::ListOutputPropertiesReply),
5767 #[cfg(feature = "randr")]
5768 RandrQueryOutputProperty(randr::QueryOutputPropertyReply),
5769 #[cfg(feature = "randr")]
5770 RandrGetOutputProperty(randr::GetOutputPropertyReply),
5771 #[cfg(feature = "randr")]
5772 RandrCreateMode(randr::CreateModeReply),
5773 #[cfg(feature = "randr")]
5774 RandrGetCrtcInfo(randr::GetCrtcInfoReply),
5775 #[cfg(feature = "randr")]
5776 RandrSetCrtcConfig(randr::SetCrtcConfigReply),
5777 #[cfg(feature = "randr")]
5778 RandrGetCrtcGammaSize(randr::GetCrtcGammaSizeReply),
5779 #[cfg(feature = "randr")]
5780 RandrGetCrtcGamma(randr::GetCrtcGammaReply),
5781 #[cfg(feature = "randr")]
5782 RandrGetScreenResourcesCurrent(randr::GetScreenResourcesCurrentReply),
5783 #[cfg(feature = "randr")]
5784 RandrGetCrtcTransform(randr::GetCrtcTransformReply),
5785 #[cfg(feature = "randr")]
5786 RandrGetPanning(randr::GetPanningReply),
5787 #[cfg(feature = "randr")]
5788 RandrSetPanning(randr::SetPanningReply),
5789 #[cfg(feature = "randr")]
5790 RandrGetOutputPrimary(randr::GetOutputPrimaryReply),
5791 #[cfg(feature = "randr")]
5792 RandrGetProviders(randr::GetProvidersReply),
5793 #[cfg(feature = "randr")]
5794 RandrGetProviderInfo(randr::GetProviderInfoReply),
5795 #[cfg(feature = "randr")]
5796 RandrListProviderProperties(randr::ListProviderPropertiesReply),
5797 #[cfg(feature = "randr")]
5798 RandrQueryProviderProperty(randr::QueryProviderPropertyReply),
5799 #[cfg(feature = "randr")]
5800 RandrGetProviderProperty(randr::GetProviderPropertyReply),
5801 #[cfg(feature = "randr")]
5802 RandrGetMonitors(randr::GetMonitorsReply),
5803 #[cfg(feature = "randr")]
5804 RandrCreateLease(randr::CreateLeaseReply),
5805 #[cfg(feature = "record")]
5806 RecordQueryVersion(record::QueryVersionReply),
5807 #[cfg(feature = "record")]
5808 RecordGetContext(record::GetContextReply),
5809 #[cfg(feature = "record")]
5810 RecordEnableContext(record::EnableContextReply),
5811 #[cfg(feature = "render")]
5812 RenderQueryVersion(render::QueryVersionReply),
5813 #[cfg(feature = "render")]
5814 RenderQueryPictFormats(render::QueryPictFormatsReply),
5815 #[cfg(feature = "render")]
5816 RenderQueryPictIndexValues(render::QueryPictIndexValuesReply),
5817 #[cfg(feature = "render")]
5818 RenderQueryFilters(render::QueryFiltersReply),
5819 #[cfg(feature = "res")]
5820 ResQueryVersion(res::QueryVersionReply),
5821 #[cfg(feature = "res")]
5822 ResQueryClients(res::QueryClientsReply),
5823 #[cfg(feature = "res")]
5824 ResQueryClientResources(res::QueryClientResourcesReply),
5825 #[cfg(feature = "res")]
5826 ResQueryClientPixmapBytes(res::QueryClientPixmapBytesReply),
5827 #[cfg(feature = "res")]
5828 ResQueryClientIds(res::QueryClientIdsReply),
5829 #[cfg(feature = "res")]
5830 ResQueryResourceBytes(res::QueryResourceBytesReply),
5831 #[cfg(feature = "screensaver")]
5832 ScreensaverQueryVersion(screensaver::QueryVersionReply),
5833 #[cfg(feature = "screensaver")]
5834 ScreensaverQueryInfo(screensaver::QueryInfoReply),
5835 #[cfg(feature = "shape")]
5836 ShapeQueryVersion(shape::QueryVersionReply),
5837 #[cfg(feature = "shape")]
5838 ShapeQueryExtents(shape::QueryExtentsReply),
5839 #[cfg(feature = "shape")]
5840 ShapeInputSelected(shape::InputSelectedReply),
5841 #[cfg(feature = "shape")]
5842 ShapeGetRectangles(shape::GetRectanglesReply),
5843 #[cfg(feature = "shm")]
5844 ShmQueryVersion(shm::QueryVersionReply),
5845 #[cfg(feature = "shm")]
5846 ShmGetImage(shm::GetImageReply),
5847 #[cfg(feature = "shm")]
5848 ShmCreateSegment(shm::CreateSegmentReply),
5849 #[cfg(feature = "sync")]
5850 SyncInitialize(sync::InitializeReply),
5851 #[cfg(feature = "sync")]
5852 SyncListSystemCounters(sync::ListSystemCountersReply),
5853 #[cfg(feature = "sync")]
5854 SyncQueryCounter(sync::QueryCounterReply),
5855 #[cfg(feature = "sync")]
5856 SyncQueryAlarm(sync::QueryAlarmReply),
5857 #[cfg(feature = "sync")]
5858 SyncGetPriority(sync::GetPriorityReply),
5859 #[cfg(feature = "sync")]
5860 SyncQueryFence(sync::QueryFenceReply),
5861 XcMiscGetVersion(xc_misc::GetVersionReply),
5862 XcMiscGetXIDRange(xc_misc::GetXIDRangeReply),
5863 XcMiscGetXIDList(xc_misc::GetXIDListReply),
5864 #[cfg(feature = "xevie")]
5865 XevieQueryVersion(xevie::QueryVersionReply),
5866 #[cfg(feature = "xevie")]
5867 XevieStart(xevie::StartReply),
5868 #[cfg(feature = "xevie")]
5869 XevieEnd(xevie::EndReply),
5870 #[cfg(feature = "xevie")]
5871 XevieSend(xevie::SendReply),
5872 #[cfg(feature = "xevie")]
5873 XevieSelectInput(xevie::SelectInputReply),
5874 #[cfg(feature = "xf86dri")]
5875 Xf86driQueryVersion(xf86dri::QueryVersionReply),
5876 #[cfg(feature = "xf86dri")]
5877 Xf86driQueryDirectRenderingCapable(xf86dri::QueryDirectRenderingCapableReply),
5878 #[cfg(feature = "xf86dri")]
5879 Xf86driOpenConnection(xf86dri::OpenConnectionReply),
5880 #[cfg(feature = "xf86dri")]
5881 Xf86driGetClientDriverName(xf86dri::GetClientDriverNameReply),
5882 #[cfg(feature = "xf86dri")]
5883 Xf86driCreateContext(xf86dri::CreateContextReply),
5884 #[cfg(feature = "xf86dri")]
5885 Xf86driCreateDrawable(xf86dri::CreateDrawableReply),
5886 #[cfg(feature = "xf86dri")]
5887 Xf86driGetDrawableInfo(xf86dri::GetDrawableInfoReply),
5888 #[cfg(feature = "xf86dri")]
5889 Xf86driGetDeviceInfo(xf86dri::GetDeviceInfoReply),
5890 #[cfg(feature = "xf86dri")]
5891 Xf86driAuthConnection(xf86dri::AuthConnectionReply),
5892 #[cfg(feature = "xf86vidmode")]
5893 Xf86vidmodeQueryVersion(xf86vidmode::QueryVersionReply),
5894 #[cfg(feature = "xf86vidmode")]
5895 Xf86vidmodeGetModeLine(xf86vidmode::GetModeLineReply),
5896 #[cfg(feature = "xf86vidmode")]
5897 Xf86vidmodeGetMonitor(xf86vidmode::GetMonitorReply),
5898 #[cfg(feature = "xf86vidmode")]
5899 Xf86vidmodeGetAllModeLines(xf86vidmode::GetAllModeLinesReply),
5900 #[cfg(feature = "xf86vidmode")]
5901 Xf86vidmodeValidateModeLine(xf86vidmode::ValidateModeLineReply),
5902 #[cfg(feature = "xf86vidmode")]
5903 Xf86vidmodeGetViewPort(xf86vidmode::GetViewPortReply),
5904 #[cfg(feature = "xf86vidmode")]
5905 Xf86vidmodeGetDotClocks(xf86vidmode::GetDotClocksReply),
5906 #[cfg(feature = "xf86vidmode")]
5907 Xf86vidmodeGetGamma(xf86vidmode::GetGammaReply),
5908 #[cfg(feature = "xf86vidmode")]
5909 Xf86vidmodeGetGammaRamp(xf86vidmode::GetGammaRampReply),
5910 #[cfg(feature = "xf86vidmode")]
5911 Xf86vidmodeGetGammaRampSize(xf86vidmode::GetGammaRampSizeReply),
5912 #[cfg(feature = "xf86vidmode")]
5913 Xf86vidmodeGetPermissions(xf86vidmode::GetPermissionsReply),
5914 #[cfg(feature = "xfixes")]
5915 XfixesQueryVersion(xfixes::QueryVersionReply),
5916 #[cfg(feature = "xfixes")]
5917 XfixesGetCursorImage(xfixes::GetCursorImageReply),
5918 #[cfg(feature = "xfixes")]
5919 XfixesFetchRegion(xfixes::FetchRegionReply),
5920 #[cfg(feature = "xfixes")]
5921 XfixesGetCursorName(xfixes::GetCursorNameReply),
5922 #[cfg(feature = "xfixes")]
5923 XfixesGetCursorImageAndName(xfixes::GetCursorImageAndNameReply),
5924 #[cfg(feature = "xfixes")]
5925 XfixesGetClientDisconnectMode(xfixes::GetClientDisconnectModeReply),
5926 #[cfg(feature = "xinerama")]
5927 XineramaQueryVersion(xinerama::QueryVersionReply),
5928 #[cfg(feature = "xinerama")]
5929 XineramaGetState(xinerama::GetStateReply),
5930 #[cfg(feature = "xinerama")]
5931 XineramaGetScreenCount(xinerama::GetScreenCountReply),
5932 #[cfg(feature = "xinerama")]
5933 XineramaGetScreenSize(xinerama::GetScreenSizeReply),
5934 #[cfg(feature = "xinerama")]
5935 XineramaIsActive(xinerama::IsActiveReply),
5936 #[cfg(feature = "xinerama")]
5937 XineramaQueryScreens(xinerama::QueryScreensReply),
5938 #[cfg(feature = "xinput")]
5939 XinputGetExtensionVersion(xinput::GetExtensionVersionReply),
5940 #[cfg(feature = "xinput")]
5941 XinputListInputDevices(xinput::ListInputDevicesReply),
5942 #[cfg(feature = "xinput")]
5943 XinputOpenDevice(xinput::OpenDeviceReply),
5944 #[cfg(feature = "xinput")]
5945 XinputSetDeviceMode(xinput::SetDeviceModeReply),
5946 #[cfg(feature = "xinput")]
5947 XinputGetSelectedExtensionEvents(xinput::GetSelectedExtensionEventsReply),
5948 #[cfg(feature = "xinput")]
5949 XinputGetDeviceDontPropagateList(xinput::GetDeviceDontPropagateListReply),
5950 #[cfg(feature = "xinput")]
5951 XinputGetDeviceMotionEvents(xinput::GetDeviceMotionEventsReply),
5952 #[cfg(feature = "xinput")]
5953 XinputChangeKeyboardDevice(xinput::ChangeKeyboardDeviceReply),
5954 #[cfg(feature = "xinput")]
5955 XinputChangePointerDevice(xinput::ChangePointerDeviceReply),
5956 #[cfg(feature = "xinput")]
5957 XinputGrabDevice(xinput::GrabDeviceReply),
5958 #[cfg(feature = "xinput")]
5959 XinputGetDeviceFocus(xinput::GetDeviceFocusReply),
5960 #[cfg(feature = "xinput")]
5961 XinputGetFeedbackControl(xinput::GetFeedbackControlReply),
5962 #[cfg(feature = "xinput")]
5963 XinputGetDeviceKeyMapping(xinput::GetDeviceKeyMappingReply),
5964 #[cfg(feature = "xinput")]
5965 XinputGetDeviceModifierMapping(xinput::GetDeviceModifierMappingReply),
5966 #[cfg(feature = "xinput")]
5967 XinputSetDeviceModifierMapping(xinput::SetDeviceModifierMappingReply),
5968 #[cfg(feature = "xinput")]
5969 XinputGetDeviceButtonMapping(xinput::GetDeviceButtonMappingReply),
5970 #[cfg(feature = "xinput")]
5971 XinputSetDeviceButtonMapping(xinput::SetDeviceButtonMappingReply),
5972 #[cfg(feature = "xinput")]
5973 XinputQueryDeviceState(xinput::QueryDeviceStateReply),
5974 #[cfg(feature = "xinput")]
5975 XinputSetDeviceValuators(xinput::SetDeviceValuatorsReply),
5976 #[cfg(feature = "xinput")]
5977 XinputGetDeviceControl(xinput::GetDeviceControlReply),
5978 #[cfg(feature = "xinput")]
5979 XinputChangeDeviceControl(xinput::ChangeDeviceControlReply),
5980 #[cfg(feature = "xinput")]
5981 XinputListDeviceProperties(xinput::ListDevicePropertiesReply),
5982 #[cfg(feature = "xinput")]
5983 XinputGetDeviceProperty(xinput::GetDevicePropertyReply),
5984 #[cfg(feature = "xinput")]
5985 XinputXIQueryPointer(xinput::XIQueryPointerReply),
5986 #[cfg(feature = "xinput")]
5987 XinputXIGetClientPointer(xinput::XIGetClientPointerReply),
5988 #[cfg(feature = "xinput")]
5989 XinputXIQueryVersion(xinput::XIQueryVersionReply),
5990 #[cfg(feature = "xinput")]
5991 XinputXIQueryDevice(xinput::XIQueryDeviceReply),
5992 #[cfg(feature = "xinput")]
5993 XinputXIGetFocus(xinput::XIGetFocusReply),
5994 #[cfg(feature = "xinput")]
5995 XinputXIGrabDevice(xinput::XIGrabDeviceReply),
5996 #[cfg(feature = "xinput")]
5997 XinputXIPassiveGrabDevice(xinput::XIPassiveGrabDeviceReply),
5998 #[cfg(feature = "xinput")]
5999 XinputXIListProperties(xinput::XIListPropertiesReply),
6000 #[cfg(feature = "xinput")]
6001 XinputXIGetProperty(xinput::XIGetPropertyReply),
6002 #[cfg(feature = "xinput")]
6003 XinputXIGetSelectedEvents(xinput::XIGetSelectedEventsReply),
6004 #[cfg(feature = "xkb")]
6005 XkbUseExtension(xkb::UseExtensionReply),
6006 #[cfg(feature = "xkb")]
6007 XkbGetState(xkb::GetStateReply),
6008 #[cfg(feature = "xkb")]
6009 XkbGetControls(xkb::GetControlsReply),
6010 #[cfg(feature = "xkb")]
6011 XkbGetMap(xkb::GetMapReply),
6012 #[cfg(feature = "xkb")]
6013 XkbGetCompatMap(xkb::GetCompatMapReply),
6014 #[cfg(feature = "xkb")]
6015 XkbGetIndicatorState(xkb::GetIndicatorStateReply),
6016 #[cfg(feature = "xkb")]
6017 XkbGetIndicatorMap(xkb::GetIndicatorMapReply),
6018 #[cfg(feature = "xkb")]
6019 XkbGetNamedIndicator(xkb::GetNamedIndicatorReply),
6020 #[cfg(feature = "xkb")]
6021 XkbGetNames(xkb::GetNamesReply),
6022 #[cfg(feature = "xkb")]
6023 XkbPerClientFlags(xkb::PerClientFlagsReply),
6024 #[cfg(feature = "xkb")]
6025 XkbListComponents(xkb::ListComponentsReply),
6026 #[cfg(feature = "xkb")]
6027 XkbGetKbdByName(xkb::GetKbdByNameReply),
6028 #[cfg(feature = "xkb")]
6029 XkbGetDeviceInfo(xkb::GetDeviceInfoReply),
6030 #[cfg(feature = "xkb")]
6031 XkbSetDebuggingFlags(xkb::SetDebuggingFlagsReply),
6032 #[cfg(feature = "xprint")]
6033 XprintPrintQueryVersion(xprint::PrintQueryVersionReply),
6034 #[cfg(feature = "xprint")]
6035 XprintPrintGetPrinterList(xprint::PrintGetPrinterListReply),
6036 #[cfg(feature = "xprint")]
6037 XprintPrintGetContext(xprint::PrintGetContextReply),
6038 #[cfg(feature = "xprint")]
6039 XprintPrintGetScreenOfContext(xprint::PrintGetScreenOfContextReply),
6040 #[cfg(feature = "xprint")]
6041 XprintPrintGetDocumentData(xprint::PrintGetDocumentDataReply),
6042 #[cfg(feature = "xprint")]
6043 XprintPrintInputSelected(xprint::PrintInputSelectedReply),
6044 #[cfg(feature = "xprint")]
6045 XprintPrintGetAttributes(xprint::PrintGetAttributesReply),
6046 #[cfg(feature = "xprint")]
6047 XprintPrintGetOneAttributes(xprint::PrintGetOneAttributesReply),
6048 #[cfg(feature = "xprint")]
6049 XprintPrintGetPageDimensions(xprint::PrintGetPageDimensionsReply),
6050 #[cfg(feature = "xprint")]
6051 XprintPrintQueryScreens(xprint::PrintQueryScreensReply),
6052 #[cfg(feature = "xprint")]
6053 XprintPrintSetImageResolution(xprint::PrintSetImageResolutionReply),
6054 #[cfg(feature = "xprint")]
6055 XprintPrintGetImageResolution(xprint::PrintGetImageResolutionReply),
6056 #[cfg(feature = "xselinux")]
6057 XselinuxQueryVersion(xselinux::QueryVersionReply),
6058 #[cfg(feature = "xselinux")]
6059 XselinuxGetDeviceCreateContext(xselinux::GetDeviceCreateContextReply),
6060 #[cfg(feature = "xselinux")]
6061 XselinuxGetDeviceContext(xselinux::GetDeviceContextReply),
6062 #[cfg(feature = "xselinux")]
6063 XselinuxGetWindowCreateContext(xselinux::GetWindowCreateContextReply),
6064 #[cfg(feature = "xselinux")]
6065 XselinuxGetWindowContext(xselinux::GetWindowContextReply),
6066 #[cfg(feature = "xselinux")]
6067 XselinuxGetPropertyCreateContext(xselinux::GetPropertyCreateContextReply),
6068 #[cfg(feature = "xselinux")]
6069 XselinuxGetPropertyUseContext(xselinux::GetPropertyUseContextReply),
6070 #[cfg(feature = "xselinux")]
6071 XselinuxGetPropertyContext(xselinux::GetPropertyContextReply),
6072 #[cfg(feature = "xselinux")]
6073 XselinuxGetPropertyDataContext(xselinux::GetPropertyDataContextReply),
6074 #[cfg(feature = "xselinux")]
6075 XselinuxListProperties(xselinux::ListPropertiesReply),
6076 #[cfg(feature = "xselinux")]
6077 XselinuxGetSelectionCreateContext(xselinux::GetSelectionCreateContextReply),
6078 #[cfg(feature = "xselinux")]
6079 XselinuxGetSelectionUseContext(xselinux::GetSelectionUseContextReply),
6080 #[cfg(feature = "xselinux")]
6081 XselinuxGetSelectionContext(xselinux::GetSelectionContextReply),
6082 #[cfg(feature = "xselinux")]
6083 XselinuxGetSelectionDataContext(xselinux::GetSelectionDataContextReply),
6084 #[cfg(feature = "xselinux")]
6085 XselinuxListSelections(xselinux::ListSelectionsReply),
6086 #[cfg(feature = "xselinux")]
6087 XselinuxGetClientContext(xselinux::GetClientContextReply),
6088 #[cfg(feature = "xtest")]
6089 XtestGetVersion(xtest::GetVersionReply),
6090 #[cfg(feature = "xtest")]
6091 XtestCompareCursor(xtest::CompareCursorReply),
6092 #[cfg(feature = "xv")]
6093 XvQueryExtension(xv::QueryExtensionReply),
6094 #[cfg(feature = "xv")]
6095 XvQueryAdaptors(xv::QueryAdaptorsReply),
6096 #[cfg(feature = "xv")]
6097 XvQueryEncodings(xv::QueryEncodingsReply),
6098 #[cfg(feature = "xv")]
6099 XvGrabPort(xv::GrabPortReply),
6100 #[cfg(feature = "xv")]
6101 XvQueryBestSize(xv::QueryBestSizeReply),
6102 #[cfg(feature = "xv")]
6103 XvGetPortAttribute(xv::GetPortAttributeReply),
6104 #[cfg(feature = "xv")]
6105 XvQueryPortAttributes(xv::QueryPortAttributesReply),
6106 #[cfg(feature = "xv")]
6107 XvListImageFormats(xv::ListImageFormatsReply),
6108 #[cfg(feature = "xv")]
6109 XvQueryImageAttributes(xv::QueryImageAttributesReply),
6110 #[cfg(feature = "xvmc")]
6111 XvmcQueryVersion(xvmc::QueryVersionReply),
6112 #[cfg(feature = "xvmc")]
6113 XvmcListSurfaceTypes(xvmc::ListSurfaceTypesReply),
6114 #[cfg(feature = "xvmc")]
6115 XvmcCreateContext(xvmc::CreateContextReply),
6116 #[cfg(feature = "xvmc")]
6117 XvmcCreateSurface(xvmc::CreateSurfaceReply),
6118 #[cfg(feature = "xvmc")]
6119 XvmcCreateSubpicture(xvmc::CreateSubpictureReply),
6120 #[cfg(feature = "xvmc")]
6121 XvmcListSubpictureTypes(xvmc::ListSubpictureTypesReply),
6122}
6123impl From<()> for Reply {
6124 fn from(_: ()) -> Reply {
6125 Reply::Void
6126 }
6127}
6128impl From<xproto::GetWindowAttributesReply> for Reply {
6129 fn from(reply: xproto::GetWindowAttributesReply) -> Reply {
6130 Reply::GetWindowAttributes(reply)
6131 }
6132}
6133impl From<xproto::GetGeometryReply> for Reply {
6134 fn from(reply: xproto::GetGeometryReply) -> Reply {
6135 Reply::GetGeometry(reply)
6136 }
6137}
6138impl From<xproto::QueryTreeReply> for Reply {
6139 fn from(reply: xproto::QueryTreeReply) -> Reply {
6140 Reply::QueryTree(reply)
6141 }
6142}
6143impl From<xproto::InternAtomReply> for Reply {
6144 fn from(reply: xproto::InternAtomReply) -> Reply {
6145 Reply::InternAtom(reply)
6146 }
6147}
6148impl From<xproto::GetAtomNameReply> for Reply {
6149 fn from(reply: xproto::GetAtomNameReply) -> Reply {
6150 Reply::GetAtomName(reply)
6151 }
6152}
6153impl From<xproto::GetPropertyReply> for Reply {
6154 fn from(reply: xproto::GetPropertyReply) -> Reply {
6155 Reply::GetProperty(reply)
6156 }
6157}
6158impl From<xproto::ListPropertiesReply> for Reply {
6159 fn from(reply: xproto::ListPropertiesReply) -> Reply {
6160 Reply::ListProperties(reply)
6161 }
6162}
6163impl From<xproto::GetSelectionOwnerReply> for Reply {
6164 fn from(reply: xproto::GetSelectionOwnerReply) -> Reply {
6165 Reply::GetSelectionOwner(reply)
6166 }
6167}
6168impl From<xproto::GrabPointerReply> for Reply {
6169 fn from(reply: xproto::GrabPointerReply) -> Reply {
6170 Reply::GrabPointer(reply)
6171 }
6172}
6173impl From<xproto::GrabKeyboardReply> for Reply {
6174 fn from(reply: xproto::GrabKeyboardReply) -> Reply {
6175 Reply::GrabKeyboard(reply)
6176 }
6177}
6178impl From<xproto::QueryPointerReply> for Reply {
6179 fn from(reply: xproto::QueryPointerReply) -> Reply {
6180 Reply::QueryPointer(reply)
6181 }
6182}
6183impl From<xproto::GetMotionEventsReply> for Reply {
6184 fn from(reply: xproto::GetMotionEventsReply) -> Reply {
6185 Reply::GetMotionEvents(reply)
6186 }
6187}
6188impl From<xproto::TranslateCoordinatesReply> for Reply {
6189 fn from(reply: xproto::TranslateCoordinatesReply) -> Reply {
6190 Reply::TranslateCoordinates(reply)
6191 }
6192}
6193impl From<xproto::GetInputFocusReply> for Reply {
6194 fn from(reply: xproto::GetInputFocusReply) -> Reply {
6195 Reply::GetInputFocus(reply)
6196 }
6197}
6198impl From<xproto::QueryKeymapReply> for Reply {
6199 fn from(reply: xproto::QueryKeymapReply) -> Reply {
6200 Reply::QueryKeymap(reply)
6201 }
6202}
6203impl From<xproto::QueryFontReply> for Reply {
6204 fn from(reply: xproto::QueryFontReply) -> Reply {
6205 Reply::QueryFont(reply)
6206 }
6207}
6208impl From<xproto::QueryTextExtentsReply> for Reply {
6209 fn from(reply: xproto::QueryTextExtentsReply) -> Reply {
6210 Reply::QueryTextExtents(reply)
6211 }
6212}
6213impl From<xproto::ListFontsReply> for Reply {
6214 fn from(reply: xproto::ListFontsReply) -> Reply {
6215 Reply::ListFonts(reply)
6216 }
6217}
6218impl From<xproto::ListFontsWithInfoReply> for Reply {
6219 fn from(reply: xproto::ListFontsWithInfoReply) -> Reply {
6220 Reply::ListFontsWithInfo(reply)
6221 }
6222}
6223impl From<xproto::GetFontPathReply> for Reply {
6224 fn from(reply: xproto::GetFontPathReply) -> Reply {
6225 Reply::GetFontPath(reply)
6226 }
6227}
6228impl From<xproto::GetImageReply> for Reply {
6229 fn from(reply: xproto::GetImageReply) -> Reply {
6230 Reply::GetImage(reply)
6231 }
6232}
6233impl From<xproto::ListInstalledColormapsReply> for Reply {
6234 fn from(reply: xproto::ListInstalledColormapsReply) -> Reply {
6235 Reply::ListInstalledColormaps(reply)
6236 }
6237}
6238impl From<xproto::AllocColorReply> for Reply {
6239 fn from(reply: xproto::AllocColorReply) -> Reply {
6240 Reply::AllocColor(reply)
6241 }
6242}
6243impl From<xproto::AllocNamedColorReply> for Reply {
6244 fn from(reply: xproto::AllocNamedColorReply) -> Reply {
6245 Reply::AllocNamedColor(reply)
6246 }
6247}
6248impl From<xproto::AllocColorCellsReply> for Reply {
6249 fn from(reply: xproto::AllocColorCellsReply) -> Reply {
6250 Reply::AllocColorCells(reply)
6251 }
6252}
6253impl From<xproto::AllocColorPlanesReply> for Reply {
6254 fn from(reply: xproto::AllocColorPlanesReply) -> Reply {
6255 Reply::AllocColorPlanes(reply)
6256 }
6257}
6258impl From<xproto::QueryColorsReply> for Reply {
6259 fn from(reply: xproto::QueryColorsReply) -> Reply {
6260 Reply::QueryColors(reply)
6261 }
6262}
6263impl From<xproto::LookupColorReply> for Reply {
6264 fn from(reply: xproto::LookupColorReply) -> Reply {
6265 Reply::LookupColor(reply)
6266 }
6267}
6268impl From<xproto::QueryBestSizeReply> for Reply {
6269 fn from(reply: xproto::QueryBestSizeReply) -> Reply {
6270 Reply::QueryBestSize(reply)
6271 }
6272}
6273impl From<xproto::QueryExtensionReply> for Reply {
6274 fn from(reply: xproto::QueryExtensionReply) -> Reply {
6275 Reply::QueryExtension(reply)
6276 }
6277}
6278impl From<xproto::ListExtensionsReply> for Reply {
6279 fn from(reply: xproto::ListExtensionsReply) -> Reply {
6280 Reply::ListExtensions(reply)
6281 }
6282}
6283impl From<xproto::GetKeyboardMappingReply> for Reply {
6284 fn from(reply: xproto::GetKeyboardMappingReply) -> Reply {
6285 Reply::GetKeyboardMapping(reply)
6286 }
6287}
6288impl From<xproto::GetKeyboardControlReply> for Reply {
6289 fn from(reply: xproto::GetKeyboardControlReply) -> Reply {
6290 Reply::GetKeyboardControl(reply)
6291 }
6292}
6293impl From<xproto::GetPointerControlReply> for Reply {
6294 fn from(reply: xproto::GetPointerControlReply) -> Reply {
6295 Reply::GetPointerControl(reply)
6296 }
6297}
6298impl From<xproto::GetScreenSaverReply> for Reply {
6299 fn from(reply: xproto::GetScreenSaverReply) -> Reply {
6300 Reply::GetScreenSaver(reply)
6301 }
6302}
6303impl From<xproto::ListHostsReply> for Reply {
6304 fn from(reply: xproto::ListHostsReply) -> Reply {
6305 Reply::ListHosts(reply)
6306 }
6307}
6308impl From<xproto::SetPointerMappingReply> for Reply {
6309 fn from(reply: xproto::SetPointerMappingReply) -> Reply {
6310 Reply::SetPointerMapping(reply)
6311 }
6312}
6313impl From<xproto::GetPointerMappingReply> for Reply {
6314 fn from(reply: xproto::GetPointerMappingReply) -> Reply {
6315 Reply::GetPointerMapping(reply)
6316 }
6317}
6318impl From<xproto::SetModifierMappingReply> for Reply {
6319 fn from(reply: xproto::SetModifierMappingReply) -> Reply {
6320 Reply::SetModifierMapping(reply)
6321 }
6322}
6323impl From<xproto::GetModifierMappingReply> for Reply {
6324 fn from(reply: xproto::GetModifierMappingReply) -> Reply {
6325 Reply::GetModifierMapping(reply)
6326 }
6327}
6328impl From<bigreq::EnableReply> for Reply {
6329 fn from(reply: bigreq::EnableReply) -> Reply {
6330 Reply::BigreqEnable(reply)
6331 }
6332}
6333#[cfg(feature = "composite")]
6334impl From<composite::QueryVersionReply> for Reply {
6335 fn from(reply: composite::QueryVersionReply) -> Reply {
6336 Reply::CompositeQueryVersion(reply)
6337 }
6338}
6339#[cfg(feature = "composite")]
6340impl From<composite::GetOverlayWindowReply> for Reply {
6341 fn from(reply: composite::GetOverlayWindowReply) -> Reply {
6342 Reply::CompositeGetOverlayWindow(reply)
6343 }
6344}
6345#[cfg(feature = "damage")]
6346impl From<damage::QueryVersionReply> for Reply {
6347 fn from(reply: damage::QueryVersionReply) -> Reply {
6348 Reply::DamageQueryVersion(reply)
6349 }
6350}
6351#[cfg(feature = "dbe")]
6352impl From<dbe::QueryVersionReply> for Reply {
6353 fn from(reply: dbe::QueryVersionReply) -> Reply {
6354 Reply::DbeQueryVersion(reply)
6355 }
6356}
6357#[cfg(feature = "dbe")]
6358impl From<dbe::GetVisualInfoReply> for Reply {
6359 fn from(reply: dbe::GetVisualInfoReply) -> Reply {
6360 Reply::DbeGetVisualInfo(reply)
6361 }
6362}
6363#[cfg(feature = "dbe")]
6364impl From<dbe::GetBackBufferAttributesReply> for Reply {
6365 fn from(reply: dbe::GetBackBufferAttributesReply) -> Reply {
6366 Reply::DbeGetBackBufferAttributes(reply)
6367 }
6368}
6369#[cfg(feature = "dpms")]
6370impl From<dpms::GetVersionReply> for Reply {
6371 fn from(reply: dpms::GetVersionReply) -> Reply {
6372 Reply::DpmsGetVersion(reply)
6373 }
6374}
6375#[cfg(feature = "dpms")]
6376impl From<dpms::CapableReply> for Reply {
6377 fn from(reply: dpms::CapableReply) -> Reply {
6378 Reply::DpmsCapable(reply)
6379 }
6380}
6381#[cfg(feature = "dpms")]
6382impl From<dpms::GetTimeoutsReply> for Reply {
6383 fn from(reply: dpms::GetTimeoutsReply) -> Reply {
6384 Reply::DpmsGetTimeouts(reply)
6385 }
6386}
6387#[cfg(feature = "dpms")]
6388impl From<dpms::InfoReply> for Reply {
6389 fn from(reply: dpms::InfoReply) -> Reply {
6390 Reply::DpmsInfo(reply)
6391 }
6392}
6393#[cfg(feature = "dri2")]
6394impl From<dri2::QueryVersionReply> for Reply {
6395 fn from(reply: dri2::QueryVersionReply) -> Reply {
6396 Reply::Dri2QueryVersion(reply)
6397 }
6398}
6399#[cfg(feature = "dri2")]
6400impl From<dri2::ConnectReply> for Reply {
6401 fn from(reply: dri2::ConnectReply) -> Reply {
6402 Reply::Dri2Connect(reply)
6403 }
6404}
6405#[cfg(feature = "dri2")]
6406impl From<dri2::AuthenticateReply> for Reply {
6407 fn from(reply: dri2::AuthenticateReply) -> Reply {
6408 Reply::Dri2Authenticate(reply)
6409 }
6410}
6411#[cfg(feature = "dri2")]
6412impl From<dri2::GetBuffersReply> for Reply {
6413 fn from(reply: dri2::GetBuffersReply) -> Reply {
6414 Reply::Dri2GetBuffers(reply)
6415 }
6416}
6417#[cfg(feature = "dri2")]
6418impl From<dri2::CopyRegionReply> for Reply {
6419 fn from(reply: dri2::CopyRegionReply) -> Reply {
6420 Reply::Dri2CopyRegion(reply)
6421 }
6422}
6423#[cfg(feature = "dri2")]
6424impl From<dri2::GetBuffersWithFormatReply> for Reply {
6425 fn from(reply: dri2::GetBuffersWithFormatReply) -> Reply {
6426 Reply::Dri2GetBuffersWithFormat(reply)
6427 }
6428}
6429#[cfg(feature = "dri2")]
6430impl From<dri2::SwapBuffersReply> for Reply {
6431 fn from(reply: dri2::SwapBuffersReply) -> Reply {
6432 Reply::Dri2SwapBuffers(reply)
6433 }
6434}
6435#[cfg(feature = "dri2")]
6436impl From<dri2::GetMSCReply> for Reply {
6437 fn from(reply: dri2::GetMSCReply) -> Reply {
6438 Reply::Dri2GetMSC(reply)
6439 }
6440}
6441#[cfg(feature = "dri2")]
6442impl From<dri2::WaitMSCReply> for Reply {
6443 fn from(reply: dri2::WaitMSCReply) -> Reply {
6444 Reply::Dri2WaitMSC(reply)
6445 }
6446}
6447#[cfg(feature = "dri2")]
6448impl From<dri2::WaitSBCReply> for Reply {
6449 fn from(reply: dri2::WaitSBCReply) -> Reply {
6450 Reply::Dri2WaitSBC(reply)
6451 }
6452}
6453#[cfg(feature = "dri2")]
6454impl From<dri2::GetParamReply> for Reply {
6455 fn from(reply: dri2::GetParamReply) -> Reply {
6456 Reply::Dri2GetParam(reply)
6457 }
6458}
6459#[cfg(feature = "dri3")]
6460impl From<dri3::QueryVersionReply> for Reply {
6461 fn from(reply: dri3::QueryVersionReply) -> Reply {
6462 Reply::Dri3QueryVersion(reply)
6463 }
6464}
6465#[cfg(feature = "dri3")]
6466impl From<dri3::OpenReply> for Reply {
6467 fn from(reply: dri3::OpenReply) -> Reply {
6468 Reply::Dri3Open(reply)
6469 }
6470}
6471#[cfg(feature = "dri3")]
6472impl From<dri3::BufferFromPixmapReply> for Reply {
6473 fn from(reply: dri3::BufferFromPixmapReply) -> Reply {
6474 Reply::Dri3BufferFromPixmap(reply)
6475 }
6476}
6477#[cfg(feature = "dri3")]
6478impl From<dri3::FDFromFenceReply> for Reply {
6479 fn from(reply: dri3::FDFromFenceReply) -> Reply {
6480 Reply::Dri3FDFromFence(reply)
6481 }
6482}
6483#[cfg(feature = "dri3")]
6484impl From<dri3::GetSupportedModifiersReply> for Reply {
6485 fn from(reply: dri3::GetSupportedModifiersReply) -> Reply {
6486 Reply::Dri3GetSupportedModifiers(reply)
6487 }
6488}
6489#[cfg(feature = "dri3")]
6490impl From<dri3::BuffersFromPixmapReply> for Reply {
6491 fn from(reply: dri3::BuffersFromPixmapReply) -> Reply {
6492 Reply::Dri3BuffersFromPixmap(reply)
6493 }
6494}
6495impl From<ge::QueryVersionReply> for Reply {
6496 fn from(reply: ge::QueryVersionReply) -> Reply {
6497 Reply::GeQueryVersion(reply)
6498 }
6499}
6500#[cfg(feature = "glx")]
6501impl From<glx::MakeCurrentReply> for Reply {
6502 fn from(reply: glx::MakeCurrentReply) -> Reply {
6503 Reply::GlxMakeCurrent(reply)
6504 }
6505}
6506#[cfg(feature = "glx")]
6507impl From<glx::IsDirectReply> for Reply {
6508 fn from(reply: glx::IsDirectReply) -> Reply {
6509 Reply::GlxIsDirect(reply)
6510 }
6511}
6512#[cfg(feature = "glx")]
6513impl From<glx::QueryVersionReply> for Reply {
6514 fn from(reply: glx::QueryVersionReply) -> Reply {
6515 Reply::GlxQueryVersion(reply)
6516 }
6517}
6518#[cfg(feature = "glx")]
6519impl From<glx::GetVisualConfigsReply> for Reply {
6520 fn from(reply: glx::GetVisualConfigsReply) -> Reply {
6521 Reply::GlxGetVisualConfigs(reply)
6522 }
6523}
6524#[cfg(feature = "glx")]
6525impl From<glx::VendorPrivateWithReplyReply> for Reply {
6526 fn from(reply: glx::VendorPrivateWithReplyReply) -> Reply {
6527 Reply::GlxVendorPrivateWithReply(reply)
6528 }
6529}
6530#[cfg(feature = "glx")]
6531impl From<glx::QueryExtensionsStringReply> for Reply {
6532 fn from(reply: glx::QueryExtensionsStringReply) -> Reply {
6533 Reply::GlxQueryExtensionsString(reply)
6534 }
6535}
6536#[cfg(feature = "glx")]
6537impl From<glx::QueryServerStringReply> for Reply {
6538 fn from(reply: glx::QueryServerStringReply) -> Reply {
6539 Reply::GlxQueryServerString(reply)
6540 }
6541}
6542#[cfg(feature = "glx")]
6543impl From<glx::GetFBConfigsReply> for Reply {
6544 fn from(reply: glx::GetFBConfigsReply) -> Reply {
6545 Reply::GlxGetFBConfigs(reply)
6546 }
6547}
6548#[cfg(feature = "glx")]
6549impl From<glx::QueryContextReply> for Reply {
6550 fn from(reply: glx::QueryContextReply) -> Reply {
6551 Reply::GlxQueryContext(reply)
6552 }
6553}
6554#[cfg(feature = "glx")]
6555impl From<glx::MakeContextCurrentReply> for Reply {
6556 fn from(reply: glx::MakeContextCurrentReply) -> Reply {
6557 Reply::GlxMakeContextCurrent(reply)
6558 }
6559}
6560#[cfg(feature = "glx")]
6561impl From<glx::GetDrawableAttributesReply> for Reply {
6562 fn from(reply: glx::GetDrawableAttributesReply) -> Reply {
6563 Reply::GlxGetDrawableAttributes(reply)
6564 }
6565}
6566#[cfg(feature = "glx")]
6567impl From<glx::GenListsReply> for Reply {
6568 fn from(reply: glx::GenListsReply) -> Reply {
6569 Reply::GlxGenLists(reply)
6570 }
6571}
6572#[cfg(feature = "glx")]
6573impl From<glx::RenderModeReply> for Reply {
6574 fn from(reply: glx::RenderModeReply) -> Reply {
6575 Reply::GlxRenderMode(reply)
6576 }
6577}
6578#[cfg(feature = "glx")]
6579impl From<glx::FinishReply> for Reply {
6580 fn from(reply: glx::FinishReply) -> Reply {
6581 Reply::GlxFinish(reply)
6582 }
6583}
6584#[cfg(feature = "glx")]
6585impl From<glx::ReadPixelsReply> for Reply {
6586 fn from(reply: glx::ReadPixelsReply) -> Reply {
6587 Reply::GlxReadPixels(reply)
6588 }
6589}
6590#[cfg(feature = "glx")]
6591impl From<glx::GetBooleanvReply> for Reply {
6592 fn from(reply: glx::GetBooleanvReply) -> Reply {
6593 Reply::GlxGetBooleanv(reply)
6594 }
6595}
6596#[cfg(feature = "glx")]
6597impl From<glx::GetClipPlaneReply> for Reply {
6598 fn from(reply: glx::GetClipPlaneReply) -> Reply {
6599 Reply::GlxGetClipPlane(reply)
6600 }
6601}
6602#[cfg(feature = "glx")]
6603impl From<glx::GetDoublevReply> for Reply {
6604 fn from(reply: glx::GetDoublevReply) -> Reply {
6605 Reply::GlxGetDoublev(reply)
6606 }
6607}
6608#[cfg(feature = "glx")]
6609impl From<glx::GetErrorReply> for Reply {
6610 fn from(reply: glx::GetErrorReply) -> Reply {
6611 Reply::GlxGetError(reply)
6612 }
6613}
6614#[cfg(feature = "glx")]
6615impl From<glx::GetFloatvReply> for Reply {
6616 fn from(reply: glx::GetFloatvReply) -> Reply {
6617 Reply::GlxGetFloatv(reply)
6618 }
6619}
6620#[cfg(feature = "glx")]
6621impl From<glx::GetIntegervReply> for Reply {
6622 fn from(reply: glx::GetIntegervReply) -> Reply {
6623 Reply::GlxGetIntegerv(reply)
6624 }
6625}
6626#[cfg(feature = "glx")]
6627impl From<glx::GetLightfvReply> for Reply {
6628 fn from(reply: glx::GetLightfvReply) -> Reply {
6629 Reply::GlxGetLightfv(reply)
6630 }
6631}
6632#[cfg(feature = "glx")]
6633impl From<glx::GetLightivReply> for Reply {
6634 fn from(reply: glx::GetLightivReply) -> Reply {
6635 Reply::GlxGetLightiv(reply)
6636 }
6637}
6638#[cfg(feature = "glx")]
6639impl From<glx::GetMapdvReply> for Reply {
6640 fn from(reply: glx::GetMapdvReply) -> Reply {
6641 Reply::GlxGetMapdv(reply)
6642 }
6643}
6644#[cfg(feature = "glx")]
6645impl From<glx::GetMapfvReply> for Reply {
6646 fn from(reply: glx::GetMapfvReply) -> Reply {
6647 Reply::GlxGetMapfv(reply)
6648 }
6649}
6650#[cfg(feature = "glx")]
6651impl From<glx::GetMapivReply> for Reply {
6652 fn from(reply: glx::GetMapivReply) -> Reply {
6653 Reply::GlxGetMapiv(reply)
6654 }
6655}
6656#[cfg(feature = "glx")]
6657impl From<glx::GetMaterialfvReply> for Reply {
6658 fn from(reply: glx::GetMaterialfvReply) -> Reply {
6659 Reply::GlxGetMaterialfv(reply)
6660 }
6661}
6662#[cfg(feature = "glx")]
6663impl From<glx::GetMaterialivReply> for Reply {
6664 fn from(reply: glx::GetMaterialivReply) -> Reply {
6665 Reply::GlxGetMaterialiv(reply)
6666 }
6667}
6668#[cfg(feature = "glx")]
6669impl From<glx::GetPixelMapfvReply> for Reply {
6670 fn from(reply: glx::GetPixelMapfvReply) -> Reply {
6671 Reply::GlxGetPixelMapfv(reply)
6672 }
6673}
6674#[cfg(feature = "glx")]
6675impl From<glx::GetPixelMapuivReply> for Reply {
6676 fn from(reply: glx::GetPixelMapuivReply) -> Reply {
6677 Reply::GlxGetPixelMapuiv(reply)
6678 }
6679}
6680#[cfg(feature = "glx")]
6681impl From<glx::GetPixelMapusvReply> for Reply {
6682 fn from(reply: glx::GetPixelMapusvReply) -> Reply {
6683 Reply::GlxGetPixelMapusv(reply)
6684 }
6685}
6686#[cfg(feature = "glx")]
6687impl From<glx::GetPolygonStippleReply> for Reply {
6688 fn from(reply: glx::GetPolygonStippleReply) -> Reply {
6689 Reply::GlxGetPolygonStipple(reply)
6690 }
6691}
6692#[cfg(feature = "glx")]
6693impl From<glx::GetStringReply> for Reply {
6694 fn from(reply: glx::GetStringReply) -> Reply {
6695 Reply::GlxGetString(reply)
6696 }
6697}
6698#[cfg(feature = "glx")]
6699impl From<glx::GetTexEnvfvReply> for Reply {
6700 fn from(reply: glx::GetTexEnvfvReply) -> Reply {
6701 Reply::GlxGetTexEnvfv(reply)
6702 }
6703}
6704#[cfg(feature = "glx")]
6705impl From<glx::GetTexEnvivReply> for Reply {
6706 fn from(reply: glx::GetTexEnvivReply) -> Reply {
6707 Reply::GlxGetTexEnviv(reply)
6708 }
6709}
6710#[cfg(feature = "glx")]
6711impl From<glx::GetTexGendvReply> for Reply {
6712 fn from(reply: glx::GetTexGendvReply) -> Reply {
6713 Reply::GlxGetTexGendv(reply)
6714 }
6715}
6716#[cfg(feature = "glx")]
6717impl From<glx::GetTexGenfvReply> for Reply {
6718 fn from(reply: glx::GetTexGenfvReply) -> Reply {
6719 Reply::GlxGetTexGenfv(reply)
6720 }
6721}
6722#[cfg(feature = "glx")]
6723impl From<glx::GetTexGenivReply> for Reply {
6724 fn from(reply: glx::GetTexGenivReply) -> Reply {
6725 Reply::GlxGetTexGeniv(reply)
6726 }
6727}
6728#[cfg(feature = "glx")]
6729impl From<glx::GetTexImageReply> for Reply {
6730 fn from(reply: glx::GetTexImageReply) -> Reply {
6731 Reply::GlxGetTexImage(reply)
6732 }
6733}
6734#[cfg(feature = "glx")]
6735impl From<glx::GetTexParameterfvReply> for Reply {
6736 fn from(reply: glx::GetTexParameterfvReply) -> Reply {
6737 Reply::GlxGetTexParameterfv(reply)
6738 }
6739}
6740#[cfg(feature = "glx")]
6741impl From<glx::GetTexParameterivReply> for Reply {
6742 fn from(reply: glx::GetTexParameterivReply) -> Reply {
6743 Reply::GlxGetTexParameteriv(reply)
6744 }
6745}
6746#[cfg(feature = "glx")]
6747impl From<glx::GetTexLevelParameterfvReply> for Reply {
6748 fn from(reply: glx::GetTexLevelParameterfvReply) -> Reply {
6749 Reply::GlxGetTexLevelParameterfv(reply)
6750 }
6751}
6752#[cfg(feature = "glx")]
6753impl From<glx::GetTexLevelParameterivReply> for Reply {
6754 fn from(reply: glx::GetTexLevelParameterivReply) -> Reply {
6755 Reply::GlxGetTexLevelParameteriv(reply)
6756 }
6757}
6758#[cfg(feature = "glx")]
6759impl From<glx::IsEnabledReply> for Reply {
6760 fn from(reply: glx::IsEnabledReply) -> Reply {
6761 Reply::GlxIsEnabled(reply)
6762 }
6763}
6764#[cfg(feature = "glx")]
6765impl From<glx::IsListReply> for Reply {
6766 fn from(reply: glx::IsListReply) -> Reply {
6767 Reply::GlxIsList(reply)
6768 }
6769}
6770#[cfg(feature = "glx")]
6771impl From<glx::AreTexturesResidentReply> for Reply {
6772 fn from(reply: glx::AreTexturesResidentReply) -> Reply {
6773 Reply::GlxAreTexturesResident(reply)
6774 }
6775}
6776#[cfg(feature = "glx")]
6777impl From<glx::GenTexturesReply> for Reply {
6778 fn from(reply: glx::GenTexturesReply) -> Reply {
6779 Reply::GlxGenTextures(reply)
6780 }
6781}
6782#[cfg(feature = "glx")]
6783impl From<glx::IsTextureReply> for Reply {
6784 fn from(reply: glx::IsTextureReply) -> Reply {
6785 Reply::GlxIsTexture(reply)
6786 }
6787}
6788#[cfg(feature = "glx")]
6789impl From<glx::GetColorTableReply> for Reply {
6790 fn from(reply: glx::GetColorTableReply) -> Reply {
6791 Reply::GlxGetColorTable(reply)
6792 }
6793}
6794#[cfg(feature = "glx")]
6795impl From<glx::GetColorTableParameterfvReply> for Reply {
6796 fn from(reply: glx::GetColorTableParameterfvReply) -> Reply {
6797 Reply::GlxGetColorTableParameterfv(reply)
6798 }
6799}
6800#[cfg(feature = "glx")]
6801impl From<glx::GetColorTableParameterivReply> for Reply {
6802 fn from(reply: glx::GetColorTableParameterivReply) -> Reply {
6803 Reply::GlxGetColorTableParameteriv(reply)
6804 }
6805}
6806#[cfg(feature = "glx")]
6807impl From<glx::GetConvolutionFilterReply> for Reply {
6808 fn from(reply: glx::GetConvolutionFilterReply) -> Reply {
6809 Reply::GlxGetConvolutionFilter(reply)
6810 }
6811}
6812#[cfg(feature = "glx")]
6813impl From<glx::GetConvolutionParameterfvReply> for Reply {
6814 fn from(reply: glx::GetConvolutionParameterfvReply) -> Reply {
6815 Reply::GlxGetConvolutionParameterfv(reply)
6816 }
6817}
6818#[cfg(feature = "glx")]
6819impl From<glx::GetConvolutionParameterivReply> for Reply {
6820 fn from(reply: glx::GetConvolutionParameterivReply) -> Reply {
6821 Reply::GlxGetConvolutionParameteriv(reply)
6822 }
6823}
6824#[cfg(feature = "glx")]
6825impl From<glx::GetSeparableFilterReply> for Reply {
6826 fn from(reply: glx::GetSeparableFilterReply) -> Reply {
6827 Reply::GlxGetSeparableFilter(reply)
6828 }
6829}
6830#[cfg(feature = "glx")]
6831impl From<glx::GetHistogramReply> for Reply {
6832 fn from(reply: glx::GetHistogramReply) -> Reply {
6833 Reply::GlxGetHistogram(reply)
6834 }
6835}
6836#[cfg(feature = "glx")]
6837impl From<glx::GetHistogramParameterfvReply> for Reply {
6838 fn from(reply: glx::GetHistogramParameterfvReply) -> Reply {
6839 Reply::GlxGetHistogramParameterfv(reply)
6840 }
6841}
6842#[cfg(feature = "glx")]
6843impl From<glx::GetHistogramParameterivReply> for Reply {
6844 fn from(reply: glx::GetHistogramParameterivReply) -> Reply {
6845 Reply::GlxGetHistogramParameteriv(reply)
6846 }
6847}
6848#[cfg(feature = "glx")]
6849impl From<glx::GetMinmaxReply> for Reply {
6850 fn from(reply: glx::GetMinmaxReply) -> Reply {
6851 Reply::GlxGetMinmax(reply)
6852 }
6853}
6854#[cfg(feature = "glx")]
6855impl From<glx::GetMinmaxParameterfvReply> for Reply {
6856 fn from(reply: glx::GetMinmaxParameterfvReply) -> Reply {
6857 Reply::GlxGetMinmaxParameterfv(reply)
6858 }
6859}
6860#[cfg(feature = "glx")]
6861impl From<glx::GetMinmaxParameterivReply> for Reply {
6862 fn from(reply: glx::GetMinmaxParameterivReply) -> Reply {
6863 Reply::GlxGetMinmaxParameteriv(reply)
6864 }
6865}
6866#[cfg(feature = "glx")]
6867impl From<glx::GetCompressedTexImageARBReply> for Reply {
6868 fn from(reply: glx::GetCompressedTexImageARBReply) -> Reply {
6869 Reply::GlxGetCompressedTexImageARB(reply)
6870 }
6871}
6872#[cfg(feature = "glx")]
6873impl From<glx::GenQueriesARBReply> for Reply {
6874 fn from(reply: glx::GenQueriesARBReply) -> Reply {
6875 Reply::GlxGenQueriesARB(reply)
6876 }
6877}
6878#[cfg(feature = "glx")]
6879impl From<glx::IsQueryARBReply> for Reply {
6880 fn from(reply: glx::IsQueryARBReply) -> Reply {
6881 Reply::GlxIsQueryARB(reply)
6882 }
6883}
6884#[cfg(feature = "glx")]
6885impl From<glx::GetQueryivARBReply> for Reply {
6886 fn from(reply: glx::GetQueryivARBReply) -> Reply {
6887 Reply::GlxGetQueryivARB(reply)
6888 }
6889}
6890#[cfg(feature = "glx")]
6891impl From<glx::GetQueryObjectivARBReply> for Reply {
6892 fn from(reply: glx::GetQueryObjectivARBReply) -> Reply {
6893 Reply::GlxGetQueryObjectivARB(reply)
6894 }
6895}
6896#[cfg(feature = "glx")]
6897impl From<glx::GetQueryObjectuivARBReply> for Reply {
6898 fn from(reply: glx::GetQueryObjectuivARBReply) -> Reply {
6899 Reply::GlxGetQueryObjectuivARB(reply)
6900 }
6901}
6902#[cfg(feature = "present")]
6903impl From<present::QueryVersionReply> for Reply {
6904 fn from(reply: present::QueryVersionReply) -> Reply {
6905 Reply::PresentQueryVersion(reply)
6906 }
6907}
6908#[cfg(feature = "present")]
6909impl From<present::QueryCapabilitiesReply> for Reply {
6910 fn from(reply: present::QueryCapabilitiesReply) -> Reply {
6911 Reply::PresentQueryCapabilities(reply)
6912 }
6913}
6914#[cfg(feature = "randr")]
6915impl From<randr::QueryVersionReply> for Reply {
6916 fn from(reply: randr::QueryVersionReply) -> Reply {
6917 Reply::RandrQueryVersion(reply)
6918 }
6919}
6920#[cfg(feature = "randr")]
6921impl From<randr::SetScreenConfigReply> for Reply {
6922 fn from(reply: randr::SetScreenConfigReply) -> Reply {
6923 Reply::RandrSetScreenConfig(reply)
6924 }
6925}
6926#[cfg(feature = "randr")]
6927impl From<randr::GetScreenInfoReply> for Reply {
6928 fn from(reply: randr::GetScreenInfoReply) -> Reply {
6929 Reply::RandrGetScreenInfo(reply)
6930 }
6931}
6932#[cfg(feature = "randr")]
6933impl From<randr::GetScreenSizeRangeReply> for Reply {
6934 fn from(reply: randr::GetScreenSizeRangeReply) -> Reply {
6935 Reply::RandrGetScreenSizeRange(reply)
6936 }
6937}
6938#[cfg(feature = "randr")]
6939impl From<randr::GetScreenResourcesReply> for Reply {
6940 fn from(reply: randr::GetScreenResourcesReply) -> Reply {
6941 Reply::RandrGetScreenResources(reply)
6942 }
6943}
6944#[cfg(feature = "randr")]
6945impl From<randr::GetOutputInfoReply> for Reply {
6946 fn from(reply: randr::GetOutputInfoReply) -> Reply {
6947 Reply::RandrGetOutputInfo(reply)
6948 }
6949}
6950#[cfg(feature = "randr")]
6951impl From<randr::ListOutputPropertiesReply> for Reply {
6952 fn from(reply: randr::ListOutputPropertiesReply) -> Reply {
6953 Reply::RandrListOutputProperties(reply)
6954 }
6955}
6956#[cfg(feature = "randr")]
6957impl From<randr::QueryOutputPropertyReply> for Reply {
6958 fn from(reply: randr::QueryOutputPropertyReply) -> Reply {
6959 Reply::RandrQueryOutputProperty(reply)
6960 }
6961}
6962#[cfg(feature = "randr")]
6963impl From<randr::GetOutputPropertyReply> for Reply {
6964 fn from(reply: randr::GetOutputPropertyReply) -> Reply {
6965 Reply::RandrGetOutputProperty(reply)
6966 }
6967}
6968#[cfg(feature = "randr")]
6969impl From<randr::CreateModeReply> for Reply {
6970 fn from(reply: randr::CreateModeReply) -> Reply {
6971 Reply::RandrCreateMode(reply)
6972 }
6973}
6974#[cfg(feature = "randr")]
6975impl From<randr::GetCrtcInfoReply> for Reply {
6976 fn from(reply: randr::GetCrtcInfoReply) -> Reply {
6977 Reply::RandrGetCrtcInfo(reply)
6978 }
6979}
6980#[cfg(feature = "randr")]
6981impl From<randr::SetCrtcConfigReply> for Reply {
6982 fn from(reply: randr::SetCrtcConfigReply) -> Reply {
6983 Reply::RandrSetCrtcConfig(reply)
6984 }
6985}
6986#[cfg(feature = "randr")]
6987impl From<randr::GetCrtcGammaSizeReply> for Reply {
6988 fn from(reply: randr::GetCrtcGammaSizeReply) -> Reply {
6989 Reply::RandrGetCrtcGammaSize(reply)
6990 }
6991}
6992#[cfg(feature = "randr")]
6993impl From<randr::GetCrtcGammaReply> for Reply {
6994 fn from(reply: randr::GetCrtcGammaReply) -> Reply {
6995 Reply::RandrGetCrtcGamma(reply)
6996 }
6997}
6998#[cfg(feature = "randr")]
6999impl From<randr::GetScreenResourcesCurrentReply> for Reply {
7000 fn from(reply: randr::GetScreenResourcesCurrentReply) -> Reply {
7001 Reply::RandrGetScreenResourcesCurrent(reply)
7002 }
7003}
7004#[cfg(feature = "randr")]
7005impl From<randr::GetCrtcTransformReply> for Reply {
7006 fn from(reply: randr::GetCrtcTransformReply) -> Reply {
7007 Reply::RandrGetCrtcTransform(reply)
7008 }
7009}
7010#[cfg(feature = "randr")]
7011impl From<randr::GetPanningReply> for Reply {
7012 fn from(reply: randr::GetPanningReply) -> Reply {
7013 Reply::RandrGetPanning(reply)
7014 }
7015}
7016#[cfg(feature = "randr")]
7017impl From<randr::SetPanningReply> for Reply {
7018 fn from(reply: randr::SetPanningReply) -> Reply {
7019 Reply::RandrSetPanning(reply)
7020 }
7021}
7022#[cfg(feature = "randr")]
7023impl From<randr::GetOutputPrimaryReply> for Reply {
7024 fn from(reply: randr::GetOutputPrimaryReply) -> Reply {
7025 Reply::RandrGetOutputPrimary(reply)
7026 }
7027}
7028#[cfg(feature = "randr")]
7029impl From<randr::GetProvidersReply> for Reply {
7030 fn from(reply: randr::GetProvidersReply) -> Reply {
7031 Reply::RandrGetProviders(reply)
7032 }
7033}
7034#[cfg(feature = "randr")]
7035impl From<randr::GetProviderInfoReply> for Reply {
7036 fn from(reply: randr::GetProviderInfoReply) -> Reply {
7037 Reply::RandrGetProviderInfo(reply)
7038 }
7039}
7040#[cfg(feature = "randr")]
7041impl From<randr::ListProviderPropertiesReply> for Reply {
7042 fn from(reply: randr::ListProviderPropertiesReply) -> Reply {
7043 Reply::RandrListProviderProperties(reply)
7044 }
7045}
7046#[cfg(feature = "randr")]
7047impl From<randr::QueryProviderPropertyReply> for Reply {
7048 fn from(reply: randr::QueryProviderPropertyReply) -> Reply {
7049 Reply::RandrQueryProviderProperty(reply)
7050 }
7051}
7052#[cfg(feature = "randr")]
7053impl From<randr::GetProviderPropertyReply> for Reply {
7054 fn from(reply: randr::GetProviderPropertyReply) -> Reply {
7055 Reply::RandrGetProviderProperty(reply)
7056 }
7057}
7058#[cfg(feature = "randr")]
7059impl From<randr::GetMonitorsReply> for Reply {
7060 fn from(reply: randr::GetMonitorsReply) -> Reply {
7061 Reply::RandrGetMonitors(reply)
7062 }
7063}
7064#[cfg(feature = "randr")]
7065impl From<randr::CreateLeaseReply> for Reply {
7066 fn from(reply: randr::CreateLeaseReply) -> Reply {
7067 Reply::RandrCreateLease(reply)
7068 }
7069}
7070#[cfg(feature = "record")]
7071impl From<record::QueryVersionReply> for Reply {
7072 fn from(reply: record::QueryVersionReply) -> Reply {
7073 Reply::RecordQueryVersion(reply)
7074 }
7075}
7076#[cfg(feature = "record")]
7077impl From<record::GetContextReply> for Reply {
7078 fn from(reply: record::GetContextReply) -> Reply {
7079 Reply::RecordGetContext(reply)
7080 }
7081}
7082#[cfg(feature = "record")]
7083impl From<record::EnableContextReply> for Reply {
7084 fn from(reply: record::EnableContextReply) -> Reply {
7085 Reply::RecordEnableContext(reply)
7086 }
7087}
7088#[cfg(feature = "render")]
7089impl From<render::QueryVersionReply> for Reply {
7090 fn from(reply: render::QueryVersionReply) -> Reply {
7091 Reply::RenderQueryVersion(reply)
7092 }
7093}
7094#[cfg(feature = "render")]
7095impl From<render::QueryPictFormatsReply> for Reply {
7096 fn from(reply: render::QueryPictFormatsReply) -> Reply {
7097 Reply::RenderQueryPictFormats(reply)
7098 }
7099}
7100#[cfg(feature = "render")]
7101impl From<render::QueryPictIndexValuesReply> for Reply {
7102 fn from(reply: render::QueryPictIndexValuesReply) -> Reply {
7103 Reply::RenderQueryPictIndexValues(reply)
7104 }
7105}
7106#[cfg(feature = "render")]
7107impl From<render::QueryFiltersReply> for Reply {
7108 fn from(reply: render::QueryFiltersReply) -> Reply {
7109 Reply::RenderQueryFilters(reply)
7110 }
7111}
7112#[cfg(feature = "res")]
7113impl From<res::QueryVersionReply> for Reply {
7114 fn from(reply: res::QueryVersionReply) -> Reply {
7115 Reply::ResQueryVersion(reply)
7116 }
7117}
7118#[cfg(feature = "res")]
7119impl From<res::QueryClientsReply> for Reply {
7120 fn from(reply: res::QueryClientsReply) -> Reply {
7121 Reply::ResQueryClients(reply)
7122 }
7123}
7124#[cfg(feature = "res")]
7125impl From<res::QueryClientResourcesReply> for Reply {
7126 fn from(reply: res::QueryClientResourcesReply) -> Reply {
7127 Reply::ResQueryClientResources(reply)
7128 }
7129}
7130#[cfg(feature = "res")]
7131impl From<res::QueryClientPixmapBytesReply> for Reply {
7132 fn from(reply: res::QueryClientPixmapBytesReply) -> Reply {
7133 Reply::ResQueryClientPixmapBytes(reply)
7134 }
7135}
7136#[cfg(feature = "res")]
7137impl From<res::QueryClientIdsReply> for Reply {
7138 fn from(reply: res::QueryClientIdsReply) -> Reply {
7139 Reply::ResQueryClientIds(reply)
7140 }
7141}
7142#[cfg(feature = "res")]
7143impl From<res::QueryResourceBytesReply> for Reply {
7144 fn from(reply: res::QueryResourceBytesReply) -> Reply {
7145 Reply::ResQueryResourceBytes(reply)
7146 }
7147}
7148#[cfg(feature = "screensaver")]
7149impl From<screensaver::QueryVersionReply> for Reply {
7150 fn from(reply: screensaver::QueryVersionReply) -> Reply {
7151 Reply::ScreensaverQueryVersion(reply)
7152 }
7153}
7154#[cfg(feature = "screensaver")]
7155impl From<screensaver::QueryInfoReply> for Reply {
7156 fn from(reply: screensaver::QueryInfoReply) -> Reply {
7157 Reply::ScreensaverQueryInfo(reply)
7158 }
7159}
7160#[cfg(feature = "shape")]
7161impl From<shape::QueryVersionReply> for Reply {
7162 fn from(reply: shape::QueryVersionReply) -> Reply {
7163 Reply::ShapeQueryVersion(reply)
7164 }
7165}
7166#[cfg(feature = "shape")]
7167impl From<shape::QueryExtentsReply> for Reply {
7168 fn from(reply: shape::QueryExtentsReply) -> Reply {
7169 Reply::ShapeQueryExtents(reply)
7170 }
7171}
7172#[cfg(feature = "shape")]
7173impl From<shape::InputSelectedReply> for Reply {
7174 fn from(reply: shape::InputSelectedReply) -> Reply {
7175 Reply::ShapeInputSelected(reply)
7176 }
7177}
7178#[cfg(feature = "shape")]
7179impl From<shape::GetRectanglesReply> for Reply {
7180 fn from(reply: shape::GetRectanglesReply) -> Reply {
7181 Reply::ShapeGetRectangles(reply)
7182 }
7183}
7184#[cfg(feature = "shm")]
7185impl From<shm::QueryVersionReply> for Reply {
7186 fn from(reply: shm::QueryVersionReply) -> Reply {
7187 Reply::ShmQueryVersion(reply)
7188 }
7189}
7190#[cfg(feature = "shm")]
7191impl From<shm::GetImageReply> for Reply {
7192 fn from(reply: shm::GetImageReply) -> Reply {
7193 Reply::ShmGetImage(reply)
7194 }
7195}
7196#[cfg(feature = "shm")]
7197impl From<shm::CreateSegmentReply> for Reply {
7198 fn from(reply: shm::CreateSegmentReply) -> Reply {
7199 Reply::ShmCreateSegment(reply)
7200 }
7201}
7202#[cfg(feature = "sync")]
7203impl From<sync::InitializeReply> for Reply {
7204 fn from(reply: sync::InitializeReply) -> Reply {
7205 Reply::SyncInitialize(reply)
7206 }
7207}
7208#[cfg(feature = "sync")]
7209impl From<sync::ListSystemCountersReply> for Reply {
7210 fn from(reply: sync::ListSystemCountersReply) -> Reply {
7211 Reply::SyncListSystemCounters(reply)
7212 }
7213}
7214#[cfg(feature = "sync")]
7215impl From<sync::QueryCounterReply> for Reply {
7216 fn from(reply: sync::QueryCounterReply) -> Reply {
7217 Reply::SyncQueryCounter(reply)
7218 }
7219}
7220#[cfg(feature = "sync")]
7221impl From<sync::QueryAlarmReply> for Reply {
7222 fn from(reply: sync::QueryAlarmReply) -> Reply {
7223 Reply::SyncQueryAlarm(reply)
7224 }
7225}
7226#[cfg(feature = "sync")]
7227impl From<sync::GetPriorityReply> for Reply {
7228 fn from(reply: sync::GetPriorityReply) -> Reply {
7229 Reply::SyncGetPriority(reply)
7230 }
7231}
7232#[cfg(feature = "sync")]
7233impl From<sync::QueryFenceReply> for Reply {
7234 fn from(reply: sync::QueryFenceReply) -> Reply {
7235 Reply::SyncQueryFence(reply)
7236 }
7237}
7238impl From<xc_misc::GetVersionReply> for Reply {
7239 fn from(reply: xc_misc::GetVersionReply) -> Reply {
7240 Reply::XcMiscGetVersion(reply)
7241 }
7242}
7243impl From<xc_misc::GetXIDRangeReply> for Reply {
7244 fn from(reply: xc_misc::GetXIDRangeReply) -> Reply {
7245 Reply::XcMiscGetXIDRange(reply)
7246 }
7247}
7248impl From<xc_misc::GetXIDListReply> for Reply {
7249 fn from(reply: xc_misc::GetXIDListReply) -> Reply {
7250 Reply::XcMiscGetXIDList(reply)
7251 }
7252}
7253#[cfg(feature = "xevie")]
7254impl From<xevie::QueryVersionReply> for Reply {
7255 fn from(reply: xevie::QueryVersionReply) -> Reply {
7256 Reply::XevieQueryVersion(reply)
7257 }
7258}
7259#[cfg(feature = "xevie")]
7260impl From<xevie::StartReply> for Reply {
7261 fn from(reply: xevie::StartReply) -> Reply {
7262 Reply::XevieStart(reply)
7263 }
7264}
7265#[cfg(feature = "xevie")]
7266impl From<xevie::EndReply> for Reply {
7267 fn from(reply: xevie::EndReply) -> Reply {
7268 Reply::XevieEnd(reply)
7269 }
7270}
7271#[cfg(feature = "xevie")]
7272impl From<xevie::SendReply> for Reply {
7273 fn from(reply: xevie::SendReply) -> Reply {
7274 Reply::XevieSend(reply)
7275 }
7276}
7277#[cfg(feature = "xevie")]
7278impl From<xevie::SelectInputReply> for Reply {
7279 fn from(reply: xevie::SelectInputReply) -> Reply {
7280 Reply::XevieSelectInput(reply)
7281 }
7282}
7283#[cfg(feature = "xf86dri")]
7284impl From<xf86dri::QueryVersionReply> for Reply {
7285 fn from(reply: xf86dri::QueryVersionReply) -> Reply {
7286 Reply::Xf86driQueryVersion(reply)
7287 }
7288}
7289#[cfg(feature = "xf86dri")]
7290impl From<xf86dri::QueryDirectRenderingCapableReply> for Reply {
7291 fn from(reply: xf86dri::QueryDirectRenderingCapableReply) -> Reply {
7292 Reply::Xf86driQueryDirectRenderingCapable(reply)
7293 }
7294}
7295#[cfg(feature = "xf86dri")]
7296impl From<xf86dri::OpenConnectionReply> for Reply {
7297 fn from(reply: xf86dri::OpenConnectionReply) -> Reply {
7298 Reply::Xf86driOpenConnection(reply)
7299 }
7300}
7301#[cfg(feature = "xf86dri")]
7302impl From<xf86dri::GetClientDriverNameReply> for Reply {
7303 fn from(reply: xf86dri::GetClientDriverNameReply) -> Reply {
7304 Reply::Xf86driGetClientDriverName(reply)
7305 }
7306}
7307#[cfg(feature = "xf86dri")]
7308impl From<xf86dri::CreateContextReply> for Reply {
7309 fn from(reply: xf86dri::CreateContextReply) -> Reply {
7310 Reply::Xf86driCreateContext(reply)
7311 }
7312}
7313#[cfg(feature = "xf86dri")]
7314impl From<xf86dri::CreateDrawableReply> for Reply {
7315 fn from(reply: xf86dri::CreateDrawableReply) -> Reply {
7316 Reply::Xf86driCreateDrawable(reply)
7317 }
7318}
7319#[cfg(feature = "xf86dri")]
7320impl From<xf86dri::GetDrawableInfoReply> for Reply {
7321 fn from(reply: xf86dri::GetDrawableInfoReply) -> Reply {
7322 Reply::Xf86driGetDrawableInfo(reply)
7323 }
7324}
7325#[cfg(feature = "xf86dri")]
7326impl From<xf86dri::GetDeviceInfoReply> for Reply {
7327 fn from(reply: xf86dri::GetDeviceInfoReply) -> Reply {
7328 Reply::Xf86driGetDeviceInfo(reply)
7329 }
7330}
7331#[cfg(feature = "xf86dri")]
7332impl From<xf86dri::AuthConnectionReply> for Reply {
7333 fn from(reply: xf86dri::AuthConnectionReply) -> Reply {
7334 Reply::Xf86driAuthConnection(reply)
7335 }
7336}
7337#[cfg(feature = "xf86vidmode")]
7338impl From<xf86vidmode::QueryVersionReply> for Reply {
7339 fn from(reply: xf86vidmode::QueryVersionReply) -> Reply {
7340 Reply::Xf86vidmodeQueryVersion(reply)
7341 }
7342}
7343#[cfg(feature = "xf86vidmode")]
7344impl From<xf86vidmode::GetModeLineReply> for Reply {
7345 fn from(reply: xf86vidmode::GetModeLineReply) -> Reply {
7346 Reply::Xf86vidmodeGetModeLine(reply)
7347 }
7348}
7349#[cfg(feature = "xf86vidmode")]
7350impl From<xf86vidmode::GetMonitorReply> for Reply {
7351 fn from(reply: xf86vidmode::GetMonitorReply) -> Reply {
7352 Reply::Xf86vidmodeGetMonitor(reply)
7353 }
7354}
7355#[cfg(feature = "xf86vidmode")]
7356impl From<xf86vidmode::GetAllModeLinesReply> for Reply {
7357 fn from(reply: xf86vidmode::GetAllModeLinesReply) -> Reply {
7358 Reply::Xf86vidmodeGetAllModeLines(reply)
7359 }
7360}
7361#[cfg(feature = "xf86vidmode")]
7362impl From<xf86vidmode::ValidateModeLineReply> for Reply {
7363 fn from(reply: xf86vidmode::ValidateModeLineReply) -> Reply {
7364 Reply::Xf86vidmodeValidateModeLine(reply)
7365 }
7366}
7367#[cfg(feature = "xf86vidmode")]
7368impl From<xf86vidmode::GetViewPortReply> for Reply {
7369 fn from(reply: xf86vidmode::GetViewPortReply) -> Reply {
7370 Reply::Xf86vidmodeGetViewPort(reply)
7371 }
7372}
7373#[cfg(feature = "xf86vidmode")]
7374impl From<xf86vidmode::GetDotClocksReply> for Reply {
7375 fn from(reply: xf86vidmode::GetDotClocksReply) -> Reply {
7376 Reply::Xf86vidmodeGetDotClocks(reply)
7377 }
7378}
7379#[cfg(feature = "xf86vidmode")]
7380impl From<xf86vidmode::GetGammaReply> for Reply {
7381 fn from(reply: xf86vidmode::GetGammaReply) -> Reply {
7382 Reply::Xf86vidmodeGetGamma(reply)
7383 }
7384}
7385#[cfg(feature = "xf86vidmode")]
7386impl From<xf86vidmode::GetGammaRampReply> for Reply {
7387 fn from(reply: xf86vidmode::GetGammaRampReply) -> Reply {
7388 Reply::Xf86vidmodeGetGammaRamp(reply)
7389 }
7390}
7391#[cfg(feature = "xf86vidmode")]
7392impl From<xf86vidmode::GetGammaRampSizeReply> for Reply {
7393 fn from(reply: xf86vidmode::GetGammaRampSizeReply) -> Reply {
7394 Reply::Xf86vidmodeGetGammaRampSize(reply)
7395 }
7396}
7397#[cfg(feature = "xf86vidmode")]
7398impl From<xf86vidmode::GetPermissionsReply> for Reply {
7399 fn from(reply: xf86vidmode::GetPermissionsReply) -> Reply {
7400 Reply::Xf86vidmodeGetPermissions(reply)
7401 }
7402}
7403#[cfg(feature = "xfixes")]
7404impl From<xfixes::QueryVersionReply> for Reply {
7405 fn from(reply: xfixes::QueryVersionReply) -> Reply {
7406 Reply::XfixesQueryVersion(reply)
7407 }
7408}
7409#[cfg(feature = "xfixes")]
7410impl From<xfixes::GetCursorImageReply> for Reply {
7411 fn from(reply: xfixes::GetCursorImageReply) -> Reply {
7412 Reply::XfixesGetCursorImage(reply)
7413 }
7414}
7415#[cfg(feature = "xfixes")]
7416impl From<xfixes::FetchRegionReply> for Reply {
7417 fn from(reply: xfixes::FetchRegionReply) -> Reply {
7418 Reply::XfixesFetchRegion(reply)
7419 }
7420}
7421#[cfg(feature = "xfixes")]
7422impl From<xfixes::GetCursorNameReply> for Reply {
7423 fn from(reply: xfixes::GetCursorNameReply) -> Reply {
7424 Reply::XfixesGetCursorName(reply)
7425 }
7426}
7427#[cfg(feature = "xfixes")]
7428impl From<xfixes::GetCursorImageAndNameReply> for Reply {
7429 fn from(reply: xfixes::GetCursorImageAndNameReply) -> Reply {
7430 Reply::XfixesGetCursorImageAndName(reply)
7431 }
7432}
7433#[cfg(feature = "xfixes")]
7434impl From<xfixes::GetClientDisconnectModeReply> for Reply {
7435 fn from(reply: xfixes::GetClientDisconnectModeReply) -> Reply {
7436 Reply::XfixesGetClientDisconnectMode(reply)
7437 }
7438}
7439#[cfg(feature = "xinerama")]
7440impl From<xinerama::QueryVersionReply> for Reply {
7441 fn from(reply: xinerama::QueryVersionReply) -> Reply {
7442 Reply::XineramaQueryVersion(reply)
7443 }
7444}
7445#[cfg(feature = "xinerama")]
7446impl From<xinerama::GetStateReply> for Reply {
7447 fn from(reply: xinerama::GetStateReply) -> Reply {
7448 Reply::XineramaGetState(reply)
7449 }
7450}
7451#[cfg(feature = "xinerama")]
7452impl From<xinerama::GetScreenCountReply> for Reply {
7453 fn from(reply: xinerama::GetScreenCountReply) -> Reply {
7454 Reply::XineramaGetScreenCount(reply)
7455 }
7456}
7457#[cfg(feature = "xinerama")]
7458impl From<xinerama::GetScreenSizeReply> for Reply {
7459 fn from(reply: xinerama::GetScreenSizeReply) -> Reply {
7460 Reply::XineramaGetScreenSize(reply)
7461 }
7462}
7463#[cfg(feature = "xinerama")]
7464impl From<xinerama::IsActiveReply> for Reply {
7465 fn from(reply: xinerama::IsActiveReply) -> Reply {
7466 Reply::XineramaIsActive(reply)
7467 }
7468}
7469#[cfg(feature = "xinerama")]
7470impl From<xinerama::QueryScreensReply> for Reply {
7471 fn from(reply: xinerama::QueryScreensReply) -> Reply {
7472 Reply::XineramaQueryScreens(reply)
7473 }
7474}
7475#[cfg(feature = "xinput")]
7476impl From<xinput::GetExtensionVersionReply> for Reply {
7477 fn from(reply: xinput::GetExtensionVersionReply) -> Reply {
7478 Reply::XinputGetExtensionVersion(reply)
7479 }
7480}
7481#[cfg(feature = "xinput")]
7482impl From<xinput::ListInputDevicesReply> for Reply {
7483 fn from(reply: xinput::ListInputDevicesReply) -> Reply {
7484 Reply::XinputListInputDevices(reply)
7485 }
7486}
7487#[cfg(feature = "xinput")]
7488impl From<xinput::OpenDeviceReply> for Reply {
7489 fn from(reply: xinput::OpenDeviceReply) -> Reply {
7490 Reply::XinputOpenDevice(reply)
7491 }
7492}
7493#[cfg(feature = "xinput")]
7494impl From<xinput::SetDeviceModeReply> for Reply {
7495 fn from(reply: xinput::SetDeviceModeReply) -> Reply {
7496 Reply::XinputSetDeviceMode(reply)
7497 }
7498}
7499#[cfg(feature = "xinput")]
7500impl From<xinput::GetSelectedExtensionEventsReply> for Reply {
7501 fn from(reply: xinput::GetSelectedExtensionEventsReply) -> Reply {
7502 Reply::XinputGetSelectedExtensionEvents(reply)
7503 }
7504}
7505#[cfg(feature = "xinput")]
7506impl From<xinput::GetDeviceDontPropagateListReply> for Reply {
7507 fn from(reply: xinput::GetDeviceDontPropagateListReply) -> Reply {
7508 Reply::XinputGetDeviceDontPropagateList(reply)
7509 }
7510}
7511#[cfg(feature = "xinput")]
7512impl From<xinput::GetDeviceMotionEventsReply> for Reply {
7513 fn from(reply: xinput::GetDeviceMotionEventsReply) -> Reply {
7514 Reply::XinputGetDeviceMotionEvents(reply)
7515 }
7516}
7517#[cfg(feature = "xinput")]
7518impl From<xinput::ChangeKeyboardDeviceReply> for Reply {
7519 fn from(reply: xinput::ChangeKeyboardDeviceReply) -> Reply {
7520 Reply::XinputChangeKeyboardDevice(reply)
7521 }
7522}
7523#[cfg(feature = "xinput")]
7524impl From<xinput::ChangePointerDeviceReply> for Reply {
7525 fn from(reply: xinput::ChangePointerDeviceReply) -> Reply {
7526 Reply::XinputChangePointerDevice(reply)
7527 }
7528}
7529#[cfg(feature = "xinput")]
7530impl From<xinput::GrabDeviceReply> for Reply {
7531 fn from(reply: xinput::GrabDeviceReply) -> Reply {
7532 Reply::XinputGrabDevice(reply)
7533 }
7534}
7535#[cfg(feature = "xinput")]
7536impl From<xinput::GetDeviceFocusReply> for Reply {
7537 fn from(reply: xinput::GetDeviceFocusReply) -> Reply {
7538 Reply::XinputGetDeviceFocus(reply)
7539 }
7540}
7541#[cfg(feature = "xinput")]
7542impl From<xinput::GetFeedbackControlReply> for Reply {
7543 fn from(reply: xinput::GetFeedbackControlReply) -> Reply {
7544 Reply::XinputGetFeedbackControl(reply)
7545 }
7546}
7547#[cfg(feature = "xinput")]
7548impl From<xinput::GetDeviceKeyMappingReply> for Reply {
7549 fn from(reply: xinput::GetDeviceKeyMappingReply) -> Reply {
7550 Reply::XinputGetDeviceKeyMapping(reply)
7551 }
7552}
7553#[cfg(feature = "xinput")]
7554impl From<xinput::GetDeviceModifierMappingReply> for Reply {
7555 fn from(reply: xinput::GetDeviceModifierMappingReply) -> Reply {
7556 Reply::XinputGetDeviceModifierMapping(reply)
7557 }
7558}
7559#[cfg(feature = "xinput")]
7560impl From<xinput::SetDeviceModifierMappingReply> for Reply {
7561 fn from(reply: xinput::SetDeviceModifierMappingReply) -> Reply {
7562 Reply::XinputSetDeviceModifierMapping(reply)
7563 }
7564}
7565#[cfg(feature = "xinput")]
7566impl From<xinput::GetDeviceButtonMappingReply> for Reply {
7567 fn from(reply: xinput::GetDeviceButtonMappingReply) -> Reply {
7568 Reply::XinputGetDeviceButtonMapping(reply)
7569 }
7570}
7571#[cfg(feature = "xinput")]
7572impl From<xinput::SetDeviceButtonMappingReply> for Reply {
7573 fn from(reply: xinput::SetDeviceButtonMappingReply) -> Reply {
7574 Reply::XinputSetDeviceButtonMapping(reply)
7575 }
7576}
7577#[cfg(feature = "xinput")]
7578impl From<xinput::QueryDeviceStateReply> for Reply {
7579 fn from(reply: xinput::QueryDeviceStateReply) -> Reply {
7580 Reply::XinputQueryDeviceState(reply)
7581 }
7582}
7583#[cfg(feature = "xinput")]
7584impl From<xinput::SetDeviceValuatorsReply> for Reply {
7585 fn from(reply: xinput::SetDeviceValuatorsReply) -> Reply {
7586 Reply::XinputSetDeviceValuators(reply)
7587 }
7588}
7589#[cfg(feature = "xinput")]
7590impl From<xinput::GetDeviceControlReply> for Reply {
7591 fn from(reply: xinput::GetDeviceControlReply) -> Reply {
7592 Reply::XinputGetDeviceControl(reply)
7593 }
7594}
7595#[cfg(feature = "xinput")]
7596impl From<xinput::ChangeDeviceControlReply> for Reply {
7597 fn from(reply: xinput::ChangeDeviceControlReply) -> Reply {
7598 Reply::XinputChangeDeviceControl(reply)
7599 }
7600}
7601#[cfg(feature = "xinput")]
7602impl From<xinput::ListDevicePropertiesReply> for Reply {
7603 fn from(reply: xinput::ListDevicePropertiesReply) -> Reply {
7604 Reply::XinputListDeviceProperties(reply)
7605 }
7606}
7607#[cfg(feature = "xinput")]
7608impl From<xinput::GetDevicePropertyReply> for Reply {
7609 fn from(reply: xinput::GetDevicePropertyReply) -> Reply {
7610 Reply::XinputGetDeviceProperty(reply)
7611 }
7612}
7613#[cfg(feature = "xinput")]
7614impl From<xinput::XIQueryPointerReply> for Reply {
7615 fn from(reply: xinput::XIQueryPointerReply) -> Reply {
7616 Reply::XinputXIQueryPointer(reply)
7617 }
7618}
7619#[cfg(feature = "xinput")]
7620impl From<xinput::XIGetClientPointerReply> for Reply {
7621 fn from(reply: xinput::XIGetClientPointerReply) -> Reply {
7622 Reply::XinputXIGetClientPointer(reply)
7623 }
7624}
7625#[cfg(feature = "xinput")]
7626impl From<xinput::XIQueryVersionReply> for Reply {
7627 fn from(reply: xinput::XIQueryVersionReply) -> Reply {
7628 Reply::XinputXIQueryVersion(reply)
7629 }
7630}
7631#[cfg(feature = "xinput")]
7632impl From<xinput::XIQueryDeviceReply> for Reply {
7633 fn from(reply: xinput::XIQueryDeviceReply) -> Reply {
7634 Reply::XinputXIQueryDevice(reply)
7635 }
7636}
7637#[cfg(feature = "xinput")]
7638impl From<xinput::XIGetFocusReply> for Reply {
7639 fn from(reply: xinput::XIGetFocusReply) -> Reply {
7640 Reply::XinputXIGetFocus(reply)
7641 }
7642}
7643#[cfg(feature = "xinput")]
7644impl From<xinput::XIGrabDeviceReply> for Reply {
7645 fn from(reply: xinput::XIGrabDeviceReply) -> Reply {
7646 Reply::XinputXIGrabDevice(reply)
7647 }
7648}
7649#[cfg(feature = "xinput")]
7650impl From<xinput::XIPassiveGrabDeviceReply> for Reply {
7651 fn from(reply: xinput::XIPassiveGrabDeviceReply) -> Reply {
7652 Reply::XinputXIPassiveGrabDevice(reply)
7653 }
7654}
7655#[cfg(feature = "xinput")]
7656impl From<xinput::XIListPropertiesReply> for Reply {
7657 fn from(reply: xinput::XIListPropertiesReply) -> Reply {
7658 Reply::XinputXIListProperties(reply)
7659 }
7660}
7661#[cfg(feature = "xinput")]
7662impl From<xinput::XIGetPropertyReply> for Reply {
7663 fn from(reply: xinput::XIGetPropertyReply) -> Reply {
7664 Reply::XinputXIGetProperty(reply)
7665 }
7666}
7667#[cfg(feature = "xinput")]
7668impl From<xinput::XIGetSelectedEventsReply> for Reply {
7669 fn from(reply: xinput::XIGetSelectedEventsReply) -> Reply {
7670 Reply::XinputXIGetSelectedEvents(reply)
7671 }
7672}
7673#[cfg(feature = "xkb")]
7674impl From<xkb::UseExtensionReply> for Reply {
7675 fn from(reply: xkb::UseExtensionReply) -> Reply {
7676 Reply::XkbUseExtension(reply)
7677 }
7678}
7679#[cfg(feature = "xkb")]
7680impl From<xkb::GetStateReply> for Reply {
7681 fn from(reply: xkb::GetStateReply) -> Reply {
7682 Reply::XkbGetState(reply)
7683 }
7684}
7685#[cfg(feature = "xkb")]
7686impl From<xkb::GetControlsReply> for Reply {
7687 fn from(reply: xkb::GetControlsReply) -> Reply {
7688 Reply::XkbGetControls(reply)
7689 }
7690}
7691#[cfg(feature = "xkb")]
7692impl From<xkb::GetMapReply> for Reply {
7693 fn from(reply: xkb::GetMapReply) -> Reply {
7694 Reply::XkbGetMap(reply)
7695 }
7696}
7697#[cfg(feature = "xkb")]
7698impl From<xkb::GetCompatMapReply> for Reply {
7699 fn from(reply: xkb::GetCompatMapReply) -> Reply {
7700 Reply::XkbGetCompatMap(reply)
7701 }
7702}
7703#[cfg(feature = "xkb")]
7704impl From<xkb::GetIndicatorStateReply> for Reply {
7705 fn from(reply: xkb::GetIndicatorStateReply) -> Reply {
7706 Reply::XkbGetIndicatorState(reply)
7707 }
7708}
7709#[cfg(feature = "xkb")]
7710impl From<xkb::GetIndicatorMapReply> for Reply {
7711 fn from(reply: xkb::GetIndicatorMapReply) -> Reply {
7712 Reply::XkbGetIndicatorMap(reply)
7713 }
7714}
7715#[cfg(feature = "xkb")]
7716impl From<xkb::GetNamedIndicatorReply> for Reply {
7717 fn from(reply: xkb::GetNamedIndicatorReply) -> Reply {
7718 Reply::XkbGetNamedIndicator(reply)
7719 }
7720}
7721#[cfg(feature = "xkb")]
7722impl From<xkb::GetNamesReply> for Reply {
7723 fn from(reply: xkb::GetNamesReply) -> Reply {
7724 Reply::XkbGetNames(reply)
7725 }
7726}
7727#[cfg(feature = "xkb")]
7728impl From<xkb::PerClientFlagsReply> for Reply {
7729 fn from(reply: xkb::PerClientFlagsReply) -> Reply {
7730 Reply::XkbPerClientFlags(reply)
7731 }
7732}
7733#[cfg(feature = "xkb")]
7734impl From<xkb::ListComponentsReply> for Reply {
7735 fn from(reply: xkb::ListComponentsReply) -> Reply {
7736 Reply::XkbListComponents(reply)
7737 }
7738}
7739#[cfg(feature = "xkb")]
7740impl From<xkb::GetKbdByNameReply> for Reply {
7741 fn from(reply: xkb::GetKbdByNameReply) -> Reply {
7742 Reply::XkbGetKbdByName(reply)
7743 }
7744}
7745#[cfg(feature = "xkb")]
7746impl From<xkb::GetDeviceInfoReply> for Reply {
7747 fn from(reply: xkb::GetDeviceInfoReply) -> Reply {
7748 Reply::XkbGetDeviceInfo(reply)
7749 }
7750}
7751#[cfg(feature = "xkb")]
7752impl From<xkb::SetDebuggingFlagsReply> for Reply {
7753 fn from(reply: xkb::SetDebuggingFlagsReply) -> Reply {
7754 Reply::XkbSetDebuggingFlags(reply)
7755 }
7756}
7757#[cfg(feature = "xprint")]
7758impl From<xprint::PrintQueryVersionReply> for Reply {
7759 fn from(reply: xprint::PrintQueryVersionReply) -> Reply {
7760 Reply::XprintPrintQueryVersion(reply)
7761 }
7762}
7763#[cfg(feature = "xprint")]
7764impl From<xprint::PrintGetPrinterListReply> for Reply {
7765 fn from(reply: xprint::PrintGetPrinterListReply) -> Reply {
7766 Reply::XprintPrintGetPrinterList(reply)
7767 }
7768}
7769#[cfg(feature = "xprint")]
7770impl From<xprint::PrintGetContextReply> for Reply {
7771 fn from(reply: xprint::PrintGetContextReply) -> Reply {
7772 Reply::XprintPrintGetContext(reply)
7773 }
7774}
7775#[cfg(feature = "xprint")]
7776impl From<xprint::PrintGetScreenOfContextReply> for Reply {
7777 fn from(reply: xprint::PrintGetScreenOfContextReply) -> Reply {
7778 Reply::XprintPrintGetScreenOfContext(reply)
7779 }
7780}
7781#[cfg(feature = "xprint")]
7782impl From<xprint::PrintGetDocumentDataReply> for Reply {
7783 fn from(reply: xprint::PrintGetDocumentDataReply) -> Reply {
7784 Reply::XprintPrintGetDocumentData(reply)
7785 }
7786}
7787#[cfg(feature = "xprint")]
7788impl From<xprint::PrintInputSelectedReply> for Reply {
7789 fn from(reply: xprint::PrintInputSelectedReply) -> Reply {
7790 Reply::XprintPrintInputSelected(reply)
7791 }
7792}
7793#[cfg(feature = "xprint")]
7794impl From<xprint::PrintGetAttributesReply> for Reply {
7795 fn from(reply: xprint::PrintGetAttributesReply) -> Reply {
7796 Reply::XprintPrintGetAttributes(reply)
7797 }
7798}
7799#[cfg(feature = "xprint")]
7800impl From<xprint::PrintGetOneAttributesReply> for Reply {
7801 fn from(reply: xprint::PrintGetOneAttributesReply) -> Reply {
7802 Reply::XprintPrintGetOneAttributes(reply)
7803 }
7804}
7805#[cfg(feature = "xprint")]
7806impl From<xprint::PrintGetPageDimensionsReply> for Reply {
7807 fn from(reply: xprint::PrintGetPageDimensionsReply) -> Reply {
7808 Reply::XprintPrintGetPageDimensions(reply)
7809 }
7810}
7811#[cfg(feature = "xprint")]
7812impl From<xprint::PrintQueryScreensReply> for Reply {
7813 fn from(reply: xprint::PrintQueryScreensReply) -> Reply {
7814 Reply::XprintPrintQueryScreens(reply)
7815 }
7816}
7817#[cfg(feature = "xprint")]
7818impl From<xprint::PrintSetImageResolutionReply> for Reply {
7819 fn from(reply: xprint::PrintSetImageResolutionReply) -> Reply {
7820 Reply::XprintPrintSetImageResolution(reply)
7821 }
7822}
7823#[cfg(feature = "xprint")]
7824impl From<xprint::PrintGetImageResolutionReply> for Reply {
7825 fn from(reply: xprint::PrintGetImageResolutionReply) -> Reply {
7826 Reply::XprintPrintGetImageResolution(reply)
7827 }
7828}
7829#[cfg(feature = "xselinux")]
7830impl From<xselinux::QueryVersionReply> for Reply {
7831 fn from(reply: xselinux::QueryVersionReply) -> Reply {
7832 Reply::XselinuxQueryVersion(reply)
7833 }
7834}
7835#[cfg(feature = "xselinux")]
7836impl From<xselinux::GetDeviceCreateContextReply> for Reply {
7837 fn from(reply: xselinux::GetDeviceCreateContextReply) -> Reply {
7838 Reply::XselinuxGetDeviceCreateContext(reply)
7839 }
7840}
7841#[cfg(feature = "xselinux")]
7842impl From<xselinux::GetDeviceContextReply> for Reply {
7843 fn from(reply: xselinux::GetDeviceContextReply) -> Reply {
7844 Reply::XselinuxGetDeviceContext(reply)
7845 }
7846}
7847#[cfg(feature = "xselinux")]
7848impl From<xselinux::GetWindowCreateContextReply> for Reply {
7849 fn from(reply: xselinux::GetWindowCreateContextReply) -> Reply {
7850 Reply::XselinuxGetWindowCreateContext(reply)
7851 }
7852}
7853#[cfg(feature = "xselinux")]
7854impl From<xselinux::GetWindowContextReply> for Reply {
7855 fn from(reply: xselinux::GetWindowContextReply) -> Reply {
7856 Reply::XselinuxGetWindowContext(reply)
7857 }
7858}
7859#[cfg(feature = "xselinux")]
7860impl From<xselinux::GetPropertyCreateContextReply> for Reply {
7861 fn from(reply: xselinux::GetPropertyCreateContextReply) -> Reply {
7862 Reply::XselinuxGetPropertyCreateContext(reply)
7863 }
7864}
7865#[cfg(feature = "xselinux")]
7866impl From<xselinux::GetPropertyUseContextReply> for Reply {
7867 fn from(reply: xselinux::GetPropertyUseContextReply) -> Reply {
7868 Reply::XselinuxGetPropertyUseContext(reply)
7869 }
7870}
7871#[cfg(feature = "xselinux")]
7872impl From<xselinux::GetPropertyContextReply> for Reply {
7873 fn from(reply: xselinux::GetPropertyContextReply) -> Reply {
7874 Reply::XselinuxGetPropertyContext(reply)
7875 }
7876}
7877#[cfg(feature = "xselinux")]
7878impl From<xselinux::GetPropertyDataContextReply> for Reply {
7879 fn from(reply: xselinux::GetPropertyDataContextReply) -> Reply {
7880 Reply::XselinuxGetPropertyDataContext(reply)
7881 }
7882}
7883#[cfg(feature = "xselinux")]
7884impl From<xselinux::ListPropertiesReply> for Reply {
7885 fn from(reply: xselinux::ListPropertiesReply) -> Reply {
7886 Reply::XselinuxListProperties(reply)
7887 }
7888}
7889#[cfg(feature = "xselinux")]
7890impl From<xselinux::GetSelectionCreateContextReply> for Reply {
7891 fn from(reply: xselinux::GetSelectionCreateContextReply) -> Reply {
7892 Reply::XselinuxGetSelectionCreateContext(reply)
7893 }
7894}
7895#[cfg(feature = "xselinux")]
7896impl From<xselinux::GetSelectionUseContextReply> for Reply {
7897 fn from(reply: xselinux::GetSelectionUseContextReply) -> Reply {
7898 Reply::XselinuxGetSelectionUseContext(reply)
7899 }
7900}
7901#[cfg(feature = "xselinux")]
7902impl From<xselinux::GetSelectionContextReply> for Reply {
7903 fn from(reply: xselinux::GetSelectionContextReply) -> Reply {
7904 Reply::XselinuxGetSelectionContext(reply)
7905 }
7906}
7907#[cfg(feature = "xselinux")]
7908impl From<xselinux::GetSelectionDataContextReply> for Reply {
7909 fn from(reply: xselinux::GetSelectionDataContextReply) -> Reply {
7910 Reply::XselinuxGetSelectionDataContext(reply)
7911 }
7912}
7913#[cfg(feature = "xselinux")]
7914impl From<xselinux::ListSelectionsReply> for Reply {
7915 fn from(reply: xselinux::ListSelectionsReply) -> Reply {
7916 Reply::XselinuxListSelections(reply)
7917 }
7918}
7919#[cfg(feature = "xselinux")]
7920impl From<xselinux::GetClientContextReply> for Reply {
7921 fn from(reply: xselinux::GetClientContextReply) -> Reply {
7922 Reply::XselinuxGetClientContext(reply)
7923 }
7924}
7925#[cfg(feature = "xtest")]
7926impl From<xtest::GetVersionReply> for Reply {
7927 fn from(reply: xtest::GetVersionReply) -> Reply {
7928 Reply::XtestGetVersion(reply)
7929 }
7930}
7931#[cfg(feature = "xtest")]
7932impl From<xtest::CompareCursorReply> for Reply {
7933 fn from(reply: xtest::CompareCursorReply) -> Reply {
7934 Reply::XtestCompareCursor(reply)
7935 }
7936}
7937#[cfg(feature = "xv")]
7938impl From<xv::QueryExtensionReply> for Reply {
7939 fn from(reply: xv::QueryExtensionReply) -> Reply {
7940 Reply::XvQueryExtension(reply)
7941 }
7942}
7943#[cfg(feature = "xv")]
7944impl From<xv::QueryAdaptorsReply> for Reply {
7945 fn from(reply: xv::QueryAdaptorsReply) -> Reply {
7946 Reply::XvQueryAdaptors(reply)
7947 }
7948}
7949#[cfg(feature = "xv")]
7950impl From<xv::QueryEncodingsReply> for Reply {
7951 fn from(reply: xv::QueryEncodingsReply) -> Reply {
7952 Reply::XvQueryEncodings(reply)
7953 }
7954}
7955#[cfg(feature = "xv")]
7956impl From<xv::GrabPortReply> for Reply {
7957 fn from(reply: xv::GrabPortReply) -> Reply {
7958 Reply::XvGrabPort(reply)
7959 }
7960}
7961#[cfg(feature = "xv")]
7962impl From<xv::QueryBestSizeReply> for Reply {
7963 fn from(reply: xv::QueryBestSizeReply) -> Reply {
7964 Reply::XvQueryBestSize(reply)
7965 }
7966}
7967#[cfg(feature = "xv")]
7968impl From<xv::GetPortAttributeReply> for Reply {
7969 fn from(reply: xv::GetPortAttributeReply) -> Reply {
7970 Reply::XvGetPortAttribute(reply)
7971 }
7972}
7973#[cfg(feature = "xv")]
7974impl From<xv::QueryPortAttributesReply> for Reply {
7975 fn from(reply: xv::QueryPortAttributesReply) -> Reply {
7976 Reply::XvQueryPortAttributes(reply)
7977 }
7978}
7979#[cfg(feature = "xv")]
7980impl From<xv::ListImageFormatsReply> for Reply {
7981 fn from(reply: xv::ListImageFormatsReply) -> Reply {
7982 Reply::XvListImageFormats(reply)
7983 }
7984}
7985#[cfg(feature = "xv")]
7986impl From<xv::QueryImageAttributesReply> for Reply {
7987 fn from(reply: xv::QueryImageAttributesReply) -> Reply {
7988 Reply::XvQueryImageAttributes(reply)
7989 }
7990}
7991#[cfg(feature = "xvmc")]
7992impl From<xvmc::QueryVersionReply> for Reply {
7993 fn from(reply: xvmc::QueryVersionReply) -> Reply {
7994 Reply::XvmcQueryVersion(reply)
7995 }
7996}
7997#[cfg(feature = "xvmc")]
7998impl From<xvmc::ListSurfaceTypesReply> for Reply {
7999 fn from(reply: xvmc::ListSurfaceTypesReply) -> Reply {
8000 Reply::XvmcListSurfaceTypes(reply)
8001 }
8002}
8003#[cfg(feature = "xvmc")]
8004impl From<xvmc::CreateContextReply> for Reply {
8005 fn from(reply: xvmc::CreateContextReply) -> Reply {
8006 Reply::XvmcCreateContext(reply)
8007 }
8008}
8009#[cfg(feature = "xvmc")]
8010impl From<xvmc::CreateSurfaceReply> for Reply {
8011 fn from(reply: xvmc::CreateSurfaceReply) -> Reply {
8012 Reply::XvmcCreateSurface(reply)
8013 }
8014}
8015#[cfg(feature = "xvmc")]
8016impl From<xvmc::CreateSubpictureReply> for Reply {
8017 fn from(reply: xvmc::CreateSubpictureReply) -> Reply {
8018 Reply::XvmcCreateSubpicture(reply)
8019 }
8020}
8021#[cfg(feature = "xvmc")]
8022impl From<xvmc::ListSubpictureTypesReply> for Reply {
8023 fn from(reply: xvmc::ListSubpictureTypesReply) -> Reply {
8024 Reply::XvmcListSubpictureTypes(reply)
8025 }
8026}
8027
8028/// Get the name of a request from its extension name and opcodes.
8029///
8030/// First result is the name of the extension, second the name of the request.
8031pub(crate) fn request_name(ext_info_provider: &dyn ExtInfoProvider, major_opcode: u8, minor_opcode: u16) -> (Option<String>, Option<&'static str>) {
8032 // Don't ask me why X11 errors contain u16 for minor opcode, but requests are sent with u8.
8033 // We have to work around that incompatibility here.
8034 // From the X11 protocol reference manual:
8035 // Major opcodes 128 through 255 are reserved for extensions.
8036 let (ext: Option<&str>, info: RequestInfo) = if major_opcode < 128 || minor_opcode <= u16::from(u8::MAX) {
8037 get_request_name_internal(ext_info_provider, major_opcode, minor_opcode as u8)
8038 } else {
8039 let ext: Option<(&str, ExtensionInformation)> = ext_info_provider.get_from_major_opcode(major_opcode);
8040 return (ext.map(|(ext: &str, _)| String::from(ext)), None);
8041 };
8042 let ext: Option = ext.map(String::from);
8043 let info: Option<&str> = match info {
8044 RequestInfo::Xproto(request: &str) => request.into(),
8045 RequestInfo::KnownExt(ext_and_request: &str) => ext_and_request.split_once(delimiter:"::").map(|r: (&str, &str)| r.1),
8046 RequestInfo::UnknownRequest(_, _) => None,
8047 RequestInfo::UnknownExtension(_, _) => None,
8048 };
8049 (ext, info)
8050}
8051
8052/// Enumeration of all possible X11 error kinds.
8053#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
8054#[non_exhaustive]
8055pub enum ErrorKind {
8056 Unknown(u8),
8057 Access,
8058 Alloc,
8059 Atom,
8060 Colormap,
8061 Cursor,
8062 Drawable,
8063 Font,
8064 GContext,
8065 IDChoice,
8066 Implementation,
8067 Length,
8068 Match,
8069 Name,
8070 Pixmap,
8071 Request,
8072 Value,
8073 Window,
8074 #[cfg(feature = "damage")]
8075 DamageBadDamage,
8076 #[cfg(feature = "dbe")]
8077 DbeBadBuffer,
8078 #[cfg(feature = "glx")]
8079 GlxBadContext,
8080 #[cfg(feature = "glx")]
8081 GlxBadContextState,
8082 #[cfg(feature = "glx")]
8083 GlxBadContextTag,
8084 #[cfg(feature = "glx")]
8085 GlxBadCurrentDrawable,
8086 #[cfg(feature = "glx")]
8087 GlxBadCurrentWindow,
8088 #[cfg(feature = "glx")]
8089 GlxBadDrawable,
8090 #[cfg(feature = "glx")]
8091 GlxBadFBConfig,
8092 #[cfg(feature = "glx")]
8093 GlxBadLargeRequest,
8094 #[cfg(feature = "glx")]
8095 GlxBadPbuffer,
8096 #[cfg(feature = "glx")]
8097 GlxBadPixmap,
8098 #[cfg(feature = "glx")]
8099 GlxBadRenderRequest,
8100 #[cfg(feature = "glx")]
8101 GlxBadWindow,
8102 #[cfg(feature = "glx")]
8103 GlxGLXBadProfileARB,
8104 #[cfg(feature = "glx")]
8105 GlxUnsupportedPrivateRequest,
8106 #[cfg(feature = "randr")]
8107 RandrBadCrtc,
8108 #[cfg(feature = "randr")]
8109 RandrBadMode,
8110 #[cfg(feature = "randr")]
8111 RandrBadOutput,
8112 #[cfg(feature = "randr")]
8113 RandrBadProvider,
8114 #[cfg(feature = "record")]
8115 RecordBadContext,
8116 #[cfg(feature = "render")]
8117 RenderGlyph,
8118 #[cfg(feature = "render")]
8119 RenderGlyphSet,
8120 #[cfg(feature = "render")]
8121 RenderPictFormat,
8122 #[cfg(feature = "render")]
8123 RenderPictOp,
8124 #[cfg(feature = "render")]
8125 RenderPicture,
8126 #[cfg(feature = "shm")]
8127 ShmBadSeg,
8128 #[cfg(feature = "sync")]
8129 SyncAlarm,
8130 #[cfg(feature = "sync")]
8131 SyncCounter,
8132 #[cfg(feature = "xf86vidmode")]
8133 Xf86vidmodeBadClock,
8134 #[cfg(feature = "xf86vidmode")]
8135 Xf86vidmodeBadHTimings,
8136 #[cfg(feature = "xf86vidmode")]
8137 Xf86vidmodeBadVTimings,
8138 #[cfg(feature = "xf86vidmode")]
8139 Xf86vidmodeClientNotLocal,
8140 #[cfg(feature = "xf86vidmode")]
8141 Xf86vidmodeExtensionDisabled,
8142 #[cfg(feature = "xf86vidmode")]
8143 Xf86vidmodeModeUnsuitable,
8144 #[cfg(feature = "xf86vidmode")]
8145 Xf86vidmodeZoomLocked,
8146 #[cfg(feature = "xfixes")]
8147 XfixesBadRegion,
8148 #[cfg(feature = "xinput")]
8149 XinputClass,
8150 #[cfg(feature = "xinput")]
8151 XinputDevice,
8152 #[cfg(feature = "xinput")]
8153 XinputDeviceBusy,
8154 #[cfg(feature = "xinput")]
8155 XinputEvent,
8156 #[cfg(feature = "xinput")]
8157 XinputMode,
8158 #[cfg(feature = "xkb")]
8159 XkbKeyboard,
8160 #[cfg(feature = "xprint")]
8161 XprintBadContext,
8162 #[cfg(feature = "xprint")]
8163 XprintBadSequence,
8164 #[cfg(feature = "xv")]
8165 XvBadControl,
8166 #[cfg(feature = "xv")]
8167 XvBadEncoding,
8168 #[cfg(feature = "xv")]
8169 XvBadPort,
8170}
8171
8172impl ErrorKind {
8173 #[allow(clippy::match_single_binding)]
8174 pub fn from_wire_error_code(
8175 error_code: u8,
8176 ext_info_provider: &dyn ExtInfoProvider,
8177 ) -> Self {
8178 // Check if this is a core protocol error
8179 match error_code {
8180 xproto::ACCESS_ERROR => return Self::Access,
8181 xproto::ALLOC_ERROR => return Self::Alloc,
8182 xproto::ATOM_ERROR => return Self::Atom,
8183 xproto::COLORMAP_ERROR => return Self::Colormap,
8184 xproto::CURSOR_ERROR => return Self::Cursor,
8185 xproto::DRAWABLE_ERROR => return Self::Drawable,
8186 xproto::FONT_ERROR => return Self::Font,
8187 xproto::G_CONTEXT_ERROR => return Self::GContext,
8188 xproto::ID_CHOICE_ERROR => return Self::IDChoice,
8189 xproto::IMPLEMENTATION_ERROR => return Self::Implementation,
8190 xproto::LENGTH_ERROR => return Self::Length,
8191 xproto::MATCH_ERROR => return Self::Match,
8192 xproto::NAME_ERROR => return Self::Name,
8193 xproto::PIXMAP_ERROR => return Self::Pixmap,
8194 xproto::REQUEST_ERROR => return Self::Request,
8195 xproto::VALUE_ERROR => return Self::Value,
8196 xproto::WINDOW_ERROR => return Self::Window,
8197 _ => {}
8198 }
8199
8200 // Find the extension that this error could belong to
8201 let ext_info = ext_info_provider.get_from_error_code(error_code);
8202 match ext_info {
8203 #[cfg(feature = "damage")]
8204 Some((damage::X11_EXTENSION_NAME, ext_info)) => {
8205 match error_code - ext_info.first_error {
8206 damage::BAD_DAMAGE_ERROR => Self::DamageBadDamage,
8207 _ => Self::Unknown(error_code),
8208 }
8209 }
8210 #[cfg(feature = "dbe")]
8211 Some((dbe::X11_EXTENSION_NAME, ext_info)) => {
8212 match error_code - ext_info.first_error {
8213 dbe::BAD_BUFFER_ERROR => Self::DbeBadBuffer,
8214 _ => Self::Unknown(error_code),
8215 }
8216 }
8217 #[cfg(feature = "glx")]
8218 Some((glx::X11_EXTENSION_NAME, ext_info)) => {
8219 match error_code - ext_info.first_error {
8220 glx::BAD_CONTEXT_ERROR => Self::GlxBadContext,
8221 glx::BAD_CONTEXT_STATE_ERROR => Self::GlxBadContextState,
8222 glx::BAD_CONTEXT_TAG_ERROR => Self::GlxBadContextTag,
8223 glx::BAD_CURRENT_DRAWABLE_ERROR => Self::GlxBadCurrentDrawable,
8224 glx::BAD_CURRENT_WINDOW_ERROR => Self::GlxBadCurrentWindow,
8225 glx::BAD_DRAWABLE_ERROR => Self::GlxBadDrawable,
8226 glx::BAD_FB_CONFIG_ERROR => Self::GlxBadFBConfig,
8227 glx::BAD_LARGE_REQUEST_ERROR => Self::GlxBadLargeRequest,
8228 glx::BAD_PBUFFER_ERROR => Self::GlxBadPbuffer,
8229 glx::BAD_PIXMAP_ERROR => Self::GlxBadPixmap,
8230 glx::BAD_RENDER_REQUEST_ERROR => Self::GlxBadRenderRequest,
8231 glx::BAD_WINDOW_ERROR => Self::GlxBadWindow,
8232 glx::GLX_BAD_PROFILE_ARB_ERROR => Self::GlxGLXBadProfileARB,
8233 glx::UNSUPPORTED_PRIVATE_REQUEST_ERROR => Self::GlxUnsupportedPrivateRequest,
8234 _ => Self::Unknown(error_code),
8235 }
8236 }
8237 #[cfg(feature = "randr")]
8238 Some((randr::X11_EXTENSION_NAME, ext_info)) => {
8239 match error_code - ext_info.first_error {
8240 randr::BAD_CRTC_ERROR => Self::RandrBadCrtc,
8241 randr::BAD_MODE_ERROR => Self::RandrBadMode,
8242 randr::BAD_OUTPUT_ERROR => Self::RandrBadOutput,
8243 randr::BAD_PROVIDER_ERROR => Self::RandrBadProvider,
8244 _ => Self::Unknown(error_code),
8245 }
8246 }
8247 #[cfg(feature = "record")]
8248 Some((record::X11_EXTENSION_NAME, ext_info)) => {
8249 match error_code - ext_info.first_error {
8250 record::BAD_CONTEXT_ERROR => Self::RecordBadContext,
8251 _ => Self::Unknown(error_code),
8252 }
8253 }
8254 #[cfg(feature = "render")]
8255 Some((render::X11_EXTENSION_NAME, ext_info)) => {
8256 match error_code - ext_info.first_error {
8257 render::GLYPH_ERROR => Self::RenderGlyph,
8258 render::GLYPH_SET_ERROR => Self::RenderGlyphSet,
8259 render::PICT_FORMAT_ERROR => Self::RenderPictFormat,
8260 render::PICT_OP_ERROR => Self::RenderPictOp,
8261 render::PICTURE_ERROR => Self::RenderPicture,
8262 _ => Self::Unknown(error_code),
8263 }
8264 }
8265 #[cfg(feature = "shm")]
8266 Some((shm::X11_EXTENSION_NAME, ext_info)) => {
8267 match error_code - ext_info.first_error {
8268 shm::BAD_SEG_ERROR => Self::ShmBadSeg,
8269 _ => Self::Unknown(error_code),
8270 }
8271 }
8272 #[cfg(feature = "sync")]
8273 Some((sync::X11_EXTENSION_NAME, ext_info)) => {
8274 match error_code - ext_info.first_error {
8275 sync::ALARM_ERROR => Self::SyncAlarm,
8276 sync::COUNTER_ERROR => Self::SyncCounter,
8277 _ => Self::Unknown(error_code),
8278 }
8279 }
8280 #[cfg(feature = "xf86vidmode")]
8281 Some((xf86vidmode::X11_EXTENSION_NAME, ext_info)) => {
8282 match error_code - ext_info.first_error {
8283 xf86vidmode::BAD_CLOCK_ERROR => Self::Xf86vidmodeBadClock,
8284 xf86vidmode::BAD_H_TIMINGS_ERROR => Self::Xf86vidmodeBadHTimings,
8285 xf86vidmode::BAD_V_TIMINGS_ERROR => Self::Xf86vidmodeBadVTimings,
8286 xf86vidmode::CLIENT_NOT_LOCAL_ERROR => Self::Xf86vidmodeClientNotLocal,
8287 xf86vidmode::EXTENSION_DISABLED_ERROR => Self::Xf86vidmodeExtensionDisabled,
8288 xf86vidmode::MODE_UNSUITABLE_ERROR => Self::Xf86vidmodeModeUnsuitable,
8289 xf86vidmode::ZOOM_LOCKED_ERROR => Self::Xf86vidmodeZoomLocked,
8290 _ => Self::Unknown(error_code),
8291 }
8292 }
8293 #[cfg(feature = "xfixes")]
8294 Some((xfixes::X11_EXTENSION_NAME, ext_info)) => {
8295 match error_code - ext_info.first_error {
8296 xfixes::BAD_REGION_ERROR => Self::XfixesBadRegion,
8297 _ => Self::Unknown(error_code),
8298 }
8299 }
8300 #[cfg(feature = "xinput")]
8301 Some((xinput::X11_EXTENSION_NAME, ext_info)) => {
8302 match error_code - ext_info.first_error {
8303 xinput::CLASS_ERROR => Self::XinputClass,
8304 xinput::DEVICE_ERROR => Self::XinputDevice,
8305 xinput::DEVICE_BUSY_ERROR => Self::XinputDeviceBusy,
8306 xinput::EVENT_ERROR => Self::XinputEvent,
8307 xinput::MODE_ERROR => Self::XinputMode,
8308 _ => Self::Unknown(error_code),
8309 }
8310 }
8311 #[cfg(feature = "xkb")]
8312 Some((xkb::X11_EXTENSION_NAME, ext_info)) => {
8313 match error_code - ext_info.first_error {
8314 xkb::KEYBOARD_ERROR => Self::XkbKeyboard,
8315 _ => Self::Unknown(error_code),
8316 }
8317 }
8318 #[cfg(feature = "xprint")]
8319 Some((xprint::X11_EXTENSION_NAME, ext_info)) => {
8320 match error_code - ext_info.first_error {
8321 xprint::BAD_CONTEXT_ERROR => Self::XprintBadContext,
8322 xprint::BAD_SEQUENCE_ERROR => Self::XprintBadSequence,
8323 _ => Self::Unknown(error_code),
8324 }
8325 }
8326 #[cfg(feature = "xv")]
8327 Some((xv::X11_EXTENSION_NAME, ext_info)) => {
8328 match error_code - ext_info.first_error {
8329 xv::BAD_CONTROL_ERROR => Self::XvBadControl,
8330 xv::BAD_ENCODING_ERROR => Self::XvBadEncoding,
8331 xv::BAD_PORT_ERROR => Self::XvBadPort,
8332 _ => Self::Unknown(error_code),
8333 }
8334 }
8335 _ => Self::Unknown(error_code),
8336 }
8337 }
8338}
8339
8340
8341/// Enumeration of all possible X11 events.
8342#[derive(Debug, Clone)]
8343#[non_exhaustive]
8344pub enum Event {
8345 Unknown(Vec<u8>),
8346 Error(X11Error),
8347 ButtonPress(xproto::ButtonPressEvent),
8348 ButtonRelease(xproto::ButtonReleaseEvent),
8349 CirculateNotify(xproto::CirculateNotifyEvent),
8350 CirculateRequest(xproto::CirculateRequestEvent),
8351 ClientMessage(xproto::ClientMessageEvent),
8352 ColormapNotify(xproto::ColormapNotifyEvent),
8353 ConfigureNotify(xproto::ConfigureNotifyEvent),
8354 ConfigureRequest(xproto::ConfigureRequestEvent),
8355 CreateNotify(xproto::CreateNotifyEvent),
8356 DestroyNotify(xproto::DestroyNotifyEvent),
8357 EnterNotify(xproto::EnterNotifyEvent),
8358 Expose(xproto::ExposeEvent),
8359 FocusIn(xproto::FocusInEvent),
8360 FocusOut(xproto::FocusOutEvent),
8361 GeGeneric(xproto::GeGenericEvent),
8362 GraphicsExposure(xproto::GraphicsExposureEvent),
8363 GravityNotify(xproto::GravityNotifyEvent),
8364 KeyPress(xproto::KeyPressEvent),
8365 KeyRelease(xproto::KeyReleaseEvent),
8366 KeymapNotify(xproto::KeymapNotifyEvent),
8367 LeaveNotify(xproto::LeaveNotifyEvent),
8368 MapNotify(xproto::MapNotifyEvent),
8369 MapRequest(xproto::MapRequestEvent),
8370 MappingNotify(xproto::MappingNotifyEvent),
8371 MotionNotify(xproto::MotionNotifyEvent),
8372 NoExposure(xproto::NoExposureEvent),
8373 PropertyNotify(xproto::PropertyNotifyEvent),
8374 ReparentNotify(xproto::ReparentNotifyEvent),
8375 ResizeRequest(xproto::ResizeRequestEvent),
8376 SelectionClear(xproto::SelectionClearEvent),
8377 SelectionNotify(xproto::SelectionNotifyEvent),
8378 SelectionRequest(xproto::SelectionRequestEvent),
8379 UnmapNotify(xproto::UnmapNotifyEvent),
8380 VisibilityNotify(xproto::VisibilityNotifyEvent),
8381 #[cfg(feature = "damage")]
8382 DamageNotify(damage::NotifyEvent),
8383 #[cfg(feature = "dpms")]
8384 DpmsInfoNotify(dpms::InfoNotifyEvent),
8385 #[cfg(feature = "dri2")]
8386 Dri2BufferSwapComplete(dri2::BufferSwapCompleteEvent),
8387 #[cfg(feature = "dri2")]
8388 Dri2InvalidateBuffers(dri2::InvalidateBuffersEvent),
8389 #[cfg(feature = "glx")]
8390 GlxBufferSwapComplete(glx::BufferSwapCompleteEvent),
8391 #[cfg(feature = "glx")]
8392 GlxPbufferClobber(glx::PbufferClobberEvent),
8393 #[cfg(feature = "present")]
8394 PresentCompleteNotify(present::CompleteNotifyEvent),
8395 #[cfg(feature = "present")]
8396 PresentConfigureNotify(present::ConfigureNotifyEvent),
8397 #[cfg(feature = "present")]
8398 PresentGeneric(present::GenericEvent),
8399 #[cfg(feature = "present")]
8400 PresentIdleNotify(present::IdleNotifyEvent),
8401 #[cfg(feature = "present")]
8402 PresentRedirectNotify(present::RedirectNotifyEvent),
8403 #[cfg(feature = "randr")]
8404 RandrNotify(randr::NotifyEvent),
8405 #[cfg(feature = "randr")]
8406 RandrScreenChangeNotify(randr::ScreenChangeNotifyEvent),
8407 #[cfg(feature = "screensaver")]
8408 ScreensaverNotify(screensaver::NotifyEvent),
8409 #[cfg(feature = "shape")]
8410 ShapeNotify(shape::NotifyEvent),
8411 #[cfg(feature = "shm")]
8412 ShmCompletion(shm::CompletionEvent),
8413 #[cfg(feature = "sync")]
8414 SyncAlarmNotify(sync::AlarmNotifyEvent),
8415 #[cfg(feature = "sync")]
8416 SyncCounterNotify(sync::CounterNotifyEvent),
8417 #[cfg(feature = "xfixes")]
8418 XfixesCursorNotify(xfixes::CursorNotifyEvent),
8419 #[cfg(feature = "xfixes")]
8420 XfixesSelectionNotify(xfixes::SelectionNotifyEvent),
8421 #[cfg(feature = "xinput")]
8422 XinputBarrierHit(xinput::BarrierHitEvent),
8423 #[cfg(feature = "xinput")]
8424 XinputBarrierLeave(xinput::BarrierLeaveEvent),
8425 #[cfg(feature = "xinput")]
8426 XinputButtonPress(xinput::ButtonPressEvent),
8427 #[cfg(feature = "xinput")]
8428 XinputButtonRelease(xinput::ButtonReleaseEvent),
8429 #[cfg(feature = "xinput")]
8430 XinputChangeDeviceNotify(xinput::ChangeDeviceNotifyEvent),
8431 #[cfg(feature = "xinput")]
8432 XinputDeviceButtonPress(xinput::DeviceButtonPressEvent),
8433 #[cfg(feature = "xinput")]
8434 XinputDeviceButtonRelease(xinput::DeviceButtonReleaseEvent),
8435 #[cfg(feature = "xinput")]
8436 XinputDeviceButtonStateNotify(xinput::DeviceButtonStateNotifyEvent),
8437 #[cfg(feature = "xinput")]
8438 XinputDeviceChanged(xinput::DeviceChangedEvent),
8439 #[cfg(feature = "xinput")]
8440 XinputDeviceFocusIn(xinput::DeviceFocusInEvent),
8441 #[cfg(feature = "xinput")]
8442 XinputDeviceFocusOut(xinput::DeviceFocusOutEvent),
8443 #[cfg(feature = "xinput")]
8444 XinputDeviceKeyPress(xinput::DeviceKeyPressEvent),
8445 #[cfg(feature = "xinput")]
8446 XinputDeviceKeyRelease(xinput::DeviceKeyReleaseEvent),
8447 #[cfg(feature = "xinput")]
8448 XinputDeviceKeyStateNotify(xinput::DeviceKeyStateNotifyEvent),
8449 #[cfg(feature = "xinput")]
8450 XinputDeviceMappingNotify(xinput::DeviceMappingNotifyEvent),
8451 #[cfg(feature = "xinput")]
8452 XinputDeviceMotionNotify(xinput::DeviceMotionNotifyEvent),
8453 #[cfg(feature = "xinput")]
8454 XinputDevicePresenceNotify(xinput::DevicePresenceNotifyEvent),
8455 #[cfg(feature = "xinput")]
8456 XinputDevicePropertyNotify(xinput::DevicePropertyNotifyEvent),
8457 #[cfg(feature = "xinput")]
8458 XinputDeviceStateNotify(xinput::DeviceStateNotifyEvent),
8459 #[cfg(feature = "xinput")]
8460 XinputDeviceValuator(xinput::DeviceValuatorEvent),
8461 #[cfg(feature = "xinput")]
8462 XinputEnter(xinput::EnterEvent),
8463 #[cfg(feature = "xinput")]
8464 XinputFocusIn(xinput::FocusInEvent),
8465 #[cfg(feature = "xinput")]
8466 XinputFocusOut(xinput::FocusOutEvent),
8467 #[cfg(feature = "xinput")]
8468 XinputGesturePinchBegin(xinput::GesturePinchBeginEvent),
8469 #[cfg(feature = "xinput")]
8470 XinputGesturePinchEnd(xinput::GesturePinchEndEvent),
8471 #[cfg(feature = "xinput")]
8472 XinputGesturePinchUpdate(xinput::GesturePinchUpdateEvent),
8473 #[cfg(feature = "xinput")]
8474 XinputGestureSwipeBegin(xinput::GestureSwipeBeginEvent),
8475 #[cfg(feature = "xinput")]
8476 XinputGestureSwipeEnd(xinput::GestureSwipeEndEvent),
8477 #[cfg(feature = "xinput")]
8478 XinputGestureSwipeUpdate(xinput::GestureSwipeUpdateEvent),
8479 #[cfg(feature = "xinput")]
8480 XinputHierarchy(xinput::HierarchyEvent),
8481 #[cfg(feature = "xinput")]
8482 XinputKeyPress(xinput::KeyPressEvent),
8483 #[cfg(feature = "xinput")]
8484 XinputKeyRelease(xinput::KeyReleaseEvent),
8485 #[cfg(feature = "xinput")]
8486 XinputLeave(xinput::LeaveEvent),
8487 #[cfg(feature = "xinput")]
8488 XinputMotion(xinput::MotionEvent),
8489 #[cfg(feature = "xinput")]
8490 XinputProperty(xinput::PropertyEvent),
8491 #[cfg(feature = "xinput")]
8492 XinputProximityIn(xinput::ProximityInEvent),
8493 #[cfg(feature = "xinput")]
8494 XinputProximityOut(xinput::ProximityOutEvent),
8495 #[cfg(feature = "xinput")]
8496 XinputRawButtonPress(xinput::RawButtonPressEvent),
8497 #[cfg(feature = "xinput")]
8498 XinputRawButtonRelease(xinput::RawButtonReleaseEvent),
8499 #[cfg(feature = "xinput")]
8500 XinputRawKeyPress(xinput::RawKeyPressEvent),
8501 #[cfg(feature = "xinput")]
8502 XinputRawKeyRelease(xinput::RawKeyReleaseEvent),
8503 #[cfg(feature = "xinput")]
8504 XinputRawMotion(xinput::RawMotionEvent),
8505 #[cfg(feature = "xinput")]
8506 XinputRawTouchBegin(xinput::RawTouchBeginEvent),
8507 #[cfg(feature = "xinput")]
8508 XinputRawTouchEnd(xinput::RawTouchEndEvent),
8509 #[cfg(feature = "xinput")]
8510 XinputRawTouchUpdate(xinput::RawTouchUpdateEvent),
8511 #[cfg(feature = "xinput")]
8512 XinputTouchBegin(xinput::TouchBeginEvent),
8513 #[cfg(feature = "xinput")]
8514 XinputTouchEnd(xinput::TouchEndEvent),
8515 #[cfg(feature = "xinput")]
8516 XinputTouchOwnership(xinput::TouchOwnershipEvent),
8517 #[cfg(feature = "xinput")]
8518 XinputTouchUpdate(xinput::TouchUpdateEvent),
8519 #[cfg(feature = "xkb")]
8520 XkbAccessXNotify(xkb::AccessXNotifyEvent),
8521 #[cfg(feature = "xkb")]
8522 XkbActionMessage(xkb::ActionMessageEvent),
8523 #[cfg(feature = "xkb")]
8524 XkbBellNotify(xkb::BellNotifyEvent),
8525 #[cfg(feature = "xkb")]
8526 XkbCompatMapNotify(xkb::CompatMapNotifyEvent),
8527 #[cfg(feature = "xkb")]
8528 XkbControlsNotify(xkb::ControlsNotifyEvent),
8529 #[cfg(feature = "xkb")]
8530 XkbExtensionDeviceNotify(xkb::ExtensionDeviceNotifyEvent),
8531 #[cfg(feature = "xkb")]
8532 XkbIndicatorMapNotify(xkb::IndicatorMapNotifyEvent),
8533 #[cfg(feature = "xkb")]
8534 XkbIndicatorStateNotify(xkb::IndicatorStateNotifyEvent),
8535 #[cfg(feature = "xkb")]
8536 XkbMapNotify(xkb::MapNotifyEvent),
8537 #[cfg(feature = "xkb")]
8538 XkbNamesNotify(xkb::NamesNotifyEvent),
8539 #[cfg(feature = "xkb")]
8540 XkbNewKeyboardNotify(xkb::NewKeyboardNotifyEvent),
8541 #[cfg(feature = "xkb")]
8542 XkbStateNotify(xkb::StateNotifyEvent),
8543 #[cfg(feature = "xprint")]
8544 XprintAttributNotify(xprint::AttributNotifyEvent),
8545 #[cfg(feature = "xprint")]
8546 XprintNotify(xprint::NotifyEvent),
8547 #[cfg(feature = "xv")]
8548 XvPortNotify(xv::PortNotifyEvent),
8549 #[cfg(feature = "xv")]
8550 XvVideoNotify(xv::VideoNotifyEvent),
8551}
8552
8553impl Event {
8554 /// Parse a generic X11 event into a concrete event type.
8555 #[allow(clippy::cognitive_complexity, clippy::match_single_binding)]
8556 pub fn parse(
8557 event: &[u8],
8558 ext_info_provider: &dyn ExtInfoProvider,
8559 ) -> Result<Self, ParseError> {
8560 let event_code = response_type(event)?;
8561
8562 // Check if this is a core protocol event or error, or from the generic event extension
8563 match event_code {
8564 0 => return Ok(Self::Error(X11Error::try_parse(event, ext_info_provider)?)),
8565 xproto::BUTTON_PRESS_EVENT => return Ok(Self::ButtonPress(TryParse::try_parse(event)?.0)),
8566 xproto::BUTTON_RELEASE_EVENT => return Ok(Self::ButtonRelease(TryParse::try_parse(event)?.0)),
8567 xproto::CIRCULATE_NOTIFY_EVENT => return Ok(Self::CirculateNotify(TryParse::try_parse(event)?.0)),
8568 xproto::CIRCULATE_REQUEST_EVENT => return Ok(Self::CirculateRequest(TryParse::try_parse(event)?.0)),
8569 xproto::CLIENT_MESSAGE_EVENT => return Ok(Self::ClientMessage(TryParse::try_parse(event)?.0)),
8570 xproto::COLORMAP_NOTIFY_EVENT => return Ok(Self::ColormapNotify(TryParse::try_parse(event)?.0)),
8571 xproto::CONFIGURE_NOTIFY_EVENT => return Ok(Self::ConfigureNotify(TryParse::try_parse(event)?.0)),
8572 xproto::CONFIGURE_REQUEST_EVENT => return Ok(Self::ConfigureRequest(TryParse::try_parse(event)?.0)),
8573 xproto::CREATE_NOTIFY_EVENT => return Ok(Self::CreateNotify(TryParse::try_parse(event)?.0)),
8574 xproto::DESTROY_NOTIFY_EVENT => return Ok(Self::DestroyNotify(TryParse::try_parse(event)?.0)),
8575 xproto::ENTER_NOTIFY_EVENT => return Ok(Self::EnterNotify(TryParse::try_parse(event)?.0)),
8576 xproto::EXPOSE_EVENT => return Ok(Self::Expose(TryParse::try_parse(event)?.0)),
8577 xproto::FOCUS_IN_EVENT => return Ok(Self::FocusIn(TryParse::try_parse(event)?.0)),
8578 xproto::FOCUS_OUT_EVENT => return Ok(Self::FocusOut(TryParse::try_parse(event)?.0)),
8579 xproto::GRAPHICS_EXPOSURE_EVENT => return Ok(Self::GraphicsExposure(TryParse::try_parse(event)?.0)),
8580 xproto::GRAVITY_NOTIFY_EVENT => return Ok(Self::GravityNotify(TryParse::try_parse(event)?.0)),
8581 xproto::KEY_PRESS_EVENT => return Ok(Self::KeyPress(TryParse::try_parse(event)?.0)),
8582 xproto::KEY_RELEASE_EVENT => return Ok(Self::KeyRelease(TryParse::try_parse(event)?.0)),
8583 xproto::KEYMAP_NOTIFY_EVENT => return Ok(Self::KeymapNotify(TryParse::try_parse(event)?.0)),
8584 xproto::LEAVE_NOTIFY_EVENT => return Ok(Self::LeaveNotify(TryParse::try_parse(event)?.0)),
8585 xproto::MAP_NOTIFY_EVENT => return Ok(Self::MapNotify(TryParse::try_parse(event)?.0)),
8586 xproto::MAP_REQUEST_EVENT => return Ok(Self::MapRequest(TryParse::try_parse(event)?.0)),
8587 xproto::MAPPING_NOTIFY_EVENT => return Ok(Self::MappingNotify(TryParse::try_parse(event)?.0)),
8588 xproto::MOTION_NOTIFY_EVENT => return Ok(Self::MotionNotify(TryParse::try_parse(event)?.0)),
8589 xproto::NO_EXPOSURE_EVENT => return Ok(Self::NoExposure(TryParse::try_parse(event)?.0)),
8590 xproto::PROPERTY_NOTIFY_EVENT => return Ok(Self::PropertyNotify(TryParse::try_parse(event)?.0)),
8591 xproto::REPARENT_NOTIFY_EVENT => return Ok(Self::ReparentNotify(TryParse::try_parse(event)?.0)),
8592 xproto::RESIZE_REQUEST_EVENT => return Ok(Self::ResizeRequest(TryParse::try_parse(event)?.0)),
8593 xproto::SELECTION_CLEAR_EVENT => return Ok(Self::SelectionClear(TryParse::try_parse(event)?.0)),
8594 xproto::SELECTION_NOTIFY_EVENT => return Ok(Self::SelectionNotify(TryParse::try_parse(event)?.0)),
8595 xproto::SELECTION_REQUEST_EVENT => return Ok(Self::SelectionRequest(TryParse::try_parse(event)?.0)),
8596 xproto::UNMAP_NOTIFY_EVENT => return Ok(Self::UnmapNotify(TryParse::try_parse(event)?.0)),
8597 xproto::VISIBILITY_NOTIFY_EVENT => return Ok(Self::VisibilityNotify(TryParse::try_parse(event)?.0)),
8598 xproto::GE_GENERIC_EVENT => return Self::from_generic_event(event, ext_info_provider),
8599 _ => {}
8600 }
8601 // Find the extension that this event could belong to
8602 let ext_info = ext_info_provider.get_from_event_code(event_code);
8603 match ext_info {
8604 #[cfg(feature = "damage")]
8605 Some((damage::X11_EXTENSION_NAME, ext_info)) => {
8606 match event_code - ext_info.first_event {
8607 damage::NOTIFY_EVENT => Ok(Self::DamageNotify(TryParse::try_parse(event)?.0)),
8608 _ => Ok(Self::Unknown(event.to_vec())),
8609 }
8610 }
8611 #[cfg(feature = "dri2")]
8612 Some((dri2::X11_EXTENSION_NAME, ext_info)) => {
8613 match event_code - ext_info.first_event {
8614 dri2::BUFFER_SWAP_COMPLETE_EVENT => Ok(Self::Dri2BufferSwapComplete(TryParse::try_parse(event)?.0)),
8615 dri2::INVALIDATE_BUFFERS_EVENT => Ok(Self::Dri2InvalidateBuffers(TryParse::try_parse(event)?.0)),
8616 _ => Ok(Self::Unknown(event.to_vec())),
8617 }
8618 }
8619 #[cfg(feature = "glx")]
8620 Some((glx::X11_EXTENSION_NAME, ext_info)) => {
8621 match event_code - ext_info.first_event {
8622 glx::BUFFER_SWAP_COMPLETE_EVENT => Ok(Self::GlxBufferSwapComplete(TryParse::try_parse(event)?.0)),
8623 glx::PBUFFER_CLOBBER_EVENT => Ok(Self::GlxPbufferClobber(TryParse::try_parse(event)?.0)),
8624 _ => Ok(Self::Unknown(event.to_vec())),
8625 }
8626 }
8627 #[cfg(feature = "present")]
8628 Some((present::X11_EXTENSION_NAME, ext_info)) => {
8629 match event_code - ext_info.first_event {
8630 present::GENERIC_EVENT => Ok(Self::PresentGeneric(TryParse::try_parse(event)?.0)),
8631 _ => Ok(Self::Unknown(event.to_vec())),
8632 }
8633 }
8634 #[cfg(feature = "randr")]
8635 Some((randr::X11_EXTENSION_NAME, ext_info)) => {
8636 match event_code - ext_info.first_event {
8637 randr::NOTIFY_EVENT => Ok(Self::RandrNotify(TryParse::try_parse(event)?.0)),
8638 randr::SCREEN_CHANGE_NOTIFY_EVENT => Ok(Self::RandrScreenChangeNotify(TryParse::try_parse(event)?.0)),
8639 _ => Ok(Self::Unknown(event.to_vec())),
8640 }
8641 }
8642 #[cfg(feature = "screensaver")]
8643 Some((screensaver::X11_EXTENSION_NAME, ext_info)) => {
8644 match event_code - ext_info.first_event {
8645 screensaver::NOTIFY_EVENT => Ok(Self::ScreensaverNotify(TryParse::try_parse(event)?.0)),
8646 _ => Ok(Self::Unknown(event.to_vec())),
8647 }
8648 }
8649 #[cfg(feature = "shape")]
8650 Some((shape::X11_EXTENSION_NAME, ext_info)) => {
8651 match event_code - ext_info.first_event {
8652 shape::NOTIFY_EVENT => Ok(Self::ShapeNotify(TryParse::try_parse(event)?.0)),
8653 _ => Ok(Self::Unknown(event.to_vec())),
8654 }
8655 }
8656 #[cfg(feature = "shm")]
8657 Some((shm::X11_EXTENSION_NAME, ext_info)) => {
8658 match event_code - ext_info.first_event {
8659 shm::COMPLETION_EVENT => Ok(Self::ShmCompletion(TryParse::try_parse(event)?.0)),
8660 _ => Ok(Self::Unknown(event.to_vec())),
8661 }
8662 }
8663 #[cfg(feature = "sync")]
8664 Some((sync::X11_EXTENSION_NAME, ext_info)) => {
8665 match event_code - ext_info.first_event {
8666 sync::ALARM_NOTIFY_EVENT => Ok(Self::SyncAlarmNotify(TryParse::try_parse(event)?.0)),
8667 sync::COUNTER_NOTIFY_EVENT => Ok(Self::SyncCounterNotify(TryParse::try_parse(event)?.0)),
8668 _ => Ok(Self::Unknown(event.to_vec())),
8669 }
8670 }
8671 #[cfg(feature = "xfixes")]
8672 Some((xfixes::X11_EXTENSION_NAME, ext_info)) => {
8673 match event_code - ext_info.first_event {
8674 xfixes::CURSOR_NOTIFY_EVENT => Ok(Self::XfixesCursorNotify(TryParse::try_parse(event)?.0)),
8675 xfixes::SELECTION_NOTIFY_EVENT => Ok(Self::XfixesSelectionNotify(TryParse::try_parse(event)?.0)),
8676 _ => Ok(Self::Unknown(event.to_vec())),
8677 }
8678 }
8679 #[cfg(feature = "xinput")]
8680 Some((xinput::X11_EXTENSION_NAME, ext_info)) => {
8681 match event_code - ext_info.first_event {
8682 xinput::CHANGE_DEVICE_NOTIFY_EVENT => Ok(Self::XinputChangeDeviceNotify(TryParse::try_parse(event)?.0)),
8683 xinput::DEVICE_BUTTON_PRESS_EVENT => Ok(Self::XinputDeviceButtonPress(TryParse::try_parse(event)?.0)),
8684 xinput::DEVICE_BUTTON_RELEASE_EVENT => Ok(Self::XinputDeviceButtonRelease(TryParse::try_parse(event)?.0)),
8685 xinput::DEVICE_BUTTON_STATE_NOTIFY_EVENT => Ok(Self::XinputDeviceButtonStateNotify(TryParse::try_parse(event)?.0)),
8686 xinput::DEVICE_FOCUS_IN_EVENT => Ok(Self::XinputDeviceFocusIn(TryParse::try_parse(event)?.0)),
8687 xinput::DEVICE_FOCUS_OUT_EVENT => Ok(Self::XinputDeviceFocusOut(TryParse::try_parse(event)?.0)),
8688 xinput::DEVICE_KEY_PRESS_EVENT => Ok(Self::XinputDeviceKeyPress(TryParse::try_parse(event)?.0)),
8689 xinput::DEVICE_KEY_RELEASE_EVENT => Ok(Self::XinputDeviceKeyRelease(TryParse::try_parse(event)?.0)),
8690 xinput::DEVICE_KEY_STATE_NOTIFY_EVENT => Ok(Self::XinputDeviceKeyStateNotify(TryParse::try_parse(event)?.0)),
8691 xinput::DEVICE_MAPPING_NOTIFY_EVENT => Ok(Self::XinputDeviceMappingNotify(TryParse::try_parse(event)?.0)),
8692 xinput::DEVICE_MOTION_NOTIFY_EVENT => Ok(Self::XinputDeviceMotionNotify(TryParse::try_parse(event)?.0)),
8693 xinput::DEVICE_PRESENCE_NOTIFY_EVENT => Ok(Self::XinputDevicePresenceNotify(TryParse::try_parse(event)?.0)),
8694 xinput::DEVICE_PROPERTY_NOTIFY_EVENT => Ok(Self::XinputDevicePropertyNotify(TryParse::try_parse(event)?.0)),
8695 xinput::DEVICE_STATE_NOTIFY_EVENT => Ok(Self::XinputDeviceStateNotify(TryParse::try_parse(event)?.0)),
8696 xinput::DEVICE_VALUATOR_EVENT => Ok(Self::XinputDeviceValuator(TryParse::try_parse(event)?.0)),
8697 xinput::PROXIMITY_IN_EVENT => Ok(Self::XinputProximityIn(TryParse::try_parse(event)?.0)),
8698 xinput::PROXIMITY_OUT_EVENT => Ok(Self::XinputProximityOut(TryParse::try_parse(event)?.0)),
8699 _ => Ok(Self::Unknown(event.to_vec())),
8700 }
8701 }
8702 #[cfg(feature = "xkb")]
8703 Some((xkb::X11_EXTENSION_NAME, ext_info)) => {
8704 if event_code != ext_info.first_event {
8705 return Ok(Self::Unknown(event.to_vec()));
8706 }
8707 match *event.get(1).ok_or(ParseError::InsufficientData)? {
8708 xkb::ACCESS_X_NOTIFY_EVENT => Ok(Self::XkbAccessXNotify(TryParse::try_parse(event)?.0)),
8709 xkb::ACTION_MESSAGE_EVENT => Ok(Self::XkbActionMessage(TryParse::try_parse(event)?.0)),
8710 xkb::BELL_NOTIFY_EVENT => Ok(Self::XkbBellNotify(TryParse::try_parse(event)?.0)),
8711 xkb::COMPAT_MAP_NOTIFY_EVENT => Ok(Self::XkbCompatMapNotify(TryParse::try_parse(event)?.0)),
8712 xkb::CONTROLS_NOTIFY_EVENT => Ok(Self::XkbControlsNotify(TryParse::try_parse(event)?.0)),
8713 xkb::EXTENSION_DEVICE_NOTIFY_EVENT => Ok(Self::XkbExtensionDeviceNotify(TryParse::try_parse(event)?.0)),
8714 xkb::INDICATOR_MAP_NOTIFY_EVENT => Ok(Self::XkbIndicatorMapNotify(TryParse::try_parse(event)?.0)),
8715 xkb::INDICATOR_STATE_NOTIFY_EVENT => Ok(Self::XkbIndicatorStateNotify(TryParse::try_parse(event)?.0)),
8716 xkb::MAP_NOTIFY_EVENT => Ok(Self::XkbMapNotify(TryParse::try_parse(event)?.0)),
8717 xkb::NAMES_NOTIFY_EVENT => Ok(Self::XkbNamesNotify(TryParse::try_parse(event)?.0)),
8718 xkb::NEW_KEYBOARD_NOTIFY_EVENT => Ok(Self::XkbNewKeyboardNotify(TryParse::try_parse(event)?.0)),
8719 xkb::STATE_NOTIFY_EVENT => Ok(Self::XkbStateNotify(TryParse::try_parse(event)?.0)),
8720 _ => Ok(Self::Unknown(event.to_vec())),
8721 }
8722 }
8723 #[cfg(feature = "xprint")]
8724 Some((xprint::X11_EXTENSION_NAME, ext_info)) => {
8725 match event_code - ext_info.first_event {
8726 xprint::ATTRIBUT_NOTIFY_EVENT => Ok(Self::XprintAttributNotify(TryParse::try_parse(event)?.0)),
8727 xprint::NOTIFY_EVENT => Ok(Self::XprintNotify(TryParse::try_parse(event)?.0)),
8728 _ => Ok(Self::Unknown(event.to_vec())),
8729 }
8730 }
8731 #[cfg(feature = "xv")]
8732 Some((xv::X11_EXTENSION_NAME, ext_info)) => {
8733 match event_code - ext_info.first_event {
8734 xv::PORT_NOTIFY_EVENT => Ok(Self::XvPortNotify(TryParse::try_parse(event)?.0)),
8735 xv::VIDEO_NOTIFY_EVENT => Ok(Self::XvVideoNotify(TryParse::try_parse(event)?.0)),
8736 _ => Ok(Self::Unknown(event.to_vec())),
8737 }
8738 }
8739 _ => Ok(Self::Unknown(event.to_vec())),
8740 }
8741 }
8742
8743 #[allow(clippy::match_single_binding)]
8744 fn from_generic_event(
8745 event: &[u8],
8746 ext_info_provider: &dyn ExtInfoProvider,
8747 ) -> Result<Self, ParseError> {
8748 let ge_event = xproto::GeGenericEvent::try_parse(event)?.0;
8749 let ext_name = ext_info_provider
8750 .get_from_major_opcode(ge_event.extension)
8751 .map(|(name, _)| name);
8752 match ext_name {
8753 #[cfg(feature = "dpms")]
8754 Some(dpms::X11_EXTENSION_NAME) => {
8755 match ge_event.event_type {
8756 dpms::INFO_NOTIFY_EVENT => Ok(Self::DpmsInfoNotify(TryParse::try_parse(event)?.0)),
8757 _ => Ok(Self::Unknown(event.to_vec())),
8758 }
8759 }
8760 #[cfg(feature = "present")]
8761 Some(present::X11_EXTENSION_NAME) => {
8762 match ge_event.event_type {
8763 present::COMPLETE_NOTIFY_EVENT => Ok(Self::PresentCompleteNotify(TryParse::try_parse(event)?.0)),
8764 present::CONFIGURE_NOTIFY_EVENT => Ok(Self::PresentConfigureNotify(TryParse::try_parse(event)?.0)),
8765 present::IDLE_NOTIFY_EVENT => Ok(Self::PresentIdleNotify(TryParse::try_parse(event)?.0)),
8766 present::REDIRECT_NOTIFY_EVENT => Ok(Self::PresentRedirectNotify(TryParse::try_parse(event)?.0)),
8767 _ => Ok(Self::Unknown(event.to_vec())),
8768 }
8769 }
8770 #[cfg(feature = "xinput")]
8771 Some(xinput::X11_EXTENSION_NAME) => {
8772 match ge_event.event_type {
8773 xinput::BARRIER_HIT_EVENT => Ok(Self::XinputBarrierHit(TryParse::try_parse(event)?.0)),
8774 xinput::BARRIER_LEAVE_EVENT => Ok(Self::XinputBarrierLeave(TryParse::try_parse(event)?.0)),
8775 xinput::BUTTON_PRESS_EVENT => Ok(Self::XinputButtonPress(TryParse::try_parse(event)?.0)),
8776 xinput::BUTTON_RELEASE_EVENT => Ok(Self::XinputButtonRelease(TryParse::try_parse(event)?.0)),
8777 xinput::DEVICE_CHANGED_EVENT => Ok(Self::XinputDeviceChanged(TryParse::try_parse(event)?.0)),
8778 xinput::ENTER_EVENT => Ok(Self::XinputEnter(TryParse::try_parse(event)?.0)),
8779 xinput::FOCUS_IN_EVENT => Ok(Self::XinputFocusIn(TryParse::try_parse(event)?.0)),
8780 xinput::FOCUS_OUT_EVENT => Ok(Self::XinputFocusOut(TryParse::try_parse(event)?.0)),
8781 xinput::GESTURE_PINCH_BEGIN_EVENT => Ok(Self::XinputGesturePinchBegin(TryParse::try_parse(event)?.0)),
8782 xinput::GESTURE_PINCH_END_EVENT => Ok(Self::XinputGesturePinchEnd(TryParse::try_parse(event)?.0)),
8783 xinput::GESTURE_PINCH_UPDATE_EVENT => Ok(Self::XinputGesturePinchUpdate(TryParse::try_parse(event)?.0)),
8784 xinput::GESTURE_SWIPE_BEGIN_EVENT => Ok(Self::XinputGestureSwipeBegin(TryParse::try_parse(event)?.0)),
8785 xinput::GESTURE_SWIPE_END_EVENT => Ok(Self::XinputGestureSwipeEnd(TryParse::try_parse(event)?.0)),
8786 xinput::GESTURE_SWIPE_UPDATE_EVENT => Ok(Self::XinputGestureSwipeUpdate(TryParse::try_parse(event)?.0)),
8787 xinput::HIERARCHY_EVENT => Ok(Self::XinputHierarchy(TryParse::try_parse(event)?.0)),
8788 xinput::KEY_PRESS_EVENT => Ok(Self::XinputKeyPress(TryParse::try_parse(event)?.0)),
8789 xinput::KEY_RELEASE_EVENT => Ok(Self::XinputKeyRelease(TryParse::try_parse(event)?.0)),
8790 xinput::LEAVE_EVENT => Ok(Self::XinputLeave(TryParse::try_parse(event)?.0)),
8791 xinput::MOTION_EVENT => Ok(Self::XinputMotion(TryParse::try_parse(event)?.0)),
8792 xinput::PROPERTY_EVENT => Ok(Self::XinputProperty(TryParse::try_parse(event)?.0)),
8793 xinput::RAW_BUTTON_PRESS_EVENT => Ok(Self::XinputRawButtonPress(TryParse::try_parse(event)?.0)),
8794 xinput::RAW_BUTTON_RELEASE_EVENT => Ok(Self::XinputRawButtonRelease(TryParse::try_parse(event)?.0)),
8795 xinput::RAW_KEY_PRESS_EVENT => Ok(Self::XinputRawKeyPress(TryParse::try_parse(event)?.0)),
8796 xinput::RAW_KEY_RELEASE_EVENT => Ok(Self::XinputRawKeyRelease(TryParse::try_parse(event)?.0)),
8797 xinput::RAW_MOTION_EVENT => Ok(Self::XinputRawMotion(TryParse::try_parse(event)?.0)),
8798 xinput::RAW_TOUCH_BEGIN_EVENT => Ok(Self::XinputRawTouchBegin(TryParse::try_parse(event)?.0)),
8799 xinput::RAW_TOUCH_END_EVENT => Ok(Self::XinputRawTouchEnd(TryParse::try_parse(event)?.0)),
8800 xinput::RAW_TOUCH_UPDATE_EVENT => Ok(Self::XinputRawTouchUpdate(TryParse::try_parse(event)?.0)),
8801 xinput::TOUCH_BEGIN_EVENT => Ok(Self::XinputTouchBegin(TryParse::try_parse(event)?.0)),
8802 xinput::TOUCH_END_EVENT => Ok(Self::XinputTouchEnd(TryParse::try_parse(event)?.0)),
8803 xinput::TOUCH_OWNERSHIP_EVENT => Ok(Self::XinputTouchOwnership(TryParse::try_parse(event)?.0)),
8804 xinput::TOUCH_UPDATE_EVENT => Ok(Self::XinputTouchUpdate(TryParse::try_parse(event)?.0)),
8805 _ => Ok(Self::Unknown(event.to_vec())),
8806 }
8807 }
8808 _ => Ok(Self::Unknown(event.to_vec())),
8809 }
8810 }
8811
8812 /// Get the sequence number contained in this X11 event
8813 pub fn wire_sequence_number(&self) -> Option<u16> {
8814 match self {
8815 Event::Unknown(value) => sequence_number(value).ok(),
8816 Event::Error(value) => Some(value.sequence),
8817 Event::ButtonPress(value) => Some(value.sequence),
8818 Event::ButtonRelease(value) => Some(value.sequence),
8819 Event::CirculateNotify(value) => Some(value.sequence),
8820 Event::CirculateRequest(value) => Some(value.sequence),
8821 Event::ClientMessage(value) => Some(value.sequence),
8822 Event::ColormapNotify(value) => Some(value.sequence),
8823 Event::ConfigureNotify(value) => Some(value.sequence),
8824 Event::ConfigureRequest(value) => Some(value.sequence),
8825 Event::CreateNotify(value) => Some(value.sequence),
8826 Event::DestroyNotify(value) => Some(value.sequence),
8827 Event::EnterNotify(value) => Some(value.sequence),
8828 Event::Expose(value) => Some(value.sequence),
8829 Event::FocusIn(value) => Some(value.sequence),
8830 Event::FocusOut(value) => Some(value.sequence),
8831 Event::GeGeneric(value) => Some(value.sequence),
8832 Event::GraphicsExposure(value) => Some(value.sequence),
8833 Event::GravityNotify(value) => Some(value.sequence),
8834 Event::KeyPress(value) => Some(value.sequence),
8835 Event::KeyRelease(value) => Some(value.sequence),
8836 Event::KeymapNotify(_) => None,
8837 Event::LeaveNotify(value) => Some(value.sequence),
8838 Event::MapNotify(value) => Some(value.sequence),
8839 Event::MapRequest(value) => Some(value.sequence),
8840 Event::MappingNotify(value) => Some(value.sequence),
8841 Event::MotionNotify(value) => Some(value.sequence),
8842 Event::NoExposure(value) => Some(value.sequence),
8843 Event::PropertyNotify(value) => Some(value.sequence),
8844 Event::ReparentNotify(value) => Some(value.sequence),
8845 Event::ResizeRequest(value) => Some(value.sequence),
8846 Event::SelectionClear(value) => Some(value.sequence),
8847 Event::SelectionNotify(value) => Some(value.sequence),
8848 Event::SelectionRequest(value) => Some(value.sequence),
8849 Event::UnmapNotify(value) => Some(value.sequence),
8850 Event::VisibilityNotify(value) => Some(value.sequence),
8851 #[cfg(feature = "damage")]
8852 Event::DamageNotify(value) => Some(value.sequence),
8853 #[cfg(feature = "dpms")]
8854 Event::DpmsInfoNotify(value) => Some(value.sequence),
8855 #[cfg(feature = "dri2")]
8856 Event::Dri2BufferSwapComplete(value) => Some(value.sequence),
8857 #[cfg(feature = "dri2")]
8858 Event::Dri2InvalidateBuffers(value) => Some(value.sequence),
8859 #[cfg(feature = "glx")]
8860 Event::GlxBufferSwapComplete(value) => Some(value.sequence),
8861 #[cfg(feature = "glx")]
8862 Event::GlxPbufferClobber(value) => Some(value.sequence),
8863 #[cfg(feature = "present")]
8864 Event::PresentCompleteNotify(value) => Some(value.sequence),
8865 #[cfg(feature = "present")]
8866 Event::PresentConfigureNotify(value) => Some(value.sequence),
8867 #[cfg(feature = "present")]
8868 Event::PresentGeneric(value) => Some(value.sequence),
8869 #[cfg(feature = "present")]
8870 Event::PresentIdleNotify(value) => Some(value.sequence),
8871 #[cfg(feature = "present")]
8872 Event::PresentRedirectNotify(value) => Some(value.sequence),
8873 #[cfg(feature = "randr")]
8874 Event::RandrNotify(value) => Some(value.sequence),
8875 #[cfg(feature = "randr")]
8876 Event::RandrScreenChangeNotify(value) => Some(value.sequence),
8877 #[cfg(feature = "screensaver")]
8878 Event::ScreensaverNotify(value) => Some(value.sequence),
8879 #[cfg(feature = "shape")]
8880 Event::ShapeNotify(value) => Some(value.sequence),
8881 #[cfg(feature = "shm")]
8882 Event::ShmCompletion(value) => Some(value.sequence),
8883 #[cfg(feature = "sync")]
8884 Event::SyncAlarmNotify(value) => Some(value.sequence),
8885 #[cfg(feature = "sync")]
8886 Event::SyncCounterNotify(value) => Some(value.sequence),
8887 #[cfg(feature = "xfixes")]
8888 Event::XfixesCursorNotify(value) => Some(value.sequence),
8889 #[cfg(feature = "xfixes")]
8890 Event::XfixesSelectionNotify(value) => Some(value.sequence),
8891 #[cfg(feature = "xinput")]
8892 Event::XinputBarrierHit(value) => Some(value.sequence),
8893 #[cfg(feature = "xinput")]
8894 Event::XinputBarrierLeave(value) => Some(value.sequence),
8895 #[cfg(feature = "xinput")]
8896 Event::XinputButtonPress(value) => Some(value.sequence),
8897 #[cfg(feature = "xinput")]
8898 Event::XinputButtonRelease(value) => Some(value.sequence),
8899 #[cfg(feature = "xinput")]
8900 Event::XinputChangeDeviceNotify(value) => Some(value.sequence),
8901 #[cfg(feature = "xinput")]
8902 Event::XinputDeviceButtonPress(value) => Some(value.sequence),
8903 #[cfg(feature = "xinput")]
8904 Event::XinputDeviceButtonRelease(value) => Some(value.sequence),
8905 #[cfg(feature = "xinput")]
8906 Event::XinputDeviceButtonStateNotify(value) => Some(value.sequence),
8907 #[cfg(feature = "xinput")]
8908 Event::XinputDeviceChanged(value) => Some(value.sequence),
8909 #[cfg(feature = "xinput")]
8910 Event::XinputDeviceFocusIn(value) => Some(value.sequence),
8911 #[cfg(feature = "xinput")]
8912 Event::XinputDeviceFocusOut(value) => Some(value.sequence),
8913 #[cfg(feature = "xinput")]
8914 Event::XinputDeviceKeyPress(value) => Some(value.sequence),
8915 #[cfg(feature = "xinput")]
8916 Event::XinputDeviceKeyRelease(value) => Some(value.sequence),
8917 #[cfg(feature = "xinput")]
8918 Event::XinputDeviceKeyStateNotify(value) => Some(value.sequence),
8919 #[cfg(feature = "xinput")]
8920 Event::XinputDeviceMappingNotify(value) => Some(value.sequence),
8921 #[cfg(feature = "xinput")]
8922 Event::XinputDeviceMotionNotify(value) => Some(value.sequence),
8923 #[cfg(feature = "xinput")]
8924 Event::XinputDevicePresenceNotify(value) => Some(value.sequence),
8925 #[cfg(feature = "xinput")]
8926 Event::XinputDevicePropertyNotify(value) => Some(value.sequence),
8927 #[cfg(feature = "xinput")]
8928 Event::XinputDeviceStateNotify(value) => Some(value.sequence),
8929 #[cfg(feature = "xinput")]
8930 Event::XinputDeviceValuator(value) => Some(value.sequence),
8931 #[cfg(feature = "xinput")]
8932 Event::XinputEnter(value) => Some(value.sequence),
8933 #[cfg(feature = "xinput")]
8934 Event::XinputFocusIn(value) => Some(value.sequence),
8935 #[cfg(feature = "xinput")]
8936 Event::XinputFocusOut(value) => Some(value.sequence),
8937 #[cfg(feature = "xinput")]
8938 Event::XinputGesturePinchBegin(value) => Some(value.sequence),
8939 #[cfg(feature = "xinput")]
8940 Event::XinputGesturePinchEnd(value) => Some(value.sequence),
8941 #[cfg(feature = "xinput")]
8942 Event::XinputGesturePinchUpdate(value) => Some(value.sequence),
8943 #[cfg(feature = "xinput")]
8944 Event::XinputGestureSwipeBegin(value) => Some(value.sequence),
8945 #[cfg(feature = "xinput")]
8946 Event::XinputGestureSwipeEnd(value) => Some(value.sequence),
8947 #[cfg(feature = "xinput")]
8948 Event::XinputGestureSwipeUpdate(value) => Some(value.sequence),
8949 #[cfg(feature = "xinput")]
8950 Event::XinputHierarchy(value) => Some(value.sequence),
8951 #[cfg(feature = "xinput")]
8952 Event::XinputKeyPress(value) => Some(value.sequence),
8953 #[cfg(feature = "xinput")]
8954 Event::XinputKeyRelease(value) => Some(value.sequence),
8955 #[cfg(feature = "xinput")]
8956 Event::XinputLeave(value) => Some(value.sequence),
8957 #[cfg(feature = "xinput")]
8958 Event::XinputMotion(value) => Some(value.sequence),
8959 #[cfg(feature = "xinput")]
8960 Event::XinputProperty(value) => Some(value.sequence),
8961 #[cfg(feature = "xinput")]
8962 Event::XinputProximityIn(value) => Some(value.sequence),
8963 #[cfg(feature = "xinput")]
8964 Event::XinputProximityOut(value) => Some(value.sequence),
8965 #[cfg(feature = "xinput")]
8966 Event::XinputRawButtonPress(value) => Some(value.sequence),
8967 #[cfg(feature = "xinput")]
8968 Event::XinputRawButtonRelease(value) => Some(value.sequence),
8969 #[cfg(feature = "xinput")]
8970 Event::XinputRawKeyPress(value) => Some(value.sequence),
8971 #[cfg(feature = "xinput")]
8972 Event::XinputRawKeyRelease(value) => Some(value.sequence),
8973 #[cfg(feature = "xinput")]
8974 Event::XinputRawMotion(value) => Some(value.sequence),
8975 #[cfg(feature = "xinput")]
8976 Event::XinputRawTouchBegin(value) => Some(value.sequence),
8977 #[cfg(feature = "xinput")]
8978 Event::XinputRawTouchEnd(value) => Some(value.sequence),
8979 #[cfg(feature = "xinput")]
8980 Event::XinputRawTouchUpdate(value) => Some(value.sequence),
8981 #[cfg(feature = "xinput")]
8982 Event::XinputTouchBegin(value) => Some(value.sequence),
8983 #[cfg(feature = "xinput")]
8984 Event::XinputTouchEnd(value) => Some(value.sequence),
8985 #[cfg(feature = "xinput")]
8986 Event::XinputTouchOwnership(value) => Some(value.sequence),
8987 #[cfg(feature = "xinput")]
8988 Event::XinputTouchUpdate(value) => Some(value.sequence),
8989 #[cfg(feature = "xkb")]
8990 Event::XkbAccessXNotify(value) => Some(value.sequence),
8991 #[cfg(feature = "xkb")]
8992 Event::XkbActionMessage(value) => Some(value.sequence),
8993 #[cfg(feature = "xkb")]
8994 Event::XkbBellNotify(value) => Some(value.sequence),
8995 #[cfg(feature = "xkb")]
8996 Event::XkbCompatMapNotify(value) => Some(value.sequence),
8997 #[cfg(feature = "xkb")]
8998 Event::XkbControlsNotify(value) => Some(value.sequence),
8999 #[cfg(feature = "xkb")]
9000 Event::XkbExtensionDeviceNotify(value) => Some(value.sequence),
9001 #[cfg(feature = "xkb")]
9002 Event::XkbIndicatorMapNotify(value) => Some(value.sequence),
9003 #[cfg(feature = "xkb")]
9004 Event::XkbIndicatorStateNotify(value) => Some(value.sequence),
9005 #[cfg(feature = "xkb")]
9006 Event::XkbMapNotify(value) => Some(value.sequence),
9007 #[cfg(feature = "xkb")]
9008 Event::XkbNamesNotify(value) => Some(value.sequence),
9009 #[cfg(feature = "xkb")]
9010 Event::XkbNewKeyboardNotify(value) => Some(value.sequence),
9011 #[cfg(feature = "xkb")]
9012 Event::XkbStateNotify(value) => Some(value.sequence),
9013 #[cfg(feature = "xprint")]
9014 Event::XprintAttributNotify(value) => Some(value.sequence),
9015 #[cfg(feature = "xprint")]
9016 Event::XprintNotify(value) => Some(value.sequence),
9017 #[cfg(feature = "xv")]
9018 Event::XvPortNotify(value) => Some(value.sequence),
9019 #[cfg(feature = "xv")]
9020 Event::XvVideoNotify(value) => Some(value.sequence),
9021 }
9022 }
9023
9024 /// Get the raw response type of this X11 event
9025 ///
9026 /// Response types have seven bits in X11. The eight bit indicates whether
9027 /// the packet was generated through the `SendEvent` request. This function
9028 /// returns all eight bits.
9029 ///
9030 /// See also the `response_type()`, `server_generated()` and `sent_event()` methods.
9031 pub fn raw_response_type(&self) -> u8 {
9032 match self {
9033 Event::Unknown(value) => response_type(value).unwrap(),
9034 Event::Error(_) => 0,
9035 Event::ButtonPress(value) => value.response_type,
9036 Event::ButtonRelease(value) => value.response_type,
9037 Event::CirculateNotify(value) => value.response_type,
9038 Event::CirculateRequest(value) => value.response_type,
9039 Event::ClientMessage(value) => value.response_type,
9040 Event::ColormapNotify(value) => value.response_type,
9041 Event::ConfigureNotify(value) => value.response_type,
9042 Event::ConfigureRequest(value) => value.response_type,
9043 Event::CreateNotify(value) => value.response_type,
9044 Event::DestroyNotify(value) => value.response_type,
9045 Event::EnterNotify(value) => value.response_type,
9046 Event::Expose(value) => value.response_type,
9047 Event::FocusIn(value) => value.response_type,
9048 Event::FocusOut(value) => value.response_type,
9049 Event::GeGeneric(value) => value.response_type,
9050 Event::GraphicsExposure(value) => value.response_type,
9051 Event::GravityNotify(value) => value.response_type,
9052 Event::KeyPress(value) => value.response_type,
9053 Event::KeyRelease(value) => value.response_type,
9054 Event::KeymapNotify(value) => value.response_type,
9055 Event::LeaveNotify(value) => value.response_type,
9056 Event::MapNotify(value) => value.response_type,
9057 Event::MapRequest(value) => value.response_type,
9058 Event::MappingNotify(value) => value.response_type,
9059 Event::MotionNotify(value) => value.response_type,
9060 Event::NoExposure(value) => value.response_type,
9061 Event::PropertyNotify(value) => value.response_type,
9062 Event::ReparentNotify(value) => value.response_type,
9063 Event::ResizeRequest(value) => value.response_type,
9064 Event::SelectionClear(value) => value.response_type,
9065 Event::SelectionNotify(value) => value.response_type,
9066 Event::SelectionRequest(value) => value.response_type,
9067 Event::UnmapNotify(value) => value.response_type,
9068 Event::VisibilityNotify(value) => value.response_type,
9069 #[cfg(feature = "damage")]
9070 Event::DamageNotify(value) => value.response_type,
9071 #[cfg(feature = "dpms")]
9072 Event::DpmsInfoNotify(value) => value.response_type,
9073 #[cfg(feature = "dri2")]
9074 Event::Dri2BufferSwapComplete(value) => value.response_type,
9075 #[cfg(feature = "dri2")]
9076 Event::Dri2InvalidateBuffers(value) => value.response_type,
9077 #[cfg(feature = "glx")]
9078 Event::GlxBufferSwapComplete(value) => value.response_type,
9079 #[cfg(feature = "glx")]
9080 Event::GlxPbufferClobber(value) => value.response_type,
9081 #[cfg(feature = "present")]
9082 Event::PresentCompleteNotify(value) => value.response_type,
9083 #[cfg(feature = "present")]
9084 Event::PresentConfigureNotify(value) => value.response_type,
9085 #[cfg(feature = "present")]
9086 Event::PresentGeneric(value) => value.response_type,
9087 #[cfg(feature = "present")]
9088 Event::PresentIdleNotify(value) => value.response_type,
9089 #[cfg(feature = "present")]
9090 Event::PresentRedirectNotify(value) => value.response_type,
9091 #[cfg(feature = "randr")]
9092 Event::RandrNotify(value) => value.response_type,
9093 #[cfg(feature = "randr")]
9094 Event::RandrScreenChangeNotify(value) => value.response_type,
9095 #[cfg(feature = "screensaver")]
9096 Event::ScreensaverNotify(value) => value.response_type,
9097 #[cfg(feature = "shape")]
9098 Event::ShapeNotify(value) => value.response_type,
9099 #[cfg(feature = "shm")]
9100 Event::ShmCompletion(value) => value.response_type,
9101 #[cfg(feature = "sync")]
9102 Event::SyncAlarmNotify(value) => value.response_type,
9103 #[cfg(feature = "sync")]
9104 Event::SyncCounterNotify(value) => value.response_type,
9105 #[cfg(feature = "xfixes")]
9106 Event::XfixesCursorNotify(value) => value.response_type,
9107 #[cfg(feature = "xfixes")]
9108 Event::XfixesSelectionNotify(value) => value.response_type,
9109 #[cfg(feature = "xinput")]
9110 Event::XinputBarrierHit(value) => value.response_type,
9111 #[cfg(feature = "xinput")]
9112 Event::XinputBarrierLeave(value) => value.response_type,
9113 #[cfg(feature = "xinput")]
9114 Event::XinputButtonPress(value) => value.response_type,
9115 #[cfg(feature = "xinput")]
9116 Event::XinputButtonRelease(value) => value.response_type,
9117 #[cfg(feature = "xinput")]
9118 Event::XinputChangeDeviceNotify(value) => value.response_type,
9119 #[cfg(feature = "xinput")]
9120 Event::XinputDeviceButtonPress(value) => value.response_type,
9121 #[cfg(feature = "xinput")]
9122 Event::XinputDeviceButtonRelease(value) => value.response_type,
9123 #[cfg(feature = "xinput")]
9124 Event::XinputDeviceButtonStateNotify(value) => value.response_type,
9125 #[cfg(feature = "xinput")]
9126 Event::XinputDeviceChanged(value) => value.response_type,
9127 #[cfg(feature = "xinput")]
9128 Event::XinputDeviceFocusIn(value) => value.response_type,
9129 #[cfg(feature = "xinput")]
9130 Event::XinputDeviceFocusOut(value) => value.response_type,
9131 #[cfg(feature = "xinput")]
9132 Event::XinputDeviceKeyPress(value) => value.response_type,
9133 #[cfg(feature = "xinput")]
9134 Event::XinputDeviceKeyRelease(value) => value.response_type,
9135 #[cfg(feature = "xinput")]
9136 Event::XinputDeviceKeyStateNotify(value) => value.response_type,
9137 #[cfg(feature = "xinput")]
9138 Event::XinputDeviceMappingNotify(value) => value.response_type,
9139 #[cfg(feature = "xinput")]
9140 Event::XinputDeviceMotionNotify(value) => value.response_type,
9141 #[cfg(feature = "xinput")]
9142 Event::XinputDevicePresenceNotify(value) => value.response_type,
9143 #[cfg(feature = "xinput")]
9144 Event::XinputDevicePropertyNotify(value) => value.response_type,
9145 #[cfg(feature = "xinput")]
9146 Event::XinputDeviceStateNotify(value) => value.response_type,
9147 #[cfg(feature = "xinput")]
9148 Event::XinputDeviceValuator(value) => value.response_type,
9149 #[cfg(feature = "xinput")]
9150 Event::XinputEnter(value) => value.response_type,
9151 #[cfg(feature = "xinput")]
9152 Event::XinputFocusIn(value) => value.response_type,
9153 #[cfg(feature = "xinput")]
9154 Event::XinputFocusOut(value) => value.response_type,
9155 #[cfg(feature = "xinput")]
9156 Event::XinputGesturePinchBegin(value) => value.response_type,
9157 #[cfg(feature = "xinput")]
9158 Event::XinputGesturePinchEnd(value) => value.response_type,
9159 #[cfg(feature = "xinput")]
9160 Event::XinputGesturePinchUpdate(value) => value.response_type,
9161 #[cfg(feature = "xinput")]
9162 Event::XinputGestureSwipeBegin(value) => value.response_type,
9163 #[cfg(feature = "xinput")]
9164 Event::XinputGestureSwipeEnd(value) => value.response_type,
9165 #[cfg(feature = "xinput")]
9166 Event::XinputGestureSwipeUpdate(value) => value.response_type,
9167 #[cfg(feature = "xinput")]
9168 Event::XinputHierarchy(value) => value.response_type,
9169 #[cfg(feature = "xinput")]
9170 Event::XinputKeyPress(value) => value.response_type,
9171 #[cfg(feature = "xinput")]
9172 Event::XinputKeyRelease(value) => value.response_type,
9173 #[cfg(feature = "xinput")]
9174 Event::XinputLeave(value) => value.response_type,
9175 #[cfg(feature = "xinput")]
9176 Event::XinputMotion(value) => value.response_type,
9177 #[cfg(feature = "xinput")]
9178 Event::XinputProperty(value) => value.response_type,
9179 #[cfg(feature = "xinput")]
9180 Event::XinputProximityIn(value) => value.response_type,
9181 #[cfg(feature = "xinput")]
9182 Event::XinputProximityOut(value) => value.response_type,
9183 #[cfg(feature = "xinput")]
9184 Event::XinputRawButtonPress(value) => value.response_type,
9185 #[cfg(feature = "xinput")]
9186 Event::XinputRawButtonRelease(value) => value.response_type,
9187 #[cfg(feature = "xinput")]
9188 Event::XinputRawKeyPress(value) => value.response_type,
9189 #[cfg(feature = "xinput")]
9190 Event::XinputRawKeyRelease(value) => value.response_type,
9191 #[cfg(feature = "xinput")]
9192 Event::XinputRawMotion(value) => value.response_type,
9193 #[cfg(feature = "xinput")]
9194 Event::XinputRawTouchBegin(value) => value.response_type,
9195 #[cfg(feature = "xinput")]
9196 Event::XinputRawTouchEnd(value) => value.response_type,
9197 #[cfg(feature = "xinput")]
9198 Event::XinputRawTouchUpdate(value) => value.response_type,
9199 #[cfg(feature = "xinput")]
9200 Event::XinputTouchBegin(value) => value.response_type,
9201 #[cfg(feature = "xinput")]
9202 Event::XinputTouchEnd(value) => value.response_type,
9203 #[cfg(feature = "xinput")]
9204 Event::XinputTouchOwnership(value) => value.response_type,
9205 #[cfg(feature = "xinput")]
9206 Event::XinputTouchUpdate(value) => value.response_type,
9207 #[cfg(feature = "xkb")]
9208 Event::XkbAccessXNotify(value) => value.response_type,
9209 #[cfg(feature = "xkb")]
9210 Event::XkbActionMessage(value) => value.response_type,
9211 #[cfg(feature = "xkb")]
9212 Event::XkbBellNotify(value) => value.response_type,
9213 #[cfg(feature = "xkb")]
9214 Event::XkbCompatMapNotify(value) => value.response_type,
9215 #[cfg(feature = "xkb")]
9216 Event::XkbControlsNotify(value) => value.response_type,
9217 #[cfg(feature = "xkb")]
9218 Event::XkbExtensionDeviceNotify(value) => value.response_type,
9219 #[cfg(feature = "xkb")]
9220 Event::XkbIndicatorMapNotify(value) => value.response_type,
9221 #[cfg(feature = "xkb")]
9222 Event::XkbIndicatorStateNotify(value) => value.response_type,
9223 #[cfg(feature = "xkb")]
9224 Event::XkbMapNotify(value) => value.response_type,
9225 #[cfg(feature = "xkb")]
9226 Event::XkbNamesNotify(value) => value.response_type,
9227 #[cfg(feature = "xkb")]
9228 Event::XkbNewKeyboardNotify(value) => value.response_type,
9229 #[cfg(feature = "xkb")]
9230 Event::XkbStateNotify(value) => value.response_type,
9231 #[cfg(feature = "xprint")]
9232 Event::XprintAttributNotify(value) => value.response_type,
9233 #[cfg(feature = "xprint")]
9234 Event::XprintNotify(value) => value.response_type,
9235 #[cfg(feature = "xv")]
9236 Event::XvPortNotify(value) => value.response_type,
9237 #[cfg(feature = "xv")]
9238 Event::XvVideoNotify(value) => value.response_type,
9239 }
9240 }
9241
9242 /// Get the response type of this X11 event
9243 pub fn response_type(&self) -> u8 {
9244 self.raw_response_type() & 0x7f
9245 }
9246
9247 /// Was this event generated by the X11 server?
9248 ///
9249 /// If this function returns true, then this event comes from the X11 server.
9250 /// Otherwise, it was sent from another client via the `SendEvent` request.
9251 pub fn server_generated(&self) -> bool {
9252 self.raw_response_type() & 0x80 == 0
9253 }
9254
9255 /// Was this event generated by another X11 client?
9256 ///
9257 /// If this function returns true, then this event comes from another client via
9258 /// the `SendEvent` request. Otherwise, it was generated by the X11 server.
9259 pub fn sent_event(&self) -> bool {
9260 self.raw_response_type() & 0x80 != 0
9261 }
9262}
9263
9264/// Get the response type out of the raw bytes of an X11 error or event.
9265fn response_type(raw_bytes: &[u8]) -> Result<u8, ParseError> {
9266 raw_bytes.first()
9267 .map(|x| x & 0x7f)
9268 .ok_or(err:ParseError::InsufficientData)
9269}
9270
9271/// Get the sequence number out of an X11 packet.
9272fn sequence_number(raw_bytes: &[u8]) -> Result<u16, ParseError> {
9273 raw_bytes.get(2..4)
9274 .map(|b| u16::from_ne_bytes(b.try_into().unwrap()))
9275 .ok_or(err:ParseError::InsufficientData)
9276}
9277