1#![allow(clippy::upper_case_acronyms)]
11#![allow(clippy::needless_borrow, clippy::needless_lifetimes)]
13#![allow(unknown_lints)]
15#![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, remaining) = 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, remaining) = R::Reply::try_parse_fd(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#[derive(Debug)]
100enum RequestInfo {
101 Xproto(&'static str),
103 KnownExt(&'static str),
105 UnknownRequest(Option<&'static str>, u8),
107 UnknownExtension(u8, u8),
109}
110
111fn get_request_name_internal(
118 ext_info_provider: &dyn ExtInfoProvider,
119 major_opcode: u8,
120 minor_opcode: u8,
121) -> (Option<&str>, RequestInfo) {
122 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 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 dri3::IMPORT_SYNCOBJ_REQUEST => RequestInfo::KnownExt("DRI3::ImportSyncobj"),
350 dri3::FREE_SYNCOBJ_REQUEST => RequestInfo::KnownExt("DRI3::FreeSyncobj"),
351 _ => RequestInfo::UnknownRequest(Some("DRI3"), minor_opcode),
352 }
353 }
354 ge::X11_EXTENSION_NAME => {
355 match minor_opcode {
356 ge::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("GenericEvent::QueryVersion"),
357 _ => RequestInfo::UnknownRequest(Some("GenericEvent"), minor_opcode),
358 }
359 }
360 #[cfg(feature = "glx")]
361 glx::X11_EXTENSION_NAME => {
362 match minor_opcode {
363 glx::RENDER_REQUEST => RequestInfo::KnownExt("Glx::Render"),
364 glx::RENDER_LARGE_REQUEST => RequestInfo::KnownExt("Glx::RenderLarge"),
365 glx::CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("Glx::CreateContext"),
366 glx::DESTROY_CONTEXT_REQUEST => RequestInfo::KnownExt("Glx::DestroyContext"),
367 glx::MAKE_CURRENT_REQUEST => RequestInfo::KnownExt("Glx::MakeCurrent"),
368 glx::IS_DIRECT_REQUEST => RequestInfo::KnownExt("Glx::IsDirect"),
369 glx::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Glx::QueryVersion"),
370 glx::WAIT_GL_REQUEST => RequestInfo::KnownExt("Glx::WaitGL"),
371 glx::WAIT_X_REQUEST => RequestInfo::KnownExt("Glx::WaitX"),
372 glx::COPY_CONTEXT_REQUEST => RequestInfo::KnownExt("Glx::CopyContext"),
373 glx::SWAP_BUFFERS_REQUEST => RequestInfo::KnownExt("Glx::SwapBuffers"),
374 glx::USE_X_FONT_REQUEST => RequestInfo::KnownExt("Glx::UseXFont"),
375 glx::CREATE_GLX_PIXMAP_REQUEST => RequestInfo::KnownExt("Glx::CreateGLXPixmap"),
376 glx::GET_VISUAL_CONFIGS_REQUEST => RequestInfo::KnownExt("Glx::GetVisualConfigs"),
377 glx::DESTROY_GLX_PIXMAP_REQUEST => RequestInfo::KnownExt("Glx::DestroyGLXPixmap"),
378 glx::VENDOR_PRIVATE_REQUEST => RequestInfo::KnownExt("Glx::VendorPrivate"),
379 glx::VENDOR_PRIVATE_WITH_REPLY_REQUEST => RequestInfo::KnownExt("Glx::VendorPrivateWithReply"),
380 glx::QUERY_EXTENSIONS_STRING_REQUEST => RequestInfo::KnownExt("Glx::QueryExtensionsString"),
381 glx::QUERY_SERVER_STRING_REQUEST => RequestInfo::KnownExt("Glx::QueryServerString"),
382 glx::CLIENT_INFO_REQUEST => RequestInfo::KnownExt("Glx::ClientInfo"),
383 glx::GET_FB_CONFIGS_REQUEST => RequestInfo::KnownExt("Glx::GetFBConfigs"),
384 glx::CREATE_PIXMAP_REQUEST => RequestInfo::KnownExt("Glx::CreatePixmap"),
385 glx::DESTROY_PIXMAP_REQUEST => RequestInfo::KnownExt("Glx::DestroyPixmap"),
386 glx::CREATE_NEW_CONTEXT_REQUEST => RequestInfo::KnownExt("Glx::CreateNewContext"),
387 glx::QUERY_CONTEXT_REQUEST => RequestInfo::KnownExt("Glx::QueryContext"),
388 glx::MAKE_CONTEXT_CURRENT_REQUEST => RequestInfo::KnownExt("Glx::MakeContextCurrent"),
389 glx::CREATE_PBUFFER_REQUEST => RequestInfo::KnownExt("Glx::CreatePbuffer"),
390 glx::DESTROY_PBUFFER_REQUEST => RequestInfo::KnownExt("Glx::DestroyPbuffer"),
391 glx::GET_DRAWABLE_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("Glx::GetDrawableAttributes"),
392 glx::CHANGE_DRAWABLE_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("Glx::ChangeDrawableAttributes"),
393 glx::CREATE_WINDOW_REQUEST => RequestInfo::KnownExt("Glx::CreateWindow"),
394 glx::DELETE_WINDOW_REQUEST => RequestInfo::KnownExt("Glx::DeleteWindow"),
395 glx::SET_CLIENT_INFO_ARB_REQUEST => RequestInfo::KnownExt("Glx::SetClientInfoARB"),
396 glx::CREATE_CONTEXT_ATTRIBS_ARB_REQUEST => RequestInfo::KnownExt("Glx::CreateContextAttribsARB"),
397 glx::SET_CLIENT_INFO2_ARB_REQUEST => RequestInfo::KnownExt("Glx::SetClientInfo2ARB"),
398 glx::NEW_LIST_REQUEST => RequestInfo::KnownExt("Glx::NewList"),
399 glx::END_LIST_REQUEST => RequestInfo::KnownExt("Glx::EndList"),
400 glx::DELETE_LISTS_REQUEST => RequestInfo::KnownExt("Glx::DeleteLists"),
401 glx::GEN_LISTS_REQUEST => RequestInfo::KnownExt("Glx::GenLists"),
402 glx::FEEDBACK_BUFFER_REQUEST => RequestInfo::KnownExt("Glx::FeedbackBuffer"),
403 glx::SELECT_BUFFER_REQUEST => RequestInfo::KnownExt("Glx::SelectBuffer"),
404 glx::RENDER_MODE_REQUEST => RequestInfo::KnownExt("Glx::RenderMode"),
405 glx::FINISH_REQUEST => RequestInfo::KnownExt("Glx::Finish"),
406 glx::PIXEL_STOREF_REQUEST => RequestInfo::KnownExt("Glx::PixelStoref"),
407 glx::PIXEL_STOREI_REQUEST => RequestInfo::KnownExt("Glx::PixelStorei"),
408 glx::READ_PIXELS_REQUEST => RequestInfo::KnownExt("Glx::ReadPixels"),
409 glx::GET_BOOLEANV_REQUEST => RequestInfo::KnownExt("Glx::GetBooleanv"),
410 glx::GET_CLIP_PLANE_REQUEST => RequestInfo::KnownExt("Glx::GetClipPlane"),
411 glx::GET_DOUBLEV_REQUEST => RequestInfo::KnownExt("Glx::GetDoublev"),
412 glx::GET_ERROR_REQUEST => RequestInfo::KnownExt("Glx::GetError"),
413 glx::GET_FLOATV_REQUEST => RequestInfo::KnownExt("Glx::GetFloatv"),
414 glx::GET_INTEGERV_REQUEST => RequestInfo::KnownExt("Glx::GetIntegerv"),
415 glx::GET_LIGHTFV_REQUEST => RequestInfo::KnownExt("Glx::GetLightfv"),
416 glx::GET_LIGHTIV_REQUEST => RequestInfo::KnownExt("Glx::GetLightiv"),
417 glx::GET_MAPDV_REQUEST => RequestInfo::KnownExt("Glx::GetMapdv"),
418 glx::GET_MAPFV_REQUEST => RequestInfo::KnownExt("Glx::GetMapfv"),
419 glx::GET_MAPIV_REQUEST => RequestInfo::KnownExt("Glx::GetMapiv"),
420 glx::GET_MATERIALFV_REQUEST => RequestInfo::KnownExt("Glx::GetMaterialfv"),
421 glx::GET_MATERIALIV_REQUEST => RequestInfo::KnownExt("Glx::GetMaterialiv"),
422 glx::GET_PIXEL_MAPFV_REQUEST => RequestInfo::KnownExt("Glx::GetPixelMapfv"),
423 glx::GET_PIXEL_MAPUIV_REQUEST => RequestInfo::KnownExt("Glx::GetPixelMapuiv"),
424 glx::GET_PIXEL_MAPUSV_REQUEST => RequestInfo::KnownExt("Glx::GetPixelMapusv"),
425 glx::GET_POLYGON_STIPPLE_REQUEST => RequestInfo::KnownExt("Glx::GetPolygonStipple"),
426 glx::GET_STRING_REQUEST => RequestInfo::KnownExt("Glx::GetString"),
427 glx::GET_TEX_ENVFV_REQUEST => RequestInfo::KnownExt("Glx::GetTexEnvfv"),
428 glx::GET_TEX_ENVIV_REQUEST => RequestInfo::KnownExt("Glx::GetTexEnviv"),
429 glx::GET_TEX_GENDV_REQUEST => RequestInfo::KnownExt("Glx::GetTexGendv"),
430 glx::GET_TEX_GENFV_REQUEST => RequestInfo::KnownExt("Glx::GetTexGenfv"),
431 glx::GET_TEX_GENIV_REQUEST => RequestInfo::KnownExt("Glx::GetTexGeniv"),
432 glx::GET_TEX_IMAGE_REQUEST => RequestInfo::KnownExt("Glx::GetTexImage"),
433 glx::GET_TEX_PARAMETERFV_REQUEST => RequestInfo::KnownExt("Glx::GetTexParameterfv"),
434 glx::GET_TEX_PARAMETERIV_REQUEST => RequestInfo::KnownExt("Glx::GetTexParameteriv"),
435 glx::GET_TEX_LEVEL_PARAMETERFV_REQUEST => RequestInfo::KnownExt("Glx::GetTexLevelParameterfv"),
436 glx::GET_TEX_LEVEL_PARAMETERIV_REQUEST => RequestInfo::KnownExt("Glx::GetTexLevelParameteriv"),
437 glx::IS_ENABLED_REQUEST => RequestInfo::KnownExt("Glx::IsEnabled"),
438 glx::IS_LIST_REQUEST => RequestInfo::KnownExt("Glx::IsList"),
439 glx::FLUSH_REQUEST => RequestInfo::KnownExt("Glx::Flush"),
440 glx::ARE_TEXTURES_RESIDENT_REQUEST => RequestInfo::KnownExt("Glx::AreTexturesResident"),
441 glx::DELETE_TEXTURES_REQUEST => RequestInfo::KnownExt("Glx::DeleteTextures"),
442 glx::GEN_TEXTURES_REQUEST => RequestInfo::KnownExt("Glx::GenTextures"),
443 glx::IS_TEXTURE_REQUEST => RequestInfo::KnownExt("Glx::IsTexture"),
444 glx::GET_COLOR_TABLE_REQUEST => RequestInfo::KnownExt("Glx::GetColorTable"),
445 glx::GET_COLOR_TABLE_PARAMETERFV_REQUEST => RequestInfo::KnownExt("Glx::GetColorTableParameterfv"),
446 glx::GET_COLOR_TABLE_PARAMETERIV_REQUEST => RequestInfo::KnownExt("Glx::GetColorTableParameteriv"),
447 glx::GET_CONVOLUTION_FILTER_REQUEST => RequestInfo::KnownExt("Glx::GetConvolutionFilter"),
448 glx::GET_CONVOLUTION_PARAMETERFV_REQUEST => RequestInfo::KnownExt("Glx::GetConvolutionParameterfv"),
449 glx::GET_CONVOLUTION_PARAMETERIV_REQUEST => RequestInfo::KnownExt("Glx::GetConvolutionParameteriv"),
450 glx::GET_SEPARABLE_FILTER_REQUEST => RequestInfo::KnownExt("Glx::GetSeparableFilter"),
451 glx::GET_HISTOGRAM_REQUEST => RequestInfo::KnownExt("Glx::GetHistogram"),
452 glx::GET_HISTOGRAM_PARAMETERFV_REQUEST => RequestInfo::KnownExt("Glx::GetHistogramParameterfv"),
453 glx::GET_HISTOGRAM_PARAMETERIV_REQUEST => RequestInfo::KnownExt("Glx::GetHistogramParameteriv"),
454 glx::GET_MINMAX_REQUEST => RequestInfo::KnownExt("Glx::GetMinmax"),
455 glx::GET_MINMAX_PARAMETERFV_REQUEST => RequestInfo::KnownExt("Glx::GetMinmaxParameterfv"),
456 glx::GET_MINMAX_PARAMETERIV_REQUEST => RequestInfo::KnownExt("Glx::GetMinmaxParameteriv"),
457 glx::GET_COMPRESSED_TEX_IMAGE_ARB_REQUEST => RequestInfo::KnownExt("Glx::GetCompressedTexImageARB"),
458 glx::DELETE_QUERIES_ARB_REQUEST => RequestInfo::KnownExt("Glx::DeleteQueriesARB"),
459 glx::GEN_QUERIES_ARB_REQUEST => RequestInfo::KnownExt("Glx::GenQueriesARB"),
460 glx::IS_QUERY_ARB_REQUEST => RequestInfo::KnownExt("Glx::IsQueryARB"),
461 glx::GET_QUERYIV_ARB_REQUEST => RequestInfo::KnownExt("Glx::GetQueryivARB"),
462 glx::GET_QUERY_OBJECTIV_ARB_REQUEST => RequestInfo::KnownExt("Glx::GetQueryObjectivARB"),
463 glx::GET_QUERY_OBJECTUIV_ARB_REQUEST => RequestInfo::KnownExt("Glx::GetQueryObjectuivARB"),
464 _ => RequestInfo::UnknownRequest(Some("Glx"), minor_opcode),
465 }
466 }
467 #[cfg(feature = "present")]
468 present::X11_EXTENSION_NAME => {
469 match minor_opcode {
470 present::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Present::QueryVersion"),
471 present::PIXMAP_REQUEST => RequestInfo::KnownExt("Present::Pixmap"),
472 present::NOTIFY_MSC_REQUEST => RequestInfo::KnownExt("Present::NotifyMSC"),
473 present::SELECT_INPUT_REQUEST => RequestInfo::KnownExt("Present::SelectInput"),
474 present::QUERY_CAPABILITIES_REQUEST => RequestInfo::KnownExt("Present::QueryCapabilities"),
475 present::PIXMAP_SYNCED_REQUEST => RequestInfo::KnownExt("Present::PixmapSynced"),
476 _ => RequestInfo::UnknownRequest(Some("Present"), minor_opcode),
477 }
478 }
479 #[cfg(feature = "randr")]
480 randr::X11_EXTENSION_NAME => {
481 match minor_opcode {
482 randr::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("RandR::QueryVersion"),
483 randr::SET_SCREEN_CONFIG_REQUEST => RequestInfo::KnownExt("RandR::SetScreenConfig"),
484 randr::SELECT_INPUT_REQUEST => RequestInfo::KnownExt("RandR::SelectInput"),
485 randr::GET_SCREEN_INFO_REQUEST => RequestInfo::KnownExt("RandR::GetScreenInfo"),
486 randr::GET_SCREEN_SIZE_RANGE_REQUEST => RequestInfo::KnownExt("RandR::GetScreenSizeRange"),
487 randr::SET_SCREEN_SIZE_REQUEST => RequestInfo::KnownExt("RandR::SetScreenSize"),
488 randr::GET_SCREEN_RESOURCES_REQUEST => RequestInfo::KnownExt("RandR::GetScreenResources"),
489 randr::GET_OUTPUT_INFO_REQUEST => RequestInfo::KnownExt("RandR::GetOutputInfo"),
490 randr::LIST_OUTPUT_PROPERTIES_REQUEST => RequestInfo::KnownExt("RandR::ListOutputProperties"),
491 randr::QUERY_OUTPUT_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::QueryOutputProperty"),
492 randr::CONFIGURE_OUTPUT_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::ConfigureOutputProperty"),
493 randr::CHANGE_OUTPUT_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::ChangeOutputProperty"),
494 randr::DELETE_OUTPUT_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::DeleteOutputProperty"),
495 randr::GET_OUTPUT_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::GetOutputProperty"),
496 randr::CREATE_MODE_REQUEST => RequestInfo::KnownExt("RandR::CreateMode"),
497 randr::DESTROY_MODE_REQUEST => RequestInfo::KnownExt("RandR::DestroyMode"),
498 randr::ADD_OUTPUT_MODE_REQUEST => RequestInfo::KnownExt("RandR::AddOutputMode"),
499 randr::DELETE_OUTPUT_MODE_REQUEST => RequestInfo::KnownExt("RandR::DeleteOutputMode"),
500 randr::GET_CRTC_INFO_REQUEST => RequestInfo::KnownExt("RandR::GetCrtcInfo"),
501 randr::SET_CRTC_CONFIG_REQUEST => RequestInfo::KnownExt("RandR::SetCrtcConfig"),
502 randr::GET_CRTC_GAMMA_SIZE_REQUEST => RequestInfo::KnownExt("RandR::GetCrtcGammaSize"),
503 randr::GET_CRTC_GAMMA_REQUEST => RequestInfo::KnownExt("RandR::GetCrtcGamma"),
504 randr::SET_CRTC_GAMMA_REQUEST => RequestInfo::KnownExt("RandR::SetCrtcGamma"),
505 randr::GET_SCREEN_RESOURCES_CURRENT_REQUEST => RequestInfo::KnownExt("RandR::GetScreenResourcesCurrent"),
506 randr::SET_CRTC_TRANSFORM_REQUEST => RequestInfo::KnownExt("RandR::SetCrtcTransform"),
507 randr::GET_CRTC_TRANSFORM_REQUEST => RequestInfo::KnownExt("RandR::GetCrtcTransform"),
508 randr::GET_PANNING_REQUEST => RequestInfo::KnownExt("RandR::GetPanning"),
509 randr::SET_PANNING_REQUEST => RequestInfo::KnownExt("RandR::SetPanning"),
510 randr::SET_OUTPUT_PRIMARY_REQUEST => RequestInfo::KnownExt("RandR::SetOutputPrimary"),
511 randr::GET_OUTPUT_PRIMARY_REQUEST => RequestInfo::KnownExt("RandR::GetOutputPrimary"),
512 randr::GET_PROVIDERS_REQUEST => RequestInfo::KnownExt("RandR::GetProviders"),
513 randr::GET_PROVIDER_INFO_REQUEST => RequestInfo::KnownExt("RandR::GetProviderInfo"),
514 randr::SET_PROVIDER_OFFLOAD_SINK_REQUEST => RequestInfo::KnownExt("RandR::SetProviderOffloadSink"),
515 randr::SET_PROVIDER_OUTPUT_SOURCE_REQUEST => RequestInfo::KnownExt("RandR::SetProviderOutputSource"),
516 randr::LIST_PROVIDER_PROPERTIES_REQUEST => RequestInfo::KnownExt("RandR::ListProviderProperties"),
517 randr::QUERY_PROVIDER_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::QueryProviderProperty"),
518 randr::CONFIGURE_PROVIDER_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::ConfigureProviderProperty"),
519 randr::CHANGE_PROVIDER_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::ChangeProviderProperty"),
520 randr::DELETE_PROVIDER_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::DeleteProviderProperty"),
521 randr::GET_PROVIDER_PROPERTY_REQUEST => RequestInfo::KnownExt("RandR::GetProviderProperty"),
522 randr::GET_MONITORS_REQUEST => RequestInfo::KnownExt("RandR::GetMonitors"),
523 randr::SET_MONITOR_REQUEST => RequestInfo::KnownExt("RandR::SetMonitor"),
524 randr::DELETE_MONITOR_REQUEST => RequestInfo::KnownExt("RandR::DeleteMonitor"),
525 randr::CREATE_LEASE_REQUEST => RequestInfo::KnownExt("RandR::CreateLease"),
526 randr::FREE_LEASE_REQUEST => RequestInfo::KnownExt("RandR::FreeLease"),
527 _ => RequestInfo::UnknownRequest(Some("RandR"), minor_opcode),
528 }
529 }
530 #[cfg(feature = "record")]
531 record::X11_EXTENSION_NAME => {
532 match minor_opcode {
533 record::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Record::QueryVersion"),
534 record::CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("Record::CreateContext"),
535 record::REGISTER_CLIENTS_REQUEST => RequestInfo::KnownExt("Record::RegisterClients"),
536 record::UNREGISTER_CLIENTS_REQUEST => RequestInfo::KnownExt("Record::UnregisterClients"),
537 record::GET_CONTEXT_REQUEST => RequestInfo::KnownExt("Record::GetContext"),
538 record::ENABLE_CONTEXT_REQUEST => RequestInfo::KnownExt("Record::EnableContext"),
539 record::DISABLE_CONTEXT_REQUEST => RequestInfo::KnownExt("Record::DisableContext"),
540 record::FREE_CONTEXT_REQUEST => RequestInfo::KnownExt("Record::FreeContext"),
541 _ => RequestInfo::UnknownRequest(Some("Record"), minor_opcode),
542 }
543 }
544 #[cfg(feature = "render")]
545 render::X11_EXTENSION_NAME => {
546 match minor_opcode {
547 render::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Render::QueryVersion"),
548 render::QUERY_PICT_FORMATS_REQUEST => RequestInfo::KnownExt("Render::QueryPictFormats"),
549 render::QUERY_PICT_INDEX_VALUES_REQUEST => RequestInfo::KnownExt("Render::QueryPictIndexValues"),
550 render::CREATE_PICTURE_REQUEST => RequestInfo::KnownExt("Render::CreatePicture"),
551 render::CHANGE_PICTURE_REQUEST => RequestInfo::KnownExt("Render::ChangePicture"),
552 render::SET_PICTURE_CLIP_RECTANGLES_REQUEST => RequestInfo::KnownExt("Render::SetPictureClipRectangles"),
553 render::FREE_PICTURE_REQUEST => RequestInfo::KnownExt("Render::FreePicture"),
554 render::COMPOSITE_REQUEST => RequestInfo::KnownExt("Render::Composite"),
555 render::TRAPEZOIDS_REQUEST => RequestInfo::KnownExt("Render::Trapezoids"),
556 render::TRIANGLES_REQUEST => RequestInfo::KnownExt("Render::Triangles"),
557 render::TRI_STRIP_REQUEST => RequestInfo::KnownExt("Render::TriStrip"),
558 render::TRI_FAN_REQUEST => RequestInfo::KnownExt("Render::TriFan"),
559 render::CREATE_GLYPH_SET_REQUEST => RequestInfo::KnownExt("Render::CreateGlyphSet"),
560 render::REFERENCE_GLYPH_SET_REQUEST => RequestInfo::KnownExt("Render::ReferenceGlyphSet"),
561 render::FREE_GLYPH_SET_REQUEST => RequestInfo::KnownExt("Render::FreeGlyphSet"),
562 render::ADD_GLYPHS_REQUEST => RequestInfo::KnownExt("Render::AddGlyphs"),
563 render::FREE_GLYPHS_REQUEST => RequestInfo::KnownExt("Render::FreeGlyphs"),
564 render::COMPOSITE_GLYPHS8_REQUEST => RequestInfo::KnownExt("Render::CompositeGlyphs8"),
565 render::COMPOSITE_GLYPHS16_REQUEST => RequestInfo::KnownExt("Render::CompositeGlyphs16"),
566 render::COMPOSITE_GLYPHS32_REQUEST => RequestInfo::KnownExt("Render::CompositeGlyphs32"),
567 render::FILL_RECTANGLES_REQUEST => RequestInfo::KnownExt("Render::FillRectangles"),
568 render::CREATE_CURSOR_REQUEST => RequestInfo::KnownExt("Render::CreateCursor"),
569 render::SET_PICTURE_TRANSFORM_REQUEST => RequestInfo::KnownExt("Render::SetPictureTransform"),
570 render::QUERY_FILTERS_REQUEST => RequestInfo::KnownExt("Render::QueryFilters"),
571 render::SET_PICTURE_FILTER_REQUEST => RequestInfo::KnownExt("Render::SetPictureFilter"),
572 render::CREATE_ANIM_CURSOR_REQUEST => RequestInfo::KnownExt("Render::CreateAnimCursor"),
573 render::ADD_TRAPS_REQUEST => RequestInfo::KnownExt("Render::AddTraps"),
574 render::CREATE_SOLID_FILL_REQUEST => RequestInfo::KnownExt("Render::CreateSolidFill"),
575 render::CREATE_LINEAR_GRADIENT_REQUEST => RequestInfo::KnownExt("Render::CreateLinearGradient"),
576 render::CREATE_RADIAL_GRADIENT_REQUEST => RequestInfo::KnownExt("Render::CreateRadialGradient"),
577 render::CREATE_CONICAL_GRADIENT_REQUEST => RequestInfo::KnownExt("Render::CreateConicalGradient"),
578 _ => RequestInfo::UnknownRequest(Some("Render"), minor_opcode),
579 }
580 }
581 #[cfg(feature = "res")]
582 res::X11_EXTENSION_NAME => {
583 match minor_opcode {
584 res::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Res::QueryVersion"),
585 res::QUERY_CLIENTS_REQUEST => RequestInfo::KnownExt("Res::QueryClients"),
586 res::QUERY_CLIENT_RESOURCES_REQUEST => RequestInfo::KnownExt("Res::QueryClientResources"),
587 res::QUERY_CLIENT_PIXMAP_BYTES_REQUEST => RequestInfo::KnownExt("Res::QueryClientPixmapBytes"),
588 res::QUERY_CLIENT_IDS_REQUEST => RequestInfo::KnownExt("Res::QueryClientIds"),
589 res::QUERY_RESOURCE_BYTES_REQUEST => RequestInfo::KnownExt("Res::QueryResourceBytes"),
590 _ => RequestInfo::UnknownRequest(Some("Res"), minor_opcode),
591 }
592 }
593 #[cfg(feature = "screensaver")]
594 screensaver::X11_EXTENSION_NAME => {
595 match minor_opcode {
596 screensaver::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("ScreenSaver::QueryVersion"),
597 screensaver::QUERY_INFO_REQUEST => RequestInfo::KnownExt("ScreenSaver::QueryInfo"),
598 screensaver::SELECT_INPUT_REQUEST => RequestInfo::KnownExt("ScreenSaver::SelectInput"),
599 screensaver::SET_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("ScreenSaver::SetAttributes"),
600 screensaver::UNSET_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("ScreenSaver::UnsetAttributes"),
601 screensaver::SUSPEND_REQUEST => RequestInfo::KnownExt("ScreenSaver::Suspend"),
602 _ => RequestInfo::UnknownRequest(Some("ScreenSaver"), minor_opcode),
603 }
604 }
605 #[cfg(feature = "shape")]
606 shape::X11_EXTENSION_NAME => {
607 match minor_opcode {
608 shape::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Shape::QueryVersion"),
609 shape::RECTANGLES_REQUEST => RequestInfo::KnownExt("Shape::Rectangles"),
610 shape::MASK_REQUEST => RequestInfo::KnownExt("Shape::Mask"),
611 shape::COMBINE_REQUEST => RequestInfo::KnownExt("Shape::Combine"),
612 shape::OFFSET_REQUEST => RequestInfo::KnownExt("Shape::Offset"),
613 shape::QUERY_EXTENTS_REQUEST => RequestInfo::KnownExt("Shape::QueryExtents"),
614 shape::SELECT_INPUT_REQUEST => RequestInfo::KnownExt("Shape::SelectInput"),
615 shape::INPUT_SELECTED_REQUEST => RequestInfo::KnownExt("Shape::InputSelected"),
616 shape::GET_RECTANGLES_REQUEST => RequestInfo::KnownExt("Shape::GetRectangles"),
617 _ => RequestInfo::UnknownRequest(Some("Shape"), minor_opcode),
618 }
619 }
620 #[cfg(feature = "shm")]
621 shm::X11_EXTENSION_NAME => {
622 match minor_opcode {
623 shm::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Shm::QueryVersion"),
624 shm::ATTACH_REQUEST => RequestInfo::KnownExt("Shm::Attach"),
625 shm::DETACH_REQUEST => RequestInfo::KnownExt("Shm::Detach"),
626 shm::PUT_IMAGE_REQUEST => RequestInfo::KnownExt("Shm::PutImage"),
627 shm::GET_IMAGE_REQUEST => RequestInfo::KnownExt("Shm::GetImage"),
628 shm::CREATE_PIXMAP_REQUEST => RequestInfo::KnownExt("Shm::CreatePixmap"),
629 shm::ATTACH_FD_REQUEST => RequestInfo::KnownExt("Shm::AttachFd"),
630 shm::CREATE_SEGMENT_REQUEST => RequestInfo::KnownExt("Shm::CreateSegment"),
631 _ => RequestInfo::UnknownRequest(Some("Shm"), minor_opcode),
632 }
633 }
634 #[cfg(feature = "sync")]
635 sync::X11_EXTENSION_NAME => {
636 match minor_opcode {
637 sync::INITIALIZE_REQUEST => RequestInfo::KnownExt("Sync::Initialize"),
638 sync::LIST_SYSTEM_COUNTERS_REQUEST => RequestInfo::KnownExt("Sync::ListSystemCounters"),
639 sync::CREATE_COUNTER_REQUEST => RequestInfo::KnownExt("Sync::CreateCounter"),
640 sync::DESTROY_COUNTER_REQUEST => RequestInfo::KnownExt("Sync::DestroyCounter"),
641 sync::QUERY_COUNTER_REQUEST => RequestInfo::KnownExt("Sync::QueryCounter"),
642 sync::AWAIT_REQUEST => RequestInfo::KnownExt("Sync::Await"),
643 sync::CHANGE_COUNTER_REQUEST => RequestInfo::KnownExt("Sync::ChangeCounter"),
644 sync::SET_COUNTER_REQUEST => RequestInfo::KnownExt("Sync::SetCounter"),
645 sync::CREATE_ALARM_REQUEST => RequestInfo::KnownExt("Sync::CreateAlarm"),
646 sync::CHANGE_ALARM_REQUEST => RequestInfo::KnownExt("Sync::ChangeAlarm"),
647 sync::DESTROY_ALARM_REQUEST => RequestInfo::KnownExt("Sync::DestroyAlarm"),
648 sync::QUERY_ALARM_REQUEST => RequestInfo::KnownExt("Sync::QueryAlarm"),
649 sync::SET_PRIORITY_REQUEST => RequestInfo::KnownExt("Sync::SetPriority"),
650 sync::GET_PRIORITY_REQUEST => RequestInfo::KnownExt("Sync::GetPriority"),
651 sync::CREATE_FENCE_REQUEST => RequestInfo::KnownExt("Sync::CreateFence"),
652 sync::TRIGGER_FENCE_REQUEST => RequestInfo::KnownExt("Sync::TriggerFence"),
653 sync::RESET_FENCE_REQUEST => RequestInfo::KnownExt("Sync::ResetFence"),
654 sync::DESTROY_FENCE_REQUEST => RequestInfo::KnownExt("Sync::DestroyFence"),
655 sync::QUERY_FENCE_REQUEST => RequestInfo::KnownExt("Sync::QueryFence"),
656 sync::AWAIT_FENCE_REQUEST => RequestInfo::KnownExt("Sync::AwaitFence"),
657 _ => RequestInfo::UnknownRequest(Some("Sync"), minor_opcode),
658 }
659 }
660 xc_misc::X11_EXTENSION_NAME => {
661 match minor_opcode {
662 xc_misc::GET_VERSION_REQUEST => RequestInfo::KnownExt("XCMisc::GetVersion"),
663 xc_misc::GET_XID_RANGE_REQUEST => RequestInfo::KnownExt("XCMisc::GetXIDRange"),
664 xc_misc::GET_XID_LIST_REQUEST => RequestInfo::KnownExt("XCMisc::GetXIDList"),
665 _ => RequestInfo::UnknownRequest(Some("XCMisc"), minor_opcode),
666 }
667 }
668 #[cfg(feature = "xevie")]
669 xevie::X11_EXTENSION_NAME => {
670 match minor_opcode {
671 xevie::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Xevie::QueryVersion"),
672 xevie::START_REQUEST => RequestInfo::KnownExt("Xevie::Start"),
673 xevie::END_REQUEST => RequestInfo::KnownExt("Xevie::End"),
674 xevie::SEND_REQUEST => RequestInfo::KnownExt("Xevie::Send"),
675 xevie::SELECT_INPUT_REQUEST => RequestInfo::KnownExt("Xevie::SelectInput"),
676 _ => RequestInfo::UnknownRequest(Some("Xevie"), minor_opcode),
677 }
678 }
679 #[cfg(feature = "xf86dri")]
680 xf86dri::X11_EXTENSION_NAME => {
681 match minor_opcode {
682 xf86dri::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("XF86Dri::QueryVersion"),
683 xf86dri::QUERY_DIRECT_RENDERING_CAPABLE_REQUEST => RequestInfo::KnownExt("XF86Dri::QueryDirectRenderingCapable"),
684 xf86dri::OPEN_CONNECTION_REQUEST => RequestInfo::KnownExt("XF86Dri::OpenConnection"),
685 xf86dri::CLOSE_CONNECTION_REQUEST => RequestInfo::KnownExt("XF86Dri::CloseConnection"),
686 xf86dri::GET_CLIENT_DRIVER_NAME_REQUEST => RequestInfo::KnownExt("XF86Dri::GetClientDriverName"),
687 xf86dri::CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("XF86Dri::CreateContext"),
688 xf86dri::DESTROY_CONTEXT_REQUEST => RequestInfo::KnownExt("XF86Dri::DestroyContext"),
689 xf86dri::CREATE_DRAWABLE_REQUEST => RequestInfo::KnownExt("XF86Dri::CreateDrawable"),
690 xf86dri::DESTROY_DRAWABLE_REQUEST => RequestInfo::KnownExt("XF86Dri::DestroyDrawable"),
691 xf86dri::GET_DRAWABLE_INFO_REQUEST => RequestInfo::KnownExt("XF86Dri::GetDrawableInfo"),
692 xf86dri::GET_DEVICE_INFO_REQUEST => RequestInfo::KnownExt("XF86Dri::GetDeviceInfo"),
693 xf86dri::AUTH_CONNECTION_REQUEST => RequestInfo::KnownExt("XF86Dri::AuthConnection"),
694 _ => RequestInfo::UnknownRequest(Some("XF86Dri"), minor_opcode),
695 }
696 }
697 #[cfg(feature = "xf86vidmode")]
698 xf86vidmode::X11_EXTENSION_NAME => {
699 match minor_opcode {
700 xf86vidmode::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("XF86VidMode::QueryVersion"),
701 xf86vidmode::GET_MODE_LINE_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetModeLine"),
702 xf86vidmode::MOD_MODE_LINE_REQUEST => RequestInfo::KnownExt("XF86VidMode::ModModeLine"),
703 xf86vidmode::SWITCH_MODE_REQUEST => RequestInfo::KnownExt("XF86VidMode::SwitchMode"),
704 xf86vidmode::GET_MONITOR_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetMonitor"),
705 xf86vidmode::LOCK_MODE_SWITCH_REQUEST => RequestInfo::KnownExt("XF86VidMode::LockModeSwitch"),
706 xf86vidmode::GET_ALL_MODE_LINES_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetAllModeLines"),
707 xf86vidmode::ADD_MODE_LINE_REQUEST => RequestInfo::KnownExt("XF86VidMode::AddModeLine"),
708 xf86vidmode::DELETE_MODE_LINE_REQUEST => RequestInfo::KnownExt("XF86VidMode::DeleteModeLine"),
709 xf86vidmode::VALIDATE_MODE_LINE_REQUEST => RequestInfo::KnownExt("XF86VidMode::ValidateModeLine"),
710 xf86vidmode::SWITCH_TO_MODE_REQUEST => RequestInfo::KnownExt("XF86VidMode::SwitchToMode"),
711 xf86vidmode::GET_VIEW_PORT_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetViewPort"),
712 xf86vidmode::SET_VIEW_PORT_REQUEST => RequestInfo::KnownExt("XF86VidMode::SetViewPort"),
713 xf86vidmode::GET_DOT_CLOCKS_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetDotClocks"),
714 xf86vidmode::SET_CLIENT_VERSION_REQUEST => RequestInfo::KnownExt("XF86VidMode::SetClientVersion"),
715 xf86vidmode::SET_GAMMA_REQUEST => RequestInfo::KnownExt("XF86VidMode::SetGamma"),
716 xf86vidmode::GET_GAMMA_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetGamma"),
717 xf86vidmode::GET_GAMMA_RAMP_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetGammaRamp"),
718 xf86vidmode::SET_GAMMA_RAMP_REQUEST => RequestInfo::KnownExt("XF86VidMode::SetGammaRamp"),
719 xf86vidmode::GET_GAMMA_RAMP_SIZE_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetGammaRampSize"),
720 xf86vidmode::GET_PERMISSIONS_REQUEST => RequestInfo::KnownExt("XF86VidMode::GetPermissions"),
721 _ => RequestInfo::UnknownRequest(Some("XF86VidMode"), minor_opcode),
722 }
723 }
724 #[cfg(feature = "xfixes")]
725 xfixes::X11_EXTENSION_NAME => {
726 match minor_opcode {
727 xfixes::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("XFixes::QueryVersion"),
728 xfixes::CHANGE_SAVE_SET_REQUEST => RequestInfo::KnownExt("XFixes::ChangeSaveSet"),
729 xfixes::SELECT_SELECTION_INPUT_REQUEST => RequestInfo::KnownExt("XFixes::SelectSelectionInput"),
730 xfixes::SELECT_CURSOR_INPUT_REQUEST => RequestInfo::KnownExt("XFixes::SelectCursorInput"),
731 xfixes::GET_CURSOR_IMAGE_REQUEST => RequestInfo::KnownExt("XFixes::GetCursorImage"),
732 xfixes::CREATE_REGION_REQUEST => RequestInfo::KnownExt("XFixes::CreateRegion"),
733 xfixes::CREATE_REGION_FROM_BITMAP_REQUEST => RequestInfo::KnownExt("XFixes::CreateRegionFromBitmap"),
734 xfixes::CREATE_REGION_FROM_WINDOW_REQUEST => RequestInfo::KnownExt("XFixes::CreateRegionFromWindow"),
735 xfixes::CREATE_REGION_FROM_GC_REQUEST => RequestInfo::KnownExt("XFixes::CreateRegionFromGC"),
736 xfixes::CREATE_REGION_FROM_PICTURE_REQUEST => RequestInfo::KnownExt("XFixes::CreateRegionFromPicture"),
737 xfixes::DESTROY_REGION_REQUEST => RequestInfo::KnownExt("XFixes::DestroyRegion"),
738 xfixes::SET_REGION_REQUEST => RequestInfo::KnownExt("XFixes::SetRegion"),
739 xfixes::COPY_REGION_REQUEST => RequestInfo::KnownExt("XFixes::CopyRegion"),
740 xfixes::UNION_REGION_REQUEST => RequestInfo::KnownExt("XFixes::UnionRegion"),
741 xfixes::INTERSECT_REGION_REQUEST => RequestInfo::KnownExt("XFixes::IntersectRegion"),
742 xfixes::SUBTRACT_REGION_REQUEST => RequestInfo::KnownExt("XFixes::SubtractRegion"),
743 xfixes::INVERT_REGION_REQUEST => RequestInfo::KnownExt("XFixes::InvertRegion"),
744 xfixes::TRANSLATE_REGION_REQUEST => RequestInfo::KnownExt("XFixes::TranslateRegion"),
745 xfixes::REGION_EXTENTS_REQUEST => RequestInfo::KnownExt("XFixes::RegionExtents"),
746 xfixes::FETCH_REGION_REQUEST => RequestInfo::KnownExt("XFixes::FetchRegion"),
747 xfixes::SET_GC_CLIP_REGION_REQUEST => RequestInfo::KnownExt("XFixes::SetGCClipRegion"),
748 xfixes::SET_WINDOW_SHAPE_REGION_REQUEST => RequestInfo::KnownExt("XFixes::SetWindowShapeRegion"),
749 xfixes::SET_PICTURE_CLIP_REGION_REQUEST => RequestInfo::KnownExt("XFixes::SetPictureClipRegion"),
750 xfixes::SET_CURSOR_NAME_REQUEST => RequestInfo::KnownExt("XFixes::SetCursorName"),
751 xfixes::GET_CURSOR_NAME_REQUEST => RequestInfo::KnownExt("XFixes::GetCursorName"),
752 xfixes::GET_CURSOR_IMAGE_AND_NAME_REQUEST => RequestInfo::KnownExt("XFixes::GetCursorImageAndName"),
753 xfixes::CHANGE_CURSOR_REQUEST => RequestInfo::KnownExt("XFixes::ChangeCursor"),
754 xfixes::CHANGE_CURSOR_BY_NAME_REQUEST => RequestInfo::KnownExt("XFixes::ChangeCursorByName"),
755 xfixes::EXPAND_REGION_REQUEST => RequestInfo::KnownExt("XFixes::ExpandRegion"),
756 xfixes::HIDE_CURSOR_REQUEST => RequestInfo::KnownExt("XFixes::HideCursor"),
757 xfixes::SHOW_CURSOR_REQUEST => RequestInfo::KnownExt("XFixes::ShowCursor"),
758 xfixes::CREATE_POINTER_BARRIER_REQUEST => RequestInfo::KnownExt("XFixes::CreatePointerBarrier"),
759 xfixes::DELETE_POINTER_BARRIER_REQUEST => RequestInfo::KnownExt("XFixes::DeletePointerBarrier"),
760 xfixes::SET_CLIENT_DISCONNECT_MODE_REQUEST => RequestInfo::KnownExt("XFixes::SetClientDisconnectMode"),
761 xfixes::GET_CLIENT_DISCONNECT_MODE_REQUEST => RequestInfo::KnownExt("XFixes::GetClientDisconnectMode"),
762 _ => RequestInfo::UnknownRequest(Some("XFixes"), minor_opcode),
763 }
764 }
765 #[cfg(feature = "xinerama")]
766 xinerama::X11_EXTENSION_NAME => {
767 match minor_opcode {
768 xinerama::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Xinerama::QueryVersion"),
769 xinerama::GET_STATE_REQUEST => RequestInfo::KnownExt("Xinerama::GetState"),
770 xinerama::GET_SCREEN_COUNT_REQUEST => RequestInfo::KnownExt("Xinerama::GetScreenCount"),
771 xinerama::GET_SCREEN_SIZE_REQUEST => RequestInfo::KnownExt("Xinerama::GetScreenSize"),
772 xinerama::IS_ACTIVE_REQUEST => RequestInfo::KnownExt("Xinerama::IsActive"),
773 xinerama::QUERY_SCREENS_REQUEST => RequestInfo::KnownExt("Xinerama::QueryScreens"),
774 _ => RequestInfo::UnknownRequest(Some("Xinerama"), minor_opcode),
775 }
776 }
777 #[cfg(feature = "xinput")]
778 xinput::X11_EXTENSION_NAME => {
779 match minor_opcode {
780 xinput::GET_EXTENSION_VERSION_REQUEST => RequestInfo::KnownExt("Input::GetExtensionVersion"),
781 xinput::LIST_INPUT_DEVICES_REQUEST => RequestInfo::KnownExt("Input::ListInputDevices"),
782 xinput::OPEN_DEVICE_REQUEST => RequestInfo::KnownExt("Input::OpenDevice"),
783 xinput::CLOSE_DEVICE_REQUEST => RequestInfo::KnownExt("Input::CloseDevice"),
784 xinput::SET_DEVICE_MODE_REQUEST => RequestInfo::KnownExt("Input::SetDeviceMode"),
785 xinput::SELECT_EXTENSION_EVENT_REQUEST => RequestInfo::KnownExt("Input::SelectExtensionEvent"),
786 xinput::GET_SELECTED_EXTENSION_EVENTS_REQUEST => RequestInfo::KnownExt("Input::GetSelectedExtensionEvents"),
787 xinput::CHANGE_DEVICE_DONT_PROPAGATE_LIST_REQUEST => RequestInfo::KnownExt("Input::ChangeDeviceDontPropagateList"),
788 xinput::GET_DEVICE_DONT_PROPAGATE_LIST_REQUEST => RequestInfo::KnownExt("Input::GetDeviceDontPropagateList"),
789 xinput::GET_DEVICE_MOTION_EVENTS_REQUEST => RequestInfo::KnownExt("Input::GetDeviceMotionEvents"),
790 xinput::CHANGE_KEYBOARD_DEVICE_REQUEST => RequestInfo::KnownExt("Input::ChangeKeyboardDevice"),
791 xinput::CHANGE_POINTER_DEVICE_REQUEST => RequestInfo::KnownExt("Input::ChangePointerDevice"),
792 xinput::GRAB_DEVICE_REQUEST => RequestInfo::KnownExt("Input::GrabDevice"),
793 xinput::UNGRAB_DEVICE_REQUEST => RequestInfo::KnownExt("Input::UngrabDevice"),
794 xinput::GRAB_DEVICE_KEY_REQUEST => RequestInfo::KnownExt("Input::GrabDeviceKey"),
795 xinput::UNGRAB_DEVICE_KEY_REQUEST => RequestInfo::KnownExt("Input::UngrabDeviceKey"),
796 xinput::GRAB_DEVICE_BUTTON_REQUEST => RequestInfo::KnownExt("Input::GrabDeviceButton"),
797 xinput::UNGRAB_DEVICE_BUTTON_REQUEST => RequestInfo::KnownExt("Input::UngrabDeviceButton"),
798 xinput::ALLOW_DEVICE_EVENTS_REQUEST => RequestInfo::KnownExt("Input::AllowDeviceEvents"),
799 xinput::GET_DEVICE_FOCUS_REQUEST => RequestInfo::KnownExt("Input::GetDeviceFocus"),
800 xinput::SET_DEVICE_FOCUS_REQUEST => RequestInfo::KnownExt("Input::SetDeviceFocus"),
801 xinput::GET_FEEDBACK_CONTROL_REQUEST => RequestInfo::KnownExt("Input::GetFeedbackControl"),
802 xinput::CHANGE_FEEDBACK_CONTROL_REQUEST => RequestInfo::KnownExt("Input::ChangeFeedbackControl"),
803 xinput::GET_DEVICE_KEY_MAPPING_REQUEST => RequestInfo::KnownExt("Input::GetDeviceKeyMapping"),
804 xinput::CHANGE_DEVICE_KEY_MAPPING_REQUEST => RequestInfo::KnownExt("Input::ChangeDeviceKeyMapping"),
805 xinput::GET_DEVICE_MODIFIER_MAPPING_REQUEST => RequestInfo::KnownExt("Input::GetDeviceModifierMapping"),
806 xinput::SET_DEVICE_MODIFIER_MAPPING_REQUEST => RequestInfo::KnownExt("Input::SetDeviceModifierMapping"),
807 xinput::GET_DEVICE_BUTTON_MAPPING_REQUEST => RequestInfo::KnownExt("Input::GetDeviceButtonMapping"),
808 xinput::SET_DEVICE_BUTTON_MAPPING_REQUEST => RequestInfo::KnownExt("Input::SetDeviceButtonMapping"),
809 xinput::QUERY_DEVICE_STATE_REQUEST => RequestInfo::KnownExt("Input::QueryDeviceState"),
810 xinput::DEVICE_BELL_REQUEST => RequestInfo::KnownExt("Input::DeviceBell"),
811 xinput::SET_DEVICE_VALUATORS_REQUEST => RequestInfo::KnownExt("Input::SetDeviceValuators"),
812 xinput::GET_DEVICE_CONTROL_REQUEST => RequestInfo::KnownExt("Input::GetDeviceControl"),
813 xinput::CHANGE_DEVICE_CONTROL_REQUEST => RequestInfo::KnownExt("Input::ChangeDeviceControl"),
814 xinput::LIST_DEVICE_PROPERTIES_REQUEST => RequestInfo::KnownExt("Input::ListDeviceProperties"),
815 xinput::CHANGE_DEVICE_PROPERTY_REQUEST => RequestInfo::KnownExt("Input::ChangeDeviceProperty"),
816 xinput::DELETE_DEVICE_PROPERTY_REQUEST => RequestInfo::KnownExt("Input::DeleteDeviceProperty"),
817 xinput::GET_DEVICE_PROPERTY_REQUEST => RequestInfo::KnownExt("Input::GetDeviceProperty"),
818 xinput::XI_QUERY_POINTER_REQUEST => RequestInfo::KnownExt("Input::XIQueryPointer"),
819 xinput::XI_WARP_POINTER_REQUEST => RequestInfo::KnownExt("Input::XIWarpPointer"),
820 xinput::XI_CHANGE_CURSOR_REQUEST => RequestInfo::KnownExt("Input::XIChangeCursor"),
821 xinput::XI_CHANGE_HIERARCHY_REQUEST => RequestInfo::KnownExt("Input::XIChangeHierarchy"),
822 xinput::XI_SET_CLIENT_POINTER_REQUEST => RequestInfo::KnownExt("Input::XISetClientPointer"),
823 xinput::XI_GET_CLIENT_POINTER_REQUEST => RequestInfo::KnownExt("Input::XIGetClientPointer"),
824 xinput::XI_SELECT_EVENTS_REQUEST => RequestInfo::KnownExt("Input::XISelectEvents"),
825 xinput::XI_QUERY_VERSION_REQUEST => RequestInfo::KnownExt("Input::XIQueryVersion"),
826 xinput::XI_QUERY_DEVICE_REQUEST => RequestInfo::KnownExt("Input::XIQueryDevice"),
827 xinput::XI_SET_FOCUS_REQUEST => RequestInfo::KnownExt("Input::XISetFocus"),
828 xinput::XI_GET_FOCUS_REQUEST => RequestInfo::KnownExt("Input::XIGetFocus"),
829 xinput::XI_GRAB_DEVICE_REQUEST => RequestInfo::KnownExt("Input::XIGrabDevice"),
830 xinput::XI_UNGRAB_DEVICE_REQUEST => RequestInfo::KnownExt("Input::XIUngrabDevice"),
831 xinput::XI_ALLOW_EVENTS_REQUEST => RequestInfo::KnownExt("Input::XIAllowEvents"),
832 xinput::XI_PASSIVE_GRAB_DEVICE_REQUEST => RequestInfo::KnownExt("Input::XIPassiveGrabDevice"),
833 xinput::XI_PASSIVE_UNGRAB_DEVICE_REQUEST => RequestInfo::KnownExt("Input::XIPassiveUngrabDevice"),
834 xinput::XI_LIST_PROPERTIES_REQUEST => RequestInfo::KnownExt("Input::XIListProperties"),
835 xinput::XI_CHANGE_PROPERTY_REQUEST => RequestInfo::KnownExt("Input::XIChangeProperty"),
836 xinput::XI_DELETE_PROPERTY_REQUEST => RequestInfo::KnownExt("Input::XIDeleteProperty"),
837 xinput::XI_GET_PROPERTY_REQUEST => RequestInfo::KnownExt("Input::XIGetProperty"),
838 xinput::XI_GET_SELECTED_EVENTS_REQUEST => RequestInfo::KnownExt("Input::XIGetSelectedEvents"),
839 xinput::XI_BARRIER_RELEASE_POINTER_REQUEST => RequestInfo::KnownExt("Input::XIBarrierReleasePointer"),
840 xinput::SEND_EXTENSION_EVENT_REQUEST => RequestInfo::KnownExt("Input::SendExtensionEvent"),
841 _ => RequestInfo::UnknownRequest(Some("Input"), minor_opcode),
842 }
843 }
844 #[cfg(feature = "xkb")]
845 xkb::X11_EXTENSION_NAME => {
846 match minor_opcode {
847 xkb::USE_EXTENSION_REQUEST => RequestInfo::KnownExt("xkb::UseExtension"),
848 xkb::SELECT_EVENTS_REQUEST => RequestInfo::KnownExt("xkb::SelectEvents"),
849 xkb::BELL_REQUEST => RequestInfo::KnownExt("xkb::Bell"),
850 xkb::GET_STATE_REQUEST => RequestInfo::KnownExt("xkb::GetState"),
851 xkb::LATCH_LOCK_STATE_REQUEST => RequestInfo::KnownExt("xkb::LatchLockState"),
852 xkb::GET_CONTROLS_REQUEST => RequestInfo::KnownExt("xkb::GetControls"),
853 xkb::SET_CONTROLS_REQUEST => RequestInfo::KnownExt("xkb::SetControls"),
854 xkb::GET_MAP_REQUEST => RequestInfo::KnownExt("xkb::GetMap"),
855 xkb::SET_MAP_REQUEST => RequestInfo::KnownExt("xkb::SetMap"),
856 xkb::GET_COMPAT_MAP_REQUEST => RequestInfo::KnownExt("xkb::GetCompatMap"),
857 xkb::SET_COMPAT_MAP_REQUEST => RequestInfo::KnownExt("xkb::SetCompatMap"),
858 xkb::GET_INDICATOR_STATE_REQUEST => RequestInfo::KnownExt("xkb::GetIndicatorState"),
859 xkb::GET_INDICATOR_MAP_REQUEST => RequestInfo::KnownExt("xkb::GetIndicatorMap"),
860 xkb::SET_INDICATOR_MAP_REQUEST => RequestInfo::KnownExt("xkb::SetIndicatorMap"),
861 xkb::GET_NAMED_INDICATOR_REQUEST => RequestInfo::KnownExt("xkb::GetNamedIndicator"),
862 xkb::SET_NAMED_INDICATOR_REQUEST => RequestInfo::KnownExt("xkb::SetNamedIndicator"),
863 xkb::GET_NAMES_REQUEST => RequestInfo::KnownExt("xkb::GetNames"),
864 xkb::SET_NAMES_REQUEST => RequestInfo::KnownExt("xkb::SetNames"),
865 xkb::PER_CLIENT_FLAGS_REQUEST => RequestInfo::KnownExt("xkb::PerClientFlags"),
866 xkb::LIST_COMPONENTS_REQUEST => RequestInfo::KnownExt("xkb::ListComponents"),
867 xkb::GET_KBD_BY_NAME_REQUEST => RequestInfo::KnownExt("xkb::GetKbdByName"),
868 xkb::GET_DEVICE_INFO_REQUEST => RequestInfo::KnownExt("xkb::GetDeviceInfo"),
869 xkb::SET_DEVICE_INFO_REQUEST => RequestInfo::KnownExt("xkb::SetDeviceInfo"),
870 xkb::SET_DEBUGGING_FLAGS_REQUEST => RequestInfo::KnownExt("xkb::SetDebuggingFlags"),
871 _ => RequestInfo::UnknownRequest(Some("xkb"), minor_opcode),
872 }
873 }
874 #[cfg(feature = "xprint")]
875 xprint::X11_EXTENSION_NAME => {
876 match minor_opcode {
877 xprint::PRINT_QUERY_VERSION_REQUEST => RequestInfo::KnownExt("XPrint::PrintQueryVersion"),
878 xprint::PRINT_GET_PRINTER_LIST_REQUEST => RequestInfo::KnownExt("XPrint::PrintGetPrinterList"),
879 xprint::PRINT_REHASH_PRINTER_LIST_REQUEST => RequestInfo::KnownExt("XPrint::PrintRehashPrinterList"),
880 xprint::CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("XPrint::CreateContext"),
881 xprint::PRINT_SET_CONTEXT_REQUEST => RequestInfo::KnownExt("XPrint::PrintSetContext"),
882 xprint::PRINT_GET_CONTEXT_REQUEST => RequestInfo::KnownExt("XPrint::PrintGetContext"),
883 xprint::PRINT_DESTROY_CONTEXT_REQUEST => RequestInfo::KnownExt("XPrint::PrintDestroyContext"),
884 xprint::PRINT_GET_SCREEN_OF_CONTEXT_REQUEST => RequestInfo::KnownExt("XPrint::PrintGetScreenOfContext"),
885 xprint::PRINT_START_JOB_REQUEST => RequestInfo::KnownExt("XPrint::PrintStartJob"),
886 xprint::PRINT_END_JOB_REQUEST => RequestInfo::KnownExt("XPrint::PrintEndJob"),
887 xprint::PRINT_START_DOC_REQUEST => RequestInfo::KnownExt("XPrint::PrintStartDoc"),
888 xprint::PRINT_END_DOC_REQUEST => RequestInfo::KnownExt("XPrint::PrintEndDoc"),
889 xprint::PRINT_PUT_DOCUMENT_DATA_REQUEST => RequestInfo::KnownExt("XPrint::PrintPutDocumentData"),
890 xprint::PRINT_GET_DOCUMENT_DATA_REQUEST => RequestInfo::KnownExt("XPrint::PrintGetDocumentData"),
891 xprint::PRINT_START_PAGE_REQUEST => RequestInfo::KnownExt("XPrint::PrintStartPage"),
892 xprint::PRINT_END_PAGE_REQUEST => RequestInfo::KnownExt("XPrint::PrintEndPage"),
893 xprint::PRINT_SELECT_INPUT_REQUEST => RequestInfo::KnownExt("XPrint::PrintSelectInput"),
894 xprint::PRINT_INPUT_SELECTED_REQUEST => RequestInfo::KnownExt("XPrint::PrintInputSelected"),
895 xprint::PRINT_GET_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("XPrint::PrintGetAttributes"),
896 xprint::PRINT_GET_ONE_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("XPrint::PrintGetOneAttributes"),
897 xprint::PRINT_SET_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("XPrint::PrintSetAttributes"),
898 xprint::PRINT_GET_PAGE_DIMENSIONS_REQUEST => RequestInfo::KnownExt("XPrint::PrintGetPageDimensions"),
899 xprint::PRINT_QUERY_SCREENS_REQUEST => RequestInfo::KnownExt("XPrint::PrintQueryScreens"),
900 xprint::PRINT_SET_IMAGE_RESOLUTION_REQUEST => RequestInfo::KnownExt("XPrint::PrintSetImageResolution"),
901 xprint::PRINT_GET_IMAGE_RESOLUTION_REQUEST => RequestInfo::KnownExt("XPrint::PrintGetImageResolution"),
902 _ => RequestInfo::UnknownRequest(Some("XPrint"), minor_opcode),
903 }
904 }
905 #[cfg(feature = "xselinux")]
906 xselinux::X11_EXTENSION_NAME => {
907 match minor_opcode {
908 xselinux::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("SELinux::QueryVersion"),
909 xselinux::SET_DEVICE_CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::SetDeviceCreateContext"),
910 xselinux::GET_DEVICE_CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetDeviceCreateContext"),
911 xselinux::SET_DEVICE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::SetDeviceContext"),
912 xselinux::GET_DEVICE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetDeviceContext"),
913 xselinux::SET_WINDOW_CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::SetWindowCreateContext"),
914 xselinux::GET_WINDOW_CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetWindowCreateContext"),
915 xselinux::GET_WINDOW_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetWindowContext"),
916 xselinux::SET_PROPERTY_CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::SetPropertyCreateContext"),
917 xselinux::GET_PROPERTY_CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetPropertyCreateContext"),
918 xselinux::SET_PROPERTY_USE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::SetPropertyUseContext"),
919 xselinux::GET_PROPERTY_USE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetPropertyUseContext"),
920 xselinux::GET_PROPERTY_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetPropertyContext"),
921 xselinux::GET_PROPERTY_DATA_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetPropertyDataContext"),
922 xselinux::LIST_PROPERTIES_REQUEST => RequestInfo::KnownExt("SELinux::ListProperties"),
923 xselinux::SET_SELECTION_CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::SetSelectionCreateContext"),
924 xselinux::GET_SELECTION_CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetSelectionCreateContext"),
925 xselinux::SET_SELECTION_USE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::SetSelectionUseContext"),
926 xselinux::GET_SELECTION_USE_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetSelectionUseContext"),
927 xselinux::GET_SELECTION_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetSelectionContext"),
928 xselinux::GET_SELECTION_DATA_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetSelectionDataContext"),
929 xselinux::LIST_SELECTIONS_REQUEST => RequestInfo::KnownExt("SELinux::ListSelections"),
930 xselinux::GET_CLIENT_CONTEXT_REQUEST => RequestInfo::KnownExt("SELinux::GetClientContext"),
931 _ => RequestInfo::UnknownRequest(Some("SELinux"), minor_opcode),
932 }
933 }
934 #[cfg(feature = "xtest")]
935 xtest::X11_EXTENSION_NAME => {
936 match minor_opcode {
937 xtest::GET_VERSION_REQUEST => RequestInfo::KnownExt("Test::GetVersion"),
938 xtest::COMPARE_CURSOR_REQUEST => RequestInfo::KnownExt("Test::CompareCursor"),
939 xtest::FAKE_INPUT_REQUEST => RequestInfo::KnownExt("Test::FakeInput"),
940 xtest::GRAB_CONTROL_REQUEST => RequestInfo::KnownExt("Test::GrabControl"),
941 _ => RequestInfo::UnknownRequest(Some("Test"), minor_opcode),
942 }
943 }
944 #[cfg(feature = "xv")]
945 xv::X11_EXTENSION_NAME => {
946 match minor_opcode {
947 xv::QUERY_EXTENSION_REQUEST => RequestInfo::KnownExt("Xv::QueryExtension"),
948 xv::QUERY_ADAPTORS_REQUEST => RequestInfo::KnownExt("Xv::QueryAdaptors"),
949 xv::QUERY_ENCODINGS_REQUEST => RequestInfo::KnownExt("Xv::QueryEncodings"),
950 xv::GRAB_PORT_REQUEST => RequestInfo::KnownExt("Xv::GrabPort"),
951 xv::UNGRAB_PORT_REQUEST => RequestInfo::KnownExt("Xv::UngrabPort"),
952 xv::PUT_VIDEO_REQUEST => RequestInfo::KnownExt("Xv::PutVideo"),
953 xv::PUT_STILL_REQUEST => RequestInfo::KnownExt("Xv::PutStill"),
954 xv::GET_VIDEO_REQUEST => RequestInfo::KnownExt("Xv::GetVideo"),
955 xv::GET_STILL_REQUEST => RequestInfo::KnownExt("Xv::GetStill"),
956 xv::STOP_VIDEO_REQUEST => RequestInfo::KnownExt("Xv::StopVideo"),
957 xv::SELECT_VIDEO_NOTIFY_REQUEST => RequestInfo::KnownExt("Xv::SelectVideoNotify"),
958 xv::SELECT_PORT_NOTIFY_REQUEST => RequestInfo::KnownExt("Xv::SelectPortNotify"),
959 xv::QUERY_BEST_SIZE_REQUEST => RequestInfo::KnownExt("Xv::QueryBestSize"),
960 xv::SET_PORT_ATTRIBUTE_REQUEST => RequestInfo::KnownExt("Xv::SetPortAttribute"),
961 xv::GET_PORT_ATTRIBUTE_REQUEST => RequestInfo::KnownExt("Xv::GetPortAttribute"),
962 xv::QUERY_PORT_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("Xv::QueryPortAttributes"),
963 xv::LIST_IMAGE_FORMATS_REQUEST => RequestInfo::KnownExt("Xv::ListImageFormats"),
964 xv::QUERY_IMAGE_ATTRIBUTES_REQUEST => RequestInfo::KnownExt("Xv::QueryImageAttributes"),
965 xv::PUT_IMAGE_REQUEST => RequestInfo::KnownExt("Xv::PutImage"),
966 xv::SHM_PUT_IMAGE_REQUEST => RequestInfo::KnownExt("Xv::ShmPutImage"),
967 _ => RequestInfo::UnknownRequest(Some("Xv"), minor_opcode),
968 }
969 }
970 #[cfg(feature = "xvmc")]
971 xvmc::X11_EXTENSION_NAME => {
972 match minor_opcode {
973 xvmc::QUERY_VERSION_REQUEST => RequestInfo::KnownExt("XvMC::QueryVersion"),
974 xvmc::LIST_SURFACE_TYPES_REQUEST => RequestInfo::KnownExt("XvMC::ListSurfaceTypes"),
975 xvmc::CREATE_CONTEXT_REQUEST => RequestInfo::KnownExt("XvMC::CreateContext"),
976 xvmc::DESTROY_CONTEXT_REQUEST => RequestInfo::KnownExt("XvMC::DestroyContext"),
977 xvmc::CREATE_SURFACE_REQUEST => RequestInfo::KnownExt("XvMC::CreateSurface"),
978 xvmc::DESTROY_SURFACE_REQUEST => RequestInfo::KnownExt("XvMC::DestroySurface"),
979 xvmc::CREATE_SUBPICTURE_REQUEST => RequestInfo::KnownExt("XvMC::CreateSubpicture"),
980 xvmc::DESTROY_SUBPICTURE_REQUEST => RequestInfo::KnownExt("XvMC::DestroySubpicture"),
981 xvmc::LIST_SUBPICTURE_TYPES_REQUEST => RequestInfo::KnownExt("XvMC::ListSubpictureTypes"),
982 _ => RequestInfo::UnknownRequest(Some("XvMC"), minor_opcode),
983 }
984 }
985 _ => RequestInfo::UnknownExtension(major_opcode, minor_opcode),
986 };
987 (Some(ext_name), info)
988 }
989}
990
991pub fn get_request_name(
996 ext_info_provider: &dyn ExtInfoProvider,
997 major_opcode: u8,
998 minor_opcode: u8,
999) -> Cow<'static, str> {
1000 let (ext_name, info) = get_request_name_internal(ext_info_provider, major_opcode, minor_opcode);
1001 match info {
1002 RequestInfo::Xproto(request) => request.into(),
1003 RequestInfo::KnownExt(ext_and_request) => ext_and_request.into(),
1004 RequestInfo::UnknownRequest(None, opcode) => alloc::format!("xproto::opcode {}", opcode).into(),
1005 RequestInfo::UnknownRequest(Some(ext), opcode) => alloc::format!("{}::opcode {}", ext, opcode).into(),
1006 RequestInfo::UnknownExtension(major_opcode, minor_opcode) => match ext_name {
1007 None => alloc::format!("ext {}::opcode {}", major_opcode, minor_opcode).into(),
1008 Some(ext_name) => alloc::format!("ext {}::opcode {}", ext_name, minor_opcode).into(),
1009 }
1010 }
1011}
1012
1013#[derive(Debug)]
1015#[allow(clippy::large_enum_variant)]
1016#[non_exhaustive]
1017pub enum Request<'input> {
1018 Unknown(RequestHeader, Cow<'input, [u8]>),
1019 CreateWindow(xproto::CreateWindowRequest<'input>),
1020 ChangeWindowAttributes(xproto::ChangeWindowAttributesRequest<'input>),
1021 GetWindowAttributes(xproto::GetWindowAttributesRequest),
1022 DestroyWindow(xproto::DestroyWindowRequest),
1023 DestroySubwindows(xproto::DestroySubwindowsRequest),
1024 ChangeSaveSet(xproto::ChangeSaveSetRequest),
1025 ReparentWindow(xproto::ReparentWindowRequest),
1026 MapWindow(xproto::MapWindowRequest),
1027 MapSubwindows(xproto::MapSubwindowsRequest),
1028 UnmapWindow(xproto::UnmapWindowRequest),
1029 UnmapSubwindows(xproto::UnmapSubwindowsRequest),
1030 ConfigureWindow(xproto::ConfigureWindowRequest<'input>),
1031 CirculateWindow(xproto::CirculateWindowRequest),
1032 GetGeometry(xproto::GetGeometryRequest),
1033 QueryTree(xproto::QueryTreeRequest),
1034 InternAtom(xproto::InternAtomRequest<'input>),
1035 GetAtomName(xproto::GetAtomNameRequest),
1036 ChangeProperty(xproto::ChangePropertyRequest<'input>),
1037 DeleteProperty(xproto::DeletePropertyRequest),
1038 GetProperty(xproto::GetPropertyRequest),
1039 ListProperties(xproto::ListPropertiesRequest),
1040 SetSelectionOwner(xproto::SetSelectionOwnerRequest),
1041 GetSelectionOwner(xproto::GetSelectionOwnerRequest),
1042 ConvertSelection(xproto::ConvertSelectionRequest),
1043 SendEvent(xproto::SendEventRequest<'input>),
1044 GrabPointer(xproto::GrabPointerRequest),
1045 UngrabPointer(xproto::UngrabPointerRequest),
1046 GrabButton(xproto::GrabButtonRequest),
1047 UngrabButton(xproto::UngrabButtonRequest),
1048 ChangeActivePointerGrab(xproto::ChangeActivePointerGrabRequest),
1049 GrabKeyboard(xproto::GrabKeyboardRequest),
1050 UngrabKeyboard(xproto::UngrabKeyboardRequest),
1051 GrabKey(xproto::GrabKeyRequest),
1052 UngrabKey(xproto::UngrabKeyRequest),
1053 AllowEvents(xproto::AllowEventsRequest),
1054 GrabServer(xproto::GrabServerRequest),
1055 UngrabServer(xproto::UngrabServerRequest),
1056 QueryPointer(xproto::QueryPointerRequest),
1057 GetMotionEvents(xproto::GetMotionEventsRequest),
1058 TranslateCoordinates(xproto::TranslateCoordinatesRequest),
1059 WarpPointer(xproto::WarpPointerRequest),
1060 SetInputFocus(xproto::SetInputFocusRequest),
1061 GetInputFocus(xproto::GetInputFocusRequest),
1062 QueryKeymap(xproto::QueryKeymapRequest),
1063 OpenFont(xproto::OpenFontRequest<'input>),
1064 CloseFont(xproto::CloseFontRequest),
1065 QueryFont(xproto::QueryFontRequest),
1066 QueryTextExtents(xproto::QueryTextExtentsRequest<'input>),
1067 ListFonts(xproto::ListFontsRequest<'input>),
1068 ListFontsWithInfo(xproto::ListFontsWithInfoRequest<'input>),
1069 SetFontPath(xproto::SetFontPathRequest<'input>),
1070 GetFontPath(xproto::GetFontPathRequest),
1071 CreatePixmap(xproto::CreatePixmapRequest),
1072 FreePixmap(xproto::FreePixmapRequest),
1073 CreateGC(xproto::CreateGCRequest<'input>),
1074 ChangeGC(xproto::ChangeGCRequest<'input>),
1075 CopyGC(xproto::CopyGCRequest),
1076 SetDashes(xproto::SetDashesRequest<'input>),
1077 SetClipRectangles(xproto::SetClipRectanglesRequest<'input>),
1078 FreeGC(xproto::FreeGCRequest),
1079 ClearArea(xproto::ClearAreaRequest),
1080 CopyArea(xproto::CopyAreaRequest),
1081 CopyPlane(xproto::CopyPlaneRequest),
1082 PolyPoint(xproto::PolyPointRequest<'input>),
1083 PolyLine(xproto::PolyLineRequest<'input>),
1084 PolySegment(xproto::PolySegmentRequest<'input>),
1085 PolyRectangle(xproto::PolyRectangleRequest<'input>),
1086 PolyArc(xproto::PolyArcRequest<'input>),
1087 FillPoly(xproto::FillPolyRequest<'input>),
1088 PolyFillRectangle(xproto::PolyFillRectangleRequest<'input>),
1089 PolyFillArc(xproto::PolyFillArcRequest<'input>),
1090 PutImage(xproto::PutImageRequest<'input>),
1091 GetImage(xproto::GetImageRequest),
1092 PolyText8(xproto::PolyText8Request<'input>),
1093 PolyText16(xproto::PolyText16Request<'input>),
1094 ImageText8(xproto::ImageText8Request<'input>),
1095 ImageText16(xproto::ImageText16Request<'input>),
1096 CreateColormap(xproto::CreateColormapRequest),
1097 FreeColormap(xproto::FreeColormapRequest),
1098 CopyColormapAndFree(xproto::CopyColormapAndFreeRequest),
1099 InstallColormap(xproto::InstallColormapRequest),
1100 UninstallColormap(xproto::UninstallColormapRequest),
1101 ListInstalledColormaps(xproto::ListInstalledColormapsRequest),
1102 AllocColor(xproto::AllocColorRequest),
1103 AllocNamedColor(xproto::AllocNamedColorRequest<'input>),
1104 AllocColorCells(xproto::AllocColorCellsRequest),
1105 AllocColorPlanes(xproto::AllocColorPlanesRequest),
1106 FreeColors(xproto::FreeColorsRequest<'input>),
1107 StoreColors(xproto::StoreColorsRequest<'input>),
1108 StoreNamedColor(xproto::StoreNamedColorRequest<'input>),
1109 QueryColors(xproto::QueryColorsRequest<'input>),
1110 LookupColor(xproto::LookupColorRequest<'input>),
1111 CreateCursor(xproto::CreateCursorRequest),
1112 CreateGlyphCursor(xproto::CreateGlyphCursorRequest),
1113 FreeCursor(xproto::FreeCursorRequest),
1114 RecolorCursor(xproto::RecolorCursorRequest),
1115 QueryBestSize(xproto::QueryBestSizeRequest),
1116 QueryExtension(xproto::QueryExtensionRequest<'input>),
1117 ListExtensions(xproto::ListExtensionsRequest),
1118 ChangeKeyboardMapping(xproto::ChangeKeyboardMappingRequest<'input>),
1119 GetKeyboardMapping(xproto::GetKeyboardMappingRequest),
1120 ChangeKeyboardControl(xproto::ChangeKeyboardControlRequest<'input>),
1121 GetKeyboardControl(xproto::GetKeyboardControlRequest),
1122 Bell(xproto::BellRequest),
1123 ChangePointerControl(xproto::ChangePointerControlRequest),
1124 GetPointerControl(xproto::GetPointerControlRequest),
1125 SetScreenSaver(xproto::SetScreenSaverRequest),
1126 GetScreenSaver(xproto::GetScreenSaverRequest),
1127 ChangeHosts(xproto::ChangeHostsRequest<'input>),
1128 ListHosts(xproto::ListHostsRequest),
1129 SetAccessControl(xproto::SetAccessControlRequest),
1130 SetCloseDownMode(xproto::SetCloseDownModeRequest),
1131 KillClient(xproto::KillClientRequest),
1132 RotateProperties(xproto::RotatePropertiesRequest<'input>),
1133 ForceScreenSaver(xproto::ForceScreenSaverRequest),
1134 SetPointerMapping(xproto::SetPointerMappingRequest<'input>),
1135 GetPointerMapping(xproto::GetPointerMappingRequest),
1136 SetModifierMapping(xproto::SetModifierMappingRequest<'input>),
1137 GetModifierMapping(xproto::GetModifierMappingRequest),
1138 NoOperation(xproto::NoOperationRequest),
1139 BigreqEnable(bigreq::EnableRequest),
1140 #[cfg(feature = "composite")]
1141 CompositeQueryVersion(composite::QueryVersionRequest),
1142 #[cfg(feature = "composite")]
1143 CompositeRedirectWindow(composite::RedirectWindowRequest),
1144 #[cfg(feature = "composite")]
1145 CompositeRedirectSubwindows(composite::RedirectSubwindowsRequest),
1146 #[cfg(feature = "composite")]
1147 CompositeUnredirectWindow(composite::UnredirectWindowRequest),
1148 #[cfg(feature = "composite")]
1149 CompositeUnredirectSubwindows(composite::UnredirectSubwindowsRequest),
1150 #[cfg(feature = "composite")]
1151 CompositeCreateRegionFromBorderClip(composite::CreateRegionFromBorderClipRequest),
1152 #[cfg(feature = "composite")]
1153 CompositeNameWindowPixmap(composite::NameWindowPixmapRequest),
1154 #[cfg(feature = "composite")]
1155 CompositeGetOverlayWindow(composite::GetOverlayWindowRequest),
1156 #[cfg(feature = "composite")]
1157 CompositeReleaseOverlayWindow(composite::ReleaseOverlayWindowRequest),
1158 #[cfg(feature = "damage")]
1159 DamageQueryVersion(damage::QueryVersionRequest),
1160 #[cfg(feature = "damage")]
1161 DamageCreate(damage::CreateRequest),
1162 #[cfg(feature = "damage")]
1163 DamageDestroy(damage::DestroyRequest),
1164 #[cfg(feature = "damage")]
1165 DamageSubtract(damage::SubtractRequest),
1166 #[cfg(feature = "damage")]
1167 DamageAdd(damage::AddRequest),
1168 #[cfg(feature = "dbe")]
1169 DbeQueryVersion(dbe::QueryVersionRequest),
1170 #[cfg(feature = "dbe")]
1171 DbeAllocateBackBuffer(dbe::AllocateBackBufferRequest),
1172 #[cfg(feature = "dbe")]
1173 DbeDeallocateBackBuffer(dbe::DeallocateBackBufferRequest),
1174 #[cfg(feature = "dbe")]
1175 DbeSwapBuffers(dbe::SwapBuffersRequest<'input>),
1176 #[cfg(feature = "dbe")]
1177 DbeBeginIdiom(dbe::BeginIdiomRequest),
1178 #[cfg(feature = "dbe")]
1179 DbeEndIdiom(dbe::EndIdiomRequest),
1180 #[cfg(feature = "dbe")]
1181 DbeGetVisualInfo(dbe::GetVisualInfoRequest<'input>),
1182 #[cfg(feature = "dbe")]
1183 DbeGetBackBufferAttributes(dbe::GetBackBufferAttributesRequest),
1184 #[cfg(feature = "dpms")]
1185 DpmsGetVersion(dpms::GetVersionRequest),
1186 #[cfg(feature = "dpms")]
1187 DpmsCapable(dpms::CapableRequest),
1188 #[cfg(feature = "dpms")]
1189 DpmsGetTimeouts(dpms::GetTimeoutsRequest),
1190 #[cfg(feature = "dpms")]
1191 DpmsSetTimeouts(dpms::SetTimeoutsRequest),
1192 #[cfg(feature = "dpms")]
1193 DpmsEnable(dpms::EnableRequest),
1194 #[cfg(feature = "dpms")]
1195 DpmsDisable(dpms::DisableRequest),
1196 #[cfg(feature = "dpms")]
1197 DpmsForceLevel(dpms::ForceLevelRequest),
1198 #[cfg(feature = "dpms")]
1199 DpmsInfo(dpms::InfoRequest),
1200 #[cfg(feature = "dpms")]
1201 DpmsSelectInput(dpms::SelectInputRequest),
1202 #[cfg(feature = "dri2")]
1203 Dri2QueryVersion(dri2::QueryVersionRequest),
1204 #[cfg(feature = "dri2")]
1205 Dri2Connect(dri2::ConnectRequest),
1206 #[cfg(feature = "dri2")]
1207 Dri2Authenticate(dri2::AuthenticateRequest),
1208 #[cfg(feature = "dri2")]
1209 Dri2CreateDrawable(dri2::CreateDrawableRequest),
1210 #[cfg(feature = "dri2")]
1211 Dri2DestroyDrawable(dri2::DestroyDrawableRequest),
1212 #[cfg(feature = "dri2")]
1213 Dri2GetBuffers(dri2::GetBuffersRequest<'input>),
1214 #[cfg(feature = "dri2")]
1215 Dri2CopyRegion(dri2::CopyRegionRequest),
1216 #[cfg(feature = "dri2")]
1217 Dri2GetBuffersWithFormat(dri2::GetBuffersWithFormatRequest<'input>),
1218 #[cfg(feature = "dri2")]
1219 Dri2SwapBuffers(dri2::SwapBuffersRequest),
1220 #[cfg(feature = "dri2")]
1221 Dri2GetMSC(dri2::GetMSCRequest),
1222 #[cfg(feature = "dri2")]
1223 Dri2WaitMSC(dri2::WaitMSCRequest),
1224 #[cfg(feature = "dri2")]
1225 Dri2WaitSBC(dri2::WaitSBCRequest),
1226 #[cfg(feature = "dri2")]
1227 Dri2SwapInterval(dri2::SwapIntervalRequest),
1228 #[cfg(feature = "dri2")]
1229 Dri2GetParam(dri2::GetParamRequest),
1230 #[cfg(feature = "dri3")]
1231 Dri3QueryVersion(dri3::QueryVersionRequest),
1232 #[cfg(feature = "dri3")]
1233 Dri3Open(dri3::OpenRequest),
1234 #[cfg(feature = "dri3")]
1235 Dri3PixmapFromBuffer(dri3::PixmapFromBufferRequest),
1236 #[cfg(feature = "dri3")]
1237 Dri3BufferFromPixmap(dri3::BufferFromPixmapRequest),
1238 #[cfg(feature = "dri3")]
1239 Dri3FenceFromFD(dri3::FenceFromFDRequest),
1240 #[cfg(feature = "dri3")]
1241 Dri3FDFromFence(dri3::FDFromFenceRequest),
1242 #[cfg(feature = "dri3")]
1243 Dri3GetSupportedModifiers(dri3::GetSupportedModifiersRequest),
1244 #[cfg(feature = "dri3")]
1245 Dri3PixmapFromBuffers(dri3::PixmapFromBuffersRequest),
1246 #[cfg(feature = "dri3")]
1247 Dri3BuffersFromPixmap(dri3::BuffersFromPixmapRequest),
1248 #[cfg(feature = "dri3")]
1249 Dri3SetDRMDeviceInUse(dri3::SetDRMDeviceInUseRequest),
1250 #[cfg(feature = "dri3")]
1251 Dri3ImportSyncobj(dri3::ImportSyncobjRequest),
1252 #[cfg(feature = "dri3")]
1253 Dri3FreeSyncobj(dri3::FreeSyncobjRequest),
1254 GeQueryVersion(ge::QueryVersionRequest),
1255 #[cfg(feature = "glx")]
1256 GlxRender(glx::RenderRequest<'input>),
1257 #[cfg(feature = "glx")]
1258 GlxRenderLarge(glx::RenderLargeRequest<'input>),
1259 #[cfg(feature = "glx")]
1260 GlxCreateContext(glx::CreateContextRequest),
1261 #[cfg(feature = "glx")]
1262 GlxDestroyContext(glx::DestroyContextRequest),
1263 #[cfg(feature = "glx")]
1264 GlxMakeCurrent(glx::MakeCurrentRequest),
1265 #[cfg(feature = "glx")]
1266 GlxIsDirect(glx::IsDirectRequest),
1267 #[cfg(feature = "glx")]
1268 GlxQueryVersion(glx::QueryVersionRequest),
1269 #[cfg(feature = "glx")]
1270 GlxWaitGL(glx::WaitGLRequest),
1271 #[cfg(feature = "glx")]
1272 GlxWaitX(glx::WaitXRequest),
1273 #[cfg(feature = "glx")]
1274 GlxCopyContext(glx::CopyContextRequest),
1275 #[cfg(feature = "glx")]
1276 GlxSwapBuffers(glx::SwapBuffersRequest),
1277 #[cfg(feature = "glx")]
1278 GlxUseXFont(glx::UseXFontRequest),
1279 #[cfg(feature = "glx")]
1280 GlxCreateGLXPixmap(glx::CreateGLXPixmapRequest),
1281 #[cfg(feature = "glx")]
1282 GlxGetVisualConfigs(glx::GetVisualConfigsRequest),
1283 #[cfg(feature = "glx")]
1284 GlxDestroyGLXPixmap(glx::DestroyGLXPixmapRequest),
1285 #[cfg(feature = "glx")]
1286 GlxVendorPrivate(glx::VendorPrivateRequest<'input>),
1287 #[cfg(feature = "glx")]
1288 GlxVendorPrivateWithReply(glx::VendorPrivateWithReplyRequest<'input>),
1289 #[cfg(feature = "glx")]
1290 GlxQueryExtensionsString(glx::QueryExtensionsStringRequest),
1291 #[cfg(feature = "glx")]
1292 GlxQueryServerString(glx::QueryServerStringRequest),
1293 #[cfg(feature = "glx")]
1294 GlxClientInfo(glx::ClientInfoRequest<'input>),
1295 #[cfg(feature = "glx")]
1296 GlxGetFBConfigs(glx::GetFBConfigsRequest),
1297 #[cfg(feature = "glx")]
1298 GlxCreatePixmap(glx::CreatePixmapRequest<'input>),
1299 #[cfg(feature = "glx")]
1300 GlxDestroyPixmap(glx::DestroyPixmapRequest),
1301 #[cfg(feature = "glx")]
1302 GlxCreateNewContext(glx::CreateNewContextRequest),
1303 #[cfg(feature = "glx")]
1304 GlxQueryContext(glx::QueryContextRequest),
1305 #[cfg(feature = "glx")]
1306 GlxMakeContextCurrent(glx::MakeContextCurrentRequest),
1307 #[cfg(feature = "glx")]
1308 GlxCreatePbuffer(glx::CreatePbufferRequest<'input>),
1309 #[cfg(feature = "glx")]
1310 GlxDestroyPbuffer(glx::DestroyPbufferRequest),
1311 #[cfg(feature = "glx")]
1312 GlxGetDrawableAttributes(glx::GetDrawableAttributesRequest),
1313 #[cfg(feature = "glx")]
1314 GlxChangeDrawableAttributes(glx::ChangeDrawableAttributesRequest<'input>),
1315 #[cfg(feature = "glx")]
1316 GlxCreateWindow(glx::CreateWindowRequest<'input>),
1317 #[cfg(feature = "glx")]
1318 GlxDeleteWindow(glx::DeleteWindowRequest),
1319 #[cfg(feature = "glx")]
1320 GlxSetClientInfoARB(glx::SetClientInfoARBRequest<'input>),
1321 #[cfg(feature = "glx")]
1322 GlxCreateContextAttribsARB(glx::CreateContextAttribsARBRequest<'input>),
1323 #[cfg(feature = "glx")]
1324 GlxSetClientInfo2ARB(glx::SetClientInfo2ARBRequest<'input>),
1325 #[cfg(feature = "glx")]
1326 GlxNewList(glx::NewListRequest),
1327 #[cfg(feature = "glx")]
1328 GlxEndList(glx::EndListRequest),
1329 #[cfg(feature = "glx")]
1330 GlxDeleteLists(glx::DeleteListsRequest),
1331 #[cfg(feature = "glx")]
1332 GlxGenLists(glx::GenListsRequest),
1333 #[cfg(feature = "glx")]
1334 GlxFeedbackBuffer(glx::FeedbackBufferRequest),
1335 #[cfg(feature = "glx")]
1336 GlxSelectBuffer(glx::SelectBufferRequest),
1337 #[cfg(feature = "glx")]
1338 GlxRenderMode(glx::RenderModeRequest),
1339 #[cfg(feature = "glx")]
1340 GlxFinish(glx::FinishRequest),
1341 #[cfg(feature = "glx")]
1342 GlxPixelStoref(glx::PixelStorefRequest),
1343 #[cfg(feature = "glx")]
1344 GlxPixelStorei(glx::PixelStoreiRequest),
1345 #[cfg(feature = "glx")]
1346 GlxReadPixels(glx::ReadPixelsRequest),
1347 #[cfg(feature = "glx")]
1348 GlxGetBooleanv(glx::GetBooleanvRequest),
1349 #[cfg(feature = "glx")]
1350 GlxGetClipPlane(glx::GetClipPlaneRequest),
1351 #[cfg(feature = "glx")]
1352 GlxGetDoublev(glx::GetDoublevRequest),
1353 #[cfg(feature = "glx")]
1354 GlxGetError(glx::GetErrorRequest),
1355 #[cfg(feature = "glx")]
1356 GlxGetFloatv(glx::GetFloatvRequest),
1357 #[cfg(feature = "glx")]
1358 GlxGetIntegerv(glx::GetIntegervRequest),
1359 #[cfg(feature = "glx")]
1360 GlxGetLightfv(glx::GetLightfvRequest),
1361 #[cfg(feature = "glx")]
1362 GlxGetLightiv(glx::GetLightivRequest),
1363 #[cfg(feature = "glx")]
1364 GlxGetMapdv(glx::GetMapdvRequest),
1365 #[cfg(feature = "glx")]
1366 GlxGetMapfv(glx::GetMapfvRequest),
1367 #[cfg(feature = "glx")]
1368 GlxGetMapiv(glx::GetMapivRequest),
1369 #[cfg(feature = "glx")]
1370 GlxGetMaterialfv(glx::GetMaterialfvRequest),
1371 #[cfg(feature = "glx")]
1372 GlxGetMaterialiv(glx::GetMaterialivRequest),
1373 #[cfg(feature = "glx")]
1374 GlxGetPixelMapfv(glx::GetPixelMapfvRequest),
1375 #[cfg(feature = "glx")]
1376 GlxGetPixelMapuiv(glx::GetPixelMapuivRequest),
1377 #[cfg(feature = "glx")]
1378 GlxGetPixelMapusv(glx::GetPixelMapusvRequest),
1379 #[cfg(feature = "glx")]
1380 GlxGetPolygonStipple(glx::GetPolygonStippleRequest),
1381 #[cfg(feature = "glx")]
1382 GlxGetString(glx::GetStringRequest),
1383 #[cfg(feature = "glx")]
1384 GlxGetTexEnvfv(glx::GetTexEnvfvRequest),
1385 #[cfg(feature = "glx")]
1386 GlxGetTexEnviv(glx::GetTexEnvivRequest),
1387 #[cfg(feature = "glx")]
1388 GlxGetTexGendv(glx::GetTexGendvRequest),
1389 #[cfg(feature = "glx")]
1390 GlxGetTexGenfv(glx::GetTexGenfvRequest),
1391 #[cfg(feature = "glx")]
1392 GlxGetTexGeniv(glx::GetTexGenivRequest),
1393 #[cfg(feature = "glx")]
1394 GlxGetTexImage(glx::GetTexImageRequest),
1395 #[cfg(feature = "glx")]
1396 GlxGetTexParameterfv(glx::GetTexParameterfvRequest),
1397 #[cfg(feature = "glx")]
1398 GlxGetTexParameteriv(glx::GetTexParameterivRequest),
1399 #[cfg(feature = "glx")]
1400 GlxGetTexLevelParameterfv(glx::GetTexLevelParameterfvRequest),
1401 #[cfg(feature = "glx")]
1402 GlxGetTexLevelParameteriv(glx::GetTexLevelParameterivRequest),
1403 #[cfg(feature = "glx")]
1404 GlxIsEnabled(glx::IsEnabledRequest),
1405 #[cfg(feature = "glx")]
1406 GlxIsList(glx::IsListRequest),
1407 #[cfg(feature = "glx")]
1408 GlxFlush(glx::FlushRequest),
1409 #[cfg(feature = "glx")]
1410 GlxAreTexturesResident(glx::AreTexturesResidentRequest<'input>),
1411 #[cfg(feature = "glx")]
1412 GlxDeleteTextures(glx::DeleteTexturesRequest<'input>),
1413 #[cfg(feature = "glx")]
1414 GlxGenTextures(glx::GenTexturesRequest),
1415 #[cfg(feature = "glx")]
1416 GlxIsTexture(glx::IsTextureRequest),
1417 #[cfg(feature = "glx")]
1418 GlxGetColorTable(glx::GetColorTableRequest),
1419 #[cfg(feature = "glx")]
1420 GlxGetColorTableParameterfv(glx::GetColorTableParameterfvRequest),
1421 #[cfg(feature = "glx")]
1422 GlxGetColorTableParameteriv(glx::GetColorTableParameterivRequest),
1423 #[cfg(feature = "glx")]
1424 GlxGetConvolutionFilter(glx::GetConvolutionFilterRequest),
1425 #[cfg(feature = "glx")]
1426 GlxGetConvolutionParameterfv(glx::GetConvolutionParameterfvRequest),
1427 #[cfg(feature = "glx")]
1428 GlxGetConvolutionParameteriv(glx::GetConvolutionParameterivRequest),
1429 #[cfg(feature = "glx")]
1430 GlxGetSeparableFilter(glx::GetSeparableFilterRequest),
1431 #[cfg(feature = "glx")]
1432 GlxGetHistogram(glx::GetHistogramRequest),
1433 #[cfg(feature = "glx")]
1434 GlxGetHistogramParameterfv(glx::GetHistogramParameterfvRequest),
1435 #[cfg(feature = "glx")]
1436 GlxGetHistogramParameteriv(glx::GetHistogramParameterivRequest),
1437 #[cfg(feature = "glx")]
1438 GlxGetMinmax(glx::GetMinmaxRequest),
1439 #[cfg(feature = "glx")]
1440 GlxGetMinmaxParameterfv(glx::GetMinmaxParameterfvRequest),
1441 #[cfg(feature = "glx")]
1442 GlxGetMinmaxParameteriv(glx::GetMinmaxParameterivRequest),
1443 #[cfg(feature = "glx")]
1444 GlxGetCompressedTexImageARB(glx::GetCompressedTexImageARBRequest),
1445 #[cfg(feature = "glx")]
1446 GlxDeleteQueriesARB(glx::DeleteQueriesARBRequest<'input>),
1447 #[cfg(feature = "glx")]
1448 GlxGenQueriesARB(glx::GenQueriesARBRequest),
1449 #[cfg(feature = "glx")]
1450 GlxIsQueryARB(glx::IsQueryARBRequest),
1451 #[cfg(feature = "glx")]
1452 GlxGetQueryivARB(glx::GetQueryivARBRequest),
1453 #[cfg(feature = "glx")]
1454 GlxGetQueryObjectivARB(glx::GetQueryObjectivARBRequest),
1455 #[cfg(feature = "glx")]
1456 GlxGetQueryObjectuivARB(glx::GetQueryObjectuivARBRequest),
1457 #[cfg(feature = "present")]
1458 PresentQueryVersion(present::QueryVersionRequest),
1459 #[cfg(feature = "present")]
1460 PresentPixmap(present::PixmapRequest<'input>),
1461 #[cfg(feature = "present")]
1462 PresentNotifyMSC(present::NotifyMSCRequest),
1463 #[cfg(feature = "present")]
1464 PresentSelectInput(present::SelectInputRequest),
1465 #[cfg(feature = "present")]
1466 PresentQueryCapabilities(present::QueryCapabilitiesRequest),
1467 #[cfg(feature = "present")]
1468 PresentPixmapSynced(present::PixmapSyncedRequest<'input>),
1469 #[cfg(feature = "randr")]
1470 RandrQueryVersion(randr::QueryVersionRequest),
1471 #[cfg(feature = "randr")]
1472 RandrSetScreenConfig(randr::SetScreenConfigRequest),
1473 #[cfg(feature = "randr")]
1474 RandrSelectInput(randr::SelectInputRequest),
1475 #[cfg(feature = "randr")]
1476 RandrGetScreenInfo(randr::GetScreenInfoRequest),
1477 #[cfg(feature = "randr")]
1478 RandrGetScreenSizeRange(randr::GetScreenSizeRangeRequest),
1479 #[cfg(feature = "randr")]
1480 RandrSetScreenSize(randr::SetScreenSizeRequest),
1481 #[cfg(feature = "randr")]
1482 RandrGetScreenResources(randr::GetScreenResourcesRequest),
1483 #[cfg(feature = "randr")]
1484 RandrGetOutputInfo(randr::GetOutputInfoRequest),
1485 #[cfg(feature = "randr")]
1486 RandrListOutputProperties(randr::ListOutputPropertiesRequest),
1487 #[cfg(feature = "randr")]
1488 RandrQueryOutputProperty(randr::QueryOutputPropertyRequest),
1489 #[cfg(feature = "randr")]
1490 RandrConfigureOutputProperty(randr::ConfigureOutputPropertyRequest<'input>),
1491 #[cfg(feature = "randr")]
1492 RandrChangeOutputProperty(randr::ChangeOutputPropertyRequest<'input>),
1493 #[cfg(feature = "randr")]
1494 RandrDeleteOutputProperty(randr::DeleteOutputPropertyRequest),
1495 #[cfg(feature = "randr")]
1496 RandrGetOutputProperty(randr::GetOutputPropertyRequest),
1497 #[cfg(feature = "randr")]
1498 RandrCreateMode(randr::CreateModeRequest<'input>),
1499 #[cfg(feature = "randr")]
1500 RandrDestroyMode(randr::DestroyModeRequest),
1501 #[cfg(feature = "randr")]
1502 RandrAddOutputMode(randr::AddOutputModeRequest),
1503 #[cfg(feature = "randr")]
1504 RandrDeleteOutputMode(randr::DeleteOutputModeRequest),
1505 #[cfg(feature = "randr")]
1506 RandrGetCrtcInfo(randr::GetCrtcInfoRequest),
1507 #[cfg(feature = "randr")]
1508 RandrSetCrtcConfig(randr::SetCrtcConfigRequest<'input>),
1509 #[cfg(feature = "randr")]
1510 RandrGetCrtcGammaSize(randr::GetCrtcGammaSizeRequest),
1511 #[cfg(feature = "randr")]
1512 RandrGetCrtcGamma(randr::GetCrtcGammaRequest),
1513 #[cfg(feature = "randr")]
1514 RandrSetCrtcGamma(randr::SetCrtcGammaRequest<'input>),
1515 #[cfg(feature = "randr")]
1516 RandrGetScreenResourcesCurrent(randr::GetScreenResourcesCurrentRequest),
1517 #[cfg(feature = "randr")]
1518 RandrSetCrtcTransform(randr::SetCrtcTransformRequest<'input>),
1519 #[cfg(feature = "randr")]
1520 RandrGetCrtcTransform(randr::GetCrtcTransformRequest),
1521 #[cfg(feature = "randr")]
1522 RandrGetPanning(randr::GetPanningRequest),
1523 #[cfg(feature = "randr")]
1524 RandrSetPanning(randr::SetPanningRequest),
1525 #[cfg(feature = "randr")]
1526 RandrSetOutputPrimary(randr::SetOutputPrimaryRequest),
1527 #[cfg(feature = "randr")]
1528 RandrGetOutputPrimary(randr::GetOutputPrimaryRequest),
1529 #[cfg(feature = "randr")]
1530 RandrGetProviders(randr::GetProvidersRequest),
1531 #[cfg(feature = "randr")]
1532 RandrGetProviderInfo(randr::GetProviderInfoRequest),
1533 #[cfg(feature = "randr")]
1534 RandrSetProviderOffloadSink(randr::SetProviderOffloadSinkRequest),
1535 #[cfg(feature = "randr")]
1536 RandrSetProviderOutputSource(randr::SetProviderOutputSourceRequest),
1537 #[cfg(feature = "randr")]
1538 RandrListProviderProperties(randr::ListProviderPropertiesRequest),
1539 #[cfg(feature = "randr")]
1540 RandrQueryProviderProperty(randr::QueryProviderPropertyRequest),
1541 #[cfg(feature = "randr")]
1542 RandrConfigureProviderProperty(randr::ConfigureProviderPropertyRequest<'input>),
1543 #[cfg(feature = "randr")]
1544 RandrChangeProviderProperty(randr::ChangeProviderPropertyRequest<'input>),
1545 #[cfg(feature = "randr")]
1546 RandrDeleteProviderProperty(randr::DeleteProviderPropertyRequest),
1547 #[cfg(feature = "randr")]
1548 RandrGetProviderProperty(randr::GetProviderPropertyRequest),
1549 #[cfg(feature = "randr")]
1550 RandrGetMonitors(randr::GetMonitorsRequest),
1551 #[cfg(feature = "randr")]
1552 RandrSetMonitor(randr::SetMonitorRequest),
1553 #[cfg(feature = "randr")]
1554 RandrDeleteMonitor(randr::DeleteMonitorRequest),
1555 #[cfg(feature = "randr")]
1556 RandrCreateLease(randr::CreateLeaseRequest<'input>),
1557 #[cfg(feature = "randr")]
1558 RandrFreeLease(randr::FreeLeaseRequest),
1559 #[cfg(feature = "record")]
1560 RecordQueryVersion(record::QueryVersionRequest),
1561 #[cfg(feature = "record")]
1562 RecordCreateContext(record::CreateContextRequest<'input>),
1563 #[cfg(feature = "record")]
1564 RecordRegisterClients(record::RegisterClientsRequest<'input>),
1565 #[cfg(feature = "record")]
1566 RecordUnregisterClients(record::UnregisterClientsRequest<'input>),
1567 #[cfg(feature = "record")]
1568 RecordGetContext(record::GetContextRequest),
1569 #[cfg(feature = "record")]
1570 RecordEnableContext(record::EnableContextRequest),
1571 #[cfg(feature = "record")]
1572 RecordDisableContext(record::DisableContextRequest),
1573 #[cfg(feature = "record")]
1574 RecordFreeContext(record::FreeContextRequest),
1575 #[cfg(feature = "render")]
1576 RenderQueryVersion(render::QueryVersionRequest),
1577 #[cfg(feature = "render")]
1578 RenderQueryPictFormats(render::QueryPictFormatsRequest),
1579 #[cfg(feature = "render")]
1580 RenderQueryPictIndexValues(render::QueryPictIndexValuesRequest),
1581 #[cfg(feature = "render")]
1582 RenderCreatePicture(render::CreatePictureRequest<'input>),
1583 #[cfg(feature = "render")]
1584 RenderChangePicture(render::ChangePictureRequest<'input>),
1585 #[cfg(feature = "render")]
1586 RenderSetPictureClipRectangles(render::SetPictureClipRectanglesRequest<'input>),
1587 #[cfg(feature = "render")]
1588 RenderFreePicture(render::FreePictureRequest),
1589 #[cfg(feature = "render")]
1590 RenderComposite(render::CompositeRequest),
1591 #[cfg(feature = "render")]
1592 RenderTrapezoids(render::TrapezoidsRequest<'input>),
1593 #[cfg(feature = "render")]
1594 RenderTriangles(render::TrianglesRequest<'input>),
1595 #[cfg(feature = "render")]
1596 RenderTriStrip(render::TriStripRequest<'input>),
1597 #[cfg(feature = "render")]
1598 RenderTriFan(render::TriFanRequest<'input>),
1599 #[cfg(feature = "render")]
1600 RenderCreateGlyphSet(render::CreateGlyphSetRequest),
1601 #[cfg(feature = "render")]
1602 RenderReferenceGlyphSet(render::ReferenceGlyphSetRequest),
1603 #[cfg(feature = "render")]
1604 RenderFreeGlyphSet(render::FreeGlyphSetRequest),
1605 #[cfg(feature = "render")]
1606 RenderAddGlyphs(render::AddGlyphsRequest<'input>),
1607 #[cfg(feature = "render")]
1608 RenderFreeGlyphs(render::FreeGlyphsRequest<'input>),
1609 #[cfg(feature = "render")]
1610 RenderCompositeGlyphs8(render::CompositeGlyphs8Request<'input>),
1611 #[cfg(feature = "render")]
1612 RenderCompositeGlyphs16(render::CompositeGlyphs16Request<'input>),
1613 #[cfg(feature = "render")]
1614 RenderCompositeGlyphs32(render::CompositeGlyphs32Request<'input>),
1615 #[cfg(feature = "render")]
1616 RenderFillRectangles(render::FillRectanglesRequest<'input>),
1617 #[cfg(feature = "render")]
1618 RenderCreateCursor(render::CreateCursorRequest),
1619 #[cfg(feature = "render")]
1620 RenderSetPictureTransform(render::SetPictureTransformRequest),
1621 #[cfg(feature = "render")]
1622 RenderQueryFilters(render::QueryFiltersRequest),
1623 #[cfg(feature = "render")]
1624 RenderSetPictureFilter(render::SetPictureFilterRequest<'input>),
1625 #[cfg(feature = "render")]
1626 RenderCreateAnimCursor(render::CreateAnimCursorRequest<'input>),
1627 #[cfg(feature = "render")]
1628 RenderAddTraps(render::AddTrapsRequest<'input>),
1629 #[cfg(feature = "render")]
1630 RenderCreateSolidFill(render::CreateSolidFillRequest),
1631 #[cfg(feature = "render")]
1632 RenderCreateLinearGradient(render::CreateLinearGradientRequest<'input>),
1633 #[cfg(feature = "render")]
1634 RenderCreateRadialGradient(render::CreateRadialGradientRequest<'input>),
1635 #[cfg(feature = "render")]
1636 RenderCreateConicalGradient(render::CreateConicalGradientRequest<'input>),
1637 #[cfg(feature = "res")]
1638 ResQueryVersion(res::QueryVersionRequest),
1639 #[cfg(feature = "res")]
1640 ResQueryClients(res::QueryClientsRequest),
1641 #[cfg(feature = "res")]
1642 ResQueryClientResources(res::QueryClientResourcesRequest),
1643 #[cfg(feature = "res")]
1644 ResQueryClientPixmapBytes(res::QueryClientPixmapBytesRequest),
1645 #[cfg(feature = "res")]
1646 ResQueryClientIds(res::QueryClientIdsRequest<'input>),
1647 #[cfg(feature = "res")]
1648 ResQueryResourceBytes(res::QueryResourceBytesRequest<'input>),
1649 #[cfg(feature = "screensaver")]
1650 ScreensaverQueryVersion(screensaver::QueryVersionRequest),
1651 #[cfg(feature = "screensaver")]
1652 ScreensaverQueryInfo(screensaver::QueryInfoRequest),
1653 #[cfg(feature = "screensaver")]
1654 ScreensaverSelectInput(screensaver::SelectInputRequest),
1655 #[cfg(feature = "screensaver")]
1656 ScreensaverSetAttributes(screensaver::SetAttributesRequest<'input>),
1657 #[cfg(feature = "screensaver")]
1658 ScreensaverUnsetAttributes(screensaver::UnsetAttributesRequest),
1659 #[cfg(feature = "screensaver")]
1660 ScreensaverSuspend(screensaver::SuspendRequest),
1661 #[cfg(feature = "shape")]
1662 ShapeQueryVersion(shape::QueryVersionRequest),
1663 #[cfg(feature = "shape")]
1664 ShapeRectangles(shape::RectanglesRequest<'input>),
1665 #[cfg(feature = "shape")]
1666 ShapeMask(shape::MaskRequest),
1667 #[cfg(feature = "shape")]
1668 ShapeCombine(shape::CombineRequest),
1669 #[cfg(feature = "shape")]
1670 ShapeOffset(shape::OffsetRequest),
1671 #[cfg(feature = "shape")]
1672 ShapeQueryExtents(shape::QueryExtentsRequest),
1673 #[cfg(feature = "shape")]
1674 ShapeSelectInput(shape::SelectInputRequest),
1675 #[cfg(feature = "shape")]
1676 ShapeInputSelected(shape::InputSelectedRequest),
1677 #[cfg(feature = "shape")]
1678 ShapeGetRectangles(shape::GetRectanglesRequest),
1679 #[cfg(feature = "shm")]
1680 ShmQueryVersion(shm::QueryVersionRequest),
1681 #[cfg(feature = "shm")]
1682 ShmAttach(shm::AttachRequest),
1683 #[cfg(feature = "shm")]
1684 ShmDetach(shm::DetachRequest),
1685 #[cfg(feature = "shm")]
1686 ShmPutImage(shm::PutImageRequest),
1687 #[cfg(feature = "shm")]
1688 ShmGetImage(shm::GetImageRequest),
1689 #[cfg(feature = "shm")]
1690 ShmCreatePixmap(shm::CreatePixmapRequest),
1691 #[cfg(feature = "shm")]
1692 ShmAttachFd(shm::AttachFdRequest),
1693 #[cfg(feature = "shm")]
1694 ShmCreateSegment(shm::CreateSegmentRequest),
1695 #[cfg(feature = "sync")]
1696 SyncInitialize(sync::InitializeRequest),
1697 #[cfg(feature = "sync")]
1698 SyncListSystemCounters(sync::ListSystemCountersRequest),
1699 #[cfg(feature = "sync")]
1700 SyncCreateCounter(sync::CreateCounterRequest),
1701 #[cfg(feature = "sync")]
1702 SyncDestroyCounter(sync::DestroyCounterRequest),
1703 #[cfg(feature = "sync")]
1704 SyncQueryCounter(sync::QueryCounterRequest),
1705 #[cfg(feature = "sync")]
1706 SyncAwait(sync::AwaitRequest<'input>),
1707 #[cfg(feature = "sync")]
1708 SyncChangeCounter(sync::ChangeCounterRequest),
1709 #[cfg(feature = "sync")]
1710 SyncSetCounter(sync::SetCounterRequest),
1711 #[cfg(feature = "sync")]
1712 SyncCreateAlarm(sync::CreateAlarmRequest<'input>),
1713 #[cfg(feature = "sync")]
1714 SyncChangeAlarm(sync::ChangeAlarmRequest<'input>),
1715 #[cfg(feature = "sync")]
1716 SyncDestroyAlarm(sync::DestroyAlarmRequest),
1717 #[cfg(feature = "sync")]
1718 SyncQueryAlarm(sync::QueryAlarmRequest),
1719 #[cfg(feature = "sync")]
1720 SyncSetPriority(sync::SetPriorityRequest),
1721 #[cfg(feature = "sync")]
1722 SyncGetPriority(sync::GetPriorityRequest),
1723 #[cfg(feature = "sync")]
1724 SyncCreateFence(sync::CreateFenceRequest),
1725 #[cfg(feature = "sync")]
1726 SyncTriggerFence(sync::TriggerFenceRequest),
1727 #[cfg(feature = "sync")]
1728 SyncResetFence(sync::ResetFenceRequest),
1729 #[cfg(feature = "sync")]
1730 SyncDestroyFence(sync::DestroyFenceRequest),
1731 #[cfg(feature = "sync")]
1732 SyncQueryFence(sync::QueryFenceRequest),
1733 #[cfg(feature = "sync")]
1734 SyncAwaitFence(sync::AwaitFenceRequest<'input>),
1735 XcMiscGetVersion(xc_misc::GetVersionRequest),
1736 XcMiscGetXIDRange(xc_misc::GetXIDRangeRequest),
1737 XcMiscGetXIDList(xc_misc::GetXIDListRequest),
1738 #[cfg(feature = "xevie")]
1739 XevieQueryVersion(xevie::QueryVersionRequest),
1740 #[cfg(feature = "xevie")]
1741 XevieStart(xevie::StartRequest),
1742 #[cfg(feature = "xevie")]
1743 XevieEnd(xevie::EndRequest),
1744 #[cfg(feature = "xevie")]
1745 XevieSend(xevie::SendRequest),
1746 #[cfg(feature = "xevie")]
1747 XevieSelectInput(xevie::SelectInputRequest),
1748 #[cfg(feature = "xf86dri")]
1749 Xf86driQueryVersion(xf86dri::QueryVersionRequest),
1750 #[cfg(feature = "xf86dri")]
1751 Xf86driQueryDirectRenderingCapable(xf86dri::QueryDirectRenderingCapableRequest),
1752 #[cfg(feature = "xf86dri")]
1753 Xf86driOpenConnection(xf86dri::OpenConnectionRequest),
1754 #[cfg(feature = "xf86dri")]
1755 Xf86driCloseConnection(xf86dri::CloseConnectionRequest),
1756 #[cfg(feature = "xf86dri")]
1757 Xf86driGetClientDriverName(xf86dri::GetClientDriverNameRequest),
1758 #[cfg(feature = "xf86dri")]
1759 Xf86driCreateContext(xf86dri::CreateContextRequest),
1760 #[cfg(feature = "xf86dri")]
1761 Xf86driDestroyContext(xf86dri::DestroyContextRequest),
1762 #[cfg(feature = "xf86dri")]
1763 Xf86driCreateDrawable(xf86dri::CreateDrawableRequest),
1764 #[cfg(feature = "xf86dri")]
1765 Xf86driDestroyDrawable(xf86dri::DestroyDrawableRequest),
1766 #[cfg(feature = "xf86dri")]
1767 Xf86driGetDrawableInfo(xf86dri::GetDrawableInfoRequest),
1768 #[cfg(feature = "xf86dri")]
1769 Xf86driGetDeviceInfo(xf86dri::GetDeviceInfoRequest),
1770 #[cfg(feature = "xf86dri")]
1771 Xf86driAuthConnection(xf86dri::AuthConnectionRequest),
1772 #[cfg(feature = "xf86vidmode")]
1773 Xf86vidmodeQueryVersion(xf86vidmode::QueryVersionRequest),
1774 #[cfg(feature = "xf86vidmode")]
1775 Xf86vidmodeGetModeLine(xf86vidmode::GetModeLineRequest),
1776 #[cfg(feature = "xf86vidmode")]
1777 Xf86vidmodeModModeLine(xf86vidmode::ModModeLineRequest<'input>),
1778 #[cfg(feature = "xf86vidmode")]
1779 Xf86vidmodeSwitchMode(xf86vidmode::SwitchModeRequest),
1780 #[cfg(feature = "xf86vidmode")]
1781 Xf86vidmodeGetMonitor(xf86vidmode::GetMonitorRequest),
1782 #[cfg(feature = "xf86vidmode")]
1783 Xf86vidmodeLockModeSwitch(xf86vidmode::LockModeSwitchRequest),
1784 #[cfg(feature = "xf86vidmode")]
1785 Xf86vidmodeGetAllModeLines(xf86vidmode::GetAllModeLinesRequest),
1786 #[cfg(feature = "xf86vidmode")]
1787 Xf86vidmodeAddModeLine(xf86vidmode::AddModeLineRequest<'input>),
1788 #[cfg(feature = "xf86vidmode")]
1789 Xf86vidmodeDeleteModeLine(xf86vidmode::DeleteModeLineRequest<'input>),
1790 #[cfg(feature = "xf86vidmode")]
1791 Xf86vidmodeValidateModeLine(xf86vidmode::ValidateModeLineRequest<'input>),
1792 #[cfg(feature = "xf86vidmode")]
1793 Xf86vidmodeSwitchToMode(xf86vidmode::SwitchToModeRequest<'input>),
1794 #[cfg(feature = "xf86vidmode")]
1795 Xf86vidmodeGetViewPort(xf86vidmode::GetViewPortRequest),
1796 #[cfg(feature = "xf86vidmode")]
1797 Xf86vidmodeSetViewPort(xf86vidmode::SetViewPortRequest),
1798 #[cfg(feature = "xf86vidmode")]
1799 Xf86vidmodeGetDotClocks(xf86vidmode::GetDotClocksRequest),
1800 #[cfg(feature = "xf86vidmode")]
1801 Xf86vidmodeSetClientVersion(xf86vidmode::SetClientVersionRequest),
1802 #[cfg(feature = "xf86vidmode")]
1803 Xf86vidmodeSetGamma(xf86vidmode::SetGammaRequest),
1804 #[cfg(feature = "xf86vidmode")]
1805 Xf86vidmodeGetGamma(xf86vidmode::GetGammaRequest),
1806 #[cfg(feature = "xf86vidmode")]
1807 Xf86vidmodeGetGammaRamp(xf86vidmode::GetGammaRampRequest),
1808 #[cfg(feature = "xf86vidmode")]
1809 Xf86vidmodeSetGammaRamp(xf86vidmode::SetGammaRampRequest<'input>),
1810 #[cfg(feature = "xf86vidmode")]
1811 Xf86vidmodeGetGammaRampSize(xf86vidmode::GetGammaRampSizeRequest),
1812 #[cfg(feature = "xf86vidmode")]
1813 Xf86vidmodeGetPermissions(xf86vidmode::GetPermissionsRequest),
1814 #[cfg(feature = "xfixes")]
1815 XfixesQueryVersion(xfixes::QueryVersionRequest),
1816 #[cfg(feature = "xfixes")]
1817 XfixesChangeSaveSet(xfixes::ChangeSaveSetRequest),
1818 #[cfg(feature = "xfixes")]
1819 XfixesSelectSelectionInput(xfixes::SelectSelectionInputRequest),
1820 #[cfg(feature = "xfixes")]
1821 XfixesSelectCursorInput(xfixes::SelectCursorInputRequest),
1822 #[cfg(feature = "xfixes")]
1823 XfixesGetCursorImage(xfixes::GetCursorImageRequest),
1824 #[cfg(feature = "xfixes")]
1825 XfixesCreateRegion(xfixes::CreateRegionRequest<'input>),
1826 #[cfg(feature = "xfixes")]
1827 XfixesCreateRegionFromBitmap(xfixes::CreateRegionFromBitmapRequest),
1828 #[cfg(feature = "xfixes")]
1829 XfixesCreateRegionFromWindow(xfixes::CreateRegionFromWindowRequest),
1830 #[cfg(feature = "xfixes")]
1831 XfixesCreateRegionFromGC(xfixes::CreateRegionFromGCRequest),
1832 #[cfg(feature = "xfixes")]
1833 XfixesCreateRegionFromPicture(xfixes::CreateRegionFromPictureRequest),
1834 #[cfg(feature = "xfixes")]
1835 XfixesDestroyRegion(xfixes::DestroyRegionRequest),
1836 #[cfg(feature = "xfixes")]
1837 XfixesSetRegion(xfixes::SetRegionRequest<'input>),
1838 #[cfg(feature = "xfixes")]
1839 XfixesCopyRegion(xfixes::CopyRegionRequest),
1840 #[cfg(feature = "xfixes")]
1841 XfixesUnionRegion(xfixes::UnionRegionRequest),
1842 #[cfg(feature = "xfixes")]
1843 XfixesIntersectRegion(xfixes::IntersectRegionRequest),
1844 #[cfg(feature = "xfixes")]
1845 XfixesSubtractRegion(xfixes::SubtractRegionRequest),
1846 #[cfg(feature = "xfixes")]
1847 XfixesInvertRegion(xfixes::InvertRegionRequest),
1848 #[cfg(feature = "xfixes")]
1849 XfixesTranslateRegion(xfixes::TranslateRegionRequest),
1850 #[cfg(feature = "xfixes")]
1851 XfixesRegionExtents(xfixes::RegionExtentsRequest),
1852 #[cfg(feature = "xfixes")]
1853 XfixesFetchRegion(xfixes::FetchRegionRequest),
1854 #[cfg(feature = "xfixes")]
1855 XfixesSetGCClipRegion(xfixes::SetGCClipRegionRequest),
1856 #[cfg(feature = "xfixes")]
1857 XfixesSetWindowShapeRegion(xfixes::SetWindowShapeRegionRequest),
1858 #[cfg(feature = "xfixes")]
1859 XfixesSetPictureClipRegion(xfixes::SetPictureClipRegionRequest),
1860 #[cfg(feature = "xfixes")]
1861 XfixesSetCursorName(xfixes::SetCursorNameRequest<'input>),
1862 #[cfg(feature = "xfixes")]
1863 XfixesGetCursorName(xfixes::GetCursorNameRequest),
1864 #[cfg(feature = "xfixes")]
1865 XfixesGetCursorImageAndName(xfixes::GetCursorImageAndNameRequest),
1866 #[cfg(feature = "xfixes")]
1867 XfixesChangeCursor(xfixes::ChangeCursorRequest),
1868 #[cfg(feature = "xfixes")]
1869 XfixesChangeCursorByName(xfixes::ChangeCursorByNameRequest<'input>),
1870 #[cfg(feature = "xfixes")]
1871 XfixesExpandRegion(xfixes::ExpandRegionRequest),
1872 #[cfg(feature = "xfixes")]
1873 XfixesHideCursor(xfixes::HideCursorRequest),
1874 #[cfg(feature = "xfixes")]
1875 XfixesShowCursor(xfixes::ShowCursorRequest),
1876 #[cfg(feature = "xfixes")]
1877 XfixesCreatePointerBarrier(xfixes::CreatePointerBarrierRequest<'input>),
1878 #[cfg(feature = "xfixes")]
1879 XfixesDeletePointerBarrier(xfixes::DeletePointerBarrierRequest),
1880 #[cfg(feature = "xfixes")]
1881 XfixesSetClientDisconnectMode(xfixes::SetClientDisconnectModeRequest),
1882 #[cfg(feature = "xfixes")]
1883 XfixesGetClientDisconnectMode(xfixes::GetClientDisconnectModeRequest),
1884 #[cfg(feature = "xinerama")]
1885 XineramaQueryVersion(xinerama::QueryVersionRequest),
1886 #[cfg(feature = "xinerama")]
1887 XineramaGetState(xinerama::GetStateRequest),
1888 #[cfg(feature = "xinerama")]
1889 XineramaGetScreenCount(xinerama::GetScreenCountRequest),
1890 #[cfg(feature = "xinerama")]
1891 XineramaGetScreenSize(xinerama::GetScreenSizeRequest),
1892 #[cfg(feature = "xinerama")]
1893 XineramaIsActive(xinerama::IsActiveRequest),
1894 #[cfg(feature = "xinerama")]
1895 XineramaQueryScreens(xinerama::QueryScreensRequest),
1896 #[cfg(feature = "xinput")]
1897 XinputGetExtensionVersion(xinput::GetExtensionVersionRequest<'input>),
1898 #[cfg(feature = "xinput")]
1899 XinputListInputDevices(xinput::ListInputDevicesRequest),
1900 #[cfg(feature = "xinput")]
1901 XinputOpenDevice(xinput::OpenDeviceRequest),
1902 #[cfg(feature = "xinput")]
1903 XinputCloseDevice(xinput::CloseDeviceRequest),
1904 #[cfg(feature = "xinput")]
1905 XinputSetDeviceMode(xinput::SetDeviceModeRequest),
1906 #[cfg(feature = "xinput")]
1907 XinputSelectExtensionEvent(xinput::SelectExtensionEventRequest<'input>),
1908 #[cfg(feature = "xinput")]
1909 XinputGetSelectedExtensionEvents(xinput::GetSelectedExtensionEventsRequest),
1910 #[cfg(feature = "xinput")]
1911 XinputChangeDeviceDontPropagateList(xinput::ChangeDeviceDontPropagateListRequest<'input>),
1912 #[cfg(feature = "xinput")]
1913 XinputGetDeviceDontPropagateList(xinput::GetDeviceDontPropagateListRequest),
1914 #[cfg(feature = "xinput")]
1915 XinputGetDeviceMotionEvents(xinput::GetDeviceMotionEventsRequest),
1916 #[cfg(feature = "xinput")]
1917 XinputChangeKeyboardDevice(xinput::ChangeKeyboardDeviceRequest),
1918 #[cfg(feature = "xinput")]
1919 XinputChangePointerDevice(xinput::ChangePointerDeviceRequest),
1920 #[cfg(feature = "xinput")]
1921 XinputGrabDevice(xinput::GrabDeviceRequest<'input>),
1922 #[cfg(feature = "xinput")]
1923 XinputUngrabDevice(xinput::UngrabDeviceRequest),
1924 #[cfg(feature = "xinput")]
1925 XinputGrabDeviceKey(xinput::GrabDeviceKeyRequest<'input>),
1926 #[cfg(feature = "xinput")]
1927 XinputUngrabDeviceKey(xinput::UngrabDeviceKeyRequest),
1928 #[cfg(feature = "xinput")]
1929 XinputGrabDeviceButton(xinput::GrabDeviceButtonRequest<'input>),
1930 #[cfg(feature = "xinput")]
1931 XinputUngrabDeviceButton(xinput::UngrabDeviceButtonRequest),
1932 #[cfg(feature = "xinput")]
1933 XinputAllowDeviceEvents(xinput::AllowDeviceEventsRequest),
1934 #[cfg(feature = "xinput")]
1935 XinputGetDeviceFocus(xinput::GetDeviceFocusRequest),
1936 #[cfg(feature = "xinput")]
1937 XinputSetDeviceFocus(xinput::SetDeviceFocusRequest),
1938 #[cfg(feature = "xinput")]
1939 XinputGetFeedbackControl(xinput::GetFeedbackControlRequest),
1940 #[cfg(feature = "xinput")]
1941 XinputChangeFeedbackControl(xinput::ChangeFeedbackControlRequest),
1942 #[cfg(feature = "xinput")]
1943 XinputGetDeviceKeyMapping(xinput::GetDeviceKeyMappingRequest),
1944 #[cfg(feature = "xinput")]
1945 XinputChangeDeviceKeyMapping(xinput::ChangeDeviceKeyMappingRequest<'input>),
1946 #[cfg(feature = "xinput")]
1947 XinputGetDeviceModifierMapping(xinput::GetDeviceModifierMappingRequest),
1948 #[cfg(feature = "xinput")]
1949 XinputSetDeviceModifierMapping(xinput::SetDeviceModifierMappingRequest<'input>),
1950 #[cfg(feature = "xinput")]
1951 XinputGetDeviceButtonMapping(xinput::GetDeviceButtonMappingRequest),
1952 #[cfg(feature = "xinput")]
1953 XinputSetDeviceButtonMapping(xinput::SetDeviceButtonMappingRequest<'input>),
1954 #[cfg(feature = "xinput")]
1955 XinputQueryDeviceState(xinput::QueryDeviceStateRequest),
1956 #[cfg(feature = "xinput")]
1957 XinputDeviceBell(xinput::DeviceBellRequest),
1958 #[cfg(feature = "xinput")]
1959 XinputSetDeviceValuators(xinput::SetDeviceValuatorsRequest<'input>),
1960 #[cfg(feature = "xinput")]
1961 XinputGetDeviceControl(xinput::GetDeviceControlRequest),
1962 #[cfg(feature = "xinput")]
1963 XinputChangeDeviceControl(xinput::ChangeDeviceControlRequest),
1964 #[cfg(feature = "xinput")]
1965 XinputListDeviceProperties(xinput::ListDevicePropertiesRequest),
1966 #[cfg(feature = "xinput")]
1967 XinputChangeDeviceProperty(xinput::ChangeDevicePropertyRequest<'input>),
1968 #[cfg(feature = "xinput")]
1969 XinputDeleteDeviceProperty(xinput::DeleteDevicePropertyRequest),
1970 #[cfg(feature = "xinput")]
1971 XinputGetDeviceProperty(xinput::GetDevicePropertyRequest),
1972 #[cfg(feature = "xinput")]
1973 XinputXIQueryPointer(xinput::XIQueryPointerRequest),
1974 #[cfg(feature = "xinput")]
1975 XinputXIWarpPointer(xinput::XIWarpPointerRequest),
1976 #[cfg(feature = "xinput")]
1977 XinputXIChangeCursor(xinput::XIChangeCursorRequest),
1978 #[cfg(feature = "xinput")]
1979 XinputXIChangeHierarchy(xinput::XIChangeHierarchyRequest<'input>),
1980 #[cfg(feature = "xinput")]
1981 XinputXISetClientPointer(xinput::XISetClientPointerRequest),
1982 #[cfg(feature = "xinput")]
1983 XinputXIGetClientPointer(xinput::XIGetClientPointerRequest),
1984 #[cfg(feature = "xinput")]
1985 XinputXISelectEvents(xinput::XISelectEventsRequest<'input>),
1986 #[cfg(feature = "xinput")]
1987 XinputXIQueryVersion(xinput::XIQueryVersionRequest),
1988 #[cfg(feature = "xinput")]
1989 XinputXIQueryDevice(xinput::XIQueryDeviceRequest),
1990 #[cfg(feature = "xinput")]
1991 XinputXISetFocus(xinput::XISetFocusRequest),
1992 #[cfg(feature = "xinput")]
1993 XinputXIGetFocus(xinput::XIGetFocusRequest),
1994 #[cfg(feature = "xinput")]
1995 XinputXIGrabDevice(xinput::XIGrabDeviceRequest<'input>),
1996 #[cfg(feature = "xinput")]
1997 XinputXIUngrabDevice(xinput::XIUngrabDeviceRequest),
1998 #[cfg(feature = "xinput")]
1999 XinputXIAllowEvents(xinput::XIAllowEventsRequest),
2000 #[cfg(feature = "xinput")]
2001 XinputXIPassiveGrabDevice(xinput::XIPassiveGrabDeviceRequest<'input>),
2002 #[cfg(feature = "xinput")]
2003 XinputXIPassiveUngrabDevice(xinput::XIPassiveUngrabDeviceRequest<'input>),
2004 #[cfg(feature = "xinput")]
2005 XinputXIListProperties(xinput::XIListPropertiesRequest),
2006 #[cfg(feature = "xinput")]
2007 XinputXIChangeProperty(xinput::XIChangePropertyRequest<'input>),
2008 #[cfg(feature = "xinput")]
2009 XinputXIDeleteProperty(xinput::XIDeletePropertyRequest),
2010 #[cfg(feature = "xinput")]
2011 XinputXIGetProperty(xinput::XIGetPropertyRequest),
2012 #[cfg(feature = "xinput")]
2013 XinputXIGetSelectedEvents(xinput::XIGetSelectedEventsRequest),
2014 #[cfg(feature = "xinput")]
2015 XinputXIBarrierReleasePointer(xinput::XIBarrierReleasePointerRequest<'input>),
2016 #[cfg(feature = "xinput")]
2017 XinputSendExtensionEvent(xinput::SendExtensionEventRequest<'input>),
2018 #[cfg(feature = "xkb")]
2019 XkbUseExtension(xkb::UseExtensionRequest),
2020 #[cfg(feature = "xkb")]
2021 XkbSelectEvents(xkb::SelectEventsRequest<'input>),
2022 #[cfg(feature = "xkb")]
2023 XkbBell(xkb::BellRequest),
2024 #[cfg(feature = "xkb")]
2025 XkbGetState(xkb::GetStateRequest),
2026 #[cfg(feature = "xkb")]
2027 XkbLatchLockState(xkb::LatchLockStateRequest),
2028 #[cfg(feature = "xkb")]
2029 XkbGetControls(xkb::GetControlsRequest),
2030 #[cfg(feature = "xkb")]
2031 XkbSetControls(xkb::SetControlsRequest<'input>),
2032 #[cfg(feature = "xkb")]
2033 XkbGetMap(xkb::GetMapRequest),
2034 #[cfg(feature = "xkb")]
2035 XkbSetMap(xkb::SetMapRequest<'input>),
2036 #[cfg(feature = "xkb")]
2037 XkbGetCompatMap(xkb::GetCompatMapRequest),
2038 #[cfg(feature = "xkb")]
2039 XkbSetCompatMap(xkb::SetCompatMapRequest<'input>),
2040 #[cfg(feature = "xkb")]
2041 XkbGetIndicatorState(xkb::GetIndicatorStateRequest),
2042 #[cfg(feature = "xkb")]
2043 XkbGetIndicatorMap(xkb::GetIndicatorMapRequest),
2044 #[cfg(feature = "xkb")]
2045 XkbSetIndicatorMap(xkb::SetIndicatorMapRequest<'input>),
2046 #[cfg(feature = "xkb")]
2047 XkbGetNamedIndicator(xkb::GetNamedIndicatorRequest),
2048 #[cfg(feature = "xkb")]
2049 XkbSetNamedIndicator(xkb::SetNamedIndicatorRequest),
2050 #[cfg(feature = "xkb")]
2051 XkbGetNames(xkb::GetNamesRequest),
2052 #[cfg(feature = "xkb")]
2053 XkbSetNames(xkb::SetNamesRequest<'input>),
2054 #[cfg(feature = "xkb")]
2055 XkbPerClientFlags(xkb::PerClientFlagsRequest),
2056 #[cfg(feature = "xkb")]
2057 XkbListComponents(xkb::ListComponentsRequest),
2058 #[cfg(feature = "xkb")]
2059 XkbGetKbdByName(xkb::GetKbdByNameRequest),
2060 #[cfg(feature = "xkb")]
2061 XkbGetDeviceInfo(xkb::GetDeviceInfoRequest),
2062 #[cfg(feature = "xkb")]
2063 XkbSetDeviceInfo(xkb::SetDeviceInfoRequest<'input>),
2064 #[cfg(feature = "xkb")]
2065 XkbSetDebuggingFlags(xkb::SetDebuggingFlagsRequest<'input>),
2066 #[cfg(feature = "xprint")]
2067 XprintPrintQueryVersion(xprint::PrintQueryVersionRequest),
2068 #[cfg(feature = "xprint")]
2069 XprintPrintGetPrinterList(xprint::PrintGetPrinterListRequest<'input>),
2070 #[cfg(feature = "xprint")]
2071 XprintPrintRehashPrinterList(xprint::PrintRehashPrinterListRequest),
2072 #[cfg(feature = "xprint")]
2073 XprintCreateContext(xprint::CreateContextRequest<'input>),
2074 #[cfg(feature = "xprint")]
2075 XprintPrintSetContext(xprint::PrintSetContextRequest),
2076 #[cfg(feature = "xprint")]
2077 XprintPrintGetContext(xprint::PrintGetContextRequest),
2078 #[cfg(feature = "xprint")]
2079 XprintPrintDestroyContext(xprint::PrintDestroyContextRequest),
2080 #[cfg(feature = "xprint")]
2081 XprintPrintGetScreenOfContext(xprint::PrintGetScreenOfContextRequest),
2082 #[cfg(feature = "xprint")]
2083 XprintPrintStartJob(xprint::PrintStartJobRequest),
2084 #[cfg(feature = "xprint")]
2085 XprintPrintEndJob(xprint::PrintEndJobRequest),
2086 #[cfg(feature = "xprint")]
2087 XprintPrintStartDoc(xprint::PrintStartDocRequest),
2088 #[cfg(feature = "xprint")]
2089 XprintPrintEndDoc(xprint::PrintEndDocRequest),
2090 #[cfg(feature = "xprint")]
2091 XprintPrintPutDocumentData(xprint::PrintPutDocumentDataRequest<'input>),
2092 #[cfg(feature = "xprint")]
2093 XprintPrintGetDocumentData(xprint::PrintGetDocumentDataRequest),
2094 #[cfg(feature = "xprint")]
2095 XprintPrintStartPage(xprint::PrintStartPageRequest),
2096 #[cfg(feature = "xprint")]
2097 XprintPrintEndPage(xprint::PrintEndPageRequest),
2098 #[cfg(feature = "xprint")]
2099 XprintPrintSelectInput(xprint::PrintSelectInputRequest),
2100 #[cfg(feature = "xprint")]
2101 XprintPrintInputSelected(xprint::PrintInputSelectedRequest),
2102 #[cfg(feature = "xprint")]
2103 XprintPrintGetAttributes(xprint::PrintGetAttributesRequest),
2104 #[cfg(feature = "xprint")]
2105 XprintPrintGetOneAttributes(xprint::PrintGetOneAttributesRequest<'input>),
2106 #[cfg(feature = "xprint")]
2107 XprintPrintSetAttributes(xprint::PrintSetAttributesRequest<'input>),
2108 #[cfg(feature = "xprint")]
2109 XprintPrintGetPageDimensions(xprint::PrintGetPageDimensionsRequest),
2110 #[cfg(feature = "xprint")]
2111 XprintPrintQueryScreens(xprint::PrintQueryScreensRequest),
2112 #[cfg(feature = "xprint")]
2113 XprintPrintSetImageResolution(xprint::PrintSetImageResolutionRequest),
2114 #[cfg(feature = "xprint")]
2115 XprintPrintGetImageResolution(xprint::PrintGetImageResolutionRequest),
2116 #[cfg(feature = "xselinux")]
2117 XselinuxQueryVersion(xselinux::QueryVersionRequest),
2118 #[cfg(feature = "xselinux")]
2119 XselinuxSetDeviceCreateContext(xselinux::SetDeviceCreateContextRequest<'input>),
2120 #[cfg(feature = "xselinux")]
2121 XselinuxGetDeviceCreateContext(xselinux::GetDeviceCreateContextRequest),
2122 #[cfg(feature = "xselinux")]
2123 XselinuxSetDeviceContext(xselinux::SetDeviceContextRequest<'input>),
2124 #[cfg(feature = "xselinux")]
2125 XselinuxGetDeviceContext(xselinux::GetDeviceContextRequest),
2126 #[cfg(feature = "xselinux")]
2127 XselinuxSetWindowCreateContext(xselinux::SetWindowCreateContextRequest<'input>),
2128 #[cfg(feature = "xselinux")]
2129 XselinuxGetWindowCreateContext(xselinux::GetWindowCreateContextRequest),
2130 #[cfg(feature = "xselinux")]
2131 XselinuxGetWindowContext(xselinux::GetWindowContextRequest),
2132 #[cfg(feature = "xselinux")]
2133 XselinuxSetPropertyCreateContext(xselinux::SetPropertyCreateContextRequest<'input>),
2134 #[cfg(feature = "xselinux")]
2135 XselinuxGetPropertyCreateContext(xselinux::GetPropertyCreateContextRequest),
2136 #[cfg(feature = "xselinux")]
2137 XselinuxSetPropertyUseContext(xselinux::SetPropertyUseContextRequest<'input>),
2138 #[cfg(feature = "xselinux")]
2139 XselinuxGetPropertyUseContext(xselinux::GetPropertyUseContextRequest),
2140 #[cfg(feature = "xselinux")]
2141 XselinuxGetPropertyContext(xselinux::GetPropertyContextRequest),
2142 #[cfg(feature = "xselinux")]
2143 XselinuxGetPropertyDataContext(xselinux::GetPropertyDataContextRequest),
2144 #[cfg(feature = "xselinux")]
2145 XselinuxListProperties(xselinux::ListPropertiesRequest),
2146 #[cfg(feature = "xselinux")]
2147 XselinuxSetSelectionCreateContext(xselinux::SetSelectionCreateContextRequest<'input>),
2148 #[cfg(feature = "xselinux")]
2149 XselinuxGetSelectionCreateContext(xselinux::GetSelectionCreateContextRequest),
2150 #[cfg(feature = "xselinux")]
2151 XselinuxSetSelectionUseContext(xselinux::SetSelectionUseContextRequest<'input>),
2152 #[cfg(feature = "xselinux")]
2153 XselinuxGetSelectionUseContext(xselinux::GetSelectionUseContextRequest),
2154 #[cfg(feature = "xselinux")]
2155 XselinuxGetSelectionContext(xselinux::GetSelectionContextRequest),
2156 #[cfg(feature = "xselinux")]
2157 XselinuxGetSelectionDataContext(xselinux::GetSelectionDataContextRequest),
2158 #[cfg(feature = "xselinux")]
2159 XselinuxListSelections(xselinux::ListSelectionsRequest),
2160 #[cfg(feature = "xselinux")]
2161 XselinuxGetClientContext(xselinux::GetClientContextRequest),
2162 #[cfg(feature = "xtest")]
2163 XtestGetVersion(xtest::GetVersionRequest),
2164 #[cfg(feature = "xtest")]
2165 XtestCompareCursor(xtest::CompareCursorRequest),
2166 #[cfg(feature = "xtest")]
2167 XtestFakeInput(xtest::FakeInputRequest),
2168 #[cfg(feature = "xtest")]
2169 XtestGrabControl(xtest::GrabControlRequest),
2170 #[cfg(feature = "xv")]
2171 XvQueryExtension(xv::QueryExtensionRequest),
2172 #[cfg(feature = "xv")]
2173 XvQueryAdaptors(xv::QueryAdaptorsRequest),
2174 #[cfg(feature = "xv")]
2175 XvQueryEncodings(xv::QueryEncodingsRequest),
2176 #[cfg(feature = "xv")]
2177 XvGrabPort(xv::GrabPortRequest),
2178 #[cfg(feature = "xv")]
2179 XvUngrabPort(xv::UngrabPortRequest),
2180 #[cfg(feature = "xv")]
2181 XvPutVideo(xv::PutVideoRequest),
2182 #[cfg(feature = "xv")]
2183 XvPutStill(xv::PutStillRequest),
2184 #[cfg(feature = "xv")]
2185 XvGetVideo(xv::GetVideoRequest),
2186 #[cfg(feature = "xv")]
2187 XvGetStill(xv::GetStillRequest),
2188 #[cfg(feature = "xv")]
2189 XvStopVideo(xv::StopVideoRequest),
2190 #[cfg(feature = "xv")]
2191 XvSelectVideoNotify(xv::SelectVideoNotifyRequest),
2192 #[cfg(feature = "xv")]
2193 XvSelectPortNotify(xv::SelectPortNotifyRequest),
2194 #[cfg(feature = "xv")]
2195 XvQueryBestSize(xv::QueryBestSizeRequest),
2196 #[cfg(feature = "xv")]
2197 XvSetPortAttribute(xv::SetPortAttributeRequest),
2198 #[cfg(feature = "xv")]
2199 XvGetPortAttribute(xv::GetPortAttributeRequest),
2200 #[cfg(feature = "xv")]
2201 XvQueryPortAttributes(xv::QueryPortAttributesRequest),
2202 #[cfg(feature = "xv")]
2203 XvListImageFormats(xv::ListImageFormatsRequest),
2204 #[cfg(feature = "xv")]
2205 XvQueryImageAttributes(xv::QueryImageAttributesRequest),
2206 #[cfg(feature = "xv")]
2207 XvPutImage(xv::PutImageRequest<'input>),
2208 #[cfg(feature = "xv")]
2209 XvShmPutImage(xv::ShmPutImageRequest),
2210 #[cfg(feature = "xvmc")]
2211 XvmcQueryVersion(xvmc::QueryVersionRequest),
2212 #[cfg(feature = "xvmc")]
2213 XvmcListSurfaceTypes(xvmc::ListSurfaceTypesRequest),
2214 #[cfg(feature = "xvmc")]
2215 XvmcCreateContext(xvmc::CreateContextRequest),
2216 #[cfg(feature = "xvmc")]
2217 XvmcDestroyContext(xvmc::DestroyContextRequest),
2218 #[cfg(feature = "xvmc")]
2219 XvmcCreateSurface(xvmc::CreateSurfaceRequest),
2220 #[cfg(feature = "xvmc")]
2221 XvmcDestroySurface(xvmc::DestroySurfaceRequest),
2222 #[cfg(feature = "xvmc")]
2223 XvmcCreateSubpicture(xvmc::CreateSubpictureRequest),
2224 #[cfg(feature = "xvmc")]
2225 XvmcDestroySubpicture(xvmc::DestroySubpictureRequest),
2226 #[cfg(feature = "xvmc")]
2227 XvmcListSubpictureTypes(xvmc::ListSubpictureTypesRequest),
2228}
2229
2230impl<'input> Request<'input> {
2231 #[allow(clippy::cognitive_complexity, clippy::single_match)]
2233 #[cfg(feature = "request-parsing")]
2234 pub fn parse(
2235 header: RequestHeader,
2236 body: &'input [u8],
2237 #[allow(unused_variables, clippy::ptr_arg)]
2239 fds: &mut Vec<RawFdContainer>,
2240 ext_info_provider: &dyn ExtInfoProvider,
2241 ) -> Result<Self, ParseError> {
2242 let remaining = body;
2243 match header.major_opcode {
2245 xproto::CREATE_WINDOW_REQUEST => return Ok(Request::CreateWindow(xproto::CreateWindowRequest::try_parse_request(header, remaining)?)),
2246 xproto::CHANGE_WINDOW_ATTRIBUTES_REQUEST => return Ok(Request::ChangeWindowAttributes(xproto::ChangeWindowAttributesRequest::try_parse_request(header, remaining)?)),
2247 xproto::GET_WINDOW_ATTRIBUTES_REQUEST => return Ok(Request::GetWindowAttributes(xproto::GetWindowAttributesRequest::try_parse_request(header, remaining)?)),
2248 xproto::DESTROY_WINDOW_REQUEST => return Ok(Request::DestroyWindow(xproto::DestroyWindowRequest::try_parse_request(header, remaining)?)),
2249 xproto::DESTROY_SUBWINDOWS_REQUEST => return Ok(Request::DestroySubwindows(xproto::DestroySubwindowsRequest::try_parse_request(header, remaining)?)),
2250 xproto::CHANGE_SAVE_SET_REQUEST => return Ok(Request::ChangeSaveSet(xproto::ChangeSaveSetRequest::try_parse_request(header, remaining)?)),
2251 xproto::REPARENT_WINDOW_REQUEST => return Ok(Request::ReparentWindow(xproto::ReparentWindowRequest::try_parse_request(header, remaining)?)),
2252 xproto::MAP_WINDOW_REQUEST => return Ok(Request::MapWindow(xproto::MapWindowRequest::try_parse_request(header, remaining)?)),
2253 xproto::MAP_SUBWINDOWS_REQUEST => return Ok(Request::MapSubwindows(xproto::MapSubwindowsRequest::try_parse_request(header, remaining)?)),
2254 xproto::UNMAP_WINDOW_REQUEST => return Ok(Request::UnmapWindow(xproto::UnmapWindowRequest::try_parse_request(header, remaining)?)),
2255 xproto::UNMAP_SUBWINDOWS_REQUEST => return Ok(Request::UnmapSubwindows(xproto::UnmapSubwindowsRequest::try_parse_request(header, remaining)?)),
2256 xproto::CONFIGURE_WINDOW_REQUEST => return Ok(Request::ConfigureWindow(xproto::ConfigureWindowRequest::try_parse_request(header, remaining)?)),
2257 xproto::CIRCULATE_WINDOW_REQUEST => return Ok(Request::CirculateWindow(xproto::CirculateWindowRequest::try_parse_request(header, remaining)?)),
2258 xproto::GET_GEOMETRY_REQUEST => return Ok(Request::GetGeometry(xproto::GetGeometryRequest::try_parse_request(header, remaining)?)),
2259 xproto::QUERY_TREE_REQUEST => return Ok(Request::QueryTree(xproto::QueryTreeRequest::try_parse_request(header, remaining)?)),
2260 xproto::INTERN_ATOM_REQUEST => return Ok(Request::InternAtom(xproto::InternAtomRequest::try_parse_request(header, remaining)?)),
2261 xproto::GET_ATOM_NAME_REQUEST => return Ok(Request::GetAtomName(xproto::GetAtomNameRequest::try_parse_request(header, remaining)?)),
2262 xproto::CHANGE_PROPERTY_REQUEST => return Ok(Request::ChangeProperty(xproto::ChangePropertyRequest::try_parse_request(header, remaining)?)),
2263 xproto::DELETE_PROPERTY_REQUEST => return Ok(Request::DeleteProperty(xproto::DeletePropertyRequest::try_parse_request(header, remaining)?)),
2264 xproto::GET_PROPERTY_REQUEST => return Ok(Request::GetProperty(xproto::GetPropertyRequest::try_parse_request(header, remaining)?)),
2265 xproto::LIST_PROPERTIES_REQUEST => return Ok(Request::ListProperties(xproto::ListPropertiesRequest::try_parse_request(header, remaining)?)),
2266 xproto::SET_SELECTION_OWNER_REQUEST => return Ok(Request::SetSelectionOwner(xproto::SetSelectionOwnerRequest::try_parse_request(header, remaining)?)),
2267 xproto::GET_SELECTION_OWNER_REQUEST => return Ok(Request::GetSelectionOwner(xproto::GetSelectionOwnerRequest::try_parse_request(header, remaining)?)),
2268 xproto::CONVERT_SELECTION_REQUEST => return Ok(Request::ConvertSelection(xproto::ConvertSelectionRequest::try_parse_request(header, remaining)?)),
2269 xproto::SEND_EVENT_REQUEST => return Ok(Request::SendEvent(xproto::SendEventRequest::try_parse_request(header, remaining)?)),
2270 xproto::GRAB_POINTER_REQUEST => return Ok(Request::GrabPointer(xproto::GrabPointerRequest::try_parse_request(header, remaining)?)),
2271 xproto::UNGRAB_POINTER_REQUEST => return Ok(Request::UngrabPointer(xproto::UngrabPointerRequest::try_parse_request(header, remaining)?)),
2272 xproto::GRAB_BUTTON_REQUEST => return Ok(Request::GrabButton(xproto::GrabButtonRequest::try_parse_request(header, remaining)?)),
2273 xproto::UNGRAB_BUTTON_REQUEST => return Ok(Request::UngrabButton(xproto::UngrabButtonRequest::try_parse_request(header, remaining)?)),
2274 xproto::CHANGE_ACTIVE_POINTER_GRAB_REQUEST => return Ok(Request::ChangeActivePointerGrab(xproto::ChangeActivePointerGrabRequest::try_parse_request(header, remaining)?)),
2275 xproto::GRAB_KEYBOARD_REQUEST => return Ok(Request::GrabKeyboard(xproto::GrabKeyboardRequest::try_parse_request(header, remaining)?)),
2276 xproto::UNGRAB_KEYBOARD_REQUEST => return Ok(Request::UngrabKeyboard(xproto::UngrabKeyboardRequest::try_parse_request(header, remaining)?)),
2277 xproto::GRAB_KEY_REQUEST => return Ok(Request::GrabKey(xproto::GrabKeyRequest::try_parse_request(header, remaining)?)),
2278 xproto::UNGRAB_KEY_REQUEST => return Ok(Request::UngrabKey(xproto::UngrabKeyRequest::try_parse_request(header, remaining)?)),
2279 xproto::ALLOW_EVENTS_REQUEST => return Ok(Request::AllowEvents(xproto::AllowEventsRequest::try_parse_request(header, remaining)?)),
2280 xproto::GRAB_SERVER_REQUEST => return Ok(Request::GrabServer(xproto::GrabServerRequest::try_parse_request(header, remaining)?)),
2281 xproto::UNGRAB_SERVER_REQUEST => return Ok(Request::UngrabServer(xproto::UngrabServerRequest::try_parse_request(header, remaining)?)),
2282 xproto::QUERY_POINTER_REQUEST => return Ok(Request::QueryPointer(xproto::QueryPointerRequest::try_parse_request(header, remaining)?)),
2283 xproto::GET_MOTION_EVENTS_REQUEST => return Ok(Request::GetMotionEvents(xproto::GetMotionEventsRequest::try_parse_request(header, remaining)?)),
2284 xproto::TRANSLATE_COORDINATES_REQUEST => return Ok(Request::TranslateCoordinates(xproto::TranslateCoordinatesRequest::try_parse_request(header, remaining)?)),
2285 xproto::WARP_POINTER_REQUEST => return Ok(Request::WarpPointer(xproto::WarpPointerRequest::try_parse_request(header, remaining)?)),
2286 xproto::SET_INPUT_FOCUS_REQUEST => return Ok(Request::SetInputFocus(xproto::SetInputFocusRequest::try_parse_request(header, remaining)?)),
2287 xproto::GET_INPUT_FOCUS_REQUEST => return Ok(Request::GetInputFocus(xproto::GetInputFocusRequest::try_parse_request(header, remaining)?)),
2288 xproto::QUERY_KEYMAP_REQUEST => return Ok(Request::QueryKeymap(xproto::QueryKeymapRequest::try_parse_request(header, remaining)?)),
2289 xproto::OPEN_FONT_REQUEST => return Ok(Request::OpenFont(xproto::OpenFontRequest::try_parse_request(header, remaining)?)),
2290 xproto::CLOSE_FONT_REQUEST => return Ok(Request::CloseFont(xproto::CloseFontRequest::try_parse_request(header, remaining)?)),
2291 xproto::QUERY_FONT_REQUEST => return Ok(Request::QueryFont(xproto::QueryFontRequest::try_parse_request(header, remaining)?)),
2292 xproto::QUERY_TEXT_EXTENTS_REQUEST => return Ok(Request::QueryTextExtents(xproto::QueryTextExtentsRequest::try_parse_request(header, remaining)?)),
2293 xproto::LIST_FONTS_REQUEST => return Ok(Request::ListFonts(xproto::ListFontsRequest::try_parse_request(header, remaining)?)),
2294 xproto::LIST_FONTS_WITH_INFO_REQUEST => return Ok(Request::ListFontsWithInfo(xproto::ListFontsWithInfoRequest::try_parse_request(header, remaining)?)),
2295 xproto::SET_FONT_PATH_REQUEST => return Ok(Request::SetFontPath(xproto::SetFontPathRequest::try_parse_request(header, remaining)?)),
2296 xproto::GET_FONT_PATH_REQUEST => return Ok(Request::GetFontPath(xproto::GetFontPathRequest::try_parse_request(header, remaining)?)),
2297 xproto::CREATE_PIXMAP_REQUEST => return Ok(Request::CreatePixmap(xproto::CreatePixmapRequest::try_parse_request(header, remaining)?)),
2298 xproto::FREE_PIXMAP_REQUEST => return Ok(Request::FreePixmap(xproto::FreePixmapRequest::try_parse_request(header, remaining)?)),
2299 xproto::CREATE_GC_REQUEST => return Ok(Request::CreateGC(xproto::CreateGCRequest::try_parse_request(header, remaining)?)),
2300 xproto::CHANGE_GC_REQUEST => return Ok(Request::ChangeGC(xproto::ChangeGCRequest::try_parse_request(header, remaining)?)),
2301 xproto::COPY_GC_REQUEST => return Ok(Request::CopyGC(xproto::CopyGCRequest::try_parse_request(header, remaining)?)),
2302 xproto::SET_DASHES_REQUEST => return Ok(Request::SetDashes(xproto::SetDashesRequest::try_parse_request(header, remaining)?)),
2303 xproto::SET_CLIP_RECTANGLES_REQUEST => return Ok(Request::SetClipRectangles(xproto::SetClipRectanglesRequest::try_parse_request(header, remaining)?)),
2304 xproto::FREE_GC_REQUEST => return Ok(Request::FreeGC(xproto::FreeGCRequest::try_parse_request(header, remaining)?)),
2305 xproto::CLEAR_AREA_REQUEST => return Ok(Request::ClearArea(xproto::ClearAreaRequest::try_parse_request(header, remaining)?)),
2306 xproto::COPY_AREA_REQUEST => return Ok(Request::CopyArea(xproto::CopyAreaRequest::try_parse_request(header, remaining)?)),
2307 xproto::COPY_PLANE_REQUEST => return Ok(Request::CopyPlane(xproto::CopyPlaneRequest::try_parse_request(header, remaining)?)),
2308 xproto::POLY_POINT_REQUEST => return Ok(Request::PolyPoint(xproto::PolyPointRequest::try_parse_request(header, remaining)?)),
2309 xproto::POLY_LINE_REQUEST => return Ok(Request::PolyLine(xproto::PolyLineRequest::try_parse_request(header, remaining)?)),
2310 xproto::POLY_SEGMENT_REQUEST => return Ok(Request::PolySegment(xproto::PolySegmentRequest::try_parse_request(header, remaining)?)),
2311 xproto::POLY_RECTANGLE_REQUEST => return Ok(Request::PolyRectangle(xproto::PolyRectangleRequest::try_parse_request(header, remaining)?)),
2312 xproto::POLY_ARC_REQUEST => return Ok(Request::PolyArc(xproto::PolyArcRequest::try_parse_request(header, remaining)?)),
2313 xproto::FILL_POLY_REQUEST => return Ok(Request::FillPoly(xproto::FillPolyRequest::try_parse_request(header, remaining)?)),
2314 xproto::POLY_FILL_RECTANGLE_REQUEST => return Ok(Request::PolyFillRectangle(xproto::PolyFillRectangleRequest::try_parse_request(header, remaining)?)),
2315 xproto::POLY_FILL_ARC_REQUEST => return Ok(Request::PolyFillArc(xproto::PolyFillArcRequest::try_parse_request(header, remaining)?)),
2316 xproto::PUT_IMAGE_REQUEST => return Ok(Request::PutImage(xproto::PutImageRequest::try_parse_request(header, remaining)?)),
2317 xproto::GET_IMAGE_REQUEST => return Ok(Request::GetImage(xproto::GetImageRequest::try_parse_request(header, remaining)?)),
2318 xproto::POLY_TEXT8_REQUEST => return Ok(Request::PolyText8(xproto::PolyText8Request::try_parse_request(header, remaining)?)),
2319 xproto::POLY_TEXT16_REQUEST => return Ok(Request::PolyText16(xproto::PolyText16Request::try_parse_request(header, remaining)?)),
2320 xproto::IMAGE_TEXT8_REQUEST => return Ok(Request::ImageText8(xproto::ImageText8Request::try_parse_request(header, remaining)?)),
2321 xproto::IMAGE_TEXT16_REQUEST => return Ok(Request::ImageText16(xproto::ImageText16Request::try_parse_request(header, remaining)?)),
2322 xproto::CREATE_COLORMAP_REQUEST => return Ok(Request::CreateColormap(xproto::CreateColormapRequest::try_parse_request(header, remaining)?)),
2323 xproto::FREE_COLORMAP_REQUEST => return Ok(Request::FreeColormap(xproto::FreeColormapRequest::try_parse_request(header, remaining)?)),
2324 xproto::COPY_COLORMAP_AND_FREE_REQUEST => return Ok(Request::CopyColormapAndFree(xproto::CopyColormapAndFreeRequest::try_parse_request(header, remaining)?)),
2325 xproto::INSTALL_COLORMAP_REQUEST => return Ok(Request::InstallColormap(xproto::InstallColormapRequest::try_parse_request(header, remaining)?)),
2326 xproto::UNINSTALL_COLORMAP_REQUEST => return Ok(Request::UninstallColormap(xproto::UninstallColormapRequest::try_parse_request(header, remaining)?)),
2327 xproto::LIST_INSTALLED_COLORMAPS_REQUEST => return Ok(Request::ListInstalledColormaps(xproto::ListInstalledColormapsRequest::try_parse_request(header, remaining)?)),
2328 xproto::ALLOC_COLOR_REQUEST => return Ok(Request::AllocColor(xproto::AllocColorRequest::try_parse_request(header, remaining)?)),
2329 xproto::ALLOC_NAMED_COLOR_REQUEST => return Ok(Request::AllocNamedColor(xproto::AllocNamedColorRequest::try_parse_request(header, remaining)?)),
2330 xproto::ALLOC_COLOR_CELLS_REQUEST => return Ok(Request::AllocColorCells(xproto::AllocColorCellsRequest::try_parse_request(header, remaining)?)),
2331 xproto::ALLOC_COLOR_PLANES_REQUEST => return Ok(Request::AllocColorPlanes(xproto::AllocColorPlanesRequest::try_parse_request(header, remaining)?)),
2332 xproto::FREE_COLORS_REQUEST => return Ok(Request::FreeColors(xproto::FreeColorsRequest::try_parse_request(header, remaining)?)),
2333 xproto::STORE_COLORS_REQUEST => return Ok(Request::StoreColors(xproto::StoreColorsRequest::try_parse_request(header, remaining)?)),
2334 xproto::STORE_NAMED_COLOR_REQUEST => return Ok(Request::StoreNamedColor(xproto::StoreNamedColorRequest::try_parse_request(header, remaining)?)),
2335 xproto::QUERY_COLORS_REQUEST => return Ok(Request::QueryColors(xproto::QueryColorsRequest::try_parse_request(header, remaining)?)),
2336 xproto::LOOKUP_COLOR_REQUEST => return Ok(Request::LookupColor(xproto::LookupColorRequest::try_parse_request(header, remaining)?)),
2337 xproto::CREATE_CURSOR_REQUEST => return Ok(Request::CreateCursor(xproto::CreateCursorRequest::try_parse_request(header, remaining)?)),
2338 xproto::CREATE_GLYPH_CURSOR_REQUEST => return Ok(Request::CreateGlyphCursor(xproto::CreateGlyphCursorRequest::try_parse_request(header, remaining)?)),
2339 xproto::FREE_CURSOR_REQUEST => return Ok(Request::FreeCursor(xproto::FreeCursorRequest::try_parse_request(header, remaining)?)),
2340 xproto::RECOLOR_CURSOR_REQUEST => return Ok(Request::RecolorCursor(xproto::RecolorCursorRequest::try_parse_request(header, remaining)?)),
2341 xproto::QUERY_BEST_SIZE_REQUEST => return Ok(Request::QueryBestSize(xproto::QueryBestSizeRequest::try_parse_request(header, remaining)?)),
2342 xproto::QUERY_EXTENSION_REQUEST => return Ok(Request::QueryExtension(xproto::QueryExtensionRequest::try_parse_request(header, remaining)?)),
2343 xproto::LIST_EXTENSIONS_REQUEST => return Ok(Request::ListExtensions(xproto::ListExtensionsRequest::try_parse_request(header, remaining)?)),
2344 xproto::CHANGE_KEYBOARD_MAPPING_REQUEST => return Ok(Request::ChangeKeyboardMapping(xproto::ChangeKeyboardMappingRequest::try_parse_request(header, remaining)?)),
2345 xproto::GET_KEYBOARD_MAPPING_REQUEST => return Ok(Request::GetKeyboardMapping(xproto::GetKeyboardMappingRequest::try_parse_request(header, remaining)?)),
2346 xproto::CHANGE_KEYBOARD_CONTROL_REQUEST => return Ok(Request::ChangeKeyboardControl(xproto::ChangeKeyboardControlRequest::try_parse_request(header, remaining)?)),
2347 xproto::GET_KEYBOARD_CONTROL_REQUEST => return Ok(Request::GetKeyboardControl(xproto::GetKeyboardControlRequest::try_parse_request(header, remaining)?)),
2348 xproto::BELL_REQUEST => return Ok(Request::Bell(xproto::BellRequest::try_parse_request(header, remaining)?)),
2349 xproto::CHANGE_POINTER_CONTROL_REQUEST => return Ok(Request::ChangePointerControl(xproto::ChangePointerControlRequest::try_parse_request(header, remaining)?)),
2350 xproto::GET_POINTER_CONTROL_REQUEST => return Ok(Request::GetPointerControl(xproto::GetPointerControlRequest::try_parse_request(header, remaining)?)),
2351 xproto::SET_SCREEN_SAVER_REQUEST => return Ok(Request::SetScreenSaver(xproto::SetScreenSaverRequest::try_parse_request(header, remaining)?)),
2352 xproto::GET_SCREEN_SAVER_REQUEST => return Ok(Request::GetScreenSaver(xproto::GetScreenSaverRequest::try_parse_request(header, remaining)?)),
2353 xproto::CHANGE_HOSTS_REQUEST => return Ok(Request::ChangeHosts(xproto::ChangeHostsRequest::try_parse_request(header, remaining)?)),
2354 xproto::LIST_HOSTS_REQUEST => return Ok(Request::ListHosts(xproto::ListHostsRequest::try_parse_request(header, remaining)?)),
2355 xproto::SET_ACCESS_CONTROL_REQUEST => return Ok(Request::SetAccessControl(xproto::SetAccessControlRequest::try_parse_request(header, remaining)?)),
2356 xproto::SET_CLOSE_DOWN_MODE_REQUEST => return Ok(Request::SetCloseDownMode(xproto::SetCloseDownModeRequest::try_parse_request(header, remaining)?)),
2357 xproto::KILL_CLIENT_REQUEST => return Ok(Request::KillClient(xproto::KillClientRequest::try_parse_request(header, remaining)?)),
2358 xproto::ROTATE_PROPERTIES_REQUEST => return Ok(Request::RotateProperties(xproto::RotatePropertiesRequest::try_parse_request(header, remaining)?)),
2359 xproto::FORCE_SCREEN_SAVER_REQUEST => return Ok(Request::ForceScreenSaver(xproto::ForceScreenSaverRequest::try_parse_request(header, remaining)?)),
2360 xproto::SET_POINTER_MAPPING_REQUEST => return Ok(Request::SetPointerMapping(xproto::SetPointerMappingRequest::try_parse_request(header, remaining)?)),
2361 xproto::GET_POINTER_MAPPING_REQUEST => return Ok(Request::GetPointerMapping(xproto::GetPointerMappingRequest::try_parse_request(header, remaining)?)),
2362 xproto::SET_MODIFIER_MAPPING_REQUEST => return Ok(Request::SetModifierMapping(xproto::SetModifierMappingRequest::try_parse_request(header, remaining)?)),
2363 xproto::GET_MODIFIER_MAPPING_REQUEST => return Ok(Request::GetModifierMapping(xproto::GetModifierMappingRequest::try_parse_request(header, remaining)?)),
2364 xproto::NO_OPERATION_REQUEST => return Ok(Request::NoOperation(xproto::NoOperationRequest::try_parse_request(header, remaining)?)),
2365 _ => (),
2366 }
2367 let ext_info = ext_info_provider.get_from_major_opcode(header.major_opcode);
2369 match ext_info {
2370 Some((bigreq::X11_EXTENSION_NAME, _)) => {
2371 match header.minor_opcode {
2372 bigreq::ENABLE_REQUEST => return Ok(Request::BigreqEnable(bigreq::EnableRequest::try_parse_request(header, remaining)?)),
2373 _ => (),
2374 }
2375 }
2376 #[cfg(feature = "composite")]
2377 Some((composite::X11_EXTENSION_NAME, _)) => {
2378 match header.minor_opcode {
2379 composite::QUERY_VERSION_REQUEST => return Ok(Request::CompositeQueryVersion(composite::QueryVersionRequest::try_parse_request(header, remaining)?)),
2380 composite::REDIRECT_WINDOW_REQUEST => return Ok(Request::CompositeRedirectWindow(composite::RedirectWindowRequest::try_parse_request(header, remaining)?)),
2381 composite::REDIRECT_SUBWINDOWS_REQUEST => return Ok(Request::CompositeRedirectSubwindows(composite::RedirectSubwindowsRequest::try_parse_request(header, remaining)?)),
2382 composite::UNREDIRECT_WINDOW_REQUEST => return Ok(Request::CompositeUnredirectWindow(composite::UnredirectWindowRequest::try_parse_request(header, remaining)?)),
2383 composite::UNREDIRECT_SUBWINDOWS_REQUEST => return Ok(Request::CompositeUnredirectSubwindows(composite::UnredirectSubwindowsRequest::try_parse_request(header, remaining)?)),
2384 composite::CREATE_REGION_FROM_BORDER_CLIP_REQUEST => return Ok(Request::CompositeCreateRegionFromBorderClip(composite::CreateRegionFromBorderClipRequest::try_parse_request(header, remaining)?)),
2385 composite::NAME_WINDOW_PIXMAP_REQUEST => return Ok(Request::CompositeNameWindowPixmap(composite::NameWindowPixmapRequest::try_parse_request(header, remaining)?)),
2386 composite::GET_OVERLAY_WINDOW_REQUEST => return Ok(Request::CompositeGetOverlayWindow(composite::GetOverlayWindowRequest::try_parse_request(header, remaining)?)),
2387 composite::RELEASE_OVERLAY_WINDOW_REQUEST => return Ok(Request::CompositeReleaseOverlayWindow(composite::ReleaseOverlayWindowRequest::try_parse_request(header, remaining)?)),
2388 _ => (),
2389 }
2390 }
2391 #[cfg(feature = "damage")]
2392 Some((damage::X11_EXTENSION_NAME, _)) => {
2393 match header.minor_opcode {
2394 damage::QUERY_VERSION_REQUEST => return Ok(Request::DamageQueryVersion(damage::QueryVersionRequest::try_parse_request(header, remaining)?)),
2395 damage::CREATE_REQUEST => return Ok(Request::DamageCreate(damage::CreateRequest::try_parse_request(header, remaining)?)),
2396 damage::DESTROY_REQUEST => return Ok(Request::DamageDestroy(damage::DestroyRequest::try_parse_request(header, remaining)?)),
2397 damage::SUBTRACT_REQUEST => return Ok(Request::DamageSubtract(damage::SubtractRequest::try_parse_request(header, remaining)?)),
2398 damage::ADD_REQUEST => return Ok(Request::DamageAdd(damage::AddRequest::try_parse_request(header, remaining)?)),
2399 _ => (),
2400 }
2401 }
2402 #[cfg(feature = "dbe")]
2403 Some((dbe::X11_EXTENSION_NAME, _)) => {
2404 match header.minor_opcode {
2405 dbe::QUERY_VERSION_REQUEST => return Ok(Request::DbeQueryVersion(dbe::QueryVersionRequest::try_parse_request(header, remaining)?)),
2406 dbe::ALLOCATE_BACK_BUFFER_REQUEST => return Ok(Request::DbeAllocateBackBuffer(dbe::AllocateBackBufferRequest::try_parse_request(header, remaining)?)),
2407 dbe::DEALLOCATE_BACK_BUFFER_REQUEST => return Ok(Request::DbeDeallocateBackBuffer(dbe::DeallocateBackBufferRequest::try_parse_request(header, remaining)?)),
2408 dbe::SWAP_BUFFERS_REQUEST => return Ok(Request::DbeSwapBuffers(dbe::SwapBuffersRequest::try_parse_request(header, remaining)?)),
2409 dbe::BEGIN_IDIOM_REQUEST => return Ok(Request::DbeBeginIdiom(dbe::BeginIdiomRequest::try_parse_request(header, remaining)?)),
2410 dbe::END_IDIOM_REQUEST => return Ok(Request::DbeEndIdiom(dbe::EndIdiomRequest::try_parse_request(header, remaining)?)),
2411 dbe::GET_VISUAL_INFO_REQUEST => return Ok(Request::DbeGetVisualInfo(dbe::GetVisualInfoRequest::try_parse_request(header, remaining)?)),
2412 dbe::GET_BACK_BUFFER_ATTRIBUTES_REQUEST => return Ok(Request::DbeGetBackBufferAttributes(dbe::GetBackBufferAttributesRequest::try_parse_request(header, remaining)?)),
2413 _ => (),
2414 }
2415 }
2416 #[cfg(feature = "dpms")]
2417 Some((dpms::X11_EXTENSION_NAME, _)) => {
2418 match header.minor_opcode {
2419 dpms::GET_VERSION_REQUEST => return Ok(Request::DpmsGetVersion(dpms::GetVersionRequest::try_parse_request(header, remaining)?)),
2420 dpms::CAPABLE_REQUEST => return Ok(Request::DpmsCapable(dpms::CapableRequest::try_parse_request(header, remaining)?)),
2421 dpms::GET_TIMEOUTS_REQUEST => return Ok(Request::DpmsGetTimeouts(dpms::GetTimeoutsRequest::try_parse_request(header, remaining)?)),
2422 dpms::SET_TIMEOUTS_REQUEST => return Ok(Request::DpmsSetTimeouts(dpms::SetTimeoutsRequest::try_parse_request(header, remaining)?)),
2423 dpms::ENABLE_REQUEST => return Ok(Request::DpmsEnable(dpms::EnableRequest::try_parse_request(header, remaining)?)),
2424 dpms::DISABLE_REQUEST => return Ok(Request::DpmsDisable(dpms::DisableRequest::try_parse_request(header, remaining)?)),
2425 dpms::FORCE_LEVEL_REQUEST => return Ok(Request::DpmsForceLevel(dpms::ForceLevelRequest::try_parse_request(header, remaining)?)),
2426 dpms::INFO_REQUEST => return Ok(Request::DpmsInfo(dpms::InfoRequest::try_parse_request(header, remaining)?)),
2427 dpms::SELECT_INPUT_REQUEST => return Ok(Request::DpmsSelectInput(dpms::SelectInputRequest::try_parse_request(header, remaining)?)),
2428 _ => (),
2429 }
2430 }
2431 #[cfg(feature = "dri2")]
2432 Some((dri2::X11_EXTENSION_NAME, _)) => {
2433 match header.minor_opcode {
2434 dri2::QUERY_VERSION_REQUEST => return Ok(Request::Dri2QueryVersion(dri2::QueryVersionRequest::try_parse_request(header, remaining)?)),
2435 dri2::CONNECT_REQUEST => return Ok(Request::Dri2Connect(dri2::ConnectRequest::try_parse_request(header, remaining)?)),
2436 dri2::AUTHENTICATE_REQUEST => return Ok(Request::Dri2Authenticate(dri2::AuthenticateRequest::try_parse_request(header, remaining)?)),
2437 dri2::CREATE_DRAWABLE_REQUEST => return Ok(Request::Dri2CreateDrawable(dri2::CreateDrawableRequest::try_parse_request(header, remaining)?)),
2438 dri2::DESTROY_DRAWABLE_REQUEST => return Ok(Request::Dri2DestroyDrawable(dri2::DestroyDrawableRequest::try_parse_request(header, remaining)?)),
2439 dri2::GET_BUFFERS_REQUEST => return Ok(Request::Dri2GetBuffers(dri2::GetBuffersRequest::try_parse_request(header, remaining)?)),
2440 dri2::COPY_REGION_REQUEST => return Ok(Request::Dri2CopyRegion(dri2::CopyRegionRequest::try_parse_request(header, remaining)?)),
2441 dri2::GET_BUFFERS_WITH_FORMAT_REQUEST => return Ok(Request::Dri2GetBuffersWithFormat(dri2::GetBuffersWithFormatRequest::try_parse_request(header, remaining)?)),
2442 dri2::SWAP_BUFFERS_REQUEST => return Ok(Request::Dri2SwapBuffers(dri2::SwapBuffersRequest::try_parse_request(header, remaining)?)),
2443 dri2::GET_MSC_REQUEST => return Ok(Request::Dri2GetMSC(dri2::GetMSCRequest::try_parse_request(header, remaining)?)),
2444 dri2::WAIT_MSC_REQUEST => return Ok(Request::Dri2WaitMSC(dri2::WaitMSCRequest::try_parse_request(header, remaining)?)),
2445 dri2::WAIT_SBC_REQUEST => return Ok(Request::Dri2WaitSBC(dri2::WaitSBCRequest::try_parse_request(header, remaining)?)),
2446 dri2::SWAP_INTERVAL_REQUEST => return Ok(Request::Dri2SwapInterval(dri2::SwapIntervalRequest::try_parse_request(header, remaining)?)),
2447 dri2::GET_PARAM_REQUEST => return Ok(Request::Dri2GetParam(dri2::GetParamRequest::try_parse_request(header, remaining)?)),
2448 _ => (),
2449 }
2450 }
2451 #[cfg(feature = "dri3")]
2452 Some((dri3::X11_EXTENSION_NAME, _)) => {
2453 match header.minor_opcode {
2454 dri3::QUERY_VERSION_REQUEST => return Ok(Request::Dri3QueryVersion(dri3::QueryVersionRequest::try_parse_request(header, remaining)?)),
2455 dri3::OPEN_REQUEST => return Ok(Request::Dri3Open(dri3::OpenRequest::try_parse_request(header, remaining)?)),
2456 dri3::PIXMAP_FROM_BUFFER_REQUEST => return Ok(Request::Dri3PixmapFromBuffer(dri3::PixmapFromBufferRequest::try_parse_request_fd(header, remaining, fds)?)),
2457 dri3::BUFFER_FROM_PIXMAP_REQUEST => return Ok(Request::Dri3BufferFromPixmap(dri3::BufferFromPixmapRequest::try_parse_request(header, remaining)?)),
2458 dri3::FENCE_FROM_FD_REQUEST => return Ok(Request::Dri3FenceFromFD(dri3::FenceFromFDRequest::try_parse_request_fd(header, remaining, fds)?)),
2459 dri3::FD_FROM_FENCE_REQUEST => return Ok(Request::Dri3FDFromFence(dri3::FDFromFenceRequest::try_parse_request(header, remaining)?)),
2460 dri3::GET_SUPPORTED_MODIFIERS_REQUEST => return Ok(Request::Dri3GetSupportedModifiers(dri3::GetSupportedModifiersRequest::try_parse_request(header, remaining)?)),
2461 dri3::PIXMAP_FROM_BUFFERS_REQUEST => return Ok(Request::Dri3PixmapFromBuffers(dri3::PixmapFromBuffersRequest::try_parse_request_fd(header, remaining, fds)?)),
2462 dri3::BUFFERS_FROM_PIXMAP_REQUEST => return Ok(Request::Dri3BuffersFromPixmap(dri3::BuffersFromPixmapRequest::try_parse_request(header, remaining)?)),
2463 dri3::SET_DRM_DEVICE_IN_USE_REQUEST => return Ok(Request::Dri3SetDRMDeviceInUse(dri3::SetDRMDeviceInUseRequest::try_parse_request(header, remaining)?)),
2464 dri3::IMPORT_SYNCOBJ_REQUEST => return Ok(Request::Dri3ImportSyncobj(dri3::ImportSyncobjRequest::try_parse_request_fd(header, remaining, fds)?)),
2465 dri3::FREE_SYNCOBJ_REQUEST => return Ok(Request::Dri3FreeSyncobj(dri3::FreeSyncobjRequest::try_parse_request(header, remaining)?)),
2466 _ => (),
2467 }
2468 }
2469 Some((ge::X11_EXTENSION_NAME, _)) => {
2470 match header.minor_opcode {
2471 ge::QUERY_VERSION_REQUEST => return Ok(Request::GeQueryVersion(ge::QueryVersionRequest::try_parse_request(header, remaining)?)),
2472 _ => (),
2473 }
2474 }
2475 #[cfg(feature = "glx")]
2476 Some((glx::X11_EXTENSION_NAME, _)) => {
2477 match header.minor_opcode {
2478 glx::RENDER_REQUEST => return Ok(Request::GlxRender(glx::RenderRequest::try_parse_request(header, remaining)?)),
2479 glx::RENDER_LARGE_REQUEST => return Ok(Request::GlxRenderLarge(glx::RenderLargeRequest::try_parse_request(header, remaining)?)),
2480 glx::CREATE_CONTEXT_REQUEST => return Ok(Request::GlxCreateContext(glx::CreateContextRequest::try_parse_request(header, remaining)?)),
2481 glx::DESTROY_CONTEXT_REQUEST => return Ok(Request::GlxDestroyContext(glx::DestroyContextRequest::try_parse_request(header, remaining)?)),
2482 glx::MAKE_CURRENT_REQUEST => return Ok(Request::GlxMakeCurrent(glx::MakeCurrentRequest::try_parse_request(header, remaining)?)),
2483 glx::IS_DIRECT_REQUEST => return Ok(Request::GlxIsDirect(glx::IsDirectRequest::try_parse_request(header, remaining)?)),
2484 glx::QUERY_VERSION_REQUEST => return Ok(Request::GlxQueryVersion(glx::QueryVersionRequest::try_parse_request(header, remaining)?)),
2485 glx::WAIT_GL_REQUEST => return Ok(Request::GlxWaitGL(glx::WaitGLRequest::try_parse_request(header, remaining)?)),
2486 glx::WAIT_X_REQUEST => return Ok(Request::GlxWaitX(glx::WaitXRequest::try_parse_request(header, remaining)?)),
2487 glx::COPY_CONTEXT_REQUEST => return Ok(Request::GlxCopyContext(glx::CopyContextRequest::try_parse_request(header, remaining)?)),
2488 glx::SWAP_BUFFERS_REQUEST => return Ok(Request::GlxSwapBuffers(glx::SwapBuffersRequest::try_parse_request(header, remaining)?)),
2489 glx::USE_X_FONT_REQUEST => return Ok(Request::GlxUseXFont(glx::UseXFontRequest::try_parse_request(header, remaining)?)),
2490 glx::CREATE_GLX_PIXMAP_REQUEST => return Ok(Request::GlxCreateGLXPixmap(glx::CreateGLXPixmapRequest::try_parse_request(header, remaining)?)),
2491 glx::GET_VISUAL_CONFIGS_REQUEST => return Ok(Request::GlxGetVisualConfigs(glx::GetVisualConfigsRequest::try_parse_request(header, remaining)?)),
2492 glx::DESTROY_GLX_PIXMAP_REQUEST => return Ok(Request::GlxDestroyGLXPixmap(glx::DestroyGLXPixmapRequest::try_parse_request(header, remaining)?)),
2493 glx::VENDOR_PRIVATE_REQUEST => return Ok(Request::GlxVendorPrivate(glx::VendorPrivateRequest::try_parse_request(header, remaining)?)),
2494 glx::VENDOR_PRIVATE_WITH_REPLY_REQUEST => return Ok(Request::GlxVendorPrivateWithReply(glx::VendorPrivateWithReplyRequest::try_parse_request(header, remaining)?)),
2495 glx::QUERY_EXTENSIONS_STRING_REQUEST => return Ok(Request::GlxQueryExtensionsString(glx::QueryExtensionsStringRequest::try_parse_request(header, remaining)?)),
2496 glx::QUERY_SERVER_STRING_REQUEST => return Ok(Request::GlxQueryServerString(glx::QueryServerStringRequest::try_parse_request(header, remaining)?)),
2497 glx::CLIENT_INFO_REQUEST => return Ok(Request::GlxClientInfo(glx::ClientInfoRequest::try_parse_request(header, remaining)?)),
2498 glx::GET_FB_CONFIGS_REQUEST => return Ok(Request::GlxGetFBConfigs(glx::GetFBConfigsRequest::try_parse_request(header, remaining)?)),
2499 glx::CREATE_PIXMAP_REQUEST => return Ok(Request::GlxCreatePixmap(glx::CreatePixmapRequest::try_parse_request(header, remaining)?)),
2500 glx::DESTROY_PIXMAP_REQUEST => return Ok(Request::GlxDestroyPixmap(glx::DestroyPixmapRequest::try_parse_request(header, remaining)?)),
2501 glx::CREATE_NEW_CONTEXT_REQUEST => return Ok(Request::GlxCreateNewContext(glx::CreateNewContextRequest::try_parse_request(header, remaining)?)),
2502 glx::QUERY_CONTEXT_REQUEST => return Ok(Request::GlxQueryContext(glx::QueryContextRequest::try_parse_request(header, remaining)?)),
2503 glx::MAKE_CONTEXT_CURRENT_REQUEST => return Ok(Request::GlxMakeContextCurrent(glx::MakeContextCurrentRequest::try_parse_request(header, remaining)?)),
2504 glx::CREATE_PBUFFER_REQUEST => return Ok(Request::GlxCreatePbuffer(glx::CreatePbufferRequest::try_parse_request(header, remaining)?)),
2505 glx::DESTROY_PBUFFER_REQUEST => return Ok(Request::GlxDestroyPbuffer(glx::DestroyPbufferRequest::try_parse_request(header, remaining)?)),
2506 glx::GET_DRAWABLE_ATTRIBUTES_REQUEST => return Ok(Request::GlxGetDrawableAttributes(glx::GetDrawableAttributesRequest::try_parse_request(header, remaining)?)),
2507 glx::CHANGE_DRAWABLE_ATTRIBUTES_REQUEST => return Ok(Request::GlxChangeDrawableAttributes(glx::ChangeDrawableAttributesRequest::try_parse_request(header, remaining)?)),
2508 glx::CREATE_WINDOW_REQUEST => return Ok(Request::GlxCreateWindow(glx::CreateWindowRequest::try_parse_request(header, remaining)?)),
2509 glx::DELETE_WINDOW_REQUEST => return Ok(Request::GlxDeleteWindow(glx::DeleteWindowRequest::try_parse_request(header, remaining)?)),
2510 glx::SET_CLIENT_INFO_ARB_REQUEST => return Ok(Request::GlxSetClientInfoARB(glx::SetClientInfoARBRequest::try_parse_request(header, remaining)?)),
2511 glx::CREATE_CONTEXT_ATTRIBS_ARB_REQUEST => return Ok(Request::GlxCreateContextAttribsARB(glx::CreateContextAttribsARBRequest::try_parse_request(header, remaining)?)),
2512 glx::SET_CLIENT_INFO2_ARB_REQUEST => return Ok(Request::GlxSetClientInfo2ARB(glx::SetClientInfo2ARBRequest::try_parse_request(header, remaining)?)),
2513 glx::NEW_LIST_REQUEST => return Ok(Request::GlxNewList(glx::NewListRequest::try_parse_request(header, remaining)?)),
2514 glx::END_LIST_REQUEST => return Ok(Request::GlxEndList(glx::EndListRequest::try_parse_request(header, remaining)?)),
2515 glx::DELETE_LISTS_REQUEST => return Ok(Request::GlxDeleteLists(glx::DeleteListsRequest::try_parse_request(header, remaining)?)),
2516 glx::GEN_LISTS_REQUEST => return Ok(Request::GlxGenLists(glx::GenListsRequest::try_parse_request(header, remaining)?)),
2517 glx::FEEDBACK_BUFFER_REQUEST => return Ok(Request::GlxFeedbackBuffer(glx::FeedbackBufferRequest::try_parse_request(header, remaining)?)),
2518 glx::SELECT_BUFFER_REQUEST => return Ok(Request::GlxSelectBuffer(glx::SelectBufferRequest::try_parse_request(header, remaining)?)),
2519 glx::RENDER_MODE_REQUEST => return Ok(Request::GlxRenderMode(glx::RenderModeRequest::try_parse_request(header, remaining)?)),
2520 glx::FINISH_REQUEST => return Ok(Request::GlxFinish(glx::FinishRequest::try_parse_request(header, remaining)?)),
2521 glx::PIXEL_STOREF_REQUEST => return Ok(Request::GlxPixelStoref(glx::PixelStorefRequest::try_parse_request(header, remaining)?)),
2522 glx::PIXEL_STOREI_REQUEST => return Ok(Request::GlxPixelStorei(glx::PixelStoreiRequest::try_parse_request(header, remaining)?)),
2523 glx::READ_PIXELS_REQUEST => return Ok(Request::GlxReadPixels(glx::ReadPixelsRequest::try_parse_request(header, remaining)?)),
2524 glx::GET_BOOLEANV_REQUEST => return Ok(Request::GlxGetBooleanv(glx::GetBooleanvRequest::try_parse_request(header, remaining)?)),
2525 glx::GET_CLIP_PLANE_REQUEST => return Ok(Request::GlxGetClipPlane(glx::GetClipPlaneRequest::try_parse_request(header, remaining)?)),
2526 glx::GET_DOUBLEV_REQUEST => return Ok(Request::GlxGetDoublev(glx::GetDoublevRequest::try_parse_request(header, remaining)?)),
2527 glx::GET_ERROR_REQUEST => return Ok(Request::GlxGetError(glx::GetErrorRequest::try_parse_request(header, remaining)?)),
2528 glx::GET_FLOATV_REQUEST => return Ok(Request::GlxGetFloatv(glx::GetFloatvRequest::try_parse_request(header, remaining)?)),
2529 glx::GET_INTEGERV_REQUEST => return Ok(Request::GlxGetIntegerv(glx::GetIntegervRequest::try_parse_request(header, remaining)?)),
2530 glx::GET_LIGHTFV_REQUEST => return Ok(Request::GlxGetLightfv(glx::GetLightfvRequest::try_parse_request(header, remaining)?)),
2531 glx::GET_LIGHTIV_REQUEST => return Ok(Request::GlxGetLightiv(glx::GetLightivRequest::try_parse_request(header, remaining)?)),
2532 glx::GET_MAPDV_REQUEST => return Ok(Request::GlxGetMapdv(glx::GetMapdvRequest::try_parse_request(header, remaining)?)),
2533 glx::GET_MAPFV_REQUEST => return Ok(Request::GlxGetMapfv(glx::GetMapfvRequest::try_parse_request(header, remaining)?)),
2534 glx::GET_MAPIV_REQUEST => return Ok(Request::GlxGetMapiv(glx::GetMapivRequest::try_parse_request(header, remaining)?)),
2535 glx::GET_MATERIALFV_REQUEST => return Ok(Request::GlxGetMaterialfv(glx::GetMaterialfvRequest::try_parse_request(header, remaining)?)),
2536 glx::GET_MATERIALIV_REQUEST => return Ok(Request::GlxGetMaterialiv(glx::GetMaterialivRequest::try_parse_request(header, remaining)?)),
2537 glx::GET_PIXEL_MAPFV_REQUEST => return Ok(Request::GlxGetPixelMapfv(glx::GetPixelMapfvRequest::try_parse_request(header, remaining)?)),
2538 glx::GET_PIXEL_MAPUIV_REQUEST => return Ok(Request::GlxGetPixelMapuiv(glx::GetPixelMapuivRequest::try_parse_request(header, remaining)?)),
2539 glx::GET_PIXEL_MAPUSV_REQUEST => return Ok(Request::GlxGetPixelMapusv(glx::GetPixelMapusvRequest::try_parse_request(header, remaining)?)),
2540 glx::GET_POLYGON_STIPPLE_REQUEST => return Ok(Request::GlxGetPolygonStipple(glx::GetPolygonStippleRequest::try_parse_request(header, remaining)?)),
2541 glx::GET_STRING_REQUEST => return Ok(Request::GlxGetString(glx::GetStringRequest::try_parse_request(header, remaining)?)),
2542 glx::GET_TEX_ENVFV_REQUEST => return Ok(Request::GlxGetTexEnvfv(glx::GetTexEnvfvRequest::try_parse_request(header, remaining)?)),
2543 glx::GET_TEX_ENVIV_REQUEST => return Ok(Request::GlxGetTexEnviv(glx::GetTexEnvivRequest::try_parse_request(header, remaining)?)),
2544 glx::GET_TEX_GENDV_REQUEST => return Ok(Request::GlxGetTexGendv(glx::GetTexGendvRequest::try_parse_request(header, remaining)?)),
2545 glx::GET_TEX_GENFV_REQUEST => return Ok(Request::GlxGetTexGenfv(glx::GetTexGenfvRequest::try_parse_request(header, remaining)?)),
2546 glx::GET_TEX_GENIV_REQUEST => return Ok(Request::GlxGetTexGeniv(glx::GetTexGenivRequest::try_parse_request(header, remaining)?)),
2547 glx::GET_TEX_IMAGE_REQUEST => return Ok(Request::GlxGetTexImage(glx::GetTexImageRequest::try_parse_request(header, remaining)?)),
2548 glx::GET_TEX_PARAMETERFV_REQUEST => return Ok(Request::GlxGetTexParameterfv(glx::GetTexParameterfvRequest::try_parse_request(header, remaining)?)),
2549 glx::GET_TEX_PARAMETERIV_REQUEST => return Ok(Request::GlxGetTexParameteriv(glx::GetTexParameterivRequest::try_parse_request(header, remaining)?)),
2550 glx::GET_TEX_LEVEL_PARAMETERFV_REQUEST => return Ok(Request::GlxGetTexLevelParameterfv(glx::GetTexLevelParameterfvRequest::try_parse_request(header, remaining)?)),
2551 glx::GET_TEX_LEVEL_PARAMETERIV_REQUEST => return Ok(Request::GlxGetTexLevelParameteriv(glx::GetTexLevelParameterivRequest::try_parse_request(header, remaining)?)),
2552 glx::IS_ENABLED_REQUEST => return Ok(Request::GlxIsEnabled(glx::IsEnabledRequest::try_parse_request(header, remaining)?)),
2553 glx::IS_LIST_REQUEST => return Ok(Request::GlxIsList(glx::IsListRequest::try_parse_request(header, remaining)?)),
2554 glx::FLUSH_REQUEST => return Ok(Request::GlxFlush(glx::FlushRequest::try_parse_request(header, remaining)?)),
2555 glx::ARE_TEXTURES_RESIDENT_REQUEST => return Ok(Request::GlxAreTexturesResident(glx::AreTexturesResidentRequest::try_parse_request(header, remaining)?)),
2556 glx::DELETE_TEXTURES_REQUEST => return Ok(Request::GlxDeleteTextures(glx::DeleteTexturesRequest::try_parse_request(header, remaining)?)),
2557 glx::GEN_TEXTURES_REQUEST => return Ok(Request::GlxGenTextures(glx::GenTexturesRequest::try_parse_request(header, remaining)?)),
2558 glx::IS_TEXTURE_REQUEST => return Ok(Request::GlxIsTexture(glx::IsTextureRequest::try_parse_request(header, remaining)?)),
2559 glx::GET_COLOR_TABLE_REQUEST => return Ok(Request::GlxGetColorTable(glx::GetColorTableRequest::try_parse_request(header, remaining)?)),
2560 glx::GET_COLOR_TABLE_PARAMETERFV_REQUEST => return Ok(Request::GlxGetColorTableParameterfv(glx::GetColorTableParameterfvRequest::try_parse_request(header, remaining)?)),
2561 glx::GET_COLOR_TABLE_PARAMETERIV_REQUEST => return Ok(Request::GlxGetColorTableParameteriv(glx::GetColorTableParameterivRequest::try_parse_request(header, remaining)?)),
2562 glx::GET_CONVOLUTION_FILTER_REQUEST => return Ok(Request::GlxGetConvolutionFilter(glx::GetConvolutionFilterRequest::try_parse_request(header, remaining)?)),
2563 glx::GET_CONVOLUTION_PARAMETERFV_REQUEST => return Ok(Request::GlxGetConvolutionParameterfv(glx::GetConvolutionParameterfvRequest::try_parse_request(header, remaining)?)),
2564 glx::GET_CONVOLUTION_PARAMETERIV_REQUEST => return Ok(Request::GlxGetConvolutionParameteriv(glx::GetConvolutionParameterivRequest::try_parse_request(header, remaining)?)),
2565 glx::GET_SEPARABLE_FILTER_REQUEST => return Ok(Request::GlxGetSeparableFilter(glx::GetSeparableFilterRequest::try_parse_request(header, remaining)?)),
2566 glx::GET_HISTOGRAM_REQUEST => return Ok(Request::GlxGetHistogram(glx::GetHistogramRequest::try_parse_request(header, remaining)?)),
2567 glx::GET_HISTOGRAM_PARAMETERFV_REQUEST => return Ok(Request::GlxGetHistogramParameterfv(glx::GetHistogramParameterfvRequest::try_parse_request(header, remaining)?)),
2568 glx::GET_HISTOGRAM_PARAMETERIV_REQUEST => return Ok(Request::GlxGetHistogramParameteriv(glx::GetHistogramParameterivRequest::try_parse_request(header, remaining)?)),
2569 glx::GET_MINMAX_REQUEST => return Ok(Request::GlxGetMinmax(glx::GetMinmaxRequest::try_parse_request(header, remaining)?)),
2570 glx::GET_MINMAX_PARAMETERFV_REQUEST => return Ok(Request::GlxGetMinmaxParameterfv(glx::GetMinmaxParameterfvRequest::try_parse_request(header, remaining)?)),
2571 glx::GET_MINMAX_PARAMETERIV_REQUEST => return Ok(Request::GlxGetMinmaxParameteriv(glx::GetMinmaxParameterivRequest::try_parse_request(header, remaining)?)),
2572 glx::GET_COMPRESSED_TEX_IMAGE_ARB_REQUEST => return Ok(Request::GlxGetCompressedTexImageARB(glx::GetCompressedTexImageARBRequest::try_parse_request(header, remaining)?)),
2573 glx::DELETE_QUERIES_ARB_REQUEST => return Ok(Request::GlxDeleteQueriesARB(glx::DeleteQueriesARBRequest::try_parse_request(header, remaining)?)),
2574 glx::GEN_QUERIES_ARB_REQUEST => return Ok(Request::GlxGenQueriesARB(glx::GenQueriesARBRequest::try_parse_request(header, remaining)?)),
2575 glx::IS_QUERY_ARB_REQUEST => return Ok(Request::GlxIsQueryARB(glx::IsQueryARBRequest::try_parse_request(header, remaining)?)),
2576 glx::GET_QUERYIV_ARB_REQUEST => return Ok(Request::GlxGetQueryivARB(glx::GetQueryivARBRequest::try_parse_request(header, remaining)?)),
2577 glx::GET_QUERY_OBJECTIV_ARB_REQUEST => return Ok(Request::GlxGetQueryObjectivARB(glx::GetQueryObjectivARBRequest::try_parse_request(header, remaining)?)),
2578 glx::GET_QUERY_OBJECTUIV_ARB_REQUEST => return Ok(Request::GlxGetQueryObjectuivARB(glx::GetQueryObjectuivARBRequest::try_parse_request(header, remaining)?)),
2579 _ => (),
2580 }
2581 }
2582 #[cfg(feature = "present")]
2583 Some((present::X11_EXTENSION_NAME, _)) => {
2584 match header.minor_opcode {
2585 present::QUERY_VERSION_REQUEST => return Ok(Request::PresentQueryVersion(present::QueryVersionRequest::try_parse_request(header, remaining)?)),
2586 present::PIXMAP_REQUEST => return Ok(Request::PresentPixmap(present::PixmapRequest::try_parse_request(header, remaining)?)),
2587 present::NOTIFY_MSC_REQUEST => return Ok(Request::PresentNotifyMSC(present::NotifyMSCRequest::try_parse_request(header, remaining)?)),
2588 present::SELECT_INPUT_REQUEST => return Ok(Request::PresentSelectInput(present::SelectInputRequest::try_parse_request(header, remaining)?)),
2589 present::QUERY_CAPABILITIES_REQUEST => return Ok(Request::PresentQueryCapabilities(present::QueryCapabilitiesRequest::try_parse_request(header, remaining)?)),
2590 present::PIXMAP_SYNCED_REQUEST => return Ok(Request::PresentPixmapSynced(present::PixmapSyncedRequest::try_parse_request(header, remaining)?)),
2591 _ => (),
2592 }
2593 }
2594 #[cfg(feature = "randr")]
2595 Some((randr::X11_EXTENSION_NAME, _)) => {
2596 match header.minor_opcode {
2597 randr::QUERY_VERSION_REQUEST => return Ok(Request::RandrQueryVersion(randr::QueryVersionRequest::try_parse_request(header, remaining)?)),
2598 randr::SET_SCREEN_CONFIG_REQUEST => return Ok(Request::RandrSetScreenConfig(randr::SetScreenConfigRequest::try_parse_request(header, remaining)?)),
2599 randr::SELECT_INPUT_REQUEST => return Ok(Request::RandrSelectInput(randr::SelectInputRequest::try_parse_request(header, remaining)?)),
2600 randr::GET_SCREEN_INFO_REQUEST => return Ok(Request::RandrGetScreenInfo(randr::GetScreenInfoRequest::try_parse_request(header, remaining)?)),
2601 randr::GET_SCREEN_SIZE_RANGE_REQUEST => return Ok(Request::RandrGetScreenSizeRange(randr::GetScreenSizeRangeRequest::try_parse_request(header, remaining)?)),
2602 randr::SET_SCREEN_SIZE_REQUEST => return Ok(Request::RandrSetScreenSize(randr::SetScreenSizeRequest::try_parse_request(header, remaining)?)),
2603 randr::GET_SCREEN_RESOURCES_REQUEST => return Ok(Request::RandrGetScreenResources(randr::GetScreenResourcesRequest::try_parse_request(header, remaining)?)),
2604 randr::GET_OUTPUT_INFO_REQUEST => return Ok(Request::RandrGetOutputInfo(randr::GetOutputInfoRequest::try_parse_request(header, remaining)?)),
2605 randr::LIST_OUTPUT_PROPERTIES_REQUEST => return Ok(Request::RandrListOutputProperties(randr::ListOutputPropertiesRequest::try_parse_request(header, remaining)?)),
2606 randr::QUERY_OUTPUT_PROPERTY_REQUEST => return Ok(Request::RandrQueryOutputProperty(randr::QueryOutputPropertyRequest::try_parse_request(header, remaining)?)),
2607 randr::CONFIGURE_OUTPUT_PROPERTY_REQUEST => return Ok(Request::RandrConfigureOutputProperty(randr::ConfigureOutputPropertyRequest::try_parse_request(header, remaining)?)),
2608 randr::CHANGE_OUTPUT_PROPERTY_REQUEST => return Ok(Request::RandrChangeOutputProperty(randr::ChangeOutputPropertyRequest::try_parse_request(header, remaining)?)),
2609 randr::DELETE_OUTPUT_PROPERTY_REQUEST => return Ok(Request::RandrDeleteOutputProperty(randr::DeleteOutputPropertyRequest::try_parse_request(header, remaining)?)),
2610 randr::GET_OUTPUT_PROPERTY_REQUEST => return Ok(Request::RandrGetOutputProperty(randr::GetOutputPropertyRequest::try_parse_request(header, remaining)?)),
2611 randr::CREATE_MODE_REQUEST => return Ok(Request::RandrCreateMode(randr::CreateModeRequest::try_parse_request(header, remaining)?)),
2612 randr::DESTROY_MODE_REQUEST => return Ok(Request::RandrDestroyMode(randr::DestroyModeRequest::try_parse_request(header, remaining)?)),
2613 randr::ADD_OUTPUT_MODE_REQUEST => return Ok(Request::RandrAddOutputMode(randr::AddOutputModeRequest::try_parse_request(header, remaining)?)),
2614 randr::DELETE_OUTPUT_MODE_REQUEST => return Ok(Request::RandrDeleteOutputMode(randr::DeleteOutputModeRequest::try_parse_request(header, remaining)?)),
2615 randr::GET_CRTC_INFO_REQUEST => return Ok(Request::RandrGetCrtcInfo(randr::GetCrtcInfoRequest::try_parse_request(header, remaining)?)),
2616 randr::SET_CRTC_CONFIG_REQUEST => return Ok(Request::RandrSetCrtcConfig(randr::SetCrtcConfigRequest::try_parse_request(header, remaining)?)),
2617 randr::GET_CRTC_GAMMA_SIZE_REQUEST => return Ok(Request::RandrGetCrtcGammaSize(randr::GetCrtcGammaSizeRequest::try_parse_request(header, remaining)?)),
2618 randr::GET_CRTC_GAMMA_REQUEST => return Ok(Request::RandrGetCrtcGamma(randr::GetCrtcGammaRequest::try_parse_request(header, remaining)?)),
2619 randr::SET_CRTC_GAMMA_REQUEST => return Ok(Request::RandrSetCrtcGamma(randr::SetCrtcGammaRequest::try_parse_request(header, remaining)?)),
2620 randr::GET_SCREEN_RESOURCES_CURRENT_REQUEST => return Ok(Request::RandrGetScreenResourcesCurrent(randr::GetScreenResourcesCurrentRequest::try_parse_request(header, remaining)?)),
2621 randr::SET_CRTC_TRANSFORM_REQUEST => return Ok(Request::RandrSetCrtcTransform(randr::SetCrtcTransformRequest::try_parse_request(header, remaining)?)),
2622 randr::GET_CRTC_TRANSFORM_REQUEST => return Ok(Request::RandrGetCrtcTransform(randr::GetCrtcTransformRequest::try_parse_request(header, remaining)?)),
2623 randr::GET_PANNING_REQUEST => return Ok(Request::RandrGetPanning(randr::GetPanningRequest::try_parse_request(header, remaining)?)),
2624 randr::SET_PANNING_REQUEST => return Ok(Request::RandrSetPanning(randr::SetPanningRequest::try_parse_request(header, remaining)?)),
2625 randr::SET_OUTPUT_PRIMARY_REQUEST => return Ok(Request::RandrSetOutputPrimary(randr::SetOutputPrimaryRequest::try_parse_request(header, remaining)?)),
2626 randr::GET_OUTPUT_PRIMARY_REQUEST => return Ok(Request::RandrGetOutputPrimary(randr::GetOutputPrimaryRequest::try_parse_request(header, remaining)?)),
2627 randr::GET_PROVIDERS_REQUEST => return Ok(Request::RandrGetProviders(randr::GetProvidersRequest::try_parse_request(header, remaining)?)),
2628 randr::GET_PROVIDER_INFO_REQUEST => return Ok(Request::RandrGetProviderInfo(randr::GetProviderInfoRequest::try_parse_request(header, remaining)?)),
2629 randr::SET_PROVIDER_OFFLOAD_SINK_REQUEST => return Ok(Request::RandrSetProviderOffloadSink(randr::SetProviderOffloadSinkRequest::try_parse_request(header, remaining)?)),
2630 randr::SET_PROVIDER_OUTPUT_SOURCE_REQUEST => return Ok(Request::RandrSetProviderOutputSource(randr::SetProviderOutputSourceRequest::try_parse_request(header, remaining)?)),
2631 randr::LIST_PROVIDER_PROPERTIES_REQUEST => return Ok(Request::RandrListProviderProperties(randr::ListProviderPropertiesRequest::try_parse_request(header, remaining)?)),
2632 randr::QUERY_PROVIDER_PROPERTY_REQUEST => return Ok(Request::RandrQueryProviderProperty(randr::QueryProviderPropertyRequest::try_parse_request(header, remaining)?)),
2633 randr::CONFIGURE_PROVIDER_PROPERTY_REQUEST => return Ok(Request::RandrConfigureProviderProperty(randr::ConfigureProviderPropertyRequest::try_parse_request(header, remaining)?)),
2634 randr::CHANGE_PROVIDER_PROPERTY_REQUEST => return Ok(Request::RandrChangeProviderProperty(randr::ChangeProviderPropertyRequest::try_parse_request(header, remaining)?)),
2635 randr::DELETE_PROVIDER_PROPERTY_REQUEST => return Ok(Request::RandrDeleteProviderProperty(randr::DeleteProviderPropertyRequest::try_parse_request(header, remaining)?)),
2636 randr::GET_PROVIDER_PROPERTY_REQUEST => return Ok(Request::RandrGetProviderProperty(randr::GetProviderPropertyRequest::try_parse_request(header, remaining)?)),
2637 randr::GET_MONITORS_REQUEST => return Ok(Request::RandrGetMonitors(randr::GetMonitorsRequest::try_parse_request(header, remaining)?)),
2638 randr::SET_MONITOR_REQUEST => return Ok(Request::RandrSetMonitor(randr::SetMonitorRequest::try_parse_request(header, remaining)?)),
2639 randr::DELETE_MONITOR_REQUEST => return Ok(Request::RandrDeleteMonitor(randr::DeleteMonitorRequest::try_parse_request(header, remaining)?)),
2640 randr::CREATE_LEASE_REQUEST => return Ok(Request::RandrCreateLease(randr::CreateLeaseRequest::try_parse_request(header, remaining)?)),
2641 randr::FREE_LEASE_REQUEST => return Ok(Request::RandrFreeLease(randr::FreeLeaseRequest::try_parse_request(header, remaining)?)),
2642 _ => (),
2643 }
2644 }
2645 #[cfg(feature = "record")]
2646 Some((record::X11_EXTENSION_NAME, _)) => {
2647 match header.minor_opcode {
2648 record::QUERY_VERSION_REQUEST => return Ok(Request::RecordQueryVersion(record::QueryVersionRequest::try_parse_request(header, remaining)?)),
2649 record::CREATE_CONTEXT_REQUEST => return Ok(Request::RecordCreateContext(record::CreateContextRequest::try_parse_request(header, remaining)?)),
2650 record::REGISTER_CLIENTS_REQUEST => return Ok(Request::RecordRegisterClients(record::RegisterClientsRequest::try_parse_request(header, remaining)?)),
2651 record::UNREGISTER_CLIENTS_REQUEST => return Ok(Request::RecordUnregisterClients(record::UnregisterClientsRequest::try_parse_request(header, remaining)?)),
2652 record::GET_CONTEXT_REQUEST => return Ok(Request::RecordGetContext(record::GetContextRequest::try_parse_request(header, remaining)?)),
2653 record::ENABLE_CONTEXT_REQUEST => return Ok(Request::RecordEnableContext(record::EnableContextRequest::try_parse_request(header, remaining)?)),
2654 record::DISABLE_CONTEXT_REQUEST => return Ok(Request::RecordDisableContext(record::DisableContextRequest::try_parse_request(header, remaining)?)),
2655 record::FREE_CONTEXT_REQUEST => return Ok(Request::RecordFreeContext(record::FreeContextRequest::try_parse_request(header, remaining)?)),
2656 _ => (),
2657 }
2658 }
2659 #[cfg(feature = "render")]
2660 Some((render::X11_EXTENSION_NAME, _)) => {
2661 match header.minor_opcode {
2662 render::QUERY_VERSION_REQUEST => return Ok(Request::RenderQueryVersion(render::QueryVersionRequest::try_parse_request(header, remaining)?)),
2663 render::QUERY_PICT_FORMATS_REQUEST => return Ok(Request::RenderQueryPictFormats(render::QueryPictFormatsRequest::try_parse_request(header, remaining)?)),
2664 render::QUERY_PICT_INDEX_VALUES_REQUEST => return Ok(Request::RenderQueryPictIndexValues(render::QueryPictIndexValuesRequest::try_parse_request(header, remaining)?)),
2665 render::CREATE_PICTURE_REQUEST => return Ok(Request::RenderCreatePicture(render::CreatePictureRequest::try_parse_request(header, remaining)?)),
2666 render::CHANGE_PICTURE_REQUEST => return Ok(Request::RenderChangePicture(render::ChangePictureRequest::try_parse_request(header, remaining)?)),
2667 render::SET_PICTURE_CLIP_RECTANGLES_REQUEST => return Ok(Request::RenderSetPictureClipRectangles(render::SetPictureClipRectanglesRequest::try_parse_request(header, remaining)?)),
2668 render::FREE_PICTURE_REQUEST => return Ok(Request::RenderFreePicture(render::FreePictureRequest::try_parse_request(header, remaining)?)),
2669 render::COMPOSITE_REQUEST => return Ok(Request::RenderComposite(render::CompositeRequest::try_parse_request(header, remaining)?)),
2670 render::TRAPEZOIDS_REQUEST => return Ok(Request::RenderTrapezoids(render::TrapezoidsRequest::try_parse_request(header, remaining)?)),
2671 render::TRIANGLES_REQUEST => return Ok(Request::RenderTriangles(render::TrianglesRequest::try_parse_request(header, remaining)?)),
2672 render::TRI_STRIP_REQUEST => return Ok(Request::RenderTriStrip(render::TriStripRequest::try_parse_request(header, remaining)?)),
2673 render::TRI_FAN_REQUEST => return Ok(Request::RenderTriFan(render::TriFanRequest::try_parse_request(header, remaining)?)),
2674 render::CREATE_GLYPH_SET_REQUEST => return Ok(Request::RenderCreateGlyphSet(render::CreateGlyphSetRequest::try_parse_request(header, remaining)?)),
2675 render::REFERENCE_GLYPH_SET_REQUEST => return Ok(Request::RenderReferenceGlyphSet(render::ReferenceGlyphSetRequest::try_parse_request(header, remaining)?)),
2676 render::FREE_GLYPH_SET_REQUEST => return Ok(Request::RenderFreeGlyphSet(render::FreeGlyphSetRequest::try_parse_request(header, remaining)?)),
2677 render::ADD_GLYPHS_REQUEST => return Ok(Request::RenderAddGlyphs(render::AddGlyphsRequest::try_parse_request(header, remaining)?)),
2678 render::FREE_GLYPHS_REQUEST => return Ok(Request::RenderFreeGlyphs(render::FreeGlyphsRequest::try_parse_request(header, remaining)?)),
2679 render::COMPOSITE_GLYPHS8_REQUEST => return Ok(Request::RenderCompositeGlyphs8(render::CompositeGlyphs8Request::try_parse_request(header, remaining)?)),
2680 render::COMPOSITE_GLYPHS16_REQUEST => return Ok(Request::RenderCompositeGlyphs16(render::CompositeGlyphs16Request::try_parse_request(header, remaining)?)),
2681 render::COMPOSITE_GLYPHS32_REQUEST => return Ok(Request::RenderCompositeGlyphs32(render::CompositeGlyphs32Request::try_parse_request(header, remaining)?)),
2682 render::FILL_RECTANGLES_REQUEST => return Ok(Request::RenderFillRectangles(render::FillRectanglesRequest::try_parse_request(header, remaining)?)),
2683 render::CREATE_CURSOR_REQUEST => return Ok(Request::RenderCreateCursor(render::CreateCursorRequest::try_parse_request(header, remaining)?)),
2684 render::SET_PICTURE_TRANSFORM_REQUEST => return Ok(Request::RenderSetPictureTransform(render::SetPictureTransformRequest::try_parse_request(header, remaining)?)),
2685 render::QUERY_FILTERS_REQUEST => return Ok(Request::RenderQueryFilters(render::QueryFiltersRequest::try_parse_request(header, remaining)?)),
2686 render::SET_PICTURE_FILTER_REQUEST => return Ok(Request::RenderSetPictureFilter(render::SetPictureFilterRequest::try_parse_request(header, remaining)?)),
2687 render::CREATE_ANIM_CURSOR_REQUEST => return Ok(Request::RenderCreateAnimCursor(render::CreateAnimCursorRequest::try_parse_request(header, remaining)?)),
2688 render::ADD_TRAPS_REQUEST => return Ok(Request::RenderAddTraps(render::AddTrapsRequest::try_parse_request(header, remaining)?)),
2689 render::CREATE_SOLID_FILL_REQUEST => return Ok(Request::RenderCreateSolidFill(render::CreateSolidFillRequest::try_parse_request(header, remaining)?)),
2690 render::CREATE_LINEAR_GRADIENT_REQUEST => return Ok(Request::RenderCreateLinearGradient(render::CreateLinearGradientRequest::try_parse_request(header, remaining)?)),
2691 render::CREATE_RADIAL_GRADIENT_REQUEST => return Ok(Request::RenderCreateRadialGradient(render::CreateRadialGradientRequest::try_parse_request(header, remaining)?)),
2692 render::CREATE_CONICAL_GRADIENT_REQUEST => return Ok(Request::RenderCreateConicalGradient(render::CreateConicalGradientRequest::try_parse_request(header, remaining)?)),
2693 _ => (),
2694 }
2695 }
2696 #[cfg(feature = "res")]
2697 Some((res::X11_EXTENSION_NAME, _)) => {
2698 match header.minor_opcode {
2699 res::QUERY_VERSION_REQUEST => return Ok(Request::ResQueryVersion(res::QueryVersionRequest::try_parse_request(header, remaining)?)),
2700 res::QUERY_CLIENTS_REQUEST => return Ok(Request::ResQueryClients(res::QueryClientsRequest::try_parse_request(header, remaining)?)),
2701 res::QUERY_CLIENT_RESOURCES_REQUEST => return Ok(Request::ResQueryClientResources(res::QueryClientResourcesRequest::try_parse_request(header, remaining)?)),
2702 res::QUERY_CLIENT_PIXMAP_BYTES_REQUEST => return Ok(Request::ResQueryClientPixmapBytes(res::QueryClientPixmapBytesRequest::try_parse_request(header, remaining)?)),
2703 res::QUERY_CLIENT_IDS_REQUEST => return Ok(Request::ResQueryClientIds(res::QueryClientIdsRequest::try_parse_request(header, remaining)?)),
2704 res::QUERY_RESOURCE_BYTES_REQUEST => return Ok(Request::ResQueryResourceBytes(res::QueryResourceBytesRequest::try_parse_request(header, remaining)?)),
2705 _ => (),
2706 }
2707 }
2708 #[cfg(feature = "screensaver")]
2709 Some((screensaver::X11_EXTENSION_NAME, _)) => {
2710 match header.minor_opcode {
2711 screensaver::QUERY_VERSION_REQUEST => return Ok(Request::ScreensaverQueryVersion(screensaver::QueryVersionRequest::try_parse_request(header, remaining)?)),
2712 screensaver::QUERY_INFO_REQUEST => return Ok(Request::ScreensaverQueryInfo(screensaver::QueryInfoRequest::try_parse_request(header, remaining)?)),
2713 screensaver::SELECT_INPUT_REQUEST => return Ok(Request::ScreensaverSelectInput(screensaver::SelectInputRequest::try_parse_request(header, remaining)?)),
2714 screensaver::SET_ATTRIBUTES_REQUEST => return Ok(Request::ScreensaverSetAttributes(screensaver::SetAttributesRequest::try_parse_request(header, remaining)?)),
2715 screensaver::UNSET_ATTRIBUTES_REQUEST => return Ok(Request::ScreensaverUnsetAttributes(screensaver::UnsetAttributesRequest::try_parse_request(header, remaining)?)),
2716 screensaver::SUSPEND_REQUEST => return Ok(Request::ScreensaverSuspend(screensaver::SuspendRequest::try_parse_request(header, remaining)?)),
2717 _ => (),
2718 }
2719 }
2720 #[cfg(feature = "shape")]
2721 Some((shape::X11_EXTENSION_NAME, _)) => {
2722 match header.minor_opcode {
2723 shape::QUERY_VERSION_REQUEST => return Ok(Request::ShapeQueryVersion(shape::QueryVersionRequest::try_parse_request(header, remaining)?)),
2724 shape::RECTANGLES_REQUEST => return Ok(Request::ShapeRectangles(shape::RectanglesRequest::try_parse_request(header, remaining)?)),
2725 shape::MASK_REQUEST => return Ok(Request::ShapeMask(shape::MaskRequest::try_parse_request(header, remaining)?)),
2726 shape::COMBINE_REQUEST => return Ok(Request::ShapeCombine(shape::CombineRequest::try_parse_request(header, remaining)?)),
2727 shape::OFFSET_REQUEST => return Ok(Request::ShapeOffset(shape::OffsetRequest::try_parse_request(header, remaining)?)),
2728 shape::QUERY_EXTENTS_REQUEST => return Ok(Request::ShapeQueryExtents(shape::QueryExtentsRequest::try_parse_request(header, remaining)?)),
2729 shape::SELECT_INPUT_REQUEST => return Ok(Request::ShapeSelectInput(shape::SelectInputRequest::try_parse_request(header, remaining)?)),
2730 shape::INPUT_SELECTED_REQUEST => return Ok(Request::ShapeInputSelected(shape::InputSelectedRequest::try_parse_request(header, remaining)?)),
2731 shape::GET_RECTANGLES_REQUEST => return Ok(Request::ShapeGetRectangles(shape::GetRectanglesRequest::try_parse_request(header, remaining)?)),
2732 _ => (),
2733 }
2734 }
2735 #[cfg(feature = "shm")]
2736 Some((shm::X11_EXTENSION_NAME, _)) => {
2737 match header.minor_opcode {
2738 shm::QUERY_VERSION_REQUEST => return Ok(Request::ShmQueryVersion(shm::QueryVersionRequest::try_parse_request(header, remaining)?)),
2739 shm::ATTACH_REQUEST => return Ok(Request::ShmAttach(shm::AttachRequest::try_parse_request(header, remaining)?)),
2740 shm::DETACH_REQUEST => return Ok(Request::ShmDetach(shm::DetachRequest::try_parse_request(header, remaining)?)),
2741 shm::PUT_IMAGE_REQUEST => return Ok(Request::ShmPutImage(shm::PutImageRequest::try_parse_request(header, remaining)?)),
2742 shm::GET_IMAGE_REQUEST => return Ok(Request::ShmGetImage(shm::GetImageRequest::try_parse_request(header, remaining)?)),
2743 shm::CREATE_PIXMAP_REQUEST => return Ok(Request::ShmCreatePixmap(shm::CreatePixmapRequest::try_parse_request(header, remaining)?)),
2744 shm::ATTACH_FD_REQUEST => return Ok(Request::ShmAttachFd(shm::AttachFdRequest::try_parse_request_fd(header, remaining, fds)?)),
2745 shm::CREATE_SEGMENT_REQUEST => return Ok(Request::ShmCreateSegment(shm::CreateSegmentRequest::try_parse_request(header, remaining)?)),
2746 _ => (),
2747 }
2748 }
2749 #[cfg(feature = "sync")]
2750 Some((sync::X11_EXTENSION_NAME, _)) => {
2751 match header.minor_opcode {
2752 sync::INITIALIZE_REQUEST => return Ok(Request::SyncInitialize(sync::InitializeRequest::try_parse_request(header, remaining)?)),
2753 sync::LIST_SYSTEM_COUNTERS_REQUEST => return Ok(Request::SyncListSystemCounters(sync::ListSystemCountersRequest::try_parse_request(header, remaining)?)),
2754 sync::CREATE_COUNTER_REQUEST => return Ok(Request::SyncCreateCounter(sync::CreateCounterRequest::try_parse_request(header, remaining)?)),
2755 sync::DESTROY_COUNTER_REQUEST => return Ok(Request::SyncDestroyCounter(sync::DestroyCounterRequest::try_parse_request(header, remaining)?)),
2756 sync::QUERY_COUNTER_REQUEST => return Ok(Request::SyncQueryCounter(sync::QueryCounterRequest::try_parse_request(header, remaining)?)),
2757 sync::AWAIT_REQUEST => return Ok(Request::SyncAwait(sync::AwaitRequest::try_parse_request(header, remaining)?)),
2758 sync::CHANGE_COUNTER_REQUEST => return Ok(Request::SyncChangeCounter(sync::ChangeCounterRequest::try_parse_request(header, remaining)?)),
2759 sync::SET_COUNTER_REQUEST => return Ok(Request::SyncSetCounter(sync::SetCounterRequest::try_parse_request(header, remaining)?)),
2760 sync::CREATE_ALARM_REQUEST => return Ok(Request::SyncCreateAlarm(sync::CreateAlarmRequest::try_parse_request(header, remaining)?)),
2761 sync::CHANGE_ALARM_REQUEST => return Ok(Request::SyncChangeAlarm(sync::ChangeAlarmRequest::try_parse_request(header, remaining)?)),
2762 sync::DESTROY_ALARM_REQUEST => return Ok(Request::SyncDestroyAlarm(sync::DestroyAlarmRequest::try_parse_request(header, remaining)?)),
2763 sync::QUERY_ALARM_REQUEST => return Ok(Request::SyncQueryAlarm(sync::QueryAlarmRequest::try_parse_request(header, remaining)?)),
2764 sync::SET_PRIORITY_REQUEST => return Ok(Request::SyncSetPriority(sync::SetPriorityRequest::try_parse_request(header, remaining)?)),
2765 sync::GET_PRIORITY_REQUEST => return Ok(Request::SyncGetPriority(sync::GetPriorityRequest::try_parse_request(header, remaining)?)),
2766 sync::CREATE_FENCE_REQUEST => return Ok(Request::SyncCreateFence(sync::CreateFenceRequest::try_parse_request(header, remaining)?)),
2767 sync::TRIGGER_FENCE_REQUEST => return Ok(Request::SyncTriggerFence(sync::TriggerFenceRequest::try_parse_request(header, remaining)?)),
2768 sync::RESET_FENCE_REQUEST => return Ok(Request::SyncResetFence(sync::ResetFenceRequest::try_parse_request(header, remaining)?)),
2769 sync::DESTROY_FENCE_REQUEST => return Ok(Request::SyncDestroyFence(sync::DestroyFenceRequest::try_parse_request(header, remaining)?)),
2770 sync::QUERY_FENCE_REQUEST => return Ok(Request::SyncQueryFence(sync::QueryFenceRequest::try_parse_request(header, remaining)?)),
2771 sync::AWAIT_FENCE_REQUEST => return Ok(Request::SyncAwaitFence(sync::AwaitFenceRequest::try_parse_request(header, remaining)?)),
2772 _ => (),
2773 }
2774 }
2775 Some((xc_misc::X11_EXTENSION_NAME, _)) => {
2776 match header.minor_opcode {
2777 xc_misc::GET_VERSION_REQUEST => return Ok(Request::XcMiscGetVersion(xc_misc::GetVersionRequest::try_parse_request(header, remaining)?)),
2778 xc_misc::GET_XID_RANGE_REQUEST => return Ok(Request::XcMiscGetXIDRange(xc_misc::GetXIDRangeRequest::try_parse_request(header, remaining)?)),
2779 xc_misc::GET_XID_LIST_REQUEST => return Ok(Request::XcMiscGetXIDList(xc_misc::GetXIDListRequest::try_parse_request(header, remaining)?)),
2780 _ => (),
2781 }
2782 }
2783 #[cfg(feature = "xevie")]
2784 Some((xevie::X11_EXTENSION_NAME, _)) => {
2785 match header.minor_opcode {
2786 xevie::QUERY_VERSION_REQUEST => return Ok(Request::XevieQueryVersion(xevie::QueryVersionRequest::try_parse_request(header, remaining)?)),
2787 xevie::START_REQUEST => return Ok(Request::XevieStart(xevie::StartRequest::try_parse_request(header, remaining)?)),
2788 xevie::END_REQUEST => return Ok(Request::XevieEnd(xevie::EndRequest::try_parse_request(header, remaining)?)),
2789 xevie::SEND_REQUEST => return Ok(Request::XevieSend(xevie::SendRequest::try_parse_request(header, remaining)?)),
2790 xevie::SELECT_INPUT_REQUEST => return Ok(Request::XevieSelectInput(xevie::SelectInputRequest::try_parse_request(header, remaining)?)),
2791 _ => (),
2792 }
2793 }
2794 #[cfg(feature = "xf86dri")]
2795 Some((xf86dri::X11_EXTENSION_NAME, _)) => {
2796 match header.minor_opcode {
2797 xf86dri::QUERY_VERSION_REQUEST => return Ok(Request::Xf86driQueryVersion(xf86dri::QueryVersionRequest::try_parse_request(header, remaining)?)),
2798 xf86dri::QUERY_DIRECT_RENDERING_CAPABLE_REQUEST => return Ok(Request::Xf86driQueryDirectRenderingCapable(xf86dri::QueryDirectRenderingCapableRequest::try_parse_request(header, remaining)?)),
2799 xf86dri::OPEN_CONNECTION_REQUEST => return Ok(Request::Xf86driOpenConnection(xf86dri::OpenConnectionRequest::try_parse_request(header, remaining)?)),
2800 xf86dri::CLOSE_CONNECTION_REQUEST => return Ok(Request::Xf86driCloseConnection(xf86dri::CloseConnectionRequest::try_parse_request(header, remaining)?)),
2801 xf86dri::GET_CLIENT_DRIVER_NAME_REQUEST => return Ok(Request::Xf86driGetClientDriverName(xf86dri::GetClientDriverNameRequest::try_parse_request(header, remaining)?)),
2802 xf86dri::CREATE_CONTEXT_REQUEST => return Ok(Request::Xf86driCreateContext(xf86dri::CreateContextRequest::try_parse_request(header, remaining)?)),
2803 xf86dri::DESTROY_CONTEXT_REQUEST => return Ok(Request::Xf86driDestroyContext(xf86dri::DestroyContextRequest::try_parse_request(header, remaining)?)),
2804 xf86dri::CREATE_DRAWABLE_REQUEST => return Ok(Request::Xf86driCreateDrawable(xf86dri::CreateDrawableRequest::try_parse_request(header, remaining)?)),
2805 xf86dri::DESTROY_DRAWABLE_REQUEST => return Ok(Request::Xf86driDestroyDrawable(xf86dri::DestroyDrawableRequest::try_parse_request(header, remaining)?)),
2806 xf86dri::GET_DRAWABLE_INFO_REQUEST => return Ok(Request::Xf86driGetDrawableInfo(xf86dri::GetDrawableInfoRequest::try_parse_request(header, remaining)?)),
2807 xf86dri::GET_DEVICE_INFO_REQUEST => return Ok(Request::Xf86driGetDeviceInfo(xf86dri::GetDeviceInfoRequest::try_parse_request(header, remaining)?)),
2808 xf86dri::AUTH_CONNECTION_REQUEST => return Ok(Request::Xf86driAuthConnection(xf86dri::AuthConnectionRequest::try_parse_request(header, remaining)?)),
2809 _ => (),
2810 }
2811 }
2812 #[cfg(feature = "xf86vidmode")]
2813 Some((xf86vidmode::X11_EXTENSION_NAME, _)) => {
2814 match header.minor_opcode {
2815 xf86vidmode::QUERY_VERSION_REQUEST => return Ok(Request::Xf86vidmodeQueryVersion(xf86vidmode::QueryVersionRequest::try_parse_request(header, remaining)?)),
2816 xf86vidmode::GET_MODE_LINE_REQUEST => return Ok(Request::Xf86vidmodeGetModeLine(xf86vidmode::GetModeLineRequest::try_parse_request(header, remaining)?)),
2817 xf86vidmode::MOD_MODE_LINE_REQUEST => return Ok(Request::Xf86vidmodeModModeLine(xf86vidmode::ModModeLineRequest::try_parse_request(header, remaining)?)),
2818 xf86vidmode::SWITCH_MODE_REQUEST => return Ok(Request::Xf86vidmodeSwitchMode(xf86vidmode::SwitchModeRequest::try_parse_request(header, remaining)?)),
2819 xf86vidmode::GET_MONITOR_REQUEST => return Ok(Request::Xf86vidmodeGetMonitor(xf86vidmode::GetMonitorRequest::try_parse_request(header, remaining)?)),
2820 xf86vidmode::LOCK_MODE_SWITCH_REQUEST => return Ok(Request::Xf86vidmodeLockModeSwitch(xf86vidmode::LockModeSwitchRequest::try_parse_request(header, remaining)?)),
2821 xf86vidmode::GET_ALL_MODE_LINES_REQUEST => return Ok(Request::Xf86vidmodeGetAllModeLines(xf86vidmode::GetAllModeLinesRequest::try_parse_request(header, remaining)?)),
2822 xf86vidmode::ADD_MODE_LINE_REQUEST => return Ok(Request::Xf86vidmodeAddModeLine(xf86vidmode::AddModeLineRequest::try_parse_request(header, remaining)?)),
2823 xf86vidmode::DELETE_MODE_LINE_REQUEST => return Ok(Request::Xf86vidmodeDeleteModeLine(xf86vidmode::DeleteModeLineRequest::try_parse_request(header, remaining)?)),
2824 xf86vidmode::VALIDATE_MODE_LINE_REQUEST => return Ok(Request::Xf86vidmodeValidateModeLine(xf86vidmode::ValidateModeLineRequest::try_parse_request(header, remaining)?)),
2825 xf86vidmode::SWITCH_TO_MODE_REQUEST => return Ok(Request::Xf86vidmodeSwitchToMode(xf86vidmode::SwitchToModeRequest::try_parse_request(header, remaining)?)),
2826 xf86vidmode::GET_VIEW_PORT_REQUEST => return Ok(Request::Xf86vidmodeGetViewPort(xf86vidmode::GetViewPortRequest::try_parse_request(header, remaining)?)),
2827 xf86vidmode::SET_VIEW_PORT_REQUEST => return Ok(Request::Xf86vidmodeSetViewPort(xf86vidmode::SetViewPortRequest::try_parse_request(header, remaining)?)),
2828 xf86vidmode::GET_DOT_CLOCKS_REQUEST => return Ok(Request::Xf86vidmodeGetDotClocks(xf86vidmode::GetDotClocksRequest::try_parse_request(header, remaining)?)),
2829 xf86vidmode::SET_CLIENT_VERSION_REQUEST => return Ok(Request::Xf86vidmodeSetClientVersion(xf86vidmode::SetClientVersionRequest::try_parse_request(header, remaining)?)),
2830 xf86vidmode::SET_GAMMA_REQUEST => return Ok(Request::Xf86vidmodeSetGamma(xf86vidmode::SetGammaRequest::try_parse_request(header, remaining)?)),
2831 xf86vidmode::GET_GAMMA_REQUEST => return Ok(Request::Xf86vidmodeGetGamma(xf86vidmode::GetGammaRequest::try_parse_request(header, remaining)?)),
2832 xf86vidmode::GET_GAMMA_RAMP_REQUEST => return Ok(Request::Xf86vidmodeGetGammaRamp(xf86vidmode::GetGammaRampRequest::try_parse_request(header, remaining)?)),
2833 xf86vidmode::SET_GAMMA_RAMP_REQUEST => return Ok(Request::Xf86vidmodeSetGammaRamp(xf86vidmode::SetGammaRampRequest::try_parse_request(header, remaining)?)),
2834 xf86vidmode::GET_GAMMA_RAMP_SIZE_REQUEST => return Ok(Request::Xf86vidmodeGetGammaRampSize(xf86vidmode::GetGammaRampSizeRequest::try_parse_request(header, remaining)?)),
2835 xf86vidmode::GET_PERMISSIONS_REQUEST => return Ok(Request::Xf86vidmodeGetPermissions(xf86vidmode::GetPermissionsRequest::try_parse_request(header, remaining)?)),
2836 _ => (),
2837 }
2838 }
2839 #[cfg(feature = "xfixes")]
2840 Some((xfixes::X11_EXTENSION_NAME, _)) => {
2841 match header.minor_opcode {
2842 xfixes::QUERY_VERSION_REQUEST => return Ok(Request::XfixesQueryVersion(xfixes::QueryVersionRequest::try_parse_request(header, remaining)?)),
2843 xfixes::CHANGE_SAVE_SET_REQUEST => return Ok(Request::XfixesChangeSaveSet(xfixes::ChangeSaveSetRequest::try_parse_request(header, remaining)?)),
2844 xfixes::SELECT_SELECTION_INPUT_REQUEST => return Ok(Request::XfixesSelectSelectionInput(xfixes::SelectSelectionInputRequest::try_parse_request(header, remaining)?)),
2845 xfixes::SELECT_CURSOR_INPUT_REQUEST => return Ok(Request::XfixesSelectCursorInput(xfixes::SelectCursorInputRequest::try_parse_request(header, remaining)?)),
2846 xfixes::GET_CURSOR_IMAGE_REQUEST => return Ok(Request::XfixesGetCursorImage(xfixes::GetCursorImageRequest::try_parse_request(header, remaining)?)),
2847 xfixes::CREATE_REGION_REQUEST => return Ok(Request::XfixesCreateRegion(xfixes::CreateRegionRequest::try_parse_request(header, remaining)?)),
2848 xfixes::CREATE_REGION_FROM_BITMAP_REQUEST => return Ok(Request::XfixesCreateRegionFromBitmap(xfixes::CreateRegionFromBitmapRequest::try_parse_request(header, remaining)?)),
2849 xfixes::CREATE_REGION_FROM_WINDOW_REQUEST => return Ok(Request::XfixesCreateRegionFromWindow(xfixes::CreateRegionFromWindowRequest::try_parse_request(header, remaining)?)),
2850 xfixes::CREATE_REGION_FROM_GC_REQUEST => return Ok(Request::XfixesCreateRegionFromGC(xfixes::CreateRegionFromGCRequest::try_parse_request(header, remaining)?)),
2851 xfixes::CREATE_REGION_FROM_PICTURE_REQUEST => return Ok(Request::XfixesCreateRegionFromPicture(xfixes::CreateRegionFromPictureRequest::try_parse_request(header, remaining)?)),
2852 xfixes::DESTROY_REGION_REQUEST => return Ok(Request::XfixesDestroyRegion(xfixes::DestroyRegionRequest::try_parse_request(header, remaining)?)),
2853 xfixes::SET_REGION_REQUEST => return Ok(Request::XfixesSetRegion(xfixes::SetRegionRequest::try_parse_request(header, remaining)?)),
2854 xfixes::COPY_REGION_REQUEST => return Ok(Request::XfixesCopyRegion(xfixes::CopyRegionRequest::try_parse_request(header, remaining)?)),
2855 xfixes::UNION_REGION_REQUEST => return Ok(Request::XfixesUnionRegion(xfixes::UnionRegionRequest::try_parse_request(header, remaining)?)),
2856 xfixes::INTERSECT_REGION_REQUEST => return Ok(Request::XfixesIntersectRegion(xfixes::IntersectRegionRequest::try_parse_request(header, remaining)?)),
2857 xfixes::SUBTRACT_REGION_REQUEST => return Ok(Request::XfixesSubtractRegion(xfixes::SubtractRegionRequest::try_parse_request(header, remaining)?)),
2858 xfixes::INVERT_REGION_REQUEST => return Ok(Request::XfixesInvertRegion(xfixes::InvertRegionRequest::try_parse_request(header, remaining)?)),
2859 xfixes::TRANSLATE_REGION_REQUEST => return Ok(Request::XfixesTranslateRegion(xfixes::TranslateRegionRequest::try_parse_request(header, remaining)?)),
2860 xfixes::REGION_EXTENTS_REQUEST => return Ok(Request::XfixesRegionExtents(xfixes::RegionExtentsRequest::try_parse_request(header, remaining)?)),
2861 xfixes::FETCH_REGION_REQUEST => return Ok(Request::XfixesFetchRegion(xfixes::FetchRegionRequest::try_parse_request(header, remaining)?)),
2862 xfixes::SET_GC_CLIP_REGION_REQUEST => return Ok(Request::XfixesSetGCClipRegion(xfixes::SetGCClipRegionRequest::try_parse_request(header, remaining)?)),
2863 xfixes::SET_WINDOW_SHAPE_REGION_REQUEST => return Ok(Request::XfixesSetWindowShapeRegion(xfixes::SetWindowShapeRegionRequest::try_parse_request(header, remaining)?)),
2864 xfixes::SET_PICTURE_CLIP_REGION_REQUEST => return Ok(Request::XfixesSetPictureClipRegion(xfixes::SetPictureClipRegionRequest::try_parse_request(header, remaining)?)),
2865 xfixes::SET_CURSOR_NAME_REQUEST => return Ok(Request::XfixesSetCursorName(xfixes::SetCursorNameRequest::try_parse_request(header, remaining)?)),
2866 xfixes::GET_CURSOR_NAME_REQUEST => return Ok(Request::XfixesGetCursorName(xfixes::GetCursorNameRequest::try_parse_request(header, remaining)?)),
2867 xfixes::GET_CURSOR_IMAGE_AND_NAME_REQUEST => return Ok(Request::XfixesGetCursorImageAndName(xfixes::GetCursorImageAndNameRequest::try_parse_request(header, remaining)?)),
2868 xfixes::CHANGE_CURSOR_REQUEST => return Ok(Request::XfixesChangeCursor(xfixes::ChangeCursorRequest::try_parse_request(header, remaining)?)),
2869 xfixes::CHANGE_CURSOR_BY_NAME_REQUEST => return Ok(Request::XfixesChangeCursorByName(xfixes::ChangeCursorByNameRequest::try_parse_request(header, remaining)?)),
2870 xfixes::EXPAND_REGION_REQUEST => return Ok(Request::XfixesExpandRegion(xfixes::ExpandRegionRequest::try_parse_request(header, remaining)?)),
2871 xfixes::HIDE_CURSOR_REQUEST => return Ok(Request::XfixesHideCursor(xfixes::HideCursorRequest::try_parse_request(header, remaining)?)),
2872 xfixes::SHOW_CURSOR_REQUEST => return Ok(Request::XfixesShowCursor(xfixes::ShowCursorRequest::try_parse_request(header, remaining)?)),
2873 xfixes::CREATE_POINTER_BARRIER_REQUEST => return Ok(Request::XfixesCreatePointerBarrier(xfixes::CreatePointerBarrierRequest::try_parse_request(header, remaining)?)),
2874 xfixes::DELETE_POINTER_BARRIER_REQUEST => return Ok(Request::XfixesDeletePointerBarrier(xfixes::DeletePointerBarrierRequest::try_parse_request(header, remaining)?)),
2875 xfixes::SET_CLIENT_DISCONNECT_MODE_REQUEST => return Ok(Request::XfixesSetClientDisconnectMode(xfixes::SetClientDisconnectModeRequest::try_parse_request(header, remaining)?)),
2876 xfixes::GET_CLIENT_DISCONNECT_MODE_REQUEST => return Ok(Request::XfixesGetClientDisconnectMode(xfixes::GetClientDisconnectModeRequest::try_parse_request(header, remaining)?)),
2877 _ => (),
2878 }
2879 }
2880 #[cfg(feature = "xinerama")]
2881 Some((xinerama::X11_EXTENSION_NAME, _)) => {
2882 match header.minor_opcode {
2883 xinerama::QUERY_VERSION_REQUEST => return Ok(Request::XineramaQueryVersion(xinerama::QueryVersionRequest::try_parse_request(header, remaining)?)),
2884 xinerama::GET_STATE_REQUEST => return Ok(Request::XineramaGetState(xinerama::GetStateRequest::try_parse_request(header, remaining)?)),
2885 xinerama::GET_SCREEN_COUNT_REQUEST => return Ok(Request::XineramaGetScreenCount(xinerama::GetScreenCountRequest::try_parse_request(header, remaining)?)),
2886 xinerama::GET_SCREEN_SIZE_REQUEST => return Ok(Request::XineramaGetScreenSize(xinerama::GetScreenSizeRequest::try_parse_request(header, remaining)?)),
2887 xinerama::IS_ACTIVE_REQUEST => return Ok(Request::XineramaIsActive(xinerama::IsActiveRequest::try_parse_request(header, remaining)?)),
2888 xinerama::QUERY_SCREENS_REQUEST => return Ok(Request::XineramaQueryScreens(xinerama::QueryScreensRequest::try_parse_request(header, remaining)?)),
2889 _ => (),
2890 }
2891 }
2892 #[cfg(feature = "xinput")]
2893 Some((xinput::X11_EXTENSION_NAME, _)) => {
2894 match header.minor_opcode {
2895 xinput::GET_EXTENSION_VERSION_REQUEST => return Ok(Request::XinputGetExtensionVersion(xinput::GetExtensionVersionRequest::try_parse_request(header, remaining)?)),
2896 xinput::LIST_INPUT_DEVICES_REQUEST => return Ok(Request::XinputListInputDevices(xinput::ListInputDevicesRequest::try_parse_request(header, remaining)?)),
2897 xinput::OPEN_DEVICE_REQUEST => return Ok(Request::XinputOpenDevice(xinput::OpenDeviceRequest::try_parse_request(header, remaining)?)),
2898 xinput::CLOSE_DEVICE_REQUEST => return Ok(Request::XinputCloseDevice(xinput::CloseDeviceRequest::try_parse_request(header, remaining)?)),
2899 xinput::SET_DEVICE_MODE_REQUEST => return Ok(Request::XinputSetDeviceMode(xinput::SetDeviceModeRequest::try_parse_request(header, remaining)?)),
2900 xinput::SELECT_EXTENSION_EVENT_REQUEST => return Ok(Request::XinputSelectExtensionEvent(xinput::SelectExtensionEventRequest::try_parse_request(header, remaining)?)),
2901 xinput::GET_SELECTED_EXTENSION_EVENTS_REQUEST => return Ok(Request::XinputGetSelectedExtensionEvents(xinput::GetSelectedExtensionEventsRequest::try_parse_request(header, remaining)?)),
2902 xinput::CHANGE_DEVICE_DONT_PROPAGATE_LIST_REQUEST => return Ok(Request::XinputChangeDeviceDontPropagateList(xinput::ChangeDeviceDontPropagateListRequest::try_parse_request(header, remaining)?)),
2903 xinput::GET_DEVICE_DONT_PROPAGATE_LIST_REQUEST => return Ok(Request::XinputGetDeviceDontPropagateList(xinput::GetDeviceDontPropagateListRequest::try_parse_request(header, remaining)?)),
2904 xinput::GET_DEVICE_MOTION_EVENTS_REQUEST => return Ok(Request::XinputGetDeviceMotionEvents(xinput::GetDeviceMotionEventsRequest::try_parse_request(header, remaining)?)),
2905 xinput::CHANGE_KEYBOARD_DEVICE_REQUEST => return Ok(Request::XinputChangeKeyboardDevice(xinput::ChangeKeyboardDeviceRequest::try_parse_request(header, remaining)?)),
2906 xinput::CHANGE_POINTER_DEVICE_REQUEST => return Ok(Request::XinputChangePointerDevice(xinput::ChangePointerDeviceRequest::try_parse_request(header, remaining)?)),
2907 xinput::GRAB_DEVICE_REQUEST => return Ok(Request::XinputGrabDevice(xinput::GrabDeviceRequest::try_parse_request(header, remaining)?)),
2908 xinput::UNGRAB_DEVICE_REQUEST => return Ok(Request::XinputUngrabDevice(xinput::UngrabDeviceRequest::try_parse_request(header, remaining)?)),
2909 xinput::GRAB_DEVICE_KEY_REQUEST => return Ok(Request::XinputGrabDeviceKey(xinput::GrabDeviceKeyRequest::try_parse_request(header, remaining)?)),
2910 xinput::UNGRAB_DEVICE_KEY_REQUEST => return Ok(Request::XinputUngrabDeviceKey(xinput::UngrabDeviceKeyRequest::try_parse_request(header, remaining)?)),
2911 xinput::GRAB_DEVICE_BUTTON_REQUEST => return Ok(Request::XinputGrabDeviceButton(xinput::GrabDeviceButtonRequest::try_parse_request(header, remaining)?)),
2912 xinput::UNGRAB_DEVICE_BUTTON_REQUEST => return Ok(Request::XinputUngrabDeviceButton(xinput::UngrabDeviceButtonRequest::try_parse_request(header, remaining)?)),
2913 xinput::ALLOW_DEVICE_EVENTS_REQUEST => return Ok(Request::XinputAllowDeviceEvents(xinput::AllowDeviceEventsRequest::try_parse_request(header, remaining)?)),
2914 xinput::GET_DEVICE_FOCUS_REQUEST => return Ok(Request::XinputGetDeviceFocus(xinput::GetDeviceFocusRequest::try_parse_request(header, remaining)?)),
2915 xinput::SET_DEVICE_FOCUS_REQUEST => return Ok(Request::XinputSetDeviceFocus(xinput::SetDeviceFocusRequest::try_parse_request(header, remaining)?)),
2916 xinput::GET_FEEDBACK_CONTROL_REQUEST => return Ok(Request::XinputGetFeedbackControl(xinput::GetFeedbackControlRequest::try_parse_request(header, remaining)?)),
2917 xinput::CHANGE_FEEDBACK_CONTROL_REQUEST => return Ok(Request::XinputChangeFeedbackControl(xinput::ChangeFeedbackControlRequest::try_parse_request(header, remaining)?)),
2918 xinput::GET_DEVICE_KEY_MAPPING_REQUEST => return Ok(Request::XinputGetDeviceKeyMapping(xinput::GetDeviceKeyMappingRequest::try_parse_request(header, remaining)?)),
2919 xinput::CHANGE_DEVICE_KEY_MAPPING_REQUEST => return Ok(Request::XinputChangeDeviceKeyMapping(xinput::ChangeDeviceKeyMappingRequest::try_parse_request(header, remaining)?)),
2920 xinput::GET_DEVICE_MODIFIER_MAPPING_REQUEST => return Ok(Request::XinputGetDeviceModifierMapping(xinput::GetDeviceModifierMappingRequest::try_parse_request(header, remaining)?)),
2921 xinput::SET_DEVICE_MODIFIER_MAPPING_REQUEST => return Ok(Request::XinputSetDeviceModifierMapping(xinput::SetDeviceModifierMappingRequest::try_parse_request(header, remaining)?)),
2922 xinput::GET_DEVICE_BUTTON_MAPPING_REQUEST => return Ok(Request::XinputGetDeviceButtonMapping(xinput::GetDeviceButtonMappingRequest::try_parse_request(header, remaining)?)),
2923 xinput::SET_DEVICE_BUTTON_MAPPING_REQUEST => return Ok(Request::XinputSetDeviceButtonMapping(xinput::SetDeviceButtonMappingRequest::try_parse_request(header, remaining)?)),
2924 xinput::QUERY_DEVICE_STATE_REQUEST => return Ok(Request::XinputQueryDeviceState(xinput::QueryDeviceStateRequest::try_parse_request(header, remaining)?)),
2925 xinput::DEVICE_BELL_REQUEST => return Ok(Request::XinputDeviceBell(xinput::DeviceBellRequest::try_parse_request(header, remaining)?)),
2926 xinput::SET_DEVICE_VALUATORS_REQUEST => return Ok(Request::XinputSetDeviceValuators(xinput::SetDeviceValuatorsRequest::try_parse_request(header, remaining)?)),
2927 xinput::GET_DEVICE_CONTROL_REQUEST => return Ok(Request::XinputGetDeviceControl(xinput::GetDeviceControlRequest::try_parse_request(header, remaining)?)),
2928 xinput::CHANGE_DEVICE_CONTROL_REQUEST => return Ok(Request::XinputChangeDeviceControl(xinput::ChangeDeviceControlRequest::try_parse_request(header, remaining)?)),
2929 xinput::LIST_DEVICE_PROPERTIES_REQUEST => return Ok(Request::XinputListDeviceProperties(xinput::ListDevicePropertiesRequest::try_parse_request(header, remaining)?)),
2930 xinput::CHANGE_DEVICE_PROPERTY_REQUEST => return Ok(Request::XinputChangeDeviceProperty(xinput::ChangeDevicePropertyRequest::try_parse_request(header, remaining)?)),
2931 xinput::DELETE_DEVICE_PROPERTY_REQUEST => return Ok(Request::XinputDeleteDeviceProperty(xinput::DeleteDevicePropertyRequest::try_parse_request(header, remaining)?)),
2932 xinput::GET_DEVICE_PROPERTY_REQUEST => return Ok(Request::XinputGetDeviceProperty(xinput::GetDevicePropertyRequest::try_parse_request(header, remaining)?)),
2933 xinput::XI_QUERY_POINTER_REQUEST => return Ok(Request::XinputXIQueryPointer(xinput::XIQueryPointerRequest::try_parse_request(header, remaining)?)),
2934 xinput::XI_WARP_POINTER_REQUEST => return Ok(Request::XinputXIWarpPointer(xinput::XIWarpPointerRequest::try_parse_request(header, remaining)?)),
2935 xinput::XI_CHANGE_CURSOR_REQUEST => return Ok(Request::XinputXIChangeCursor(xinput::XIChangeCursorRequest::try_parse_request(header, remaining)?)),
2936 xinput::XI_CHANGE_HIERARCHY_REQUEST => return Ok(Request::XinputXIChangeHierarchy(xinput::XIChangeHierarchyRequest::try_parse_request(header, remaining)?)),
2937 xinput::XI_SET_CLIENT_POINTER_REQUEST => return Ok(Request::XinputXISetClientPointer(xinput::XISetClientPointerRequest::try_parse_request(header, remaining)?)),
2938 xinput::XI_GET_CLIENT_POINTER_REQUEST => return Ok(Request::XinputXIGetClientPointer(xinput::XIGetClientPointerRequest::try_parse_request(header, remaining)?)),
2939 xinput::XI_SELECT_EVENTS_REQUEST => return Ok(Request::XinputXISelectEvents(xinput::XISelectEventsRequest::try_parse_request(header, remaining)?)),
2940 xinput::XI_QUERY_VERSION_REQUEST => return Ok(Request::XinputXIQueryVersion(xinput::XIQueryVersionRequest::try_parse_request(header, remaining)?)),
2941 xinput::XI_QUERY_DEVICE_REQUEST => return Ok(Request::XinputXIQueryDevice(xinput::XIQueryDeviceRequest::try_parse_request(header, remaining)?)),
2942 xinput::XI_SET_FOCUS_REQUEST => return Ok(Request::XinputXISetFocus(xinput::XISetFocusRequest::try_parse_request(header, remaining)?)),
2943 xinput::XI_GET_FOCUS_REQUEST => return Ok(Request::XinputXIGetFocus(xinput::XIGetFocusRequest::try_parse_request(header, remaining)?)),
2944 xinput::XI_GRAB_DEVICE_REQUEST => return Ok(Request::XinputXIGrabDevice(xinput::XIGrabDeviceRequest::try_parse_request(header, remaining)?)),
2945 xinput::XI_UNGRAB_DEVICE_REQUEST => return Ok(Request::XinputXIUngrabDevice(xinput::XIUngrabDeviceRequest::try_parse_request(header, remaining)?)),
2946 xinput::XI_ALLOW_EVENTS_REQUEST => return Ok(Request::XinputXIAllowEvents(xinput::XIAllowEventsRequest::try_parse_request(header, remaining)?)),
2947 xinput::XI_PASSIVE_GRAB_DEVICE_REQUEST => return Ok(Request::XinputXIPassiveGrabDevice(xinput::XIPassiveGrabDeviceRequest::try_parse_request(header, remaining)?)),
2948 xinput::XI_PASSIVE_UNGRAB_DEVICE_REQUEST => return Ok(Request::XinputXIPassiveUngrabDevice(xinput::XIPassiveUngrabDeviceRequest::try_parse_request(header, remaining)?)),
2949 xinput::XI_LIST_PROPERTIES_REQUEST => return Ok(Request::XinputXIListProperties(xinput::XIListPropertiesRequest::try_parse_request(header, remaining)?)),
2950 xinput::XI_CHANGE_PROPERTY_REQUEST => return Ok(Request::XinputXIChangeProperty(xinput::XIChangePropertyRequest::try_parse_request(header, remaining)?)),
2951 xinput::XI_DELETE_PROPERTY_REQUEST => return Ok(Request::XinputXIDeleteProperty(xinput::XIDeletePropertyRequest::try_parse_request(header, remaining)?)),
2952 xinput::XI_GET_PROPERTY_REQUEST => return Ok(Request::XinputXIGetProperty(xinput::XIGetPropertyRequest::try_parse_request(header, remaining)?)),
2953 xinput::XI_GET_SELECTED_EVENTS_REQUEST => return Ok(Request::XinputXIGetSelectedEvents(xinput::XIGetSelectedEventsRequest::try_parse_request(header, remaining)?)),
2954 xinput::XI_BARRIER_RELEASE_POINTER_REQUEST => return Ok(Request::XinputXIBarrierReleasePointer(xinput::XIBarrierReleasePointerRequest::try_parse_request(header, remaining)?)),
2955 xinput::SEND_EXTENSION_EVENT_REQUEST => return Ok(Request::XinputSendExtensionEvent(xinput::SendExtensionEventRequest::try_parse_request(header, remaining)?)),
2956 _ => (),
2957 }
2958 }
2959 #[cfg(feature = "xkb")]
2960 Some((xkb::X11_EXTENSION_NAME, _)) => {
2961 match header.minor_opcode {
2962 xkb::USE_EXTENSION_REQUEST => return Ok(Request::XkbUseExtension(xkb::UseExtensionRequest::try_parse_request(header, remaining)?)),
2963 xkb::SELECT_EVENTS_REQUEST => return Ok(Request::XkbSelectEvents(xkb::SelectEventsRequest::try_parse_request(header, remaining)?)),
2964 xkb::BELL_REQUEST => return Ok(Request::XkbBell(xkb::BellRequest::try_parse_request(header, remaining)?)),
2965 xkb::GET_STATE_REQUEST => return Ok(Request::XkbGetState(xkb::GetStateRequest::try_parse_request(header, remaining)?)),
2966 xkb::LATCH_LOCK_STATE_REQUEST => return Ok(Request::XkbLatchLockState(xkb::LatchLockStateRequest::try_parse_request(header, remaining)?)),
2967 xkb::GET_CONTROLS_REQUEST => return Ok(Request::XkbGetControls(xkb::GetControlsRequest::try_parse_request(header, remaining)?)),
2968 xkb::SET_CONTROLS_REQUEST => return Ok(Request::XkbSetControls(xkb::SetControlsRequest::try_parse_request(header, remaining)?)),
2969 xkb::GET_MAP_REQUEST => return Ok(Request::XkbGetMap(xkb::GetMapRequest::try_parse_request(header, remaining)?)),
2970 xkb::SET_MAP_REQUEST => return Ok(Request::XkbSetMap(xkb::SetMapRequest::try_parse_request(header, remaining)?)),
2971 xkb::GET_COMPAT_MAP_REQUEST => return Ok(Request::XkbGetCompatMap(xkb::GetCompatMapRequest::try_parse_request(header, remaining)?)),
2972 xkb::SET_COMPAT_MAP_REQUEST => return Ok(Request::XkbSetCompatMap(xkb::SetCompatMapRequest::try_parse_request(header, remaining)?)),
2973 xkb::GET_INDICATOR_STATE_REQUEST => return Ok(Request::XkbGetIndicatorState(xkb::GetIndicatorStateRequest::try_parse_request(header, remaining)?)),
2974 xkb::GET_INDICATOR_MAP_REQUEST => return Ok(Request::XkbGetIndicatorMap(xkb::GetIndicatorMapRequest::try_parse_request(header, remaining)?)),
2975 xkb::SET_INDICATOR_MAP_REQUEST => return Ok(Request::XkbSetIndicatorMap(xkb::SetIndicatorMapRequest::try_parse_request(header, remaining)?)),
2976 xkb::GET_NAMED_INDICATOR_REQUEST => return Ok(Request::XkbGetNamedIndicator(xkb::GetNamedIndicatorRequest::try_parse_request(header, remaining)?)),
2977 xkb::SET_NAMED_INDICATOR_REQUEST => return Ok(Request::XkbSetNamedIndicator(xkb::SetNamedIndicatorRequest::try_parse_request(header, remaining)?)),
2978 xkb::GET_NAMES_REQUEST => return Ok(Request::XkbGetNames(xkb::GetNamesRequest::try_parse_request(header, remaining)?)),
2979 xkb::SET_NAMES_REQUEST => return Ok(Request::XkbSetNames(xkb::SetNamesRequest::try_parse_request(header, remaining)?)),
2980 xkb::PER_CLIENT_FLAGS_REQUEST => return Ok(Request::XkbPerClientFlags(xkb::PerClientFlagsRequest::try_parse_request(header, remaining)?)),
2981 xkb::LIST_COMPONENTS_REQUEST => return Ok(Request::XkbListComponents(xkb::ListComponentsRequest::try_parse_request(header, remaining)?)),
2982 xkb::GET_KBD_BY_NAME_REQUEST => return Ok(Request::XkbGetKbdByName(xkb::GetKbdByNameRequest::try_parse_request(header, remaining)?)),
2983 xkb::GET_DEVICE_INFO_REQUEST => return Ok(Request::XkbGetDeviceInfo(xkb::GetDeviceInfoRequest::try_parse_request(header, remaining)?)),
2984 xkb::SET_DEVICE_INFO_REQUEST => return Ok(Request::XkbSetDeviceInfo(xkb::SetDeviceInfoRequest::try_parse_request(header, remaining)?)),
2985 xkb::SET_DEBUGGING_FLAGS_REQUEST => return Ok(Request::XkbSetDebuggingFlags(xkb::SetDebuggingFlagsRequest::try_parse_request(header, remaining)?)),
2986 _ => (),
2987 }
2988 }
2989 #[cfg(feature = "xprint")]
2990 Some((xprint::X11_EXTENSION_NAME, _)) => {
2991 match header.minor_opcode {
2992 xprint::PRINT_QUERY_VERSION_REQUEST => return Ok(Request::XprintPrintQueryVersion(xprint::PrintQueryVersionRequest::try_parse_request(header, remaining)?)),
2993 xprint::PRINT_GET_PRINTER_LIST_REQUEST => return Ok(Request::XprintPrintGetPrinterList(xprint::PrintGetPrinterListRequest::try_parse_request(header, remaining)?)),
2994 xprint::PRINT_REHASH_PRINTER_LIST_REQUEST => return Ok(Request::XprintPrintRehashPrinterList(xprint::PrintRehashPrinterListRequest::try_parse_request(header, remaining)?)),
2995 xprint::CREATE_CONTEXT_REQUEST => return Ok(Request::XprintCreateContext(xprint::CreateContextRequest::try_parse_request(header, remaining)?)),
2996 xprint::PRINT_SET_CONTEXT_REQUEST => return Ok(Request::XprintPrintSetContext(xprint::PrintSetContextRequest::try_parse_request(header, remaining)?)),
2997 xprint::PRINT_GET_CONTEXT_REQUEST => return Ok(Request::XprintPrintGetContext(xprint::PrintGetContextRequest::try_parse_request(header, remaining)?)),
2998 xprint::PRINT_DESTROY_CONTEXT_REQUEST => return Ok(Request::XprintPrintDestroyContext(xprint::PrintDestroyContextRequest::try_parse_request(header, remaining)?)),
2999 xprint::PRINT_GET_SCREEN_OF_CONTEXT_REQUEST => return Ok(Request::XprintPrintGetScreenOfContext(xprint::PrintGetScreenOfContextRequest::try_parse_request(header, remaining)?)),
3000 xprint::PRINT_START_JOB_REQUEST => return Ok(Request::XprintPrintStartJob(xprint::PrintStartJobRequest::try_parse_request(header, remaining)?)),
3001 xprint::PRINT_END_JOB_REQUEST => return Ok(Request::XprintPrintEndJob(xprint::PrintEndJobRequest::try_parse_request(header, remaining)?)),
3002 xprint::PRINT_START_DOC_REQUEST => return Ok(Request::XprintPrintStartDoc(xprint::PrintStartDocRequest::try_parse_request(header, remaining)?)),
3003 xprint::PRINT_END_DOC_REQUEST => return Ok(Request::XprintPrintEndDoc(xprint::PrintEndDocRequest::try_parse_request(header, remaining)?)),
3004 xprint::PRINT_PUT_DOCUMENT_DATA_REQUEST => return Ok(Request::XprintPrintPutDocumentData(xprint::PrintPutDocumentDataRequest::try_parse_request(header, remaining)?)),
3005 xprint::PRINT_GET_DOCUMENT_DATA_REQUEST => return Ok(Request::XprintPrintGetDocumentData(xprint::PrintGetDocumentDataRequest::try_parse_request(header, remaining)?)),
3006 xprint::PRINT_START_PAGE_REQUEST => return Ok(Request::XprintPrintStartPage(xprint::PrintStartPageRequest::try_parse_request(header, remaining)?)),
3007 xprint::PRINT_END_PAGE_REQUEST => return Ok(Request::XprintPrintEndPage(xprint::PrintEndPageRequest::try_parse_request(header, remaining)?)),
3008 xprint::PRINT_SELECT_INPUT_REQUEST => return Ok(Request::XprintPrintSelectInput(xprint::PrintSelectInputRequest::try_parse_request(header, remaining)?)),
3009 xprint::PRINT_INPUT_SELECTED_REQUEST => return Ok(Request::XprintPrintInputSelected(xprint::PrintInputSelectedRequest::try_parse_request(header, remaining)?)),
3010 xprint::PRINT_GET_ATTRIBUTES_REQUEST => return Ok(Request::XprintPrintGetAttributes(xprint::PrintGetAttributesRequest::try_parse_request(header, remaining)?)),
3011 xprint::PRINT_GET_ONE_ATTRIBUTES_REQUEST => return Ok(Request::XprintPrintGetOneAttributes(xprint::PrintGetOneAttributesRequest::try_parse_request(header, remaining)?)),
3012 xprint::PRINT_SET_ATTRIBUTES_REQUEST => return Ok(Request::XprintPrintSetAttributes(xprint::PrintSetAttributesRequest::try_parse_request(header, remaining)?)),
3013 xprint::PRINT_GET_PAGE_DIMENSIONS_REQUEST => return Ok(Request::XprintPrintGetPageDimensions(xprint::PrintGetPageDimensionsRequest::try_parse_request(header, remaining)?)),
3014 xprint::PRINT_QUERY_SCREENS_REQUEST => return Ok(Request::XprintPrintQueryScreens(xprint::PrintQueryScreensRequest::try_parse_request(header, remaining)?)),
3015 xprint::PRINT_SET_IMAGE_RESOLUTION_REQUEST => return Ok(Request::XprintPrintSetImageResolution(xprint::PrintSetImageResolutionRequest::try_parse_request(header, remaining)?)),
3016 xprint::PRINT_GET_IMAGE_RESOLUTION_REQUEST => return Ok(Request::XprintPrintGetImageResolution(xprint::PrintGetImageResolutionRequest::try_parse_request(header, remaining)?)),
3017 _ => (),
3018 }
3019 }
3020 #[cfg(feature = "xselinux")]
3021 Some((xselinux::X11_EXTENSION_NAME, _)) => {
3022 match header.minor_opcode {
3023 xselinux::QUERY_VERSION_REQUEST => return Ok(Request::XselinuxQueryVersion(xselinux::QueryVersionRequest::try_parse_request(header, remaining)?)),
3024 xselinux::SET_DEVICE_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetDeviceCreateContext(xselinux::SetDeviceCreateContextRequest::try_parse_request(header, remaining)?)),
3025 xselinux::GET_DEVICE_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetDeviceCreateContext(xselinux::GetDeviceCreateContextRequest::try_parse_request(header, remaining)?)),
3026 xselinux::SET_DEVICE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetDeviceContext(xselinux::SetDeviceContextRequest::try_parse_request(header, remaining)?)),
3027 xselinux::GET_DEVICE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetDeviceContext(xselinux::GetDeviceContextRequest::try_parse_request(header, remaining)?)),
3028 xselinux::SET_WINDOW_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetWindowCreateContext(xselinux::SetWindowCreateContextRequest::try_parse_request(header, remaining)?)),
3029 xselinux::GET_WINDOW_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetWindowCreateContext(xselinux::GetWindowCreateContextRequest::try_parse_request(header, remaining)?)),
3030 xselinux::GET_WINDOW_CONTEXT_REQUEST => return Ok(Request::XselinuxGetWindowContext(xselinux::GetWindowContextRequest::try_parse_request(header, remaining)?)),
3031 xselinux::SET_PROPERTY_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetPropertyCreateContext(xselinux::SetPropertyCreateContextRequest::try_parse_request(header, remaining)?)),
3032 xselinux::GET_PROPERTY_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetPropertyCreateContext(xselinux::GetPropertyCreateContextRequest::try_parse_request(header, remaining)?)),
3033 xselinux::SET_PROPERTY_USE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetPropertyUseContext(xselinux::SetPropertyUseContextRequest::try_parse_request(header, remaining)?)),
3034 xselinux::GET_PROPERTY_USE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetPropertyUseContext(xselinux::GetPropertyUseContextRequest::try_parse_request(header, remaining)?)),
3035 xselinux::GET_PROPERTY_CONTEXT_REQUEST => return Ok(Request::XselinuxGetPropertyContext(xselinux::GetPropertyContextRequest::try_parse_request(header, remaining)?)),
3036 xselinux::GET_PROPERTY_DATA_CONTEXT_REQUEST => return Ok(Request::XselinuxGetPropertyDataContext(xselinux::GetPropertyDataContextRequest::try_parse_request(header, remaining)?)),
3037 xselinux::LIST_PROPERTIES_REQUEST => return Ok(Request::XselinuxListProperties(xselinux::ListPropertiesRequest::try_parse_request(header, remaining)?)),
3038 xselinux::SET_SELECTION_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetSelectionCreateContext(xselinux::SetSelectionCreateContextRequest::try_parse_request(header, remaining)?)),
3039 xselinux::GET_SELECTION_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetSelectionCreateContext(xselinux::GetSelectionCreateContextRequest::try_parse_request(header, remaining)?)),
3040 xselinux::SET_SELECTION_USE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetSelectionUseContext(xselinux::SetSelectionUseContextRequest::try_parse_request(header, remaining)?)),
3041 xselinux::GET_SELECTION_USE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetSelectionUseContext(xselinux::GetSelectionUseContextRequest::try_parse_request(header, remaining)?)),
3042 xselinux::GET_SELECTION_CONTEXT_REQUEST => return Ok(Request::XselinuxGetSelectionContext(xselinux::GetSelectionContextRequest::try_parse_request(header, remaining)?)),
3043 xselinux::GET_SELECTION_DATA_CONTEXT_REQUEST => return Ok(Request::XselinuxGetSelectionDataContext(xselinux::GetSelectionDataContextRequest::try_parse_request(header, remaining)?)),
3044 xselinux::LIST_SELECTIONS_REQUEST => return Ok(Request::XselinuxListSelections(xselinux::ListSelectionsRequest::try_parse_request(header, remaining)?)),
3045 xselinux::GET_CLIENT_CONTEXT_REQUEST => return Ok(Request::XselinuxGetClientContext(xselinux::GetClientContextRequest::try_parse_request(header, remaining)?)),
3046 _ => (),
3047 }
3048 }
3049 #[cfg(feature = "xtest")]
3050 Some((xtest::X11_EXTENSION_NAME, _)) => {
3051 match header.minor_opcode {
3052 xtest::GET_VERSION_REQUEST => return Ok(Request::XtestGetVersion(xtest::GetVersionRequest::try_parse_request(header, remaining)?)),
3053 xtest::COMPARE_CURSOR_REQUEST => return Ok(Request::XtestCompareCursor(xtest::CompareCursorRequest::try_parse_request(header, remaining)?)),
3054 xtest::FAKE_INPUT_REQUEST => return Ok(Request::XtestFakeInput(xtest::FakeInputRequest::try_parse_request(header, remaining)?)),
3055 xtest::GRAB_CONTROL_REQUEST => return Ok(Request::XtestGrabControl(xtest::GrabControlRequest::try_parse_request(header, remaining)?)),
3056 _ => (),
3057 }
3058 }
3059 #[cfg(feature = "xv")]
3060 Some((xv::X11_EXTENSION_NAME, _)) => {
3061 match header.minor_opcode {
3062 xv::QUERY_EXTENSION_REQUEST => return Ok(Request::XvQueryExtension(xv::QueryExtensionRequest::try_parse_request(header, remaining)?)),
3063 xv::QUERY_ADAPTORS_REQUEST => return Ok(Request::XvQueryAdaptors(xv::QueryAdaptorsRequest::try_parse_request(header, remaining)?)),
3064 xv::QUERY_ENCODINGS_REQUEST => return Ok(Request::XvQueryEncodings(xv::QueryEncodingsRequest::try_parse_request(header, remaining)?)),
3065 xv::GRAB_PORT_REQUEST => return Ok(Request::XvGrabPort(xv::GrabPortRequest::try_parse_request(header, remaining)?)),
3066 xv::UNGRAB_PORT_REQUEST => return Ok(Request::XvUngrabPort(xv::UngrabPortRequest::try_parse_request(header, remaining)?)),
3067 xv::PUT_VIDEO_REQUEST => return Ok(Request::XvPutVideo(xv::PutVideoRequest::try_parse_request(header, remaining)?)),
3068 xv::PUT_STILL_REQUEST => return Ok(Request::XvPutStill(xv::PutStillRequest::try_parse_request(header, remaining)?)),
3069 xv::GET_VIDEO_REQUEST => return Ok(Request::XvGetVideo(xv::GetVideoRequest::try_parse_request(header, remaining)?)),
3070 xv::GET_STILL_REQUEST => return Ok(Request::XvGetStill(xv::GetStillRequest::try_parse_request(header, remaining)?)),
3071 xv::STOP_VIDEO_REQUEST => return Ok(Request::XvStopVideo(xv::StopVideoRequest::try_parse_request(header, remaining)?)),
3072 xv::SELECT_VIDEO_NOTIFY_REQUEST => return Ok(Request::XvSelectVideoNotify(xv::SelectVideoNotifyRequest::try_parse_request(header, remaining)?)),
3073 xv::SELECT_PORT_NOTIFY_REQUEST => return Ok(Request::XvSelectPortNotify(xv::SelectPortNotifyRequest::try_parse_request(header, remaining)?)),
3074 xv::QUERY_BEST_SIZE_REQUEST => return Ok(Request::XvQueryBestSize(xv::QueryBestSizeRequest::try_parse_request(header, remaining)?)),
3075 xv::SET_PORT_ATTRIBUTE_REQUEST => return Ok(Request::XvSetPortAttribute(xv::SetPortAttributeRequest::try_parse_request(header, remaining)?)),
3076 xv::GET_PORT_ATTRIBUTE_REQUEST => return Ok(Request::XvGetPortAttribute(xv::GetPortAttributeRequest::try_parse_request(header, remaining)?)),
3077 xv::QUERY_PORT_ATTRIBUTES_REQUEST => return Ok(Request::XvQueryPortAttributes(xv::QueryPortAttributesRequest::try_parse_request(header, remaining)?)),
3078 xv::LIST_IMAGE_FORMATS_REQUEST => return Ok(Request::XvListImageFormats(xv::ListImageFormatsRequest::try_parse_request(header, remaining)?)),
3079 xv::QUERY_IMAGE_ATTRIBUTES_REQUEST => return Ok(Request::XvQueryImageAttributes(xv::QueryImageAttributesRequest::try_parse_request(header, remaining)?)),
3080 xv::PUT_IMAGE_REQUEST => return Ok(Request::XvPutImage(xv::PutImageRequest::try_parse_request(header, remaining)?)),
3081 xv::SHM_PUT_IMAGE_REQUEST => return Ok(Request::XvShmPutImage(xv::ShmPutImageRequest::try_parse_request(header, remaining)?)),
3082 _ => (),
3083 }
3084 }
3085 #[cfg(feature = "xvmc")]
3086 Some((xvmc::X11_EXTENSION_NAME, _)) => {
3087 match header.minor_opcode {
3088 xvmc::QUERY_VERSION_REQUEST => return Ok(Request::XvmcQueryVersion(xvmc::QueryVersionRequest::try_parse_request(header, remaining)?)),
3089 xvmc::LIST_SURFACE_TYPES_REQUEST => return Ok(Request::XvmcListSurfaceTypes(xvmc::ListSurfaceTypesRequest::try_parse_request(header, remaining)?)),
3090 xvmc::CREATE_CONTEXT_REQUEST => return Ok(Request::XvmcCreateContext(xvmc::CreateContextRequest::try_parse_request(header, remaining)?)),
3091 xvmc::DESTROY_CONTEXT_REQUEST => return Ok(Request::XvmcDestroyContext(xvmc::DestroyContextRequest::try_parse_request(header, remaining)?)),
3092 xvmc::CREATE_SURFACE_REQUEST => return Ok(Request::XvmcCreateSurface(xvmc::CreateSurfaceRequest::try_parse_request(header, remaining)?)),
3093 xvmc::DESTROY_SURFACE_REQUEST => return Ok(Request::XvmcDestroySurface(xvmc::DestroySurfaceRequest::try_parse_request(header, remaining)?)),
3094 xvmc::CREATE_SUBPICTURE_REQUEST => return Ok(Request::XvmcCreateSubpicture(xvmc::CreateSubpictureRequest::try_parse_request(header, remaining)?)),
3095 xvmc::DESTROY_SUBPICTURE_REQUEST => return Ok(Request::XvmcDestroySubpicture(xvmc::DestroySubpictureRequest::try_parse_request(header, remaining)?)),
3096 xvmc::LIST_SUBPICTURE_TYPES_REQUEST => return Ok(Request::XvmcListSubpictureTypes(xvmc::ListSubpictureTypesRequest::try_parse_request(header, remaining)?)),
3097 _ => (),
3098 }
3099 }
3100 _ => (),
3101 }
3102 Ok(Request::Unknown(header, Cow::Borrowed(remaining)))
3103 }
3104 pub fn reply_parser(&self) -> Option<ReplyParsingFunction> {
3107 match self {
3108 Request::Unknown(_, _) => None,
3109 Request::CreateWindow(_) => None,
3110 Request::ChangeWindowAttributes(_) => None,
3111 Request::GetWindowAttributes(_) => Some(parse_reply::<xproto::GetWindowAttributesRequest>),
3112 Request::DestroyWindow(_) => None,
3113 Request::DestroySubwindows(_) => None,
3114 Request::ChangeSaveSet(_) => None,
3115 Request::ReparentWindow(_) => None,
3116 Request::MapWindow(_) => None,
3117 Request::MapSubwindows(_) => None,
3118 Request::UnmapWindow(_) => None,
3119 Request::UnmapSubwindows(_) => None,
3120 Request::ConfigureWindow(_) => None,
3121 Request::CirculateWindow(_) => None,
3122 Request::GetGeometry(_) => Some(parse_reply::<xproto::GetGeometryRequest>),
3123 Request::QueryTree(_) => Some(parse_reply::<xproto::QueryTreeRequest>),
3124 Request::InternAtom(_) => Some(parse_reply::<xproto::InternAtomRequest<'_>>),
3125 Request::GetAtomName(_) => Some(parse_reply::<xproto::GetAtomNameRequest>),
3126 Request::ChangeProperty(_) => None,
3127 Request::DeleteProperty(_) => None,
3128 Request::GetProperty(_) => Some(parse_reply::<xproto::GetPropertyRequest>),
3129 Request::ListProperties(_) => Some(parse_reply::<xproto::ListPropertiesRequest>),
3130 Request::SetSelectionOwner(_) => None,
3131 Request::GetSelectionOwner(_) => Some(parse_reply::<xproto::GetSelectionOwnerRequest>),
3132 Request::ConvertSelection(_) => None,
3133 Request::SendEvent(_) => None,
3134 Request::GrabPointer(_) => Some(parse_reply::<xproto::GrabPointerRequest>),
3135 Request::UngrabPointer(_) => None,
3136 Request::GrabButton(_) => None,
3137 Request::UngrabButton(_) => None,
3138 Request::ChangeActivePointerGrab(_) => None,
3139 Request::GrabKeyboard(_) => Some(parse_reply::<xproto::GrabKeyboardRequest>),
3140 Request::UngrabKeyboard(_) => None,
3141 Request::GrabKey(_) => None,
3142 Request::UngrabKey(_) => None,
3143 Request::AllowEvents(_) => None,
3144 Request::GrabServer(_) => None,
3145 Request::UngrabServer(_) => None,
3146 Request::QueryPointer(_) => Some(parse_reply::<xproto::QueryPointerRequest>),
3147 Request::GetMotionEvents(_) => Some(parse_reply::<xproto::GetMotionEventsRequest>),
3148 Request::TranslateCoordinates(_) => Some(parse_reply::<xproto::TranslateCoordinatesRequest>),
3149 Request::WarpPointer(_) => None,
3150 Request::SetInputFocus(_) => None,
3151 Request::GetInputFocus(_) => Some(parse_reply::<xproto::GetInputFocusRequest>),
3152 Request::QueryKeymap(_) => Some(parse_reply::<xproto::QueryKeymapRequest>),
3153 Request::OpenFont(_) => None,
3154 Request::CloseFont(_) => None,
3155 Request::QueryFont(_) => Some(parse_reply::<xproto::QueryFontRequest>),
3156 Request::QueryTextExtents(_) => Some(parse_reply::<xproto::QueryTextExtentsRequest<'_>>),
3157 Request::ListFonts(_) => Some(parse_reply::<xproto::ListFontsRequest<'_>>),
3158 Request::ListFontsWithInfo(_) => Some(parse_reply::<xproto::ListFontsWithInfoRequest<'_>>),
3159 Request::SetFontPath(_) => None,
3160 Request::GetFontPath(_) => Some(parse_reply::<xproto::GetFontPathRequest>),
3161 Request::CreatePixmap(_) => None,
3162 Request::FreePixmap(_) => None,
3163 Request::CreateGC(_) => None,
3164 Request::ChangeGC(_) => None,
3165 Request::CopyGC(_) => None,
3166 Request::SetDashes(_) => None,
3167 Request::SetClipRectangles(_) => None,
3168 Request::FreeGC(_) => None,
3169 Request::ClearArea(_) => None,
3170 Request::CopyArea(_) => None,
3171 Request::CopyPlane(_) => None,
3172 Request::PolyPoint(_) => None,
3173 Request::PolyLine(_) => None,
3174 Request::PolySegment(_) => None,
3175 Request::PolyRectangle(_) => None,
3176 Request::PolyArc(_) => None,
3177 Request::FillPoly(_) => None,
3178 Request::PolyFillRectangle(_) => None,
3179 Request::PolyFillArc(_) => None,
3180 Request::PutImage(_) => None,
3181 Request::GetImage(_) => Some(parse_reply::<xproto::GetImageRequest>),
3182 Request::PolyText8(_) => None,
3183 Request::PolyText16(_) => None,
3184 Request::ImageText8(_) => None,
3185 Request::ImageText16(_) => None,
3186 Request::CreateColormap(_) => None,
3187 Request::FreeColormap(_) => None,
3188 Request::CopyColormapAndFree(_) => None,
3189 Request::InstallColormap(_) => None,
3190 Request::UninstallColormap(_) => None,
3191 Request::ListInstalledColormaps(_) => Some(parse_reply::<xproto::ListInstalledColormapsRequest>),
3192 Request::AllocColor(_) => Some(parse_reply::<xproto::AllocColorRequest>),
3193 Request::AllocNamedColor(_) => Some(parse_reply::<xproto::AllocNamedColorRequest<'_>>),
3194 Request::AllocColorCells(_) => Some(parse_reply::<xproto::AllocColorCellsRequest>),
3195 Request::AllocColorPlanes(_) => Some(parse_reply::<xproto::AllocColorPlanesRequest>),
3196 Request::FreeColors(_) => None,
3197 Request::StoreColors(_) => None,
3198 Request::StoreNamedColor(_) => None,
3199 Request::QueryColors(_) => Some(parse_reply::<xproto::QueryColorsRequest<'_>>),
3200 Request::LookupColor(_) => Some(parse_reply::<xproto::LookupColorRequest<'_>>),
3201 Request::CreateCursor(_) => None,
3202 Request::CreateGlyphCursor(_) => None,
3203 Request::FreeCursor(_) => None,
3204 Request::RecolorCursor(_) => None,
3205 Request::QueryBestSize(_) => Some(parse_reply::<xproto::QueryBestSizeRequest>),
3206 Request::QueryExtension(_) => Some(parse_reply::<xproto::QueryExtensionRequest<'_>>),
3207 Request::ListExtensions(_) => Some(parse_reply::<xproto::ListExtensionsRequest>),
3208 Request::ChangeKeyboardMapping(_) => None,
3209 Request::GetKeyboardMapping(_) => Some(parse_reply::<xproto::GetKeyboardMappingRequest>),
3210 Request::ChangeKeyboardControl(_) => None,
3211 Request::GetKeyboardControl(_) => Some(parse_reply::<xproto::GetKeyboardControlRequest>),
3212 Request::Bell(_) => None,
3213 Request::ChangePointerControl(_) => None,
3214 Request::GetPointerControl(_) => Some(parse_reply::<xproto::GetPointerControlRequest>),
3215 Request::SetScreenSaver(_) => None,
3216 Request::GetScreenSaver(_) => Some(parse_reply::<xproto::GetScreenSaverRequest>),
3217 Request::ChangeHosts(_) => None,
3218 Request::ListHosts(_) => Some(parse_reply::<xproto::ListHostsRequest>),
3219 Request::SetAccessControl(_) => None,
3220 Request::SetCloseDownMode(_) => None,
3221 Request::KillClient(_) => None,
3222 Request::RotateProperties(_) => None,
3223 Request::ForceScreenSaver(_) => None,
3224 Request::SetPointerMapping(_) => Some(parse_reply::<xproto::SetPointerMappingRequest<'_>>),
3225 Request::GetPointerMapping(_) => Some(parse_reply::<xproto::GetPointerMappingRequest>),
3226 Request::SetModifierMapping(_) => Some(parse_reply::<xproto::SetModifierMappingRequest<'_>>),
3227 Request::GetModifierMapping(_) => Some(parse_reply::<xproto::GetModifierMappingRequest>),
3228 Request::NoOperation(_) => None,
3229 Request::BigreqEnable(_) => Some(parse_reply::<bigreq::EnableRequest>),
3230 #[cfg(feature = "composite")]
3231 Request::CompositeQueryVersion(_) => Some(parse_reply::<composite::QueryVersionRequest>),
3232 #[cfg(feature = "composite")]
3233 Request::CompositeRedirectWindow(_) => None,
3234 #[cfg(feature = "composite")]
3235 Request::CompositeRedirectSubwindows(_) => None,
3236 #[cfg(feature = "composite")]
3237 Request::CompositeUnredirectWindow(_) => None,
3238 #[cfg(feature = "composite")]
3239 Request::CompositeUnredirectSubwindows(_) => None,
3240 #[cfg(feature = "composite")]
3241 Request::CompositeCreateRegionFromBorderClip(_) => None,
3242 #[cfg(feature = "composite")]
3243 Request::CompositeNameWindowPixmap(_) => None,
3244 #[cfg(feature = "composite")]
3245 Request::CompositeGetOverlayWindow(_) => Some(parse_reply::<composite::GetOverlayWindowRequest>),
3246 #[cfg(feature = "composite")]
3247 Request::CompositeReleaseOverlayWindow(_) => None,
3248 #[cfg(feature = "damage")]
3249 Request::DamageQueryVersion(_) => Some(parse_reply::<damage::QueryVersionRequest>),
3250 #[cfg(feature = "damage")]
3251 Request::DamageCreate(_) => None,
3252 #[cfg(feature = "damage")]
3253 Request::DamageDestroy(_) => None,
3254 #[cfg(feature = "damage")]
3255 Request::DamageSubtract(_) => None,
3256 #[cfg(feature = "damage")]
3257 Request::DamageAdd(_) => None,
3258 #[cfg(feature = "dbe")]
3259 Request::DbeQueryVersion(_) => Some(parse_reply::<dbe::QueryVersionRequest>),
3260 #[cfg(feature = "dbe")]
3261 Request::DbeAllocateBackBuffer(_) => None,
3262 #[cfg(feature = "dbe")]
3263 Request::DbeDeallocateBackBuffer(_) => None,
3264 #[cfg(feature = "dbe")]
3265 Request::DbeSwapBuffers(_) => None,
3266 #[cfg(feature = "dbe")]
3267 Request::DbeBeginIdiom(_) => None,
3268 #[cfg(feature = "dbe")]
3269 Request::DbeEndIdiom(_) => None,
3270 #[cfg(feature = "dbe")]
3271 Request::DbeGetVisualInfo(_) => Some(parse_reply::<dbe::GetVisualInfoRequest<'_>>),
3272 #[cfg(feature = "dbe")]
3273 Request::DbeGetBackBufferAttributes(_) => Some(parse_reply::<dbe::GetBackBufferAttributesRequest>),
3274 #[cfg(feature = "dpms")]
3275 Request::DpmsGetVersion(_) => Some(parse_reply::<dpms::GetVersionRequest>),
3276 #[cfg(feature = "dpms")]
3277 Request::DpmsCapable(_) => Some(parse_reply::<dpms::CapableRequest>),
3278 #[cfg(feature = "dpms")]
3279 Request::DpmsGetTimeouts(_) => Some(parse_reply::<dpms::GetTimeoutsRequest>),
3280 #[cfg(feature = "dpms")]
3281 Request::DpmsSetTimeouts(_) => None,
3282 #[cfg(feature = "dpms")]
3283 Request::DpmsEnable(_) => None,
3284 #[cfg(feature = "dpms")]
3285 Request::DpmsDisable(_) => None,
3286 #[cfg(feature = "dpms")]
3287 Request::DpmsForceLevel(_) => None,
3288 #[cfg(feature = "dpms")]
3289 Request::DpmsInfo(_) => Some(parse_reply::<dpms::InfoRequest>),
3290 #[cfg(feature = "dpms")]
3291 Request::DpmsSelectInput(_) => None,
3292 #[cfg(feature = "dri2")]
3293 Request::Dri2QueryVersion(_) => Some(parse_reply::<dri2::QueryVersionRequest>),
3294 #[cfg(feature = "dri2")]
3295 Request::Dri2Connect(_) => Some(parse_reply::<dri2::ConnectRequest>),
3296 #[cfg(feature = "dri2")]
3297 Request::Dri2Authenticate(_) => Some(parse_reply::<dri2::AuthenticateRequest>),
3298 #[cfg(feature = "dri2")]
3299 Request::Dri2CreateDrawable(_) => None,
3300 #[cfg(feature = "dri2")]
3301 Request::Dri2DestroyDrawable(_) => None,
3302 #[cfg(feature = "dri2")]
3303 Request::Dri2GetBuffers(_) => Some(parse_reply::<dri2::GetBuffersRequest<'_>>),
3304 #[cfg(feature = "dri2")]
3305 Request::Dri2CopyRegion(_) => Some(parse_reply::<dri2::CopyRegionRequest>),
3306 #[cfg(feature = "dri2")]
3307 Request::Dri2GetBuffersWithFormat(_) => Some(parse_reply::<dri2::GetBuffersWithFormatRequest<'_>>),
3308 #[cfg(feature = "dri2")]
3309 Request::Dri2SwapBuffers(_) => Some(parse_reply::<dri2::SwapBuffersRequest>),
3310 #[cfg(feature = "dri2")]
3311 Request::Dri2GetMSC(_) => Some(parse_reply::<dri2::GetMSCRequest>),
3312 #[cfg(feature = "dri2")]
3313 Request::Dri2WaitMSC(_) => Some(parse_reply::<dri2::WaitMSCRequest>),
3314 #[cfg(feature = "dri2")]
3315 Request::Dri2WaitSBC(_) => Some(parse_reply::<dri2::WaitSBCRequest>),
3316 #[cfg(feature = "dri2")]
3317 Request::Dri2SwapInterval(_) => None,
3318 #[cfg(feature = "dri2")]
3319 Request::Dri2GetParam(_) => Some(parse_reply::<dri2::GetParamRequest>),
3320 #[cfg(feature = "dri3")]
3321 Request::Dri3QueryVersion(_) => Some(parse_reply::<dri3::QueryVersionRequest>),
3322 #[cfg(feature = "dri3")]
3323 Request::Dri3Open(_) => Some(parse_reply_fds::<dri3::OpenRequest>),
3324 #[cfg(feature = "dri3")]
3325 Request::Dri3PixmapFromBuffer(_) => None,
3326 #[cfg(feature = "dri3")]
3327 Request::Dri3BufferFromPixmap(_) => Some(parse_reply_fds::<dri3::BufferFromPixmapRequest>),
3328 #[cfg(feature = "dri3")]
3329 Request::Dri3FenceFromFD(_) => None,
3330 #[cfg(feature = "dri3")]
3331 Request::Dri3FDFromFence(_) => Some(parse_reply_fds::<dri3::FDFromFenceRequest>),
3332 #[cfg(feature = "dri3")]
3333 Request::Dri3GetSupportedModifiers(_) => Some(parse_reply::<dri3::GetSupportedModifiersRequest>),
3334 #[cfg(feature = "dri3")]
3335 Request::Dri3PixmapFromBuffers(_) => None,
3336 #[cfg(feature = "dri3")]
3337 Request::Dri3BuffersFromPixmap(_) => Some(parse_reply_fds::<dri3::BuffersFromPixmapRequest>),
3338 #[cfg(feature = "dri3")]
3339 Request::Dri3SetDRMDeviceInUse(_) => None,
3340 #[cfg(feature = "dri3")]
3341 Request::Dri3ImportSyncobj(_) => None,
3342 #[cfg(feature = "dri3")]
3343 Request::Dri3FreeSyncobj(_) => None,
3344 Request::GeQueryVersion(_) => Some(parse_reply::<ge::QueryVersionRequest>),
3345 #[cfg(feature = "glx")]
3346 Request::GlxRender(_) => None,
3347 #[cfg(feature = "glx")]
3348 Request::GlxRenderLarge(_) => None,
3349 #[cfg(feature = "glx")]
3350 Request::GlxCreateContext(_) => None,
3351 #[cfg(feature = "glx")]
3352 Request::GlxDestroyContext(_) => None,
3353 #[cfg(feature = "glx")]
3354 Request::GlxMakeCurrent(_) => Some(parse_reply::<glx::MakeCurrentRequest>),
3355 #[cfg(feature = "glx")]
3356 Request::GlxIsDirect(_) => Some(parse_reply::<glx::IsDirectRequest>),
3357 #[cfg(feature = "glx")]
3358 Request::GlxQueryVersion(_) => Some(parse_reply::<glx::QueryVersionRequest>),
3359 #[cfg(feature = "glx")]
3360 Request::GlxWaitGL(_) => None,
3361 #[cfg(feature = "glx")]
3362 Request::GlxWaitX(_) => None,
3363 #[cfg(feature = "glx")]
3364 Request::GlxCopyContext(_) => None,
3365 #[cfg(feature = "glx")]
3366 Request::GlxSwapBuffers(_) => None,
3367 #[cfg(feature = "glx")]
3368 Request::GlxUseXFont(_) => None,
3369 #[cfg(feature = "glx")]
3370 Request::GlxCreateGLXPixmap(_) => None,
3371 #[cfg(feature = "glx")]
3372 Request::GlxGetVisualConfigs(_) => Some(parse_reply::<glx::GetVisualConfigsRequest>),
3373 #[cfg(feature = "glx")]
3374 Request::GlxDestroyGLXPixmap(_) => None,
3375 #[cfg(feature = "glx")]
3376 Request::GlxVendorPrivate(_) => None,
3377 #[cfg(feature = "glx")]
3378 Request::GlxVendorPrivateWithReply(_) => Some(parse_reply::<glx::VendorPrivateWithReplyRequest<'_>>),
3379 #[cfg(feature = "glx")]
3380 Request::GlxQueryExtensionsString(_) => Some(parse_reply::<glx::QueryExtensionsStringRequest>),
3381 #[cfg(feature = "glx")]
3382 Request::GlxQueryServerString(_) => Some(parse_reply::<glx::QueryServerStringRequest>),
3383 #[cfg(feature = "glx")]
3384 Request::GlxClientInfo(_) => None,
3385 #[cfg(feature = "glx")]
3386 Request::GlxGetFBConfigs(_) => Some(parse_reply::<glx::GetFBConfigsRequest>),
3387 #[cfg(feature = "glx")]
3388 Request::GlxCreatePixmap(_) => None,
3389 #[cfg(feature = "glx")]
3390 Request::GlxDestroyPixmap(_) => None,
3391 #[cfg(feature = "glx")]
3392 Request::GlxCreateNewContext(_) => None,
3393 #[cfg(feature = "glx")]
3394 Request::GlxQueryContext(_) => Some(parse_reply::<glx::QueryContextRequest>),
3395 #[cfg(feature = "glx")]
3396 Request::GlxMakeContextCurrent(_) => Some(parse_reply::<glx::MakeContextCurrentRequest>),
3397 #[cfg(feature = "glx")]
3398 Request::GlxCreatePbuffer(_) => None,
3399 #[cfg(feature = "glx")]
3400 Request::GlxDestroyPbuffer(_) => None,
3401 #[cfg(feature = "glx")]
3402 Request::GlxGetDrawableAttributes(_) => Some(parse_reply::<glx::GetDrawableAttributesRequest>),
3403 #[cfg(feature = "glx")]
3404 Request::GlxChangeDrawableAttributes(_) => None,
3405 #[cfg(feature = "glx")]
3406 Request::GlxCreateWindow(_) => None,
3407 #[cfg(feature = "glx")]
3408 Request::GlxDeleteWindow(_) => None,
3409 #[cfg(feature = "glx")]
3410 Request::GlxSetClientInfoARB(_) => None,
3411 #[cfg(feature = "glx")]
3412 Request::GlxCreateContextAttribsARB(_) => None,
3413 #[cfg(feature = "glx")]
3414 Request::GlxSetClientInfo2ARB(_) => None,
3415 #[cfg(feature = "glx")]
3416 Request::GlxNewList(_) => None,
3417 #[cfg(feature = "glx")]
3418 Request::GlxEndList(_) => None,
3419 #[cfg(feature = "glx")]
3420 Request::GlxDeleteLists(_) => None,
3421 #[cfg(feature = "glx")]
3422 Request::GlxGenLists(_) => Some(parse_reply::<glx::GenListsRequest>),
3423 #[cfg(feature = "glx")]
3424 Request::GlxFeedbackBuffer(_) => None,
3425 #[cfg(feature = "glx")]
3426 Request::GlxSelectBuffer(_) => None,
3427 #[cfg(feature = "glx")]
3428 Request::GlxRenderMode(_) => Some(parse_reply::<glx::RenderModeRequest>),
3429 #[cfg(feature = "glx")]
3430 Request::GlxFinish(_) => Some(parse_reply::<glx::FinishRequest>),
3431 #[cfg(feature = "glx")]
3432 Request::GlxPixelStoref(_) => None,
3433 #[cfg(feature = "glx")]
3434 Request::GlxPixelStorei(_) => None,
3435 #[cfg(feature = "glx")]
3436 Request::GlxReadPixels(_) => Some(parse_reply::<glx::ReadPixelsRequest>),
3437 #[cfg(feature = "glx")]
3438 Request::GlxGetBooleanv(_) => Some(parse_reply::<glx::GetBooleanvRequest>),
3439 #[cfg(feature = "glx")]
3440 Request::GlxGetClipPlane(_) => Some(parse_reply::<glx::GetClipPlaneRequest>),
3441 #[cfg(feature = "glx")]
3442 Request::GlxGetDoublev(_) => Some(parse_reply::<glx::GetDoublevRequest>),
3443 #[cfg(feature = "glx")]
3444 Request::GlxGetError(_) => Some(parse_reply::<glx::GetErrorRequest>),
3445 #[cfg(feature = "glx")]
3446 Request::GlxGetFloatv(_) => Some(parse_reply::<glx::GetFloatvRequest>),
3447 #[cfg(feature = "glx")]
3448 Request::GlxGetIntegerv(_) => Some(parse_reply::<glx::GetIntegervRequest>),
3449 #[cfg(feature = "glx")]
3450 Request::GlxGetLightfv(_) => Some(parse_reply::<glx::GetLightfvRequest>),
3451 #[cfg(feature = "glx")]
3452 Request::GlxGetLightiv(_) => Some(parse_reply::<glx::GetLightivRequest>),
3453 #[cfg(feature = "glx")]
3454 Request::GlxGetMapdv(_) => Some(parse_reply::<glx::GetMapdvRequest>),
3455 #[cfg(feature = "glx")]
3456 Request::GlxGetMapfv(_) => Some(parse_reply::<glx::GetMapfvRequest>),
3457 #[cfg(feature = "glx")]
3458 Request::GlxGetMapiv(_) => Some(parse_reply::<glx::GetMapivRequest>),
3459 #[cfg(feature = "glx")]
3460 Request::GlxGetMaterialfv(_) => Some(parse_reply::<glx::GetMaterialfvRequest>),
3461 #[cfg(feature = "glx")]
3462 Request::GlxGetMaterialiv(_) => Some(parse_reply::<glx::GetMaterialivRequest>),
3463 #[cfg(feature = "glx")]
3464 Request::GlxGetPixelMapfv(_) => Some(parse_reply::<glx::GetPixelMapfvRequest>),
3465 #[cfg(feature = "glx")]
3466 Request::GlxGetPixelMapuiv(_) => Some(parse_reply::<glx::GetPixelMapuivRequest>),
3467 #[cfg(feature = "glx")]
3468 Request::GlxGetPixelMapusv(_) => Some(parse_reply::<glx::GetPixelMapusvRequest>),
3469 #[cfg(feature = "glx")]
3470 Request::GlxGetPolygonStipple(_) => Some(parse_reply::<glx::GetPolygonStippleRequest>),
3471 #[cfg(feature = "glx")]
3472 Request::GlxGetString(_) => Some(parse_reply::<glx::GetStringRequest>),
3473 #[cfg(feature = "glx")]
3474 Request::GlxGetTexEnvfv(_) => Some(parse_reply::<glx::GetTexEnvfvRequest>),
3475 #[cfg(feature = "glx")]
3476 Request::GlxGetTexEnviv(_) => Some(parse_reply::<glx::GetTexEnvivRequest>),
3477 #[cfg(feature = "glx")]
3478 Request::GlxGetTexGendv(_) => Some(parse_reply::<glx::GetTexGendvRequest>),
3479 #[cfg(feature = "glx")]
3480 Request::GlxGetTexGenfv(_) => Some(parse_reply::<glx::GetTexGenfvRequest>),
3481 #[cfg(feature = "glx")]
3482 Request::GlxGetTexGeniv(_) => Some(parse_reply::<glx::GetTexGenivRequest>),
3483 #[cfg(feature = "glx")]
3484 Request::GlxGetTexImage(_) => Some(parse_reply::<glx::GetTexImageRequest>),
3485 #[cfg(feature = "glx")]
3486 Request::GlxGetTexParameterfv(_) => Some(parse_reply::<glx::GetTexParameterfvRequest>),
3487 #[cfg(feature = "glx")]
3488 Request::GlxGetTexParameteriv(_) => Some(parse_reply::<glx::GetTexParameterivRequest>),
3489 #[cfg(feature = "glx")]
3490 Request::GlxGetTexLevelParameterfv(_) => Some(parse_reply::<glx::GetTexLevelParameterfvRequest>),
3491 #[cfg(feature = "glx")]
3492 Request::GlxGetTexLevelParameteriv(_) => Some(parse_reply::<glx::GetTexLevelParameterivRequest>),
3493 #[cfg(feature = "glx")]
3494 Request::GlxIsEnabled(_) => Some(parse_reply::<glx::IsEnabledRequest>),
3495 #[cfg(feature = "glx")]
3496 Request::GlxIsList(_) => Some(parse_reply::<glx::IsListRequest>),
3497 #[cfg(feature = "glx")]
3498 Request::GlxFlush(_) => None,
3499 #[cfg(feature = "glx")]
3500 Request::GlxAreTexturesResident(_) => Some(parse_reply::<glx::AreTexturesResidentRequest<'_>>),
3501 #[cfg(feature = "glx")]
3502 Request::GlxDeleteTextures(_) => None,
3503 #[cfg(feature = "glx")]
3504 Request::GlxGenTextures(_) => Some(parse_reply::<glx::GenTexturesRequest>),
3505 #[cfg(feature = "glx")]
3506 Request::GlxIsTexture(_) => Some(parse_reply::<glx::IsTextureRequest>),
3507 #[cfg(feature = "glx")]
3508 Request::GlxGetColorTable(_) => Some(parse_reply::<glx::GetColorTableRequest>),
3509 #[cfg(feature = "glx")]
3510 Request::GlxGetColorTableParameterfv(_) => Some(parse_reply::<glx::GetColorTableParameterfvRequest>),
3511 #[cfg(feature = "glx")]
3512 Request::GlxGetColorTableParameteriv(_) => Some(parse_reply::<glx::GetColorTableParameterivRequest>),
3513 #[cfg(feature = "glx")]
3514 Request::GlxGetConvolutionFilter(_) => Some(parse_reply::<glx::GetConvolutionFilterRequest>),
3515 #[cfg(feature = "glx")]
3516 Request::GlxGetConvolutionParameterfv(_) => Some(parse_reply::<glx::GetConvolutionParameterfvRequest>),
3517 #[cfg(feature = "glx")]
3518 Request::GlxGetConvolutionParameteriv(_) => Some(parse_reply::<glx::GetConvolutionParameterivRequest>),
3519 #[cfg(feature = "glx")]
3520 Request::GlxGetSeparableFilter(_) => Some(parse_reply::<glx::GetSeparableFilterRequest>),
3521 #[cfg(feature = "glx")]
3522 Request::GlxGetHistogram(_) => Some(parse_reply::<glx::GetHistogramRequest>),
3523 #[cfg(feature = "glx")]
3524 Request::GlxGetHistogramParameterfv(_) => Some(parse_reply::<glx::GetHistogramParameterfvRequest>),
3525 #[cfg(feature = "glx")]
3526 Request::GlxGetHistogramParameteriv(_) => Some(parse_reply::<glx::GetHistogramParameterivRequest>),
3527 #[cfg(feature = "glx")]
3528 Request::GlxGetMinmax(_) => Some(parse_reply::<glx::GetMinmaxRequest>),
3529 #[cfg(feature = "glx")]
3530 Request::GlxGetMinmaxParameterfv(_) => Some(parse_reply::<glx::GetMinmaxParameterfvRequest>),
3531 #[cfg(feature = "glx")]
3532 Request::GlxGetMinmaxParameteriv(_) => Some(parse_reply::<glx::GetMinmaxParameterivRequest>),
3533 #[cfg(feature = "glx")]
3534 Request::GlxGetCompressedTexImageARB(_) => Some(parse_reply::<glx::GetCompressedTexImageARBRequest>),
3535 #[cfg(feature = "glx")]
3536 Request::GlxDeleteQueriesARB(_) => None,
3537 #[cfg(feature = "glx")]
3538 Request::GlxGenQueriesARB(_) => Some(parse_reply::<glx::GenQueriesARBRequest>),
3539 #[cfg(feature = "glx")]
3540 Request::GlxIsQueryARB(_) => Some(parse_reply::<glx::IsQueryARBRequest>),
3541 #[cfg(feature = "glx")]
3542 Request::GlxGetQueryivARB(_) => Some(parse_reply::<glx::GetQueryivARBRequest>),
3543 #[cfg(feature = "glx")]
3544 Request::GlxGetQueryObjectivARB(_) => Some(parse_reply::<glx::GetQueryObjectivARBRequest>),
3545 #[cfg(feature = "glx")]
3546 Request::GlxGetQueryObjectuivARB(_) => Some(parse_reply::<glx::GetQueryObjectuivARBRequest>),
3547 #[cfg(feature = "present")]
3548 Request::PresentQueryVersion(_) => Some(parse_reply::<present::QueryVersionRequest>),
3549 #[cfg(feature = "present")]
3550 Request::PresentPixmap(_) => None,
3551 #[cfg(feature = "present")]
3552 Request::PresentNotifyMSC(_) => None,
3553 #[cfg(feature = "present")]
3554 Request::PresentSelectInput(_) => None,
3555 #[cfg(feature = "present")]
3556 Request::PresentQueryCapabilities(_) => Some(parse_reply::<present::QueryCapabilitiesRequest>),
3557 #[cfg(feature = "present")]
3558 Request::PresentPixmapSynced(_) => None,
3559 #[cfg(feature = "randr")]
3560 Request::RandrQueryVersion(_) => Some(parse_reply::<randr::QueryVersionRequest>),
3561 #[cfg(feature = "randr")]
3562 Request::RandrSetScreenConfig(_) => Some(parse_reply::<randr::SetScreenConfigRequest>),
3563 #[cfg(feature = "randr")]
3564 Request::RandrSelectInput(_) => None,
3565 #[cfg(feature = "randr")]
3566 Request::RandrGetScreenInfo(_) => Some(parse_reply::<randr::GetScreenInfoRequest>),
3567 #[cfg(feature = "randr")]
3568 Request::RandrGetScreenSizeRange(_) => Some(parse_reply::<randr::GetScreenSizeRangeRequest>),
3569 #[cfg(feature = "randr")]
3570 Request::RandrSetScreenSize(_) => None,
3571 #[cfg(feature = "randr")]
3572 Request::RandrGetScreenResources(_) => Some(parse_reply::<randr::GetScreenResourcesRequest>),
3573 #[cfg(feature = "randr")]
3574 Request::RandrGetOutputInfo(_) => Some(parse_reply::<randr::GetOutputInfoRequest>),
3575 #[cfg(feature = "randr")]
3576 Request::RandrListOutputProperties(_) => Some(parse_reply::<randr::ListOutputPropertiesRequest>),
3577 #[cfg(feature = "randr")]
3578 Request::RandrQueryOutputProperty(_) => Some(parse_reply::<randr::QueryOutputPropertyRequest>),
3579 #[cfg(feature = "randr")]
3580 Request::RandrConfigureOutputProperty(_) => None,
3581 #[cfg(feature = "randr")]
3582 Request::RandrChangeOutputProperty(_) => None,
3583 #[cfg(feature = "randr")]
3584 Request::RandrDeleteOutputProperty(_) => None,
3585 #[cfg(feature = "randr")]
3586 Request::RandrGetOutputProperty(_) => Some(parse_reply::<randr::GetOutputPropertyRequest>),
3587 #[cfg(feature = "randr")]
3588 Request::RandrCreateMode(_) => Some(parse_reply::<randr::CreateModeRequest<'_>>),
3589 #[cfg(feature = "randr")]
3590 Request::RandrDestroyMode(_) => None,
3591 #[cfg(feature = "randr")]
3592 Request::RandrAddOutputMode(_) => None,
3593 #[cfg(feature = "randr")]
3594 Request::RandrDeleteOutputMode(_) => None,
3595 #[cfg(feature = "randr")]
3596 Request::RandrGetCrtcInfo(_) => Some(parse_reply::<randr::GetCrtcInfoRequest>),
3597 #[cfg(feature = "randr")]
3598 Request::RandrSetCrtcConfig(_) => Some(parse_reply::<randr::SetCrtcConfigRequest<'_>>),
3599 #[cfg(feature = "randr")]
3600 Request::RandrGetCrtcGammaSize(_) => Some(parse_reply::<randr::GetCrtcGammaSizeRequest>),
3601 #[cfg(feature = "randr")]
3602 Request::RandrGetCrtcGamma(_) => Some(parse_reply::<randr::GetCrtcGammaRequest>),
3603 #[cfg(feature = "randr")]
3604 Request::RandrSetCrtcGamma(_) => None,
3605 #[cfg(feature = "randr")]
3606 Request::RandrGetScreenResourcesCurrent(_) => Some(parse_reply::<randr::GetScreenResourcesCurrentRequest>),
3607 #[cfg(feature = "randr")]
3608 Request::RandrSetCrtcTransform(_) => None,
3609 #[cfg(feature = "randr")]
3610 Request::RandrGetCrtcTransform(_) => Some(parse_reply::<randr::GetCrtcTransformRequest>),
3611 #[cfg(feature = "randr")]
3612 Request::RandrGetPanning(_) => Some(parse_reply::<randr::GetPanningRequest>),
3613 #[cfg(feature = "randr")]
3614 Request::RandrSetPanning(_) => Some(parse_reply::<randr::SetPanningRequest>),
3615 #[cfg(feature = "randr")]
3616 Request::RandrSetOutputPrimary(_) => None,
3617 #[cfg(feature = "randr")]
3618 Request::RandrGetOutputPrimary(_) => Some(parse_reply::<randr::GetOutputPrimaryRequest>),
3619 #[cfg(feature = "randr")]
3620 Request::RandrGetProviders(_) => Some(parse_reply::<randr::GetProvidersRequest>),
3621 #[cfg(feature = "randr")]
3622 Request::RandrGetProviderInfo(_) => Some(parse_reply::<randr::GetProviderInfoRequest>),
3623 #[cfg(feature = "randr")]
3624 Request::RandrSetProviderOffloadSink(_) => None,
3625 #[cfg(feature = "randr")]
3626 Request::RandrSetProviderOutputSource(_) => None,
3627 #[cfg(feature = "randr")]
3628 Request::RandrListProviderProperties(_) => Some(parse_reply::<randr::ListProviderPropertiesRequest>),
3629 #[cfg(feature = "randr")]
3630 Request::RandrQueryProviderProperty(_) => Some(parse_reply::<randr::QueryProviderPropertyRequest>),
3631 #[cfg(feature = "randr")]
3632 Request::RandrConfigureProviderProperty(_) => None,
3633 #[cfg(feature = "randr")]
3634 Request::RandrChangeProviderProperty(_) => None,
3635 #[cfg(feature = "randr")]
3636 Request::RandrDeleteProviderProperty(_) => None,
3637 #[cfg(feature = "randr")]
3638 Request::RandrGetProviderProperty(_) => Some(parse_reply::<randr::GetProviderPropertyRequest>),
3639 #[cfg(feature = "randr")]
3640 Request::RandrGetMonitors(_) => Some(parse_reply::<randr::GetMonitorsRequest>),
3641 #[cfg(feature = "randr")]
3642 Request::RandrSetMonitor(_) => None,
3643 #[cfg(feature = "randr")]
3644 Request::RandrDeleteMonitor(_) => None,
3645 #[cfg(feature = "randr")]
3646 Request::RandrCreateLease(_) => Some(parse_reply_fds::<randr::CreateLeaseRequest<'_>>),
3647 #[cfg(feature = "randr")]
3648 Request::RandrFreeLease(_) => None,
3649 #[cfg(feature = "record")]
3650 Request::RecordQueryVersion(_) => Some(parse_reply::<record::QueryVersionRequest>),
3651 #[cfg(feature = "record")]
3652 Request::RecordCreateContext(_) => None,
3653 #[cfg(feature = "record")]
3654 Request::RecordRegisterClients(_) => None,
3655 #[cfg(feature = "record")]
3656 Request::RecordUnregisterClients(_) => None,
3657 #[cfg(feature = "record")]
3658 Request::RecordGetContext(_) => Some(parse_reply::<record::GetContextRequest>),
3659 #[cfg(feature = "record")]
3660 Request::RecordEnableContext(_) => Some(parse_reply::<record::EnableContextRequest>),
3661 #[cfg(feature = "record")]
3662 Request::RecordDisableContext(_) => None,
3663 #[cfg(feature = "record")]
3664 Request::RecordFreeContext(_) => None,
3665 #[cfg(feature = "render")]
3666 Request::RenderQueryVersion(_) => Some(parse_reply::<render::QueryVersionRequest>),
3667 #[cfg(feature = "render")]
3668 Request::RenderQueryPictFormats(_) => Some(parse_reply::<render::QueryPictFormatsRequest>),
3669 #[cfg(feature = "render")]
3670 Request::RenderQueryPictIndexValues(_) => Some(parse_reply::<render::QueryPictIndexValuesRequest>),
3671 #[cfg(feature = "render")]
3672 Request::RenderCreatePicture(_) => None,
3673 #[cfg(feature = "render")]
3674 Request::RenderChangePicture(_) => None,
3675 #[cfg(feature = "render")]
3676 Request::RenderSetPictureClipRectangles(_) => None,
3677 #[cfg(feature = "render")]
3678 Request::RenderFreePicture(_) => None,
3679 #[cfg(feature = "render")]
3680 Request::RenderComposite(_) => None,
3681 #[cfg(feature = "render")]
3682 Request::RenderTrapezoids(_) => None,
3683 #[cfg(feature = "render")]
3684 Request::RenderTriangles(_) => None,
3685 #[cfg(feature = "render")]
3686 Request::RenderTriStrip(_) => None,
3687 #[cfg(feature = "render")]
3688 Request::RenderTriFan(_) => None,
3689 #[cfg(feature = "render")]
3690 Request::RenderCreateGlyphSet(_) => None,
3691 #[cfg(feature = "render")]
3692 Request::RenderReferenceGlyphSet(_) => None,
3693 #[cfg(feature = "render")]
3694 Request::RenderFreeGlyphSet(_) => None,
3695 #[cfg(feature = "render")]
3696 Request::RenderAddGlyphs(_) => None,
3697 #[cfg(feature = "render")]
3698 Request::RenderFreeGlyphs(_) => None,
3699 #[cfg(feature = "render")]
3700 Request::RenderCompositeGlyphs8(_) => None,
3701 #[cfg(feature = "render")]
3702 Request::RenderCompositeGlyphs16(_) => None,
3703 #[cfg(feature = "render")]
3704 Request::RenderCompositeGlyphs32(_) => None,
3705 #[cfg(feature = "render")]
3706 Request::RenderFillRectangles(_) => None,
3707 #[cfg(feature = "render")]
3708 Request::RenderCreateCursor(_) => None,
3709 #[cfg(feature = "render")]
3710 Request::RenderSetPictureTransform(_) => None,
3711 #[cfg(feature = "render")]
3712 Request::RenderQueryFilters(_) => Some(parse_reply::<render::QueryFiltersRequest>),
3713 #[cfg(feature = "render")]
3714 Request::RenderSetPictureFilter(_) => None,
3715 #[cfg(feature = "render")]
3716 Request::RenderCreateAnimCursor(_) => None,
3717 #[cfg(feature = "render")]
3718 Request::RenderAddTraps(_) => None,
3719 #[cfg(feature = "render")]
3720 Request::RenderCreateSolidFill(_) => None,
3721 #[cfg(feature = "render")]
3722 Request::RenderCreateLinearGradient(_) => None,
3723 #[cfg(feature = "render")]
3724 Request::RenderCreateRadialGradient(_) => None,
3725 #[cfg(feature = "render")]
3726 Request::RenderCreateConicalGradient(_) => None,
3727 #[cfg(feature = "res")]
3728 Request::ResQueryVersion(_) => Some(parse_reply::<res::QueryVersionRequest>),
3729 #[cfg(feature = "res")]
3730 Request::ResQueryClients(_) => Some(parse_reply::<res::QueryClientsRequest>),
3731 #[cfg(feature = "res")]
3732 Request::ResQueryClientResources(_) => Some(parse_reply::<res::QueryClientResourcesRequest>),
3733 #[cfg(feature = "res")]
3734 Request::ResQueryClientPixmapBytes(_) => Some(parse_reply::<res::QueryClientPixmapBytesRequest>),
3735 #[cfg(feature = "res")]
3736 Request::ResQueryClientIds(_) => Some(parse_reply::<res::QueryClientIdsRequest<'_>>),
3737 #[cfg(feature = "res")]
3738 Request::ResQueryResourceBytes(_) => Some(parse_reply::<res::QueryResourceBytesRequest<'_>>),
3739 #[cfg(feature = "screensaver")]
3740 Request::ScreensaverQueryVersion(_) => Some(parse_reply::<screensaver::QueryVersionRequest>),
3741 #[cfg(feature = "screensaver")]
3742 Request::ScreensaverQueryInfo(_) => Some(parse_reply::<screensaver::QueryInfoRequest>),
3743 #[cfg(feature = "screensaver")]
3744 Request::ScreensaverSelectInput(_) => None,
3745 #[cfg(feature = "screensaver")]
3746 Request::ScreensaverSetAttributes(_) => None,
3747 #[cfg(feature = "screensaver")]
3748 Request::ScreensaverUnsetAttributes(_) => None,
3749 #[cfg(feature = "screensaver")]
3750 Request::ScreensaverSuspend(_) => None,
3751 #[cfg(feature = "shape")]
3752 Request::ShapeQueryVersion(_) => Some(parse_reply::<shape::QueryVersionRequest>),
3753 #[cfg(feature = "shape")]
3754 Request::ShapeRectangles(_) => None,
3755 #[cfg(feature = "shape")]
3756 Request::ShapeMask(_) => None,
3757 #[cfg(feature = "shape")]
3758 Request::ShapeCombine(_) => None,
3759 #[cfg(feature = "shape")]
3760 Request::ShapeOffset(_) => None,
3761 #[cfg(feature = "shape")]
3762 Request::ShapeQueryExtents(_) => Some(parse_reply::<shape::QueryExtentsRequest>),
3763 #[cfg(feature = "shape")]
3764 Request::ShapeSelectInput(_) => None,
3765 #[cfg(feature = "shape")]
3766 Request::ShapeInputSelected(_) => Some(parse_reply::<shape::InputSelectedRequest>),
3767 #[cfg(feature = "shape")]
3768 Request::ShapeGetRectangles(_) => Some(parse_reply::<shape::GetRectanglesRequest>),
3769 #[cfg(feature = "shm")]
3770 Request::ShmQueryVersion(_) => Some(parse_reply::<shm::QueryVersionRequest>),
3771 #[cfg(feature = "shm")]
3772 Request::ShmAttach(_) => None,
3773 #[cfg(feature = "shm")]
3774 Request::ShmDetach(_) => None,
3775 #[cfg(feature = "shm")]
3776 Request::ShmPutImage(_) => None,
3777 #[cfg(feature = "shm")]
3778 Request::ShmGetImage(_) => Some(parse_reply::<shm::GetImageRequest>),
3779 #[cfg(feature = "shm")]
3780 Request::ShmCreatePixmap(_) => None,
3781 #[cfg(feature = "shm")]
3782 Request::ShmAttachFd(_) => None,
3783 #[cfg(feature = "shm")]
3784 Request::ShmCreateSegment(_) => Some(parse_reply_fds::<shm::CreateSegmentRequest>),
3785 #[cfg(feature = "sync")]
3786 Request::SyncInitialize(_) => Some(parse_reply::<sync::InitializeRequest>),
3787 #[cfg(feature = "sync")]
3788 Request::SyncListSystemCounters(_) => Some(parse_reply::<sync::ListSystemCountersRequest>),
3789 #[cfg(feature = "sync")]
3790 Request::SyncCreateCounter(_) => None,
3791 #[cfg(feature = "sync")]
3792 Request::SyncDestroyCounter(_) => None,
3793 #[cfg(feature = "sync")]
3794 Request::SyncQueryCounter(_) => Some(parse_reply::<sync::QueryCounterRequest>),
3795 #[cfg(feature = "sync")]
3796 Request::SyncAwait(_) => None,
3797 #[cfg(feature = "sync")]
3798 Request::SyncChangeCounter(_) => None,
3799 #[cfg(feature = "sync")]
3800 Request::SyncSetCounter(_) => None,
3801 #[cfg(feature = "sync")]
3802 Request::SyncCreateAlarm(_) => None,
3803 #[cfg(feature = "sync")]
3804 Request::SyncChangeAlarm(_) => None,
3805 #[cfg(feature = "sync")]
3806 Request::SyncDestroyAlarm(_) => None,
3807 #[cfg(feature = "sync")]
3808 Request::SyncQueryAlarm(_) => Some(parse_reply::<sync::QueryAlarmRequest>),
3809 #[cfg(feature = "sync")]
3810 Request::SyncSetPriority(_) => None,
3811 #[cfg(feature = "sync")]
3812 Request::SyncGetPriority(_) => Some(parse_reply::<sync::GetPriorityRequest>),
3813 #[cfg(feature = "sync")]
3814 Request::SyncCreateFence(_) => None,
3815 #[cfg(feature = "sync")]
3816 Request::SyncTriggerFence(_) => None,
3817 #[cfg(feature = "sync")]
3818 Request::SyncResetFence(_) => None,
3819 #[cfg(feature = "sync")]
3820 Request::SyncDestroyFence(_) => None,
3821 #[cfg(feature = "sync")]
3822 Request::SyncQueryFence(_) => Some(parse_reply::<sync::QueryFenceRequest>),
3823 #[cfg(feature = "sync")]
3824 Request::SyncAwaitFence(_) => None,
3825 Request::XcMiscGetVersion(_) => Some(parse_reply::<xc_misc::GetVersionRequest>),
3826 Request::XcMiscGetXIDRange(_) => Some(parse_reply::<xc_misc::GetXIDRangeRequest>),
3827 Request::XcMiscGetXIDList(_) => Some(parse_reply::<xc_misc::GetXIDListRequest>),
3828 #[cfg(feature = "xevie")]
3829 Request::XevieQueryVersion(_) => Some(parse_reply::<xevie::QueryVersionRequest>),
3830 #[cfg(feature = "xevie")]
3831 Request::XevieStart(_) => Some(parse_reply::<xevie::StartRequest>),
3832 #[cfg(feature = "xevie")]
3833 Request::XevieEnd(_) => Some(parse_reply::<xevie::EndRequest>),
3834 #[cfg(feature = "xevie")]
3835 Request::XevieSend(_) => Some(parse_reply::<xevie::SendRequest>),
3836 #[cfg(feature = "xevie")]
3837 Request::XevieSelectInput(_) => Some(parse_reply::<xevie::SelectInputRequest>),
3838 #[cfg(feature = "xf86dri")]
3839 Request::Xf86driQueryVersion(_) => Some(parse_reply::<xf86dri::QueryVersionRequest>),
3840 #[cfg(feature = "xf86dri")]
3841 Request::Xf86driQueryDirectRenderingCapable(_) => Some(parse_reply::<xf86dri::QueryDirectRenderingCapableRequest>),
3842 #[cfg(feature = "xf86dri")]
3843 Request::Xf86driOpenConnection(_) => Some(parse_reply::<xf86dri::OpenConnectionRequest>),
3844 #[cfg(feature = "xf86dri")]
3845 Request::Xf86driCloseConnection(_) => None,
3846 #[cfg(feature = "xf86dri")]
3847 Request::Xf86driGetClientDriverName(_) => Some(parse_reply::<xf86dri::GetClientDriverNameRequest>),
3848 #[cfg(feature = "xf86dri")]
3849 Request::Xf86driCreateContext(_) => Some(parse_reply::<xf86dri::CreateContextRequest>),
3850 #[cfg(feature = "xf86dri")]
3851 Request::Xf86driDestroyContext(_) => None,
3852 #[cfg(feature = "xf86dri")]
3853 Request::Xf86driCreateDrawable(_) => Some(parse_reply::<xf86dri::CreateDrawableRequest>),
3854 #[cfg(feature = "xf86dri")]
3855 Request::Xf86driDestroyDrawable(_) => None,
3856 #[cfg(feature = "xf86dri")]
3857 Request::Xf86driGetDrawableInfo(_) => Some(parse_reply::<xf86dri::GetDrawableInfoRequest>),
3858 #[cfg(feature = "xf86dri")]
3859 Request::Xf86driGetDeviceInfo(_) => Some(parse_reply::<xf86dri::GetDeviceInfoRequest>),
3860 #[cfg(feature = "xf86dri")]
3861 Request::Xf86driAuthConnection(_) => Some(parse_reply::<xf86dri::AuthConnectionRequest>),
3862 #[cfg(feature = "xf86vidmode")]
3863 Request::Xf86vidmodeQueryVersion(_) => Some(parse_reply::<xf86vidmode::QueryVersionRequest>),
3864 #[cfg(feature = "xf86vidmode")]
3865 Request::Xf86vidmodeGetModeLine(_) => Some(parse_reply::<xf86vidmode::GetModeLineRequest>),
3866 #[cfg(feature = "xf86vidmode")]
3867 Request::Xf86vidmodeModModeLine(_) => None,
3868 #[cfg(feature = "xf86vidmode")]
3869 Request::Xf86vidmodeSwitchMode(_) => None,
3870 #[cfg(feature = "xf86vidmode")]
3871 Request::Xf86vidmodeGetMonitor(_) => Some(parse_reply::<xf86vidmode::GetMonitorRequest>),
3872 #[cfg(feature = "xf86vidmode")]
3873 Request::Xf86vidmodeLockModeSwitch(_) => None,
3874 #[cfg(feature = "xf86vidmode")]
3875 Request::Xf86vidmodeGetAllModeLines(_) => Some(parse_reply::<xf86vidmode::GetAllModeLinesRequest>),
3876 #[cfg(feature = "xf86vidmode")]
3877 Request::Xf86vidmodeAddModeLine(_) => None,
3878 #[cfg(feature = "xf86vidmode")]
3879 Request::Xf86vidmodeDeleteModeLine(_) => None,
3880 #[cfg(feature = "xf86vidmode")]
3881 Request::Xf86vidmodeValidateModeLine(_) => Some(parse_reply::<xf86vidmode::ValidateModeLineRequest<'_>>),
3882 #[cfg(feature = "xf86vidmode")]
3883 Request::Xf86vidmodeSwitchToMode(_) => None,
3884 #[cfg(feature = "xf86vidmode")]
3885 Request::Xf86vidmodeGetViewPort(_) => Some(parse_reply::<xf86vidmode::GetViewPortRequest>),
3886 #[cfg(feature = "xf86vidmode")]
3887 Request::Xf86vidmodeSetViewPort(_) => None,
3888 #[cfg(feature = "xf86vidmode")]
3889 Request::Xf86vidmodeGetDotClocks(_) => Some(parse_reply::<xf86vidmode::GetDotClocksRequest>),
3890 #[cfg(feature = "xf86vidmode")]
3891 Request::Xf86vidmodeSetClientVersion(_) => None,
3892 #[cfg(feature = "xf86vidmode")]
3893 Request::Xf86vidmodeSetGamma(_) => None,
3894 #[cfg(feature = "xf86vidmode")]
3895 Request::Xf86vidmodeGetGamma(_) => Some(parse_reply::<xf86vidmode::GetGammaRequest>),
3896 #[cfg(feature = "xf86vidmode")]
3897 Request::Xf86vidmodeGetGammaRamp(_) => Some(parse_reply::<xf86vidmode::GetGammaRampRequest>),
3898 #[cfg(feature = "xf86vidmode")]
3899 Request::Xf86vidmodeSetGammaRamp(_) => None,
3900 #[cfg(feature = "xf86vidmode")]
3901 Request::Xf86vidmodeGetGammaRampSize(_) => Some(parse_reply::<xf86vidmode::GetGammaRampSizeRequest>),
3902 #[cfg(feature = "xf86vidmode")]
3903 Request::Xf86vidmodeGetPermissions(_) => Some(parse_reply::<xf86vidmode::GetPermissionsRequest>),
3904 #[cfg(feature = "xfixes")]
3905 Request::XfixesQueryVersion(_) => Some(parse_reply::<xfixes::QueryVersionRequest>),
3906 #[cfg(feature = "xfixes")]
3907 Request::XfixesChangeSaveSet(_) => None,
3908 #[cfg(feature = "xfixes")]
3909 Request::XfixesSelectSelectionInput(_) => None,
3910 #[cfg(feature = "xfixes")]
3911 Request::XfixesSelectCursorInput(_) => None,
3912 #[cfg(feature = "xfixes")]
3913 Request::XfixesGetCursorImage(_) => Some(parse_reply::<xfixes::GetCursorImageRequest>),
3914 #[cfg(feature = "xfixes")]
3915 Request::XfixesCreateRegion(_) => None,
3916 #[cfg(feature = "xfixes")]
3917 Request::XfixesCreateRegionFromBitmap(_) => None,
3918 #[cfg(feature = "xfixes")]
3919 Request::XfixesCreateRegionFromWindow(_) => None,
3920 #[cfg(feature = "xfixes")]
3921 Request::XfixesCreateRegionFromGC(_) => None,
3922 #[cfg(feature = "xfixes")]
3923 Request::XfixesCreateRegionFromPicture(_) => None,
3924 #[cfg(feature = "xfixes")]
3925 Request::XfixesDestroyRegion(_) => None,
3926 #[cfg(feature = "xfixes")]
3927 Request::XfixesSetRegion(_) => None,
3928 #[cfg(feature = "xfixes")]
3929 Request::XfixesCopyRegion(_) => None,
3930 #[cfg(feature = "xfixes")]
3931 Request::XfixesUnionRegion(_) => None,
3932 #[cfg(feature = "xfixes")]
3933 Request::XfixesIntersectRegion(_) => None,
3934 #[cfg(feature = "xfixes")]
3935 Request::XfixesSubtractRegion(_) => None,
3936 #[cfg(feature = "xfixes")]
3937 Request::XfixesInvertRegion(_) => None,
3938 #[cfg(feature = "xfixes")]
3939 Request::XfixesTranslateRegion(_) => None,
3940 #[cfg(feature = "xfixes")]
3941 Request::XfixesRegionExtents(_) => None,
3942 #[cfg(feature = "xfixes")]
3943 Request::XfixesFetchRegion(_) => Some(parse_reply::<xfixes::FetchRegionRequest>),
3944 #[cfg(feature = "xfixes")]
3945 Request::XfixesSetGCClipRegion(_) => None,
3946 #[cfg(feature = "xfixes")]
3947 Request::XfixesSetWindowShapeRegion(_) => None,
3948 #[cfg(feature = "xfixes")]
3949 Request::XfixesSetPictureClipRegion(_) => None,
3950 #[cfg(feature = "xfixes")]
3951 Request::XfixesSetCursorName(_) => None,
3952 #[cfg(feature = "xfixes")]
3953 Request::XfixesGetCursorName(_) => Some(parse_reply::<xfixes::GetCursorNameRequest>),
3954 #[cfg(feature = "xfixes")]
3955 Request::XfixesGetCursorImageAndName(_) => Some(parse_reply::<xfixes::GetCursorImageAndNameRequest>),
3956 #[cfg(feature = "xfixes")]
3957 Request::XfixesChangeCursor(_) => None,
3958 #[cfg(feature = "xfixes")]
3959 Request::XfixesChangeCursorByName(_) => None,
3960 #[cfg(feature = "xfixes")]
3961 Request::XfixesExpandRegion(_) => None,
3962 #[cfg(feature = "xfixes")]
3963 Request::XfixesHideCursor(_) => None,
3964 #[cfg(feature = "xfixes")]
3965 Request::XfixesShowCursor(_) => None,
3966 #[cfg(feature = "xfixes")]
3967 Request::XfixesCreatePointerBarrier(_) => None,
3968 #[cfg(feature = "xfixes")]
3969 Request::XfixesDeletePointerBarrier(_) => None,
3970 #[cfg(feature = "xfixes")]
3971 Request::XfixesSetClientDisconnectMode(_) => None,
3972 #[cfg(feature = "xfixes")]
3973 Request::XfixesGetClientDisconnectMode(_) => Some(parse_reply::<xfixes::GetClientDisconnectModeRequest>),
3974 #[cfg(feature = "xinerama")]
3975 Request::XineramaQueryVersion(_) => Some(parse_reply::<xinerama::QueryVersionRequest>),
3976 #[cfg(feature = "xinerama")]
3977 Request::XineramaGetState(_) => Some(parse_reply::<xinerama::GetStateRequest>),
3978 #[cfg(feature = "xinerama")]
3979 Request::XineramaGetScreenCount(_) => Some(parse_reply::<xinerama::GetScreenCountRequest>),
3980 #[cfg(feature = "xinerama")]
3981 Request::XineramaGetScreenSize(_) => Some(parse_reply::<xinerama::GetScreenSizeRequest>),
3982 #[cfg(feature = "xinerama")]
3983 Request::XineramaIsActive(_) => Some(parse_reply::<xinerama::IsActiveRequest>),
3984 #[cfg(feature = "xinerama")]
3985 Request::XineramaQueryScreens(_) => Some(parse_reply::<xinerama::QueryScreensRequest>),
3986 #[cfg(feature = "xinput")]
3987 Request::XinputGetExtensionVersion(_) => Some(parse_reply::<xinput::GetExtensionVersionRequest<'_>>),
3988 #[cfg(feature = "xinput")]
3989 Request::XinputListInputDevices(_) => Some(parse_reply::<xinput::ListInputDevicesRequest>),
3990 #[cfg(feature = "xinput")]
3991 Request::XinputOpenDevice(_) => Some(parse_reply::<xinput::OpenDeviceRequest>),
3992 #[cfg(feature = "xinput")]
3993 Request::XinputCloseDevice(_) => None,
3994 #[cfg(feature = "xinput")]
3995 Request::XinputSetDeviceMode(_) => Some(parse_reply::<xinput::SetDeviceModeRequest>),
3996 #[cfg(feature = "xinput")]
3997 Request::XinputSelectExtensionEvent(_) => None,
3998 #[cfg(feature = "xinput")]
3999 Request::XinputGetSelectedExtensionEvents(_) => Some(parse_reply::<xinput::GetSelectedExtensionEventsRequest>),
4000 #[cfg(feature = "xinput")]
4001 Request::XinputChangeDeviceDontPropagateList(_) => None,
4002 #[cfg(feature = "xinput")]
4003 Request::XinputGetDeviceDontPropagateList(_) => Some(parse_reply::<xinput::GetDeviceDontPropagateListRequest>),
4004 #[cfg(feature = "xinput")]
4005 Request::XinputGetDeviceMotionEvents(_) => Some(parse_reply::<xinput::GetDeviceMotionEventsRequest>),
4006 #[cfg(feature = "xinput")]
4007 Request::XinputChangeKeyboardDevice(_) => Some(parse_reply::<xinput::ChangeKeyboardDeviceRequest>),
4008 #[cfg(feature = "xinput")]
4009 Request::XinputChangePointerDevice(_) => Some(parse_reply::<xinput::ChangePointerDeviceRequest>),
4010 #[cfg(feature = "xinput")]
4011 Request::XinputGrabDevice(_) => Some(parse_reply::<xinput::GrabDeviceRequest<'_>>),
4012 #[cfg(feature = "xinput")]
4013 Request::XinputUngrabDevice(_) => None,
4014 #[cfg(feature = "xinput")]
4015 Request::XinputGrabDeviceKey(_) => None,
4016 #[cfg(feature = "xinput")]
4017 Request::XinputUngrabDeviceKey(_) => None,
4018 #[cfg(feature = "xinput")]
4019 Request::XinputGrabDeviceButton(_) => None,
4020 #[cfg(feature = "xinput")]
4021 Request::XinputUngrabDeviceButton(_) => None,
4022 #[cfg(feature = "xinput")]
4023 Request::XinputAllowDeviceEvents(_) => None,
4024 #[cfg(feature = "xinput")]
4025 Request::XinputGetDeviceFocus(_) => Some(parse_reply::<xinput::GetDeviceFocusRequest>),
4026 #[cfg(feature = "xinput")]
4027 Request::XinputSetDeviceFocus(_) => None,
4028 #[cfg(feature = "xinput")]
4029 Request::XinputGetFeedbackControl(_) => Some(parse_reply::<xinput::GetFeedbackControlRequest>),
4030 #[cfg(feature = "xinput")]
4031 Request::XinputChangeFeedbackControl(_) => None,
4032 #[cfg(feature = "xinput")]
4033 Request::XinputGetDeviceKeyMapping(_) => Some(parse_reply::<xinput::GetDeviceKeyMappingRequest>),
4034 #[cfg(feature = "xinput")]
4035 Request::XinputChangeDeviceKeyMapping(_) => None,
4036 #[cfg(feature = "xinput")]
4037 Request::XinputGetDeviceModifierMapping(_) => Some(parse_reply::<xinput::GetDeviceModifierMappingRequest>),
4038 #[cfg(feature = "xinput")]
4039 Request::XinputSetDeviceModifierMapping(_) => Some(parse_reply::<xinput::SetDeviceModifierMappingRequest<'_>>),
4040 #[cfg(feature = "xinput")]
4041 Request::XinputGetDeviceButtonMapping(_) => Some(parse_reply::<xinput::GetDeviceButtonMappingRequest>),
4042 #[cfg(feature = "xinput")]
4043 Request::XinputSetDeviceButtonMapping(_) => Some(parse_reply::<xinput::SetDeviceButtonMappingRequest<'_>>),
4044 #[cfg(feature = "xinput")]
4045 Request::XinputQueryDeviceState(_) => Some(parse_reply::<xinput::QueryDeviceStateRequest>),
4046 #[cfg(feature = "xinput")]
4047 Request::XinputDeviceBell(_) => None,
4048 #[cfg(feature = "xinput")]
4049 Request::XinputSetDeviceValuators(_) => Some(parse_reply::<xinput::SetDeviceValuatorsRequest<'_>>),
4050 #[cfg(feature = "xinput")]
4051 Request::XinputGetDeviceControl(_) => Some(parse_reply::<xinput::GetDeviceControlRequest>),
4052 #[cfg(feature = "xinput")]
4053 Request::XinputChangeDeviceControl(_) => Some(parse_reply::<xinput::ChangeDeviceControlRequest>),
4054 #[cfg(feature = "xinput")]
4055 Request::XinputListDeviceProperties(_) => Some(parse_reply::<xinput::ListDevicePropertiesRequest>),
4056 #[cfg(feature = "xinput")]
4057 Request::XinputChangeDeviceProperty(_) => None,
4058 #[cfg(feature = "xinput")]
4059 Request::XinputDeleteDeviceProperty(_) => None,
4060 #[cfg(feature = "xinput")]
4061 Request::XinputGetDeviceProperty(_) => Some(parse_reply::<xinput::GetDevicePropertyRequest>),
4062 #[cfg(feature = "xinput")]
4063 Request::XinputXIQueryPointer(_) => Some(parse_reply::<xinput::XIQueryPointerRequest>),
4064 #[cfg(feature = "xinput")]
4065 Request::XinputXIWarpPointer(_) => None,
4066 #[cfg(feature = "xinput")]
4067 Request::XinputXIChangeCursor(_) => None,
4068 #[cfg(feature = "xinput")]
4069 Request::XinputXIChangeHierarchy(_) => None,
4070 #[cfg(feature = "xinput")]
4071 Request::XinputXISetClientPointer(_) => None,
4072 #[cfg(feature = "xinput")]
4073 Request::XinputXIGetClientPointer(_) => Some(parse_reply::<xinput::XIGetClientPointerRequest>),
4074 #[cfg(feature = "xinput")]
4075 Request::XinputXISelectEvents(_) => None,
4076 #[cfg(feature = "xinput")]
4077 Request::XinputXIQueryVersion(_) => Some(parse_reply::<xinput::XIQueryVersionRequest>),
4078 #[cfg(feature = "xinput")]
4079 Request::XinputXIQueryDevice(_) => Some(parse_reply::<xinput::XIQueryDeviceRequest>),
4080 #[cfg(feature = "xinput")]
4081 Request::XinputXISetFocus(_) => None,
4082 #[cfg(feature = "xinput")]
4083 Request::XinputXIGetFocus(_) => Some(parse_reply::<xinput::XIGetFocusRequest>),
4084 #[cfg(feature = "xinput")]
4085 Request::XinputXIGrabDevice(_) => Some(parse_reply::<xinput::XIGrabDeviceRequest<'_>>),
4086 #[cfg(feature = "xinput")]
4087 Request::XinputXIUngrabDevice(_) => None,
4088 #[cfg(feature = "xinput")]
4089 Request::XinputXIAllowEvents(_) => None,
4090 #[cfg(feature = "xinput")]
4091 Request::XinputXIPassiveGrabDevice(_) => Some(parse_reply::<xinput::XIPassiveGrabDeviceRequest<'_>>),
4092 #[cfg(feature = "xinput")]
4093 Request::XinputXIPassiveUngrabDevice(_) => None,
4094 #[cfg(feature = "xinput")]
4095 Request::XinputXIListProperties(_) => Some(parse_reply::<xinput::XIListPropertiesRequest>),
4096 #[cfg(feature = "xinput")]
4097 Request::XinputXIChangeProperty(_) => None,
4098 #[cfg(feature = "xinput")]
4099 Request::XinputXIDeleteProperty(_) => None,
4100 #[cfg(feature = "xinput")]
4101 Request::XinputXIGetProperty(_) => Some(parse_reply::<xinput::XIGetPropertyRequest>),
4102 #[cfg(feature = "xinput")]
4103 Request::XinputXIGetSelectedEvents(_) => Some(parse_reply::<xinput::XIGetSelectedEventsRequest>),
4104 #[cfg(feature = "xinput")]
4105 Request::XinputXIBarrierReleasePointer(_) => None,
4106 #[cfg(feature = "xinput")]
4107 Request::XinputSendExtensionEvent(_) => None,
4108 #[cfg(feature = "xkb")]
4109 Request::XkbUseExtension(_) => Some(parse_reply::<xkb::UseExtensionRequest>),
4110 #[cfg(feature = "xkb")]
4111 Request::XkbSelectEvents(_) => None,
4112 #[cfg(feature = "xkb")]
4113 Request::XkbBell(_) => None,
4114 #[cfg(feature = "xkb")]
4115 Request::XkbGetState(_) => Some(parse_reply::<xkb::GetStateRequest>),
4116 #[cfg(feature = "xkb")]
4117 Request::XkbLatchLockState(_) => None,
4118 #[cfg(feature = "xkb")]
4119 Request::XkbGetControls(_) => Some(parse_reply::<xkb::GetControlsRequest>),
4120 #[cfg(feature = "xkb")]
4121 Request::XkbSetControls(_) => None,
4122 #[cfg(feature = "xkb")]
4123 Request::XkbGetMap(_) => Some(parse_reply::<xkb::GetMapRequest>),
4124 #[cfg(feature = "xkb")]
4125 Request::XkbSetMap(_) => None,
4126 #[cfg(feature = "xkb")]
4127 Request::XkbGetCompatMap(_) => Some(parse_reply::<xkb::GetCompatMapRequest>),
4128 #[cfg(feature = "xkb")]
4129 Request::XkbSetCompatMap(_) => None,
4130 #[cfg(feature = "xkb")]
4131 Request::XkbGetIndicatorState(_) => Some(parse_reply::<xkb::GetIndicatorStateRequest>),
4132 #[cfg(feature = "xkb")]
4133 Request::XkbGetIndicatorMap(_) => Some(parse_reply::<xkb::GetIndicatorMapRequest>),
4134 #[cfg(feature = "xkb")]
4135 Request::XkbSetIndicatorMap(_) => None,
4136 #[cfg(feature = "xkb")]
4137 Request::XkbGetNamedIndicator(_) => Some(parse_reply::<xkb::GetNamedIndicatorRequest>),
4138 #[cfg(feature = "xkb")]
4139 Request::XkbSetNamedIndicator(_) => None,
4140 #[cfg(feature = "xkb")]
4141 Request::XkbGetNames(_) => Some(parse_reply::<xkb::GetNamesRequest>),
4142 #[cfg(feature = "xkb")]
4143 Request::XkbSetNames(_) => None,
4144 #[cfg(feature = "xkb")]
4145 Request::XkbPerClientFlags(_) => Some(parse_reply::<xkb::PerClientFlagsRequest>),
4146 #[cfg(feature = "xkb")]
4147 Request::XkbListComponents(_) => Some(parse_reply::<xkb::ListComponentsRequest>),
4148 #[cfg(feature = "xkb")]
4149 Request::XkbGetKbdByName(_) => Some(parse_reply::<xkb::GetKbdByNameRequest>),
4150 #[cfg(feature = "xkb")]
4151 Request::XkbGetDeviceInfo(_) => Some(parse_reply::<xkb::GetDeviceInfoRequest>),
4152 #[cfg(feature = "xkb")]
4153 Request::XkbSetDeviceInfo(_) => None,
4154 #[cfg(feature = "xkb")]
4155 Request::XkbSetDebuggingFlags(_) => Some(parse_reply::<xkb::SetDebuggingFlagsRequest<'_>>),
4156 #[cfg(feature = "xprint")]
4157 Request::XprintPrintQueryVersion(_) => Some(parse_reply::<xprint::PrintQueryVersionRequest>),
4158 #[cfg(feature = "xprint")]
4159 Request::XprintPrintGetPrinterList(_) => Some(parse_reply::<xprint::PrintGetPrinterListRequest<'_>>),
4160 #[cfg(feature = "xprint")]
4161 Request::XprintPrintRehashPrinterList(_) => None,
4162 #[cfg(feature = "xprint")]
4163 Request::XprintCreateContext(_) => None,
4164 #[cfg(feature = "xprint")]
4165 Request::XprintPrintSetContext(_) => None,
4166 #[cfg(feature = "xprint")]
4167 Request::XprintPrintGetContext(_) => Some(parse_reply::<xprint::PrintGetContextRequest>),
4168 #[cfg(feature = "xprint")]
4169 Request::XprintPrintDestroyContext(_) => None,
4170 #[cfg(feature = "xprint")]
4171 Request::XprintPrintGetScreenOfContext(_) => Some(parse_reply::<xprint::PrintGetScreenOfContextRequest>),
4172 #[cfg(feature = "xprint")]
4173 Request::XprintPrintStartJob(_) => None,
4174 #[cfg(feature = "xprint")]
4175 Request::XprintPrintEndJob(_) => None,
4176 #[cfg(feature = "xprint")]
4177 Request::XprintPrintStartDoc(_) => None,
4178 #[cfg(feature = "xprint")]
4179 Request::XprintPrintEndDoc(_) => None,
4180 #[cfg(feature = "xprint")]
4181 Request::XprintPrintPutDocumentData(_) => None,
4182 #[cfg(feature = "xprint")]
4183 Request::XprintPrintGetDocumentData(_) => Some(parse_reply::<xprint::PrintGetDocumentDataRequest>),
4184 #[cfg(feature = "xprint")]
4185 Request::XprintPrintStartPage(_) => None,
4186 #[cfg(feature = "xprint")]
4187 Request::XprintPrintEndPage(_) => None,
4188 #[cfg(feature = "xprint")]
4189 Request::XprintPrintSelectInput(_) => None,
4190 #[cfg(feature = "xprint")]
4191 Request::XprintPrintInputSelected(_) => Some(parse_reply::<xprint::PrintInputSelectedRequest>),
4192 #[cfg(feature = "xprint")]
4193 Request::XprintPrintGetAttributes(_) => Some(parse_reply::<xprint::PrintGetAttributesRequest>),
4194 #[cfg(feature = "xprint")]
4195 Request::XprintPrintGetOneAttributes(_) => Some(parse_reply::<xprint::PrintGetOneAttributesRequest<'_>>),
4196 #[cfg(feature = "xprint")]
4197 Request::XprintPrintSetAttributes(_) => None,
4198 #[cfg(feature = "xprint")]
4199 Request::XprintPrintGetPageDimensions(_) => Some(parse_reply::<xprint::PrintGetPageDimensionsRequest>),
4200 #[cfg(feature = "xprint")]
4201 Request::XprintPrintQueryScreens(_) => Some(parse_reply::<xprint::PrintQueryScreensRequest>),
4202 #[cfg(feature = "xprint")]
4203 Request::XprintPrintSetImageResolution(_) => Some(parse_reply::<xprint::PrintSetImageResolutionRequest>),
4204 #[cfg(feature = "xprint")]
4205 Request::XprintPrintGetImageResolution(_) => Some(parse_reply::<xprint::PrintGetImageResolutionRequest>),
4206 #[cfg(feature = "xselinux")]
4207 Request::XselinuxQueryVersion(_) => Some(parse_reply::<xselinux::QueryVersionRequest>),
4208 #[cfg(feature = "xselinux")]
4209 Request::XselinuxSetDeviceCreateContext(_) => None,
4210 #[cfg(feature = "xselinux")]
4211 Request::XselinuxGetDeviceCreateContext(_) => Some(parse_reply::<xselinux::GetDeviceCreateContextRequest>),
4212 #[cfg(feature = "xselinux")]
4213 Request::XselinuxSetDeviceContext(_) => None,
4214 #[cfg(feature = "xselinux")]
4215 Request::XselinuxGetDeviceContext(_) => Some(parse_reply::<xselinux::GetDeviceContextRequest>),
4216 #[cfg(feature = "xselinux")]
4217 Request::XselinuxSetWindowCreateContext(_) => None,
4218 #[cfg(feature = "xselinux")]
4219 Request::XselinuxGetWindowCreateContext(_) => Some(parse_reply::<xselinux::GetWindowCreateContextRequest>),
4220 #[cfg(feature = "xselinux")]
4221 Request::XselinuxGetWindowContext(_) => Some(parse_reply::<xselinux::GetWindowContextRequest>),
4222 #[cfg(feature = "xselinux")]
4223 Request::XselinuxSetPropertyCreateContext(_) => None,
4224 #[cfg(feature = "xselinux")]
4225 Request::XselinuxGetPropertyCreateContext(_) => Some(parse_reply::<xselinux::GetPropertyCreateContextRequest>),
4226 #[cfg(feature = "xselinux")]
4227 Request::XselinuxSetPropertyUseContext(_) => None,
4228 #[cfg(feature = "xselinux")]
4229 Request::XselinuxGetPropertyUseContext(_) => Some(parse_reply::<xselinux::GetPropertyUseContextRequest>),
4230 #[cfg(feature = "xselinux")]
4231 Request::XselinuxGetPropertyContext(_) => Some(parse_reply::<xselinux::GetPropertyContextRequest>),
4232 #[cfg(feature = "xselinux")]
4233 Request::XselinuxGetPropertyDataContext(_) => Some(parse_reply::<xselinux::GetPropertyDataContextRequest>),
4234 #[cfg(feature = "xselinux")]
4235 Request::XselinuxListProperties(_) => Some(parse_reply::<xselinux::ListPropertiesRequest>),
4236 #[cfg(feature = "xselinux")]
4237 Request::XselinuxSetSelectionCreateContext(_) => None,
4238 #[cfg(feature = "xselinux")]
4239 Request::XselinuxGetSelectionCreateContext(_) => Some(parse_reply::<xselinux::GetSelectionCreateContextRequest>),
4240 #[cfg(feature = "xselinux")]
4241 Request::XselinuxSetSelectionUseContext(_) => None,
4242 #[cfg(feature = "xselinux")]
4243 Request::XselinuxGetSelectionUseContext(_) => Some(parse_reply::<xselinux::GetSelectionUseContextRequest>),
4244 #[cfg(feature = "xselinux")]
4245 Request::XselinuxGetSelectionContext(_) => Some(parse_reply::<xselinux::GetSelectionContextRequest>),
4246 #[cfg(feature = "xselinux")]
4247 Request::XselinuxGetSelectionDataContext(_) => Some(parse_reply::<xselinux::GetSelectionDataContextRequest>),
4248 #[cfg(feature = "xselinux")]
4249 Request::XselinuxListSelections(_) => Some(parse_reply::<xselinux::ListSelectionsRequest>),
4250 #[cfg(feature = "xselinux")]
4251 Request::XselinuxGetClientContext(_) => Some(parse_reply::<xselinux::GetClientContextRequest>),
4252 #[cfg(feature = "xtest")]
4253 Request::XtestGetVersion(_) => Some(parse_reply::<xtest::GetVersionRequest>),
4254 #[cfg(feature = "xtest")]
4255 Request::XtestCompareCursor(_) => Some(parse_reply::<xtest::CompareCursorRequest>),
4256 #[cfg(feature = "xtest")]
4257 Request::XtestFakeInput(_) => None,
4258 #[cfg(feature = "xtest")]
4259 Request::XtestGrabControl(_) => None,
4260 #[cfg(feature = "xv")]
4261 Request::XvQueryExtension(_) => Some(parse_reply::<xv::QueryExtensionRequest>),
4262 #[cfg(feature = "xv")]
4263 Request::XvQueryAdaptors(_) => Some(parse_reply::<xv::QueryAdaptorsRequest>),
4264 #[cfg(feature = "xv")]
4265 Request::XvQueryEncodings(_) => Some(parse_reply::<xv::QueryEncodingsRequest>),
4266 #[cfg(feature = "xv")]
4267 Request::XvGrabPort(_) => Some(parse_reply::<xv::GrabPortRequest>),
4268 #[cfg(feature = "xv")]
4269 Request::XvUngrabPort(_) => None,
4270 #[cfg(feature = "xv")]
4271 Request::XvPutVideo(_) => None,
4272 #[cfg(feature = "xv")]
4273 Request::XvPutStill(_) => None,
4274 #[cfg(feature = "xv")]
4275 Request::XvGetVideo(_) => None,
4276 #[cfg(feature = "xv")]
4277 Request::XvGetStill(_) => None,
4278 #[cfg(feature = "xv")]
4279 Request::XvStopVideo(_) => None,
4280 #[cfg(feature = "xv")]
4281 Request::XvSelectVideoNotify(_) => None,
4282 #[cfg(feature = "xv")]
4283 Request::XvSelectPortNotify(_) => None,
4284 #[cfg(feature = "xv")]
4285 Request::XvQueryBestSize(_) => Some(parse_reply::<xv::QueryBestSizeRequest>),
4286 #[cfg(feature = "xv")]
4287 Request::XvSetPortAttribute(_) => None,
4288 #[cfg(feature = "xv")]
4289 Request::XvGetPortAttribute(_) => Some(parse_reply::<xv::GetPortAttributeRequest>),
4290 #[cfg(feature = "xv")]
4291 Request::XvQueryPortAttributes(_) => Some(parse_reply::<xv::QueryPortAttributesRequest>),
4292 #[cfg(feature = "xv")]
4293 Request::XvListImageFormats(_) => Some(parse_reply::<xv::ListImageFormatsRequest>),
4294 #[cfg(feature = "xv")]
4295 Request::XvQueryImageAttributes(_) => Some(parse_reply::<xv::QueryImageAttributesRequest>),
4296 #[cfg(feature = "xv")]
4297 Request::XvPutImage(_) => None,
4298 #[cfg(feature = "xv")]
4299 Request::XvShmPutImage(_) => None,
4300 #[cfg(feature = "xvmc")]
4301 Request::XvmcQueryVersion(_) => Some(parse_reply::<xvmc::QueryVersionRequest>),
4302 #[cfg(feature = "xvmc")]
4303 Request::XvmcListSurfaceTypes(_) => Some(parse_reply::<xvmc::ListSurfaceTypesRequest>),
4304 #[cfg(feature = "xvmc")]
4305 Request::XvmcCreateContext(_) => Some(parse_reply::<xvmc::CreateContextRequest>),
4306 #[cfg(feature = "xvmc")]
4307 Request::XvmcDestroyContext(_) => None,
4308 #[cfg(feature = "xvmc")]
4309 Request::XvmcCreateSurface(_) => Some(parse_reply::<xvmc::CreateSurfaceRequest>),
4310 #[cfg(feature = "xvmc")]
4311 Request::XvmcDestroySurface(_) => None,
4312 #[cfg(feature = "xvmc")]
4313 Request::XvmcCreateSubpicture(_) => Some(parse_reply::<xvmc::CreateSubpictureRequest>),
4314 #[cfg(feature = "xvmc")]
4315 Request::XvmcDestroySubpicture(_) => None,
4316 #[cfg(feature = "xvmc")]
4317 Request::XvmcListSubpictureTypes(_) => Some(parse_reply::<xvmc::ListSubpictureTypesRequest>),
4318 }
4319 }
4320 pub fn into_owned(self) -> Request<'static> {
4322 match self {
4323 Request::Unknown(header, body) => Request::Unknown(header, Cow::Owned(body.into_owned())),
4324 Request::CreateWindow(req) => Request::CreateWindow(req.into_owned()),
4325 Request::ChangeWindowAttributes(req) => Request::ChangeWindowAttributes(req.into_owned()),
4326 Request::GetWindowAttributes(req) => Request::GetWindowAttributes(req),
4327 Request::DestroyWindow(req) => Request::DestroyWindow(req),
4328 Request::DestroySubwindows(req) => Request::DestroySubwindows(req),
4329 Request::ChangeSaveSet(req) => Request::ChangeSaveSet(req),
4330 Request::ReparentWindow(req) => Request::ReparentWindow(req),
4331 Request::MapWindow(req) => Request::MapWindow(req),
4332 Request::MapSubwindows(req) => Request::MapSubwindows(req),
4333 Request::UnmapWindow(req) => Request::UnmapWindow(req),
4334 Request::UnmapSubwindows(req) => Request::UnmapSubwindows(req),
4335 Request::ConfigureWindow(req) => Request::ConfigureWindow(req.into_owned()),
4336 Request::CirculateWindow(req) => Request::CirculateWindow(req),
4337 Request::GetGeometry(req) => Request::GetGeometry(req),
4338 Request::QueryTree(req) => Request::QueryTree(req),
4339 Request::InternAtom(req) => Request::InternAtom(req.into_owned()),
4340 Request::GetAtomName(req) => Request::GetAtomName(req),
4341 Request::ChangeProperty(req) => Request::ChangeProperty(req.into_owned()),
4342 Request::DeleteProperty(req) => Request::DeleteProperty(req),
4343 Request::GetProperty(req) => Request::GetProperty(req),
4344 Request::ListProperties(req) => Request::ListProperties(req),
4345 Request::SetSelectionOwner(req) => Request::SetSelectionOwner(req),
4346 Request::GetSelectionOwner(req) => Request::GetSelectionOwner(req),
4347 Request::ConvertSelection(req) => Request::ConvertSelection(req),
4348 Request::SendEvent(req) => Request::SendEvent(req.into_owned()),
4349 Request::GrabPointer(req) => Request::GrabPointer(req),
4350 Request::UngrabPointer(req) => Request::UngrabPointer(req),
4351 Request::GrabButton(req) => Request::GrabButton(req),
4352 Request::UngrabButton(req) => Request::UngrabButton(req),
4353 Request::ChangeActivePointerGrab(req) => Request::ChangeActivePointerGrab(req),
4354 Request::GrabKeyboard(req) => Request::GrabKeyboard(req),
4355 Request::UngrabKeyboard(req) => Request::UngrabKeyboard(req),
4356 Request::GrabKey(req) => Request::GrabKey(req),
4357 Request::UngrabKey(req) => Request::UngrabKey(req),
4358 Request::AllowEvents(req) => Request::AllowEvents(req),
4359 Request::GrabServer(req) => Request::GrabServer(req),
4360 Request::UngrabServer(req) => Request::UngrabServer(req),
4361 Request::QueryPointer(req) => Request::QueryPointer(req),
4362 Request::GetMotionEvents(req) => Request::GetMotionEvents(req),
4363 Request::TranslateCoordinates(req) => Request::TranslateCoordinates(req),
4364 Request::WarpPointer(req) => Request::WarpPointer(req),
4365 Request::SetInputFocus(req) => Request::SetInputFocus(req),
4366 Request::GetInputFocus(req) => Request::GetInputFocus(req),
4367 Request::QueryKeymap(req) => Request::QueryKeymap(req),
4368 Request::OpenFont(req) => Request::OpenFont(req.into_owned()),
4369 Request::CloseFont(req) => Request::CloseFont(req),
4370 Request::QueryFont(req) => Request::QueryFont(req),
4371 Request::QueryTextExtents(req) => Request::QueryTextExtents(req.into_owned()),
4372 Request::ListFonts(req) => Request::ListFonts(req.into_owned()),
4373 Request::ListFontsWithInfo(req) => Request::ListFontsWithInfo(req.into_owned()),
4374 Request::SetFontPath(req) => Request::SetFontPath(req.into_owned()),
4375 Request::GetFontPath(req) => Request::GetFontPath(req),
4376 Request::CreatePixmap(req) => Request::CreatePixmap(req),
4377 Request::FreePixmap(req) => Request::FreePixmap(req),
4378 Request::CreateGC(req) => Request::CreateGC(req.into_owned()),
4379 Request::ChangeGC(req) => Request::ChangeGC(req.into_owned()),
4380 Request::CopyGC(req) => Request::CopyGC(req),
4381 Request::SetDashes(req) => Request::SetDashes(req.into_owned()),
4382 Request::SetClipRectangles(req) => Request::SetClipRectangles(req.into_owned()),
4383 Request::FreeGC(req) => Request::FreeGC(req),
4384 Request::ClearArea(req) => Request::ClearArea(req),
4385 Request::CopyArea(req) => Request::CopyArea(req),
4386 Request::CopyPlane(req) => Request::CopyPlane(req),
4387 Request::PolyPoint(req) => Request::PolyPoint(req.into_owned()),
4388 Request::PolyLine(req) => Request::PolyLine(req.into_owned()),
4389 Request::PolySegment(req) => Request::PolySegment(req.into_owned()),
4390 Request::PolyRectangle(req) => Request::PolyRectangle(req.into_owned()),
4391 Request::PolyArc(req) => Request::PolyArc(req.into_owned()),
4392 Request::FillPoly(req) => Request::FillPoly(req.into_owned()),
4393 Request::PolyFillRectangle(req) => Request::PolyFillRectangle(req.into_owned()),
4394 Request::PolyFillArc(req) => Request::PolyFillArc(req.into_owned()),
4395 Request::PutImage(req) => Request::PutImage(req.into_owned()),
4396 Request::GetImage(req) => Request::GetImage(req),
4397 Request::PolyText8(req) => Request::PolyText8(req.into_owned()),
4398 Request::PolyText16(req) => Request::PolyText16(req.into_owned()),
4399 Request::ImageText8(req) => Request::ImageText8(req.into_owned()),
4400 Request::ImageText16(req) => Request::ImageText16(req.into_owned()),
4401 Request::CreateColormap(req) => Request::CreateColormap(req),
4402 Request::FreeColormap(req) => Request::FreeColormap(req),
4403 Request::CopyColormapAndFree(req) => Request::CopyColormapAndFree(req),
4404 Request::InstallColormap(req) => Request::InstallColormap(req),
4405 Request::UninstallColormap(req) => Request::UninstallColormap(req),
4406 Request::ListInstalledColormaps(req) => Request::ListInstalledColormaps(req),
4407 Request::AllocColor(req) => Request::AllocColor(req),
4408 Request::AllocNamedColor(req) => Request::AllocNamedColor(req.into_owned()),
4409 Request::AllocColorCells(req) => Request::AllocColorCells(req),
4410 Request::AllocColorPlanes(req) => Request::AllocColorPlanes(req),
4411 Request::FreeColors(req) => Request::FreeColors(req.into_owned()),
4412 Request::StoreColors(req) => Request::StoreColors(req.into_owned()),
4413 Request::StoreNamedColor(req) => Request::StoreNamedColor(req.into_owned()),
4414 Request::QueryColors(req) => Request::QueryColors(req.into_owned()),
4415 Request::LookupColor(req) => Request::LookupColor(req.into_owned()),
4416 Request::CreateCursor(req) => Request::CreateCursor(req),
4417 Request::CreateGlyphCursor(req) => Request::CreateGlyphCursor(req),
4418 Request::FreeCursor(req) => Request::FreeCursor(req),
4419 Request::RecolorCursor(req) => Request::RecolorCursor(req),
4420 Request::QueryBestSize(req) => Request::QueryBestSize(req),
4421 Request::QueryExtension(req) => Request::QueryExtension(req.into_owned()),
4422 Request::ListExtensions(req) => Request::ListExtensions(req),
4423 Request::ChangeKeyboardMapping(req) => Request::ChangeKeyboardMapping(req.into_owned()),
4424 Request::GetKeyboardMapping(req) => Request::GetKeyboardMapping(req),
4425 Request::ChangeKeyboardControl(req) => Request::ChangeKeyboardControl(req.into_owned()),
4426 Request::GetKeyboardControl(req) => Request::GetKeyboardControl(req),
4427 Request::Bell(req) => Request::Bell(req),
4428 Request::ChangePointerControl(req) => Request::ChangePointerControl(req),
4429 Request::GetPointerControl(req) => Request::GetPointerControl(req),
4430 Request::SetScreenSaver(req) => Request::SetScreenSaver(req),
4431 Request::GetScreenSaver(req) => Request::GetScreenSaver(req),
4432 Request::ChangeHosts(req) => Request::ChangeHosts(req.into_owned()),
4433 Request::ListHosts(req) => Request::ListHosts(req),
4434 Request::SetAccessControl(req) => Request::SetAccessControl(req),
4435 Request::SetCloseDownMode(req) => Request::SetCloseDownMode(req),
4436 Request::KillClient(req) => Request::KillClient(req),
4437 Request::RotateProperties(req) => Request::RotateProperties(req.into_owned()),
4438 Request::ForceScreenSaver(req) => Request::ForceScreenSaver(req),
4439 Request::SetPointerMapping(req) => Request::SetPointerMapping(req.into_owned()),
4440 Request::GetPointerMapping(req) => Request::GetPointerMapping(req),
4441 Request::SetModifierMapping(req) => Request::SetModifierMapping(req.into_owned()),
4442 Request::GetModifierMapping(req) => Request::GetModifierMapping(req),
4443 Request::NoOperation(req) => Request::NoOperation(req),
4444 Request::BigreqEnable(req) => Request::BigreqEnable(req),
4445 #[cfg(feature = "composite")]
4446 Request::CompositeQueryVersion(req) => Request::CompositeQueryVersion(req),
4447 #[cfg(feature = "composite")]
4448 Request::CompositeRedirectWindow(req) => Request::CompositeRedirectWindow(req),
4449 #[cfg(feature = "composite")]
4450 Request::CompositeRedirectSubwindows(req) => Request::CompositeRedirectSubwindows(req),
4451 #[cfg(feature = "composite")]
4452 Request::CompositeUnredirectWindow(req) => Request::CompositeUnredirectWindow(req),
4453 #[cfg(feature = "composite")]
4454 Request::CompositeUnredirectSubwindows(req) => Request::CompositeUnredirectSubwindows(req),
4455 #[cfg(feature = "composite")]
4456 Request::CompositeCreateRegionFromBorderClip(req) => Request::CompositeCreateRegionFromBorderClip(req),
4457 #[cfg(feature = "composite")]
4458 Request::CompositeNameWindowPixmap(req) => Request::CompositeNameWindowPixmap(req),
4459 #[cfg(feature = "composite")]
4460 Request::CompositeGetOverlayWindow(req) => Request::CompositeGetOverlayWindow(req),
4461 #[cfg(feature = "composite")]
4462 Request::CompositeReleaseOverlayWindow(req) => Request::CompositeReleaseOverlayWindow(req),
4463 #[cfg(feature = "damage")]
4464 Request::DamageQueryVersion(req) => Request::DamageQueryVersion(req),
4465 #[cfg(feature = "damage")]
4466 Request::DamageCreate(req) => Request::DamageCreate(req),
4467 #[cfg(feature = "damage")]
4468 Request::DamageDestroy(req) => Request::DamageDestroy(req),
4469 #[cfg(feature = "damage")]
4470 Request::DamageSubtract(req) => Request::DamageSubtract(req),
4471 #[cfg(feature = "damage")]
4472 Request::DamageAdd(req) => Request::DamageAdd(req),
4473 #[cfg(feature = "dbe")]
4474 Request::DbeQueryVersion(req) => Request::DbeQueryVersion(req),
4475 #[cfg(feature = "dbe")]
4476 Request::DbeAllocateBackBuffer(req) => Request::DbeAllocateBackBuffer(req),
4477 #[cfg(feature = "dbe")]
4478 Request::DbeDeallocateBackBuffer(req) => Request::DbeDeallocateBackBuffer(req),
4479 #[cfg(feature = "dbe")]
4480 Request::DbeSwapBuffers(req) => Request::DbeSwapBuffers(req.into_owned()),
4481 #[cfg(feature = "dbe")]
4482 Request::DbeBeginIdiom(req) => Request::DbeBeginIdiom(req),
4483 #[cfg(feature = "dbe")]
4484 Request::DbeEndIdiom(req) => Request::DbeEndIdiom(req),
4485 #[cfg(feature = "dbe")]
4486 Request::DbeGetVisualInfo(req) => Request::DbeGetVisualInfo(req.into_owned()),
4487 #[cfg(feature = "dbe")]
4488 Request::DbeGetBackBufferAttributes(req) => Request::DbeGetBackBufferAttributes(req),
4489 #[cfg(feature = "dpms")]
4490 Request::DpmsGetVersion(req) => Request::DpmsGetVersion(req),
4491 #[cfg(feature = "dpms")]
4492 Request::DpmsCapable(req) => Request::DpmsCapable(req),
4493 #[cfg(feature = "dpms")]
4494 Request::DpmsGetTimeouts(req) => Request::DpmsGetTimeouts(req),
4495 #[cfg(feature = "dpms")]
4496 Request::DpmsSetTimeouts(req) => Request::DpmsSetTimeouts(req),
4497 #[cfg(feature = "dpms")]
4498 Request::DpmsEnable(req) => Request::DpmsEnable(req),
4499 #[cfg(feature = "dpms")]
4500 Request::DpmsDisable(req) => Request::DpmsDisable(req),
4501 #[cfg(feature = "dpms")]
4502 Request::DpmsForceLevel(req) => Request::DpmsForceLevel(req),
4503 #[cfg(feature = "dpms")]
4504 Request::DpmsInfo(req) => Request::DpmsInfo(req),
4505 #[cfg(feature = "dpms")]
4506 Request::DpmsSelectInput(req) => Request::DpmsSelectInput(req),
4507 #[cfg(feature = "dri2")]
4508 Request::Dri2QueryVersion(req) => Request::Dri2QueryVersion(req),
4509 #[cfg(feature = "dri2")]
4510 Request::Dri2Connect(req) => Request::Dri2Connect(req),
4511 #[cfg(feature = "dri2")]
4512 Request::Dri2Authenticate(req) => Request::Dri2Authenticate(req),
4513 #[cfg(feature = "dri2")]
4514 Request::Dri2CreateDrawable(req) => Request::Dri2CreateDrawable(req),
4515 #[cfg(feature = "dri2")]
4516 Request::Dri2DestroyDrawable(req) => Request::Dri2DestroyDrawable(req),
4517 #[cfg(feature = "dri2")]
4518 Request::Dri2GetBuffers(req) => Request::Dri2GetBuffers(req.into_owned()),
4519 #[cfg(feature = "dri2")]
4520 Request::Dri2CopyRegion(req) => Request::Dri2CopyRegion(req),
4521 #[cfg(feature = "dri2")]
4522 Request::Dri2GetBuffersWithFormat(req) => Request::Dri2GetBuffersWithFormat(req.into_owned()),
4523 #[cfg(feature = "dri2")]
4524 Request::Dri2SwapBuffers(req) => Request::Dri2SwapBuffers(req),
4525 #[cfg(feature = "dri2")]
4526 Request::Dri2GetMSC(req) => Request::Dri2GetMSC(req),
4527 #[cfg(feature = "dri2")]
4528 Request::Dri2WaitMSC(req) => Request::Dri2WaitMSC(req),
4529 #[cfg(feature = "dri2")]
4530 Request::Dri2WaitSBC(req) => Request::Dri2WaitSBC(req),
4531 #[cfg(feature = "dri2")]
4532 Request::Dri2SwapInterval(req) => Request::Dri2SwapInterval(req),
4533 #[cfg(feature = "dri2")]
4534 Request::Dri2GetParam(req) => Request::Dri2GetParam(req),
4535 #[cfg(feature = "dri3")]
4536 Request::Dri3QueryVersion(req) => Request::Dri3QueryVersion(req),
4537 #[cfg(feature = "dri3")]
4538 Request::Dri3Open(req) => Request::Dri3Open(req),
4539 #[cfg(feature = "dri3")]
4540 Request::Dri3PixmapFromBuffer(req) => Request::Dri3PixmapFromBuffer(req),
4541 #[cfg(feature = "dri3")]
4542 Request::Dri3BufferFromPixmap(req) => Request::Dri3BufferFromPixmap(req),
4543 #[cfg(feature = "dri3")]
4544 Request::Dri3FenceFromFD(req) => Request::Dri3FenceFromFD(req),
4545 #[cfg(feature = "dri3")]
4546 Request::Dri3FDFromFence(req) => Request::Dri3FDFromFence(req),
4547 #[cfg(feature = "dri3")]
4548 Request::Dri3GetSupportedModifiers(req) => Request::Dri3GetSupportedModifiers(req),
4549 #[cfg(feature = "dri3")]
4550 Request::Dri3PixmapFromBuffers(req) => Request::Dri3PixmapFromBuffers(req),
4551 #[cfg(feature = "dri3")]
4552 Request::Dri3BuffersFromPixmap(req) => Request::Dri3BuffersFromPixmap(req),
4553 #[cfg(feature = "dri3")]
4554 Request::Dri3SetDRMDeviceInUse(req) => Request::Dri3SetDRMDeviceInUse(req),
4555 #[cfg(feature = "dri3")]
4556 Request::Dri3ImportSyncobj(req) => Request::Dri3ImportSyncobj(req),
4557 #[cfg(feature = "dri3")]
4558 Request::Dri3FreeSyncobj(req) => Request::Dri3FreeSyncobj(req),
4559 Request::GeQueryVersion(req) => Request::GeQueryVersion(req),
4560 #[cfg(feature = "glx")]
4561 Request::GlxRender(req) => Request::GlxRender(req.into_owned()),
4562 #[cfg(feature = "glx")]
4563 Request::GlxRenderLarge(req) => Request::GlxRenderLarge(req.into_owned()),
4564 #[cfg(feature = "glx")]
4565 Request::GlxCreateContext(req) => Request::GlxCreateContext(req),
4566 #[cfg(feature = "glx")]
4567 Request::GlxDestroyContext(req) => Request::GlxDestroyContext(req),
4568 #[cfg(feature = "glx")]
4569 Request::GlxMakeCurrent(req) => Request::GlxMakeCurrent(req),
4570 #[cfg(feature = "glx")]
4571 Request::GlxIsDirect(req) => Request::GlxIsDirect(req),
4572 #[cfg(feature = "glx")]
4573 Request::GlxQueryVersion(req) => Request::GlxQueryVersion(req),
4574 #[cfg(feature = "glx")]
4575 Request::GlxWaitGL(req) => Request::GlxWaitGL(req),
4576 #[cfg(feature = "glx")]
4577 Request::GlxWaitX(req) => Request::GlxWaitX(req),
4578 #[cfg(feature = "glx")]
4579 Request::GlxCopyContext(req) => Request::GlxCopyContext(req),
4580 #[cfg(feature = "glx")]
4581 Request::GlxSwapBuffers(req) => Request::GlxSwapBuffers(req),
4582 #[cfg(feature = "glx")]
4583 Request::GlxUseXFont(req) => Request::GlxUseXFont(req),
4584 #[cfg(feature = "glx")]
4585 Request::GlxCreateGLXPixmap(req) => Request::GlxCreateGLXPixmap(req),
4586 #[cfg(feature = "glx")]
4587 Request::GlxGetVisualConfigs(req) => Request::GlxGetVisualConfigs(req),
4588 #[cfg(feature = "glx")]
4589 Request::GlxDestroyGLXPixmap(req) => Request::GlxDestroyGLXPixmap(req),
4590 #[cfg(feature = "glx")]
4591 Request::GlxVendorPrivate(req) => Request::GlxVendorPrivate(req.into_owned()),
4592 #[cfg(feature = "glx")]
4593 Request::GlxVendorPrivateWithReply(req) => Request::GlxVendorPrivateWithReply(req.into_owned()),
4594 #[cfg(feature = "glx")]
4595 Request::GlxQueryExtensionsString(req) => Request::GlxQueryExtensionsString(req),
4596 #[cfg(feature = "glx")]
4597 Request::GlxQueryServerString(req) => Request::GlxQueryServerString(req),
4598 #[cfg(feature = "glx")]
4599 Request::GlxClientInfo(req) => Request::GlxClientInfo(req.into_owned()),
4600 #[cfg(feature = "glx")]
4601 Request::GlxGetFBConfigs(req) => Request::GlxGetFBConfigs(req),
4602 #[cfg(feature = "glx")]
4603 Request::GlxCreatePixmap(req) => Request::GlxCreatePixmap(req.into_owned()),
4604 #[cfg(feature = "glx")]
4605 Request::GlxDestroyPixmap(req) => Request::GlxDestroyPixmap(req),
4606 #[cfg(feature = "glx")]
4607 Request::GlxCreateNewContext(req) => Request::GlxCreateNewContext(req),
4608 #[cfg(feature = "glx")]
4609 Request::GlxQueryContext(req) => Request::GlxQueryContext(req),
4610 #[cfg(feature = "glx")]
4611 Request::GlxMakeContextCurrent(req) => Request::GlxMakeContextCurrent(req),
4612 #[cfg(feature = "glx")]
4613 Request::GlxCreatePbuffer(req) => Request::GlxCreatePbuffer(req.into_owned()),
4614 #[cfg(feature = "glx")]
4615 Request::GlxDestroyPbuffer(req) => Request::GlxDestroyPbuffer(req),
4616 #[cfg(feature = "glx")]
4617 Request::GlxGetDrawableAttributes(req) => Request::GlxGetDrawableAttributes(req),
4618 #[cfg(feature = "glx")]
4619 Request::GlxChangeDrawableAttributes(req) => Request::GlxChangeDrawableAttributes(req.into_owned()),
4620 #[cfg(feature = "glx")]
4621 Request::GlxCreateWindow(req) => Request::GlxCreateWindow(req.into_owned()),
4622 #[cfg(feature = "glx")]
4623 Request::GlxDeleteWindow(req) => Request::GlxDeleteWindow(req),
4624 #[cfg(feature = "glx")]
4625 Request::GlxSetClientInfoARB(req) => Request::GlxSetClientInfoARB(req.into_owned()),
4626 #[cfg(feature = "glx")]
4627 Request::GlxCreateContextAttribsARB(req) => Request::GlxCreateContextAttribsARB(req.into_owned()),
4628 #[cfg(feature = "glx")]
4629 Request::GlxSetClientInfo2ARB(req) => Request::GlxSetClientInfo2ARB(req.into_owned()),
4630 #[cfg(feature = "glx")]
4631 Request::GlxNewList(req) => Request::GlxNewList(req),
4632 #[cfg(feature = "glx")]
4633 Request::GlxEndList(req) => Request::GlxEndList(req),
4634 #[cfg(feature = "glx")]
4635 Request::GlxDeleteLists(req) => Request::GlxDeleteLists(req),
4636 #[cfg(feature = "glx")]
4637 Request::GlxGenLists(req) => Request::GlxGenLists(req),
4638 #[cfg(feature = "glx")]
4639 Request::GlxFeedbackBuffer(req) => Request::GlxFeedbackBuffer(req),
4640 #[cfg(feature = "glx")]
4641 Request::GlxSelectBuffer(req) => Request::GlxSelectBuffer(req),
4642 #[cfg(feature = "glx")]
4643 Request::GlxRenderMode(req) => Request::GlxRenderMode(req),
4644 #[cfg(feature = "glx")]
4645 Request::GlxFinish(req) => Request::GlxFinish(req),
4646 #[cfg(feature = "glx")]
4647 Request::GlxPixelStoref(req) => Request::GlxPixelStoref(req),
4648 #[cfg(feature = "glx")]
4649 Request::GlxPixelStorei(req) => Request::GlxPixelStorei(req),
4650 #[cfg(feature = "glx")]
4651 Request::GlxReadPixels(req) => Request::GlxReadPixels(req),
4652 #[cfg(feature = "glx")]
4653 Request::GlxGetBooleanv(req) => Request::GlxGetBooleanv(req),
4654 #[cfg(feature = "glx")]
4655 Request::GlxGetClipPlane(req) => Request::GlxGetClipPlane(req),
4656 #[cfg(feature = "glx")]
4657 Request::GlxGetDoublev(req) => Request::GlxGetDoublev(req),
4658 #[cfg(feature = "glx")]
4659 Request::GlxGetError(req) => Request::GlxGetError(req),
4660 #[cfg(feature = "glx")]
4661 Request::GlxGetFloatv(req) => Request::GlxGetFloatv(req),
4662 #[cfg(feature = "glx")]
4663 Request::GlxGetIntegerv(req) => Request::GlxGetIntegerv(req),
4664 #[cfg(feature = "glx")]
4665 Request::GlxGetLightfv(req) => Request::GlxGetLightfv(req),
4666 #[cfg(feature = "glx")]
4667 Request::GlxGetLightiv(req) => Request::GlxGetLightiv(req),
4668 #[cfg(feature = "glx")]
4669 Request::GlxGetMapdv(req) => Request::GlxGetMapdv(req),
4670 #[cfg(feature = "glx")]
4671 Request::GlxGetMapfv(req) => Request::GlxGetMapfv(req),
4672 #[cfg(feature = "glx")]
4673 Request::GlxGetMapiv(req) => Request::GlxGetMapiv(req),
4674 #[cfg(feature = "glx")]
4675 Request::GlxGetMaterialfv(req) => Request::GlxGetMaterialfv(req),
4676 #[cfg(feature = "glx")]
4677 Request::GlxGetMaterialiv(req) => Request::GlxGetMaterialiv(req),
4678 #[cfg(feature = "glx")]
4679 Request::GlxGetPixelMapfv(req) => Request::GlxGetPixelMapfv(req),
4680 #[cfg(feature = "glx")]
4681 Request::GlxGetPixelMapuiv(req) => Request::GlxGetPixelMapuiv(req),
4682 #[cfg(feature = "glx")]
4683 Request::GlxGetPixelMapusv(req) => Request::GlxGetPixelMapusv(req),
4684 #[cfg(feature = "glx")]
4685 Request::GlxGetPolygonStipple(req) => Request::GlxGetPolygonStipple(req),
4686 #[cfg(feature = "glx")]
4687 Request::GlxGetString(req) => Request::GlxGetString(req),
4688 #[cfg(feature = "glx")]
4689 Request::GlxGetTexEnvfv(req) => Request::GlxGetTexEnvfv(req),
4690 #[cfg(feature = "glx")]
4691 Request::GlxGetTexEnviv(req) => Request::GlxGetTexEnviv(req),
4692 #[cfg(feature = "glx")]
4693 Request::GlxGetTexGendv(req) => Request::GlxGetTexGendv(req),
4694 #[cfg(feature = "glx")]
4695 Request::GlxGetTexGenfv(req) => Request::GlxGetTexGenfv(req),
4696 #[cfg(feature = "glx")]
4697 Request::GlxGetTexGeniv(req) => Request::GlxGetTexGeniv(req),
4698 #[cfg(feature = "glx")]
4699 Request::GlxGetTexImage(req) => Request::GlxGetTexImage(req),
4700 #[cfg(feature = "glx")]
4701 Request::GlxGetTexParameterfv(req) => Request::GlxGetTexParameterfv(req),
4702 #[cfg(feature = "glx")]
4703 Request::GlxGetTexParameteriv(req) => Request::GlxGetTexParameteriv(req),
4704 #[cfg(feature = "glx")]
4705 Request::GlxGetTexLevelParameterfv(req) => Request::GlxGetTexLevelParameterfv(req),
4706 #[cfg(feature = "glx")]
4707 Request::GlxGetTexLevelParameteriv(req) => Request::GlxGetTexLevelParameteriv(req),
4708 #[cfg(feature = "glx")]
4709 Request::GlxIsEnabled(req) => Request::GlxIsEnabled(req),
4710 #[cfg(feature = "glx")]
4711 Request::GlxIsList(req) => Request::GlxIsList(req),
4712 #[cfg(feature = "glx")]
4713 Request::GlxFlush(req) => Request::GlxFlush(req),
4714 #[cfg(feature = "glx")]
4715 Request::GlxAreTexturesResident(req) => Request::GlxAreTexturesResident(req.into_owned()),
4716 #[cfg(feature = "glx")]
4717 Request::GlxDeleteTextures(req) => Request::GlxDeleteTextures(req.into_owned()),
4718 #[cfg(feature = "glx")]
4719 Request::GlxGenTextures(req) => Request::GlxGenTextures(req),
4720 #[cfg(feature = "glx")]
4721 Request::GlxIsTexture(req) => Request::GlxIsTexture(req),
4722 #[cfg(feature = "glx")]
4723 Request::GlxGetColorTable(req) => Request::GlxGetColorTable(req),
4724 #[cfg(feature = "glx")]
4725 Request::GlxGetColorTableParameterfv(req) => Request::GlxGetColorTableParameterfv(req),
4726 #[cfg(feature = "glx")]
4727 Request::GlxGetColorTableParameteriv(req) => Request::GlxGetColorTableParameteriv(req),
4728 #[cfg(feature = "glx")]
4729 Request::GlxGetConvolutionFilter(req) => Request::GlxGetConvolutionFilter(req),
4730 #[cfg(feature = "glx")]
4731 Request::GlxGetConvolutionParameterfv(req) => Request::GlxGetConvolutionParameterfv(req),
4732 #[cfg(feature = "glx")]
4733 Request::GlxGetConvolutionParameteriv(req) => Request::GlxGetConvolutionParameteriv(req),
4734 #[cfg(feature = "glx")]
4735 Request::GlxGetSeparableFilter(req) => Request::GlxGetSeparableFilter(req),
4736 #[cfg(feature = "glx")]
4737 Request::GlxGetHistogram(req) => Request::GlxGetHistogram(req),
4738 #[cfg(feature = "glx")]
4739 Request::GlxGetHistogramParameterfv(req) => Request::GlxGetHistogramParameterfv(req),
4740 #[cfg(feature = "glx")]
4741 Request::GlxGetHistogramParameteriv(req) => Request::GlxGetHistogramParameteriv(req),
4742 #[cfg(feature = "glx")]
4743 Request::GlxGetMinmax(req) => Request::GlxGetMinmax(req),
4744 #[cfg(feature = "glx")]
4745 Request::GlxGetMinmaxParameterfv(req) => Request::GlxGetMinmaxParameterfv(req),
4746 #[cfg(feature = "glx")]
4747 Request::GlxGetMinmaxParameteriv(req) => Request::GlxGetMinmaxParameteriv(req),
4748 #[cfg(feature = "glx")]
4749 Request::GlxGetCompressedTexImageARB(req) => Request::GlxGetCompressedTexImageARB(req),
4750 #[cfg(feature = "glx")]
4751 Request::GlxDeleteQueriesARB(req) => Request::GlxDeleteQueriesARB(req.into_owned()),
4752 #[cfg(feature = "glx")]
4753 Request::GlxGenQueriesARB(req) => Request::GlxGenQueriesARB(req),
4754 #[cfg(feature = "glx")]
4755 Request::GlxIsQueryARB(req) => Request::GlxIsQueryARB(req),
4756 #[cfg(feature = "glx")]
4757 Request::GlxGetQueryivARB(req) => Request::GlxGetQueryivARB(req),
4758 #[cfg(feature = "glx")]
4759 Request::GlxGetQueryObjectivARB(req) => Request::GlxGetQueryObjectivARB(req),
4760 #[cfg(feature = "glx")]
4761 Request::GlxGetQueryObjectuivARB(req) => Request::GlxGetQueryObjectuivARB(req),
4762 #[cfg(feature = "present")]
4763 Request::PresentQueryVersion(req) => Request::PresentQueryVersion(req),
4764 #[cfg(feature = "present")]
4765 Request::PresentPixmap(req) => Request::PresentPixmap(req.into_owned()),
4766 #[cfg(feature = "present")]
4767 Request::PresentNotifyMSC(req) => Request::PresentNotifyMSC(req),
4768 #[cfg(feature = "present")]
4769 Request::PresentSelectInput(req) => Request::PresentSelectInput(req),
4770 #[cfg(feature = "present")]
4771 Request::PresentQueryCapabilities(req) => Request::PresentQueryCapabilities(req),
4772 #[cfg(feature = "present")]
4773 Request::PresentPixmapSynced(req) => Request::PresentPixmapSynced(req.into_owned()),
4774 #[cfg(feature = "randr")]
4775 Request::RandrQueryVersion(req) => Request::RandrQueryVersion(req),
4776 #[cfg(feature = "randr")]
4777 Request::RandrSetScreenConfig(req) => Request::RandrSetScreenConfig(req),
4778 #[cfg(feature = "randr")]
4779 Request::RandrSelectInput(req) => Request::RandrSelectInput(req),
4780 #[cfg(feature = "randr")]
4781 Request::RandrGetScreenInfo(req) => Request::RandrGetScreenInfo(req),
4782 #[cfg(feature = "randr")]
4783 Request::RandrGetScreenSizeRange(req) => Request::RandrGetScreenSizeRange(req),
4784 #[cfg(feature = "randr")]
4785 Request::RandrSetScreenSize(req) => Request::RandrSetScreenSize(req),
4786 #[cfg(feature = "randr")]
4787 Request::RandrGetScreenResources(req) => Request::RandrGetScreenResources(req),
4788 #[cfg(feature = "randr")]
4789 Request::RandrGetOutputInfo(req) => Request::RandrGetOutputInfo(req),
4790 #[cfg(feature = "randr")]
4791 Request::RandrListOutputProperties(req) => Request::RandrListOutputProperties(req),
4792 #[cfg(feature = "randr")]
4793 Request::RandrQueryOutputProperty(req) => Request::RandrQueryOutputProperty(req),
4794 #[cfg(feature = "randr")]
4795 Request::RandrConfigureOutputProperty(req) => Request::RandrConfigureOutputProperty(req.into_owned()),
4796 #[cfg(feature = "randr")]
4797 Request::RandrChangeOutputProperty(req) => Request::RandrChangeOutputProperty(req.into_owned()),
4798 #[cfg(feature = "randr")]
4799 Request::RandrDeleteOutputProperty(req) => Request::RandrDeleteOutputProperty(req),
4800 #[cfg(feature = "randr")]
4801 Request::RandrGetOutputProperty(req) => Request::RandrGetOutputProperty(req),
4802 #[cfg(feature = "randr")]
4803 Request::RandrCreateMode(req) => Request::RandrCreateMode(req.into_owned()),
4804 #[cfg(feature = "randr")]
4805 Request::RandrDestroyMode(req) => Request::RandrDestroyMode(req),
4806 #[cfg(feature = "randr")]
4807 Request::RandrAddOutputMode(req) => Request::RandrAddOutputMode(req),
4808 #[cfg(feature = "randr")]
4809 Request::RandrDeleteOutputMode(req) => Request::RandrDeleteOutputMode(req),
4810 #[cfg(feature = "randr")]
4811 Request::RandrGetCrtcInfo(req) => Request::RandrGetCrtcInfo(req),
4812 #[cfg(feature = "randr")]
4813 Request::RandrSetCrtcConfig(req) => Request::RandrSetCrtcConfig(req.into_owned()),
4814 #[cfg(feature = "randr")]
4815 Request::RandrGetCrtcGammaSize(req) => Request::RandrGetCrtcGammaSize(req),
4816 #[cfg(feature = "randr")]
4817 Request::RandrGetCrtcGamma(req) => Request::RandrGetCrtcGamma(req),
4818 #[cfg(feature = "randr")]
4819 Request::RandrSetCrtcGamma(req) => Request::RandrSetCrtcGamma(req.into_owned()),
4820 #[cfg(feature = "randr")]
4821 Request::RandrGetScreenResourcesCurrent(req) => Request::RandrGetScreenResourcesCurrent(req),
4822 #[cfg(feature = "randr")]
4823 Request::RandrSetCrtcTransform(req) => Request::RandrSetCrtcTransform(req.into_owned()),
4824 #[cfg(feature = "randr")]
4825 Request::RandrGetCrtcTransform(req) => Request::RandrGetCrtcTransform(req),
4826 #[cfg(feature = "randr")]
4827 Request::RandrGetPanning(req) => Request::RandrGetPanning(req),
4828 #[cfg(feature = "randr")]
4829 Request::RandrSetPanning(req) => Request::RandrSetPanning(req),
4830 #[cfg(feature = "randr")]
4831 Request::RandrSetOutputPrimary(req) => Request::RandrSetOutputPrimary(req),
4832 #[cfg(feature = "randr")]
4833 Request::RandrGetOutputPrimary(req) => Request::RandrGetOutputPrimary(req),
4834 #[cfg(feature = "randr")]
4835 Request::RandrGetProviders(req) => Request::RandrGetProviders(req),
4836 #[cfg(feature = "randr")]
4837 Request::RandrGetProviderInfo(req) => Request::RandrGetProviderInfo(req),
4838 #[cfg(feature = "randr")]
4839 Request::RandrSetProviderOffloadSink(req) => Request::RandrSetProviderOffloadSink(req),
4840 #[cfg(feature = "randr")]
4841 Request::RandrSetProviderOutputSource(req) => Request::RandrSetProviderOutputSource(req),
4842 #[cfg(feature = "randr")]
4843 Request::RandrListProviderProperties(req) => Request::RandrListProviderProperties(req),
4844 #[cfg(feature = "randr")]
4845 Request::RandrQueryProviderProperty(req) => Request::RandrQueryProviderProperty(req),
4846 #[cfg(feature = "randr")]
4847 Request::RandrConfigureProviderProperty(req) => Request::RandrConfigureProviderProperty(req.into_owned()),
4848 #[cfg(feature = "randr")]
4849 Request::RandrChangeProviderProperty(req) => Request::RandrChangeProviderProperty(req.into_owned()),
4850 #[cfg(feature = "randr")]
4851 Request::RandrDeleteProviderProperty(req) => Request::RandrDeleteProviderProperty(req),
4852 #[cfg(feature = "randr")]
4853 Request::RandrGetProviderProperty(req) => Request::RandrGetProviderProperty(req),
4854 #[cfg(feature = "randr")]
4855 Request::RandrGetMonitors(req) => Request::RandrGetMonitors(req),
4856 #[cfg(feature = "randr")]
4857 Request::RandrSetMonitor(req) => Request::RandrSetMonitor(req),
4858 #[cfg(feature = "randr")]
4859 Request::RandrDeleteMonitor(req) => Request::RandrDeleteMonitor(req),
4860 #[cfg(feature = "randr")]
4861 Request::RandrCreateLease(req) => Request::RandrCreateLease(req.into_owned()),
4862 #[cfg(feature = "randr")]
4863 Request::RandrFreeLease(req) => Request::RandrFreeLease(req),
4864 #[cfg(feature = "record")]
4865 Request::RecordQueryVersion(req) => Request::RecordQueryVersion(req),
4866 #[cfg(feature = "record")]
4867 Request::RecordCreateContext(req) => Request::RecordCreateContext(req.into_owned()),
4868 #[cfg(feature = "record")]
4869 Request::RecordRegisterClients(req) => Request::RecordRegisterClients(req.into_owned()),
4870 #[cfg(feature = "record")]
4871 Request::RecordUnregisterClients(req) => Request::RecordUnregisterClients(req.into_owned()),
4872 #[cfg(feature = "record")]
4873 Request::RecordGetContext(req) => Request::RecordGetContext(req),
4874 #[cfg(feature = "record")]
4875 Request::RecordEnableContext(req) => Request::RecordEnableContext(req),
4876 #[cfg(feature = "record")]
4877 Request::RecordDisableContext(req) => Request::RecordDisableContext(req),
4878 #[cfg(feature = "record")]
4879 Request::RecordFreeContext(req) => Request::RecordFreeContext(req),
4880 #[cfg(feature = "render")]
4881 Request::RenderQueryVersion(req) => Request::RenderQueryVersion(req),
4882 #[cfg(feature = "render")]
4883 Request::RenderQueryPictFormats(req) => Request::RenderQueryPictFormats(req),
4884 #[cfg(feature = "render")]
4885 Request::RenderQueryPictIndexValues(req) => Request::RenderQueryPictIndexValues(req),
4886 #[cfg(feature = "render")]
4887 Request::RenderCreatePicture(req) => Request::RenderCreatePicture(req.into_owned()),
4888 #[cfg(feature = "render")]
4889 Request::RenderChangePicture(req) => Request::RenderChangePicture(req.into_owned()),
4890 #[cfg(feature = "render")]
4891 Request::RenderSetPictureClipRectangles(req) => Request::RenderSetPictureClipRectangles(req.into_owned()),
4892 #[cfg(feature = "render")]
4893 Request::RenderFreePicture(req) => Request::RenderFreePicture(req),
4894 #[cfg(feature = "render")]
4895 Request::RenderComposite(req) => Request::RenderComposite(req),
4896 #[cfg(feature = "render")]
4897 Request::RenderTrapezoids(req) => Request::RenderTrapezoids(req.into_owned()),
4898 #[cfg(feature = "render")]
4899 Request::RenderTriangles(req) => Request::RenderTriangles(req.into_owned()),
4900 #[cfg(feature = "render")]
4901 Request::RenderTriStrip(req) => Request::RenderTriStrip(req.into_owned()),
4902 #[cfg(feature = "render")]
4903 Request::RenderTriFan(req) => Request::RenderTriFan(req.into_owned()),
4904 #[cfg(feature = "render")]
4905 Request::RenderCreateGlyphSet(req) => Request::RenderCreateGlyphSet(req),
4906 #[cfg(feature = "render")]
4907 Request::RenderReferenceGlyphSet(req) => Request::RenderReferenceGlyphSet(req),
4908 #[cfg(feature = "render")]
4909 Request::RenderFreeGlyphSet(req) => Request::RenderFreeGlyphSet(req),
4910 #[cfg(feature = "render")]
4911 Request::RenderAddGlyphs(req) => Request::RenderAddGlyphs(req.into_owned()),
4912 #[cfg(feature = "render")]
4913 Request::RenderFreeGlyphs(req) => Request::RenderFreeGlyphs(req.into_owned()),
4914 #[cfg(feature = "render")]
4915 Request::RenderCompositeGlyphs8(req) => Request::RenderCompositeGlyphs8(req.into_owned()),
4916 #[cfg(feature = "render")]
4917 Request::RenderCompositeGlyphs16(req) => Request::RenderCompositeGlyphs16(req.into_owned()),
4918 #[cfg(feature = "render")]
4919 Request::RenderCompositeGlyphs32(req) => Request::RenderCompositeGlyphs32(req.into_owned()),
4920 #[cfg(feature = "render")]
4921 Request::RenderFillRectangles(req) => Request::RenderFillRectangles(req.into_owned()),
4922 #[cfg(feature = "render")]
4923 Request::RenderCreateCursor(req) => Request::RenderCreateCursor(req),
4924 #[cfg(feature = "render")]
4925 Request::RenderSetPictureTransform(req) => Request::RenderSetPictureTransform(req),
4926 #[cfg(feature = "render")]
4927 Request::RenderQueryFilters(req) => Request::RenderQueryFilters(req),
4928 #[cfg(feature = "render")]
4929 Request::RenderSetPictureFilter(req) => Request::RenderSetPictureFilter(req.into_owned()),
4930 #[cfg(feature = "render")]
4931 Request::RenderCreateAnimCursor(req) => Request::RenderCreateAnimCursor(req.into_owned()),
4932 #[cfg(feature = "render")]
4933 Request::RenderAddTraps(req) => Request::RenderAddTraps(req.into_owned()),
4934 #[cfg(feature = "render")]
4935 Request::RenderCreateSolidFill(req) => Request::RenderCreateSolidFill(req),
4936 #[cfg(feature = "render")]
4937 Request::RenderCreateLinearGradient(req) => Request::RenderCreateLinearGradient(req.into_owned()),
4938 #[cfg(feature = "render")]
4939 Request::RenderCreateRadialGradient(req) => Request::RenderCreateRadialGradient(req.into_owned()),
4940 #[cfg(feature = "render")]
4941 Request::RenderCreateConicalGradient(req) => Request::RenderCreateConicalGradient(req.into_owned()),
4942 #[cfg(feature = "res")]
4943 Request::ResQueryVersion(req) => Request::ResQueryVersion(req),
4944 #[cfg(feature = "res")]
4945 Request::ResQueryClients(req) => Request::ResQueryClients(req),
4946 #[cfg(feature = "res")]
4947 Request::ResQueryClientResources(req) => Request::ResQueryClientResources(req),
4948 #[cfg(feature = "res")]
4949 Request::ResQueryClientPixmapBytes(req) => Request::ResQueryClientPixmapBytes(req),
4950 #[cfg(feature = "res")]
4951 Request::ResQueryClientIds(req) => Request::ResQueryClientIds(req.into_owned()),
4952 #[cfg(feature = "res")]
4953 Request::ResQueryResourceBytes(req) => Request::ResQueryResourceBytes(req.into_owned()),
4954 #[cfg(feature = "screensaver")]
4955 Request::ScreensaverQueryVersion(req) => Request::ScreensaverQueryVersion(req),
4956 #[cfg(feature = "screensaver")]
4957 Request::ScreensaverQueryInfo(req) => Request::ScreensaverQueryInfo(req),
4958 #[cfg(feature = "screensaver")]
4959 Request::ScreensaverSelectInput(req) => Request::ScreensaverSelectInput(req),
4960 #[cfg(feature = "screensaver")]
4961 Request::ScreensaverSetAttributes(req) => Request::ScreensaverSetAttributes(req.into_owned()),
4962 #[cfg(feature = "screensaver")]
4963 Request::ScreensaverUnsetAttributes(req) => Request::ScreensaverUnsetAttributes(req),
4964 #[cfg(feature = "screensaver")]
4965 Request::ScreensaverSuspend(req) => Request::ScreensaverSuspend(req),
4966 #[cfg(feature = "shape")]
4967 Request::ShapeQueryVersion(req) => Request::ShapeQueryVersion(req),
4968 #[cfg(feature = "shape")]
4969 Request::ShapeRectangles(req) => Request::ShapeRectangles(req.into_owned()),
4970 #[cfg(feature = "shape")]
4971 Request::ShapeMask(req) => Request::ShapeMask(req),
4972 #[cfg(feature = "shape")]
4973 Request::ShapeCombine(req) => Request::ShapeCombine(req),
4974 #[cfg(feature = "shape")]
4975 Request::ShapeOffset(req) => Request::ShapeOffset(req),
4976 #[cfg(feature = "shape")]
4977 Request::ShapeQueryExtents(req) => Request::ShapeQueryExtents(req),
4978 #[cfg(feature = "shape")]
4979 Request::ShapeSelectInput(req) => Request::ShapeSelectInput(req),
4980 #[cfg(feature = "shape")]
4981 Request::ShapeInputSelected(req) => Request::ShapeInputSelected(req),
4982 #[cfg(feature = "shape")]
4983 Request::ShapeGetRectangles(req) => Request::ShapeGetRectangles(req),
4984 #[cfg(feature = "shm")]
4985 Request::ShmQueryVersion(req) => Request::ShmQueryVersion(req),
4986 #[cfg(feature = "shm")]
4987 Request::ShmAttach(req) => Request::ShmAttach(req),
4988 #[cfg(feature = "shm")]
4989 Request::ShmDetach(req) => Request::ShmDetach(req),
4990 #[cfg(feature = "shm")]
4991 Request::ShmPutImage(req) => Request::ShmPutImage(req),
4992 #[cfg(feature = "shm")]
4993 Request::ShmGetImage(req) => Request::ShmGetImage(req),
4994 #[cfg(feature = "shm")]
4995 Request::ShmCreatePixmap(req) => Request::ShmCreatePixmap(req),
4996 #[cfg(feature = "shm")]
4997 Request::ShmAttachFd(req) => Request::ShmAttachFd(req),
4998 #[cfg(feature = "shm")]
4999 Request::ShmCreateSegment(req) => Request::ShmCreateSegment(req),
5000 #[cfg(feature = "sync")]
5001 Request::SyncInitialize(req) => Request::SyncInitialize(req),
5002 #[cfg(feature = "sync")]
5003 Request::SyncListSystemCounters(req) => Request::SyncListSystemCounters(req),
5004 #[cfg(feature = "sync")]
5005 Request::SyncCreateCounter(req) => Request::SyncCreateCounter(req),
5006 #[cfg(feature = "sync")]
5007 Request::SyncDestroyCounter(req) => Request::SyncDestroyCounter(req),
5008 #[cfg(feature = "sync")]
5009 Request::SyncQueryCounter(req) => Request::SyncQueryCounter(req),
5010 #[cfg(feature = "sync")]
5011 Request::SyncAwait(req) => Request::SyncAwait(req.into_owned()),
5012 #[cfg(feature = "sync")]
5013 Request::SyncChangeCounter(req) => Request::SyncChangeCounter(req),
5014 #[cfg(feature = "sync")]
5015 Request::SyncSetCounter(req) => Request::SyncSetCounter(req),
5016 #[cfg(feature = "sync")]
5017 Request::SyncCreateAlarm(req) => Request::SyncCreateAlarm(req.into_owned()),
5018 #[cfg(feature = "sync")]
5019 Request::SyncChangeAlarm(req) => Request::SyncChangeAlarm(req.into_owned()),
5020 #[cfg(feature = "sync")]
5021 Request::SyncDestroyAlarm(req) => Request::SyncDestroyAlarm(req),
5022 #[cfg(feature = "sync")]
5023 Request::SyncQueryAlarm(req) => Request::SyncQueryAlarm(req),
5024 #[cfg(feature = "sync")]
5025 Request::SyncSetPriority(req) => Request::SyncSetPriority(req),
5026 #[cfg(feature = "sync")]
5027 Request::SyncGetPriority(req) => Request::SyncGetPriority(req),
5028 #[cfg(feature = "sync")]
5029 Request::SyncCreateFence(req) => Request::SyncCreateFence(req),
5030 #[cfg(feature = "sync")]
5031 Request::SyncTriggerFence(req) => Request::SyncTriggerFence(req),
5032 #[cfg(feature = "sync")]
5033 Request::SyncResetFence(req) => Request::SyncResetFence(req),
5034 #[cfg(feature = "sync")]
5035 Request::SyncDestroyFence(req) => Request::SyncDestroyFence(req),
5036 #[cfg(feature = "sync")]
5037 Request::SyncQueryFence(req) => Request::SyncQueryFence(req),
5038 #[cfg(feature = "sync")]
5039 Request::SyncAwaitFence(req) => Request::SyncAwaitFence(req.into_owned()),
5040 Request::XcMiscGetVersion(req) => Request::XcMiscGetVersion(req),
5041 Request::XcMiscGetXIDRange(req) => Request::XcMiscGetXIDRange(req),
5042 Request::XcMiscGetXIDList(req) => Request::XcMiscGetXIDList(req),
5043 #[cfg(feature = "xevie")]
5044 Request::XevieQueryVersion(req) => Request::XevieQueryVersion(req),
5045 #[cfg(feature = "xevie")]
5046 Request::XevieStart(req) => Request::XevieStart(req),
5047 #[cfg(feature = "xevie")]
5048 Request::XevieEnd(req) => Request::XevieEnd(req),
5049 #[cfg(feature = "xevie")]
5050 Request::XevieSend(req) => Request::XevieSend(req),
5051 #[cfg(feature = "xevie")]
5052 Request::XevieSelectInput(req) => Request::XevieSelectInput(req),
5053 #[cfg(feature = "xf86dri")]
5054 Request::Xf86driQueryVersion(req) => Request::Xf86driQueryVersion(req),
5055 #[cfg(feature = "xf86dri")]
5056 Request::Xf86driQueryDirectRenderingCapable(req) => Request::Xf86driQueryDirectRenderingCapable(req),
5057 #[cfg(feature = "xf86dri")]
5058 Request::Xf86driOpenConnection(req) => Request::Xf86driOpenConnection(req),
5059 #[cfg(feature = "xf86dri")]
5060 Request::Xf86driCloseConnection(req) => Request::Xf86driCloseConnection(req),
5061 #[cfg(feature = "xf86dri")]
5062 Request::Xf86driGetClientDriverName(req) => Request::Xf86driGetClientDriverName(req),
5063 #[cfg(feature = "xf86dri")]
5064 Request::Xf86driCreateContext(req) => Request::Xf86driCreateContext(req),
5065 #[cfg(feature = "xf86dri")]
5066 Request::Xf86driDestroyContext(req) => Request::Xf86driDestroyContext(req),
5067 #[cfg(feature = "xf86dri")]
5068 Request::Xf86driCreateDrawable(req) => Request::Xf86driCreateDrawable(req),
5069 #[cfg(feature = "xf86dri")]
5070 Request::Xf86driDestroyDrawable(req) => Request::Xf86driDestroyDrawable(req),
5071 #[cfg(feature = "xf86dri")]
5072 Request::Xf86driGetDrawableInfo(req) => Request::Xf86driGetDrawableInfo(req),
5073 #[cfg(feature = "xf86dri")]
5074 Request::Xf86driGetDeviceInfo(req) => Request::Xf86driGetDeviceInfo(req),
5075 #[cfg(feature = "xf86dri")]
5076 Request::Xf86driAuthConnection(req) => Request::Xf86driAuthConnection(req),
5077 #[cfg(feature = "xf86vidmode")]
5078 Request::Xf86vidmodeQueryVersion(req) => Request::Xf86vidmodeQueryVersion(req),
5079 #[cfg(feature = "xf86vidmode")]
5080 Request::Xf86vidmodeGetModeLine(req) => Request::Xf86vidmodeGetModeLine(req),
5081 #[cfg(feature = "xf86vidmode")]
5082 Request::Xf86vidmodeModModeLine(req) => Request::Xf86vidmodeModModeLine(req.into_owned()),
5083 #[cfg(feature = "xf86vidmode")]
5084 Request::Xf86vidmodeSwitchMode(req) => Request::Xf86vidmodeSwitchMode(req),
5085 #[cfg(feature = "xf86vidmode")]
5086 Request::Xf86vidmodeGetMonitor(req) => Request::Xf86vidmodeGetMonitor(req),
5087 #[cfg(feature = "xf86vidmode")]
5088 Request::Xf86vidmodeLockModeSwitch(req) => Request::Xf86vidmodeLockModeSwitch(req),
5089 #[cfg(feature = "xf86vidmode")]
5090 Request::Xf86vidmodeGetAllModeLines(req) => Request::Xf86vidmodeGetAllModeLines(req),
5091 #[cfg(feature = "xf86vidmode")]
5092 Request::Xf86vidmodeAddModeLine(req) => Request::Xf86vidmodeAddModeLine(req.into_owned()),
5093 #[cfg(feature = "xf86vidmode")]
5094 Request::Xf86vidmodeDeleteModeLine(req) => Request::Xf86vidmodeDeleteModeLine(req.into_owned()),
5095 #[cfg(feature = "xf86vidmode")]
5096 Request::Xf86vidmodeValidateModeLine(req) => Request::Xf86vidmodeValidateModeLine(req.into_owned()),
5097 #[cfg(feature = "xf86vidmode")]
5098 Request::Xf86vidmodeSwitchToMode(req) => Request::Xf86vidmodeSwitchToMode(req.into_owned()),
5099 #[cfg(feature = "xf86vidmode")]
5100 Request::Xf86vidmodeGetViewPort(req) => Request::Xf86vidmodeGetViewPort(req),
5101 #[cfg(feature = "xf86vidmode")]
5102 Request::Xf86vidmodeSetViewPort(req) => Request::Xf86vidmodeSetViewPort(req),
5103 #[cfg(feature = "xf86vidmode")]
5104 Request::Xf86vidmodeGetDotClocks(req) => Request::Xf86vidmodeGetDotClocks(req),
5105 #[cfg(feature = "xf86vidmode")]
5106 Request::Xf86vidmodeSetClientVersion(req) => Request::Xf86vidmodeSetClientVersion(req),
5107 #[cfg(feature = "xf86vidmode")]
5108 Request::Xf86vidmodeSetGamma(req) => Request::Xf86vidmodeSetGamma(req),
5109 #[cfg(feature = "xf86vidmode")]
5110 Request::Xf86vidmodeGetGamma(req) => Request::Xf86vidmodeGetGamma(req),
5111 #[cfg(feature = "xf86vidmode")]
5112 Request::Xf86vidmodeGetGammaRamp(req) => Request::Xf86vidmodeGetGammaRamp(req),
5113 #[cfg(feature = "xf86vidmode")]
5114 Request::Xf86vidmodeSetGammaRamp(req) => Request::Xf86vidmodeSetGammaRamp(req.into_owned()),
5115 #[cfg(feature = "xf86vidmode")]
5116 Request::Xf86vidmodeGetGammaRampSize(req) => Request::Xf86vidmodeGetGammaRampSize(req),
5117 #[cfg(feature = "xf86vidmode")]
5118 Request::Xf86vidmodeGetPermissions(req) => Request::Xf86vidmodeGetPermissions(req),
5119 #[cfg(feature = "xfixes")]
5120 Request::XfixesQueryVersion(req) => Request::XfixesQueryVersion(req),
5121 #[cfg(feature = "xfixes")]
5122 Request::XfixesChangeSaveSet(req) => Request::XfixesChangeSaveSet(req),
5123 #[cfg(feature = "xfixes")]
5124 Request::XfixesSelectSelectionInput(req) => Request::XfixesSelectSelectionInput(req),
5125 #[cfg(feature = "xfixes")]
5126 Request::XfixesSelectCursorInput(req) => Request::XfixesSelectCursorInput(req),
5127 #[cfg(feature = "xfixes")]
5128 Request::XfixesGetCursorImage(req) => Request::XfixesGetCursorImage(req),
5129 #[cfg(feature = "xfixes")]
5130 Request::XfixesCreateRegion(req) => Request::XfixesCreateRegion(req.into_owned()),
5131 #[cfg(feature = "xfixes")]
5132 Request::XfixesCreateRegionFromBitmap(req) => Request::XfixesCreateRegionFromBitmap(req),
5133 #[cfg(feature = "xfixes")]
5134 Request::XfixesCreateRegionFromWindow(req) => Request::XfixesCreateRegionFromWindow(req),
5135 #[cfg(feature = "xfixes")]
5136 Request::XfixesCreateRegionFromGC(req) => Request::XfixesCreateRegionFromGC(req),
5137 #[cfg(feature = "xfixes")]
5138 Request::XfixesCreateRegionFromPicture(req) => Request::XfixesCreateRegionFromPicture(req),
5139 #[cfg(feature = "xfixes")]
5140 Request::XfixesDestroyRegion(req) => Request::XfixesDestroyRegion(req),
5141 #[cfg(feature = "xfixes")]
5142 Request::XfixesSetRegion(req) => Request::XfixesSetRegion(req.into_owned()),
5143 #[cfg(feature = "xfixes")]
5144 Request::XfixesCopyRegion(req) => Request::XfixesCopyRegion(req),
5145 #[cfg(feature = "xfixes")]
5146 Request::XfixesUnionRegion(req) => Request::XfixesUnionRegion(req),
5147 #[cfg(feature = "xfixes")]
5148 Request::XfixesIntersectRegion(req) => Request::XfixesIntersectRegion(req),
5149 #[cfg(feature = "xfixes")]
5150 Request::XfixesSubtractRegion(req) => Request::XfixesSubtractRegion(req),
5151 #[cfg(feature = "xfixes")]
5152 Request::XfixesInvertRegion(req) => Request::XfixesInvertRegion(req),
5153 #[cfg(feature = "xfixes")]
5154 Request::XfixesTranslateRegion(req) => Request::XfixesTranslateRegion(req),
5155 #[cfg(feature = "xfixes")]
5156 Request::XfixesRegionExtents(req) => Request::XfixesRegionExtents(req),
5157 #[cfg(feature = "xfixes")]
5158 Request::XfixesFetchRegion(req) => Request::XfixesFetchRegion(req),
5159 #[cfg(feature = "xfixes")]
5160 Request::XfixesSetGCClipRegion(req) => Request::XfixesSetGCClipRegion(req),
5161 #[cfg(feature = "xfixes")]
5162 Request::XfixesSetWindowShapeRegion(req) => Request::XfixesSetWindowShapeRegion(req),
5163 #[cfg(feature = "xfixes")]
5164 Request::XfixesSetPictureClipRegion(req) => Request::XfixesSetPictureClipRegion(req),
5165 #[cfg(feature = "xfixes")]
5166 Request::XfixesSetCursorName(req) => Request::XfixesSetCursorName(req.into_owned()),
5167 #[cfg(feature = "xfixes")]
5168 Request::XfixesGetCursorName(req) => Request::XfixesGetCursorName(req),
5169 #[cfg(feature = "xfixes")]
5170 Request::XfixesGetCursorImageAndName(req) => Request::XfixesGetCursorImageAndName(req),
5171 #[cfg(feature = "xfixes")]
5172 Request::XfixesChangeCursor(req) => Request::XfixesChangeCursor(req),
5173 #[cfg(feature = "xfixes")]
5174 Request::XfixesChangeCursorByName(req) => Request::XfixesChangeCursorByName(req.into_owned()),
5175 #[cfg(feature = "xfixes")]
5176 Request::XfixesExpandRegion(req) => Request::XfixesExpandRegion(req),
5177 #[cfg(feature = "xfixes")]
5178 Request::XfixesHideCursor(req) => Request::XfixesHideCursor(req),
5179 #[cfg(feature = "xfixes")]
5180 Request::XfixesShowCursor(req) => Request::XfixesShowCursor(req),
5181 #[cfg(feature = "xfixes")]
5182 Request::XfixesCreatePointerBarrier(req) => Request::XfixesCreatePointerBarrier(req.into_owned()),
5183 #[cfg(feature = "xfixes")]
5184 Request::XfixesDeletePointerBarrier(req) => Request::XfixesDeletePointerBarrier(req),
5185 #[cfg(feature = "xfixes")]
5186 Request::XfixesSetClientDisconnectMode(req) => Request::XfixesSetClientDisconnectMode(req),
5187 #[cfg(feature = "xfixes")]
5188 Request::XfixesGetClientDisconnectMode(req) => Request::XfixesGetClientDisconnectMode(req),
5189 #[cfg(feature = "xinerama")]
5190 Request::XineramaQueryVersion(req) => Request::XineramaQueryVersion(req),
5191 #[cfg(feature = "xinerama")]
5192 Request::XineramaGetState(req) => Request::XineramaGetState(req),
5193 #[cfg(feature = "xinerama")]
5194 Request::XineramaGetScreenCount(req) => Request::XineramaGetScreenCount(req),
5195 #[cfg(feature = "xinerama")]
5196 Request::XineramaGetScreenSize(req) => Request::XineramaGetScreenSize(req),
5197 #[cfg(feature = "xinerama")]
5198 Request::XineramaIsActive(req) => Request::XineramaIsActive(req),
5199 #[cfg(feature = "xinerama")]
5200 Request::XineramaQueryScreens(req) => Request::XineramaQueryScreens(req),
5201 #[cfg(feature = "xinput")]
5202 Request::XinputGetExtensionVersion(req) => Request::XinputGetExtensionVersion(req.into_owned()),
5203 #[cfg(feature = "xinput")]
5204 Request::XinputListInputDevices(req) => Request::XinputListInputDevices(req),
5205 #[cfg(feature = "xinput")]
5206 Request::XinputOpenDevice(req) => Request::XinputOpenDevice(req),
5207 #[cfg(feature = "xinput")]
5208 Request::XinputCloseDevice(req) => Request::XinputCloseDevice(req),
5209 #[cfg(feature = "xinput")]
5210 Request::XinputSetDeviceMode(req) => Request::XinputSetDeviceMode(req),
5211 #[cfg(feature = "xinput")]
5212 Request::XinputSelectExtensionEvent(req) => Request::XinputSelectExtensionEvent(req.into_owned()),
5213 #[cfg(feature = "xinput")]
5214 Request::XinputGetSelectedExtensionEvents(req) => Request::XinputGetSelectedExtensionEvents(req),
5215 #[cfg(feature = "xinput")]
5216 Request::XinputChangeDeviceDontPropagateList(req) => Request::XinputChangeDeviceDontPropagateList(req.into_owned()),
5217 #[cfg(feature = "xinput")]
5218 Request::XinputGetDeviceDontPropagateList(req) => Request::XinputGetDeviceDontPropagateList(req),
5219 #[cfg(feature = "xinput")]
5220 Request::XinputGetDeviceMotionEvents(req) => Request::XinputGetDeviceMotionEvents(req),
5221 #[cfg(feature = "xinput")]
5222 Request::XinputChangeKeyboardDevice(req) => Request::XinputChangeKeyboardDevice(req),
5223 #[cfg(feature = "xinput")]
5224 Request::XinputChangePointerDevice(req) => Request::XinputChangePointerDevice(req),
5225 #[cfg(feature = "xinput")]
5226 Request::XinputGrabDevice(req) => Request::XinputGrabDevice(req.into_owned()),
5227 #[cfg(feature = "xinput")]
5228 Request::XinputUngrabDevice(req) => Request::XinputUngrabDevice(req),
5229 #[cfg(feature = "xinput")]
5230 Request::XinputGrabDeviceKey(req) => Request::XinputGrabDeviceKey(req.into_owned()),
5231 #[cfg(feature = "xinput")]
5232 Request::XinputUngrabDeviceKey(req) => Request::XinputUngrabDeviceKey(req),
5233 #[cfg(feature = "xinput")]
5234 Request::XinputGrabDeviceButton(req) => Request::XinputGrabDeviceButton(req.into_owned()),
5235 #[cfg(feature = "xinput")]
5236 Request::XinputUngrabDeviceButton(req) => Request::XinputUngrabDeviceButton(req),
5237 #[cfg(feature = "xinput")]
5238 Request::XinputAllowDeviceEvents(req) => Request::XinputAllowDeviceEvents(req),
5239 #[cfg(feature = "xinput")]
5240 Request::XinputGetDeviceFocus(req) => Request::XinputGetDeviceFocus(req),
5241 #[cfg(feature = "xinput")]
5242 Request::XinputSetDeviceFocus(req) => Request::XinputSetDeviceFocus(req),
5243 #[cfg(feature = "xinput")]
5244 Request::XinputGetFeedbackControl(req) => Request::XinputGetFeedbackControl(req),
5245 #[cfg(feature = "xinput")]
5246 Request::XinputChangeFeedbackControl(req) => Request::XinputChangeFeedbackControl(req),
5247 #[cfg(feature = "xinput")]
5248 Request::XinputGetDeviceKeyMapping(req) => Request::XinputGetDeviceKeyMapping(req),
5249 #[cfg(feature = "xinput")]
5250 Request::XinputChangeDeviceKeyMapping(req) => Request::XinputChangeDeviceKeyMapping(req.into_owned()),
5251 #[cfg(feature = "xinput")]
5252 Request::XinputGetDeviceModifierMapping(req) => Request::XinputGetDeviceModifierMapping(req),
5253 #[cfg(feature = "xinput")]
5254 Request::XinputSetDeviceModifierMapping(req) => Request::XinputSetDeviceModifierMapping(req.into_owned()),
5255 #[cfg(feature = "xinput")]
5256 Request::XinputGetDeviceButtonMapping(req) => Request::XinputGetDeviceButtonMapping(req),
5257 #[cfg(feature = "xinput")]
5258 Request::XinputSetDeviceButtonMapping(req) => Request::XinputSetDeviceButtonMapping(req.into_owned()),
5259 #[cfg(feature = "xinput")]
5260 Request::XinputQueryDeviceState(req) => Request::XinputQueryDeviceState(req),
5261 #[cfg(feature = "xinput")]
5262 Request::XinputDeviceBell(req) => Request::XinputDeviceBell(req),
5263 #[cfg(feature = "xinput")]
5264 Request::XinputSetDeviceValuators(req) => Request::XinputSetDeviceValuators(req.into_owned()),
5265 #[cfg(feature = "xinput")]
5266 Request::XinputGetDeviceControl(req) => Request::XinputGetDeviceControl(req),
5267 #[cfg(feature = "xinput")]
5268 Request::XinputChangeDeviceControl(req) => Request::XinputChangeDeviceControl(req),
5269 #[cfg(feature = "xinput")]
5270 Request::XinputListDeviceProperties(req) => Request::XinputListDeviceProperties(req),
5271 #[cfg(feature = "xinput")]
5272 Request::XinputChangeDeviceProperty(req) => Request::XinputChangeDeviceProperty(req.into_owned()),
5273 #[cfg(feature = "xinput")]
5274 Request::XinputDeleteDeviceProperty(req) => Request::XinputDeleteDeviceProperty(req),
5275 #[cfg(feature = "xinput")]
5276 Request::XinputGetDeviceProperty(req) => Request::XinputGetDeviceProperty(req),
5277 #[cfg(feature = "xinput")]
5278 Request::XinputXIQueryPointer(req) => Request::XinputXIQueryPointer(req),
5279 #[cfg(feature = "xinput")]
5280 Request::XinputXIWarpPointer(req) => Request::XinputXIWarpPointer(req),
5281 #[cfg(feature = "xinput")]
5282 Request::XinputXIChangeCursor(req) => Request::XinputXIChangeCursor(req),
5283 #[cfg(feature = "xinput")]
5284 Request::XinputXIChangeHierarchy(req) => Request::XinputXIChangeHierarchy(req.into_owned()),
5285 #[cfg(feature = "xinput")]
5286 Request::XinputXISetClientPointer(req) => Request::XinputXISetClientPointer(req),
5287 #[cfg(feature = "xinput")]
5288 Request::XinputXIGetClientPointer(req) => Request::XinputXIGetClientPointer(req),
5289 #[cfg(feature = "xinput")]
5290 Request::XinputXISelectEvents(req) => Request::XinputXISelectEvents(req.into_owned()),
5291 #[cfg(feature = "xinput")]
5292 Request::XinputXIQueryVersion(req) => Request::XinputXIQueryVersion(req),
5293 #[cfg(feature = "xinput")]
5294 Request::XinputXIQueryDevice(req) => Request::XinputXIQueryDevice(req),
5295 #[cfg(feature = "xinput")]
5296 Request::XinputXISetFocus(req) => Request::XinputXISetFocus(req),
5297 #[cfg(feature = "xinput")]
5298 Request::XinputXIGetFocus(req) => Request::XinputXIGetFocus(req),
5299 #[cfg(feature = "xinput")]
5300 Request::XinputXIGrabDevice(req) => Request::XinputXIGrabDevice(req.into_owned()),
5301 #[cfg(feature = "xinput")]
5302 Request::XinputXIUngrabDevice(req) => Request::XinputXIUngrabDevice(req),
5303 #[cfg(feature = "xinput")]
5304 Request::XinputXIAllowEvents(req) => Request::XinputXIAllowEvents(req),
5305 #[cfg(feature = "xinput")]
5306 Request::XinputXIPassiveGrabDevice(req) => Request::XinputXIPassiveGrabDevice(req.into_owned()),
5307 #[cfg(feature = "xinput")]
5308 Request::XinputXIPassiveUngrabDevice(req) => Request::XinputXIPassiveUngrabDevice(req.into_owned()),
5309 #[cfg(feature = "xinput")]
5310 Request::XinputXIListProperties(req) => Request::XinputXIListProperties(req),
5311 #[cfg(feature = "xinput")]
5312 Request::XinputXIChangeProperty(req) => Request::XinputXIChangeProperty(req.into_owned()),
5313 #[cfg(feature = "xinput")]
5314 Request::XinputXIDeleteProperty(req) => Request::XinputXIDeleteProperty(req),
5315 #[cfg(feature = "xinput")]
5316 Request::XinputXIGetProperty(req) => Request::XinputXIGetProperty(req),
5317 #[cfg(feature = "xinput")]
5318 Request::XinputXIGetSelectedEvents(req) => Request::XinputXIGetSelectedEvents(req),
5319 #[cfg(feature = "xinput")]
5320 Request::XinputXIBarrierReleasePointer(req) => Request::XinputXIBarrierReleasePointer(req.into_owned()),
5321 #[cfg(feature = "xinput")]
5322 Request::XinputSendExtensionEvent(req) => Request::XinputSendExtensionEvent(req.into_owned()),
5323 #[cfg(feature = "xkb")]
5324 Request::XkbUseExtension(req) => Request::XkbUseExtension(req),
5325 #[cfg(feature = "xkb")]
5326 Request::XkbSelectEvents(req) => Request::XkbSelectEvents(req.into_owned()),
5327 #[cfg(feature = "xkb")]
5328 Request::XkbBell(req) => Request::XkbBell(req),
5329 #[cfg(feature = "xkb")]
5330 Request::XkbGetState(req) => Request::XkbGetState(req),
5331 #[cfg(feature = "xkb")]
5332 Request::XkbLatchLockState(req) => Request::XkbLatchLockState(req),
5333 #[cfg(feature = "xkb")]
5334 Request::XkbGetControls(req) => Request::XkbGetControls(req),
5335 #[cfg(feature = "xkb")]
5336 Request::XkbSetControls(req) => Request::XkbSetControls(req.into_owned()),
5337 #[cfg(feature = "xkb")]
5338 Request::XkbGetMap(req) => Request::XkbGetMap(req),
5339 #[cfg(feature = "xkb")]
5340 Request::XkbSetMap(req) => Request::XkbSetMap(req.into_owned()),
5341 #[cfg(feature = "xkb")]
5342 Request::XkbGetCompatMap(req) => Request::XkbGetCompatMap(req),
5343 #[cfg(feature = "xkb")]
5344 Request::XkbSetCompatMap(req) => Request::XkbSetCompatMap(req.into_owned()),
5345 #[cfg(feature = "xkb")]
5346 Request::XkbGetIndicatorState(req) => Request::XkbGetIndicatorState(req),
5347 #[cfg(feature = "xkb")]
5348 Request::XkbGetIndicatorMap(req) => Request::XkbGetIndicatorMap(req),
5349 #[cfg(feature = "xkb")]
5350 Request::XkbSetIndicatorMap(req) => Request::XkbSetIndicatorMap(req.into_owned()),
5351 #[cfg(feature = "xkb")]
5352 Request::XkbGetNamedIndicator(req) => Request::XkbGetNamedIndicator(req),
5353 #[cfg(feature = "xkb")]
5354 Request::XkbSetNamedIndicator(req) => Request::XkbSetNamedIndicator(req),
5355 #[cfg(feature = "xkb")]
5356 Request::XkbGetNames(req) => Request::XkbGetNames(req),
5357 #[cfg(feature = "xkb")]
5358 Request::XkbSetNames(req) => Request::XkbSetNames(req.into_owned()),
5359 #[cfg(feature = "xkb")]
5360 Request::XkbPerClientFlags(req) => Request::XkbPerClientFlags(req),
5361 #[cfg(feature = "xkb")]
5362 Request::XkbListComponents(req) => Request::XkbListComponents(req),
5363 #[cfg(feature = "xkb")]
5364 Request::XkbGetKbdByName(req) => Request::XkbGetKbdByName(req),
5365 #[cfg(feature = "xkb")]
5366 Request::XkbGetDeviceInfo(req) => Request::XkbGetDeviceInfo(req),
5367 #[cfg(feature = "xkb")]
5368 Request::XkbSetDeviceInfo(req) => Request::XkbSetDeviceInfo(req.into_owned()),
5369 #[cfg(feature = "xkb")]
5370 Request::XkbSetDebuggingFlags(req) => Request::XkbSetDebuggingFlags(req.into_owned()),
5371 #[cfg(feature = "xprint")]
5372 Request::XprintPrintQueryVersion(req) => Request::XprintPrintQueryVersion(req),
5373 #[cfg(feature = "xprint")]
5374 Request::XprintPrintGetPrinterList(req) => Request::XprintPrintGetPrinterList(req.into_owned()),
5375 #[cfg(feature = "xprint")]
5376 Request::XprintPrintRehashPrinterList(req) => Request::XprintPrintRehashPrinterList(req),
5377 #[cfg(feature = "xprint")]
5378 Request::XprintCreateContext(req) => Request::XprintCreateContext(req.into_owned()),
5379 #[cfg(feature = "xprint")]
5380 Request::XprintPrintSetContext(req) => Request::XprintPrintSetContext(req),
5381 #[cfg(feature = "xprint")]
5382 Request::XprintPrintGetContext(req) => Request::XprintPrintGetContext(req),
5383 #[cfg(feature = "xprint")]
5384 Request::XprintPrintDestroyContext(req) => Request::XprintPrintDestroyContext(req),
5385 #[cfg(feature = "xprint")]
5386 Request::XprintPrintGetScreenOfContext(req) => Request::XprintPrintGetScreenOfContext(req),
5387 #[cfg(feature = "xprint")]
5388 Request::XprintPrintStartJob(req) => Request::XprintPrintStartJob(req),
5389 #[cfg(feature = "xprint")]
5390 Request::XprintPrintEndJob(req) => Request::XprintPrintEndJob(req),
5391 #[cfg(feature = "xprint")]
5392 Request::XprintPrintStartDoc(req) => Request::XprintPrintStartDoc(req),
5393 #[cfg(feature = "xprint")]
5394 Request::XprintPrintEndDoc(req) => Request::XprintPrintEndDoc(req),
5395 #[cfg(feature = "xprint")]
5396 Request::XprintPrintPutDocumentData(req) => Request::XprintPrintPutDocumentData(req.into_owned()),
5397 #[cfg(feature = "xprint")]
5398 Request::XprintPrintGetDocumentData(req) => Request::XprintPrintGetDocumentData(req),
5399 #[cfg(feature = "xprint")]
5400 Request::XprintPrintStartPage(req) => Request::XprintPrintStartPage(req),
5401 #[cfg(feature = "xprint")]
5402 Request::XprintPrintEndPage(req) => Request::XprintPrintEndPage(req),
5403 #[cfg(feature = "xprint")]
5404 Request::XprintPrintSelectInput(req) => Request::XprintPrintSelectInput(req),
5405 #[cfg(feature = "xprint")]
5406 Request::XprintPrintInputSelected(req) => Request::XprintPrintInputSelected(req),
5407 #[cfg(feature = "xprint")]
5408 Request::XprintPrintGetAttributes(req) => Request::XprintPrintGetAttributes(req),
5409 #[cfg(feature = "xprint")]
5410 Request::XprintPrintGetOneAttributes(req) => Request::XprintPrintGetOneAttributes(req.into_owned()),
5411 #[cfg(feature = "xprint")]
5412 Request::XprintPrintSetAttributes(req) => Request::XprintPrintSetAttributes(req.into_owned()),
5413 #[cfg(feature = "xprint")]
5414 Request::XprintPrintGetPageDimensions(req) => Request::XprintPrintGetPageDimensions(req),
5415 #[cfg(feature = "xprint")]
5416 Request::XprintPrintQueryScreens(req) => Request::XprintPrintQueryScreens(req),
5417 #[cfg(feature = "xprint")]
5418 Request::XprintPrintSetImageResolution(req) => Request::XprintPrintSetImageResolution(req),
5419 #[cfg(feature = "xprint")]
5420 Request::XprintPrintGetImageResolution(req) => Request::XprintPrintGetImageResolution(req),
5421 #[cfg(feature = "xselinux")]
5422 Request::XselinuxQueryVersion(req) => Request::XselinuxQueryVersion(req),
5423 #[cfg(feature = "xselinux")]
5424 Request::XselinuxSetDeviceCreateContext(req) => Request::XselinuxSetDeviceCreateContext(req.into_owned()),
5425 #[cfg(feature = "xselinux")]
5426 Request::XselinuxGetDeviceCreateContext(req) => Request::XselinuxGetDeviceCreateContext(req),
5427 #[cfg(feature = "xselinux")]
5428 Request::XselinuxSetDeviceContext(req) => Request::XselinuxSetDeviceContext(req.into_owned()),
5429 #[cfg(feature = "xselinux")]
5430 Request::XselinuxGetDeviceContext(req) => Request::XselinuxGetDeviceContext(req),
5431 #[cfg(feature = "xselinux")]
5432 Request::XselinuxSetWindowCreateContext(req) => Request::XselinuxSetWindowCreateContext(req.into_owned()),
5433 #[cfg(feature = "xselinux")]
5434 Request::XselinuxGetWindowCreateContext(req) => Request::XselinuxGetWindowCreateContext(req),
5435 #[cfg(feature = "xselinux")]
5436 Request::XselinuxGetWindowContext(req) => Request::XselinuxGetWindowContext(req),
5437 #[cfg(feature = "xselinux")]
5438 Request::XselinuxSetPropertyCreateContext(req) => Request::XselinuxSetPropertyCreateContext(req.into_owned()),
5439 #[cfg(feature = "xselinux")]
5440 Request::XselinuxGetPropertyCreateContext(req) => Request::XselinuxGetPropertyCreateContext(req),
5441 #[cfg(feature = "xselinux")]
5442 Request::XselinuxSetPropertyUseContext(req) => Request::XselinuxSetPropertyUseContext(req.into_owned()),
5443 #[cfg(feature = "xselinux")]
5444 Request::XselinuxGetPropertyUseContext(req) => Request::XselinuxGetPropertyUseContext(req),
5445 #[cfg(feature = "xselinux")]
5446 Request::XselinuxGetPropertyContext(req) => Request::XselinuxGetPropertyContext(req),
5447 #[cfg(feature = "xselinux")]
5448 Request::XselinuxGetPropertyDataContext(req) => Request::XselinuxGetPropertyDataContext(req),
5449 #[cfg(feature = "xselinux")]
5450 Request::XselinuxListProperties(req) => Request::XselinuxListProperties(req),
5451 #[cfg(feature = "xselinux")]
5452 Request::XselinuxSetSelectionCreateContext(req) => Request::XselinuxSetSelectionCreateContext(req.into_owned()),
5453 #[cfg(feature = "xselinux")]
5454 Request::XselinuxGetSelectionCreateContext(req) => Request::XselinuxGetSelectionCreateContext(req),
5455 #[cfg(feature = "xselinux")]
5456 Request::XselinuxSetSelectionUseContext(req) => Request::XselinuxSetSelectionUseContext(req.into_owned()),
5457 #[cfg(feature = "xselinux")]
5458 Request::XselinuxGetSelectionUseContext(req) => Request::XselinuxGetSelectionUseContext(req),
5459 #[cfg(feature = "xselinux")]
5460 Request::XselinuxGetSelectionContext(req) => Request::XselinuxGetSelectionContext(req),
5461 #[cfg(feature = "xselinux")]
5462 Request::XselinuxGetSelectionDataContext(req) => Request::XselinuxGetSelectionDataContext(req),
5463 #[cfg(feature = "xselinux")]
5464 Request::XselinuxListSelections(req) => Request::XselinuxListSelections(req),
5465 #[cfg(feature = "xselinux")]
5466 Request::XselinuxGetClientContext(req) => Request::XselinuxGetClientContext(req),
5467 #[cfg(feature = "xtest")]
5468 Request::XtestGetVersion(req) => Request::XtestGetVersion(req),
5469 #[cfg(feature = "xtest")]
5470 Request::XtestCompareCursor(req) => Request::XtestCompareCursor(req),
5471 #[cfg(feature = "xtest")]
5472 Request::XtestFakeInput(req) => Request::XtestFakeInput(req),
5473 #[cfg(feature = "xtest")]
5474 Request::XtestGrabControl(req) => Request::XtestGrabControl(req),
5475 #[cfg(feature = "xv")]
5476 Request::XvQueryExtension(req) => Request::XvQueryExtension(req),
5477 #[cfg(feature = "xv")]
5478 Request::XvQueryAdaptors(req) => Request::XvQueryAdaptors(req),
5479 #[cfg(feature = "xv")]
5480 Request::XvQueryEncodings(req) => Request::XvQueryEncodings(req),
5481 #[cfg(feature = "xv")]
5482 Request::XvGrabPort(req) => Request::XvGrabPort(req),
5483 #[cfg(feature = "xv")]
5484 Request::XvUngrabPort(req) => Request::XvUngrabPort(req),
5485 #[cfg(feature = "xv")]
5486 Request::XvPutVideo(req) => Request::XvPutVideo(req),
5487 #[cfg(feature = "xv")]
5488 Request::XvPutStill(req) => Request::XvPutStill(req),
5489 #[cfg(feature = "xv")]
5490 Request::XvGetVideo(req) => Request::XvGetVideo(req),
5491 #[cfg(feature = "xv")]
5492 Request::XvGetStill(req) => Request::XvGetStill(req),
5493 #[cfg(feature = "xv")]
5494 Request::XvStopVideo(req) => Request::XvStopVideo(req),
5495 #[cfg(feature = "xv")]
5496 Request::XvSelectVideoNotify(req) => Request::XvSelectVideoNotify(req),
5497 #[cfg(feature = "xv")]
5498 Request::XvSelectPortNotify(req) => Request::XvSelectPortNotify(req),
5499 #[cfg(feature = "xv")]
5500 Request::XvQueryBestSize(req) => Request::XvQueryBestSize(req),
5501 #[cfg(feature = "xv")]
5502 Request::XvSetPortAttribute(req) => Request::XvSetPortAttribute(req),
5503 #[cfg(feature = "xv")]
5504 Request::XvGetPortAttribute(req) => Request::XvGetPortAttribute(req),
5505 #[cfg(feature = "xv")]
5506 Request::XvQueryPortAttributes(req) => Request::XvQueryPortAttributes(req),
5507 #[cfg(feature = "xv")]
5508 Request::XvListImageFormats(req) => Request::XvListImageFormats(req),
5509 #[cfg(feature = "xv")]
5510 Request::XvQueryImageAttributes(req) => Request::XvQueryImageAttributes(req),
5511 #[cfg(feature = "xv")]
5512 Request::XvPutImage(req) => Request::XvPutImage(req.into_owned()),
5513 #[cfg(feature = "xv")]
5514 Request::XvShmPutImage(req) => Request::XvShmPutImage(req),
5515 #[cfg(feature = "xvmc")]
5516 Request::XvmcQueryVersion(req) => Request::XvmcQueryVersion(req),
5517 #[cfg(feature = "xvmc")]
5518 Request::XvmcListSurfaceTypes(req) => Request::XvmcListSurfaceTypes(req),
5519 #[cfg(feature = "xvmc")]
5520 Request::XvmcCreateContext(req) => Request::XvmcCreateContext(req),
5521 #[cfg(feature = "xvmc")]
5522 Request::XvmcDestroyContext(req) => Request::XvmcDestroyContext(req),
5523 #[cfg(feature = "xvmc")]
5524 Request::XvmcCreateSurface(req) => Request::XvmcCreateSurface(req),
5525 #[cfg(feature = "xvmc")]
5526 Request::XvmcDestroySurface(req) => Request::XvmcDestroySurface(req),
5527 #[cfg(feature = "xvmc")]
5528 Request::XvmcCreateSubpicture(req) => Request::XvmcCreateSubpicture(req),
5529 #[cfg(feature = "xvmc")]
5530 Request::XvmcDestroySubpicture(req) => Request::XvmcDestroySubpicture(req),
5531 #[cfg(feature = "xvmc")]
5532 Request::XvmcListSubpictureTypes(req) => Request::XvmcListSubpictureTypes(req),
5533 }
5534 }
5535}
5536
5537#[derive(Debug)]
5539#[allow(clippy::large_enum_variant)]
5540#[non_exhaustive]
5541pub enum Reply {
5542 Void,
5543 GetWindowAttributes(xproto::GetWindowAttributesReply),
5544 GetGeometry(xproto::GetGeometryReply),
5545 QueryTree(xproto::QueryTreeReply),
5546 InternAtom(xproto::InternAtomReply),
5547 GetAtomName(xproto::GetAtomNameReply),
5548 GetProperty(xproto::GetPropertyReply),
5549 ListProperties(xproto::ListPropertiesReply),
5550 GetSelectionOwner(xproto::GetSelectionOwnerReply),
5551 GrabPointer(xproto::GrabPointerReply),
5552 GrabKeyboard(xproto::GrabKeyboardReply),
5553 QueryPointer(xproto::QueryPointerReply),
5554 GetMotionEvents(xproto::GetMotionEventsReply),
5555 TranslateCoordinates(xproto::TranslateCoordinatesReply),
5556 GetInputFocus(xproto::GetInputFocusReply),
5557 QueryKeymap(xproto::QueryKeymapReply),
5558 QueryFont(xproto::QueryFontReply),
5559 QueryTextExtents(xproto::QueryTextExtentsReply),
5560 ListFonts(xproto::ListFontsReply),
5561 ListFontsWithInfo(xproto::ListFontsWithInfoReply),
5562 GetFontPath(xproto::GetFontPathReply),
5563 GetImage(xproto::GetImageReply),
5564 ListInstalledColormaps(xproto::ListInstalledColormapsReply),
5565 AllocColor(xproto::AllocColorReply),
5566 AllocNamedColor(xproto::AllocNamedColorReply),
5567 AllocColorCells(xproto::AllocColorCellsReply),
5568 AllocColorPlanes(xproto::AllocColorPlanesReply),
5569 QueryColors(xproto::QueryColorsReply),
5570 LookupColor(xproto::LookupColorReply),
5571 QueryBestSize(xproto::QueryBestSizeReply),
5572 QueryExtension(xproto::QueryExtensionReply),
5573 ListExtensions(xproto::ListExtensionsReply),
5574 GetKeyboardMapping(xproto::GetKeyboardMappingReply),
5575 GetKeyboardControl(xproto::GetKeyboardControlReply),
5576 GetPointerControl(xproto::GetPointerControlReply),
5577 GetScreenSaver(xproto::GetScreenSaverReply),
5578 ListHosts(xproto::ListHostsReply),
5579 SetPointerMapping(xproto::SetPointerMappingReply),
5580 GetPointerMapping(xproto::GetPointerMappingReply),
5581 SetModifierMapping(xproto::SetModifierMappingReply),
5582 GetModifierMapping(xproto::GetModifierMappingReply),
5583 BigreqEnable(bigreq::EnableReply),
5584 #[cfg(feature = "composite")]
5585 CompositeQueryVersion(composite::QueryVersionReply),
5586 #[cfg(feature = "composite")]
5587 CompositeGetOverlayWindow(composite::GetOverlayWindowReply),
5588 #[cfg(feature = "damage")]
5589 DamageQueryVersion(damage::QueryVersionReply),
5590 #[cfg(feature = "dbe")]
5591 DbeQueryVersion(dbe::QueryVersionReply),
5592 #[cfg(feature = "dbe")]
5593 DbeGetVisualInfo(dbe::GetVisualInfoReply),
5594 #[cfg(feature = "dbe")]
5595 DbeGetBackBufferAttributes(dbe::GetBackBufferAttributesReply),
5596 #[cfg(feature = "dpms")]
5597 DpmsGetVersion(dpms::GetVersionReply),
5598 #[cfg(feature = "dpms")]
5599 DpmsCapable(dpms::CapableReply),
5600 #[cfg(feature = "dpms")]
5601 DpmsGetTimeouts(dpms::GetTimeoutsReply),
5602 #[cfg(feature = "dpms")]
5603 DpmsInfo(dpms::InfoReply),
5604 #[cfg(feature = "dri2")]
5605 Dri2QueryVersion(dri2::QueryVersionReply),
5606 #[cfg(feature = "dri2")]
5607 Dri2Connect(dri2::ConnectReply),
5608 #[cfg(feature = "dri2")]
5609 Dri2Authenticate(dri2::AuthenticateReply),
5610 #[cfg(feature = "dri2")]
5611 Dri2GetBuffers(dri2::GetBuffersReply),
5612 #[cfg(feature = "dri2")]
5613 Dri2CopyRegion(dri2::CopyRegionReply),
5614 #[cfg(feature = "dri2")]
5615 Dri2GetBuffersWithFormat(dri2::GetBuffersWithFormatReply),
5616 #[cfg(feature = "dri2")]
5617 Dri2SwapBuffers(dri2::SwapBuffersReply),
5618 #[cfg(feature = "dri2")]
5619 Dri2GetMSC(dri2::GetMSCReply),
5620 #[cfg(feature = "dri2")]
5621 Dri2WaitMSC(dri2::WaitMSCReply),
5622 #[cfg(feature = "dri2")]
5623 Dri2WaitSBC(dri2::WaitSBCReply),
5624 #[cfg(feature = "dri2")]
5625 Dri2GetParam(dri2::GetParamReply),
5626 #[cfg(feature = "dri3")]
5627 Dri3QueryVersion(dri3::QueryVersionReply),
5628 #[cfg(feature = "dri3")]
5629 Dri3Open(dri3::OpenReply),
5630 #[cfg(feature = "dri3")]
5631 Dri3BufferFromPixmap(dri3::BufferFromPixmapReply),
5632 #[cfg(feature = "dri3")]
5633 Dri3FDFromFence(dri3::FDFromFenceReply),
5634 #[cfg(feature = "dri3")]
5635 Dri3GetSupportedModifiers(dri3::GetSupportedModifiersReply),
5636 #[cfg(feature = "dri3")]
5637 Dri3BuffersFromPixmap(dri3::BuffersFromPixmapReply),
5638 GeQueryVersion(ge::QueryVersionReply),
5639 #[cfg(feature = "glx")]
5640 GlxMakeCurrent(glx::MakeCurrentReply),
5641 #[cfg(feature = "glx")]
5642 GlxIsDirect(glx::IsDirectReply),
5643 #[cfg(feature = "glx")]
5644 GlxQueryVersion(glx::QueryVersionReply),
5645 #[cfg(feature = "glx")]
5646 GlxGetVisualConfigs(glx::GetVisualConfigsReply),
5647 #[cfg(feature = "glx")]
5648 GlxVendorPrivateWithReply(glx::VendorPrivateWithReplyReply),
5649 #[cfg(feature = "glx")]
5650 GlxQueryExtensionsString(glx::QueryExtensionsStringReply),
5651 #[cfg(feature = "glx")]
5652 GlxQueryServerString(glx::QueryServerStringReply),
5653 #[cfg(feature = "glx")]
5654 GlxGetFBConfigs(glx::GetFBConfigsReply),
5655 #[cfg(feature = "glx")]
5656 GlxQueryContext(glx::QueryContextReply),
5657 #[cfg(feature = "glx")]
5658 GlxMakeContextCurrent(glx::MakeContextCurrentReply),
5659 #[cfg(feature = "glx")]
5660 GlxGetDrawableAttributes(glx::GetDrawableAttributesReply),
5661 #[cfg(feature = "glx")]
5662 GlxGenLists(glx::GenListsReply),
5663 #[cfg(feature = "glx")]
5664 GlxRenderMode(glx::RenderModeReply),
5665 #[cfg(feature = "glx")]
5666 GlxFinish(glx::FinishReply),
5667 #[cfg(feature = "glx")]
5668 GlxReadPixels(glx::ReadPixelsReply),
5669 #[cfg(feature = "glx")]
5670 GlxGetBooleanv(glx::GetBooleanvReply),
5671 #[cfg(feature = "glx")]
5672 GlxGetClipPlane(glx::GetClipPlaneReply),
5673 #[cfg(feature = "glx")]
5674 GlxGetDoublev(glx::GetDoublevReply),
5675 #[cfg(feature = "glx")]
5676 GlxGetError(glx::GetErrorReply),
5677 #[cfg(feature = "glx")]
5678 GlxGetFloatv(glx::GetFloatvReply),
5679 #[cfg(feature = "glx")]
5680 GlxGetIntegerv(glx::GetIntegervReply),
5681 #[cfg(feature = "glx")]
5682 GlxGetLightfv(glx::GetLightfvReply),
5683 #[cfg(feature = "glx")]
5684 GlxGetLightiv(glx::GetLightivReply),
5685 #[cfg(feature = "glx")]
5686 GlxGetMapdv(glx::GetMapdvReply),
5687 #[cfg(feature = "glx")]
5688 GlxGetMapfv(glx::GetMapfvReply),
5689 #[cfg(feature = "glx")]
5690 GlxGetMapiv(glx::GetMapivReply),
5691 #[cfg(feature = "glx")]
5692 GlxGetMaterialfv(glx::GetMaterialfvReply),
5693 #[cfg(feature = "glx")]
5694 GlxGetMaterialiv(glx::GetMaterialivReply),
5695 #[cfg(feature = "glx")]
5696 GlxGetPixelMapfv(glx::GetPixelMapfvReply),
5697 #[cfg(feature = "glx")]
5698 GlxGetPixelMapuiv(glx::GetPixelMapuivReply),
5699 #[cfg(feature = "glx")]
5700 GlxGetPixelMapusv(glx::GetPixelMapusvReply),
5701 #[cfg(feature = "glx")]
5702 GlxGetPolygonStipple(glx::GetPolygonStippleReply),
5703 #[cfg(feature = "glx")]
5704 GlxGetString(glx::GetStringReply),
5705 #[cfg(feature = "glx")]
5706 GlxGetTexEnvfv(glx::GetTexEnvfvReply),
5707 #[cfg(feature = "glx")]
5708 GlxGetTexEnviv(glx::GetTexEnvivReply),
5709 #[cfg(feature = "glx")]
5710 GlxGetTexGendv(glx::GetTexGendvReply),
5711 #[cfg(feature = "glx")]
5712 GlxGetTexGenfv(glx::GetTexGenfvReply),
5713 #[cfg(feature = "glx")]
5714 GlxGetTexGeniv(glx::GetTexGenivReply),
5715 #[cfg(feature = "glx")]
5716 GlxGetTexImage(glx::GetTexImageReply),
5717 #[cfg(feature = "glx")]
5718 GlxGetTexParameterfv(glx::GetTexParameterfvReply),
5719 #[cfg(feature = "glx")]
5720 GlxGetTexParameteriv(glx::GetTexParameterivReply),
5721 #[cfg(feature = "glx")]
5722 GlxGetTexLevelParameterfv(glx::GetTexLevelParameterfvReply),
5723 #[cfg(feature = "glx")]
5724 GlxGetTexLevelParameteriv(glx::GetTexLevelParameterivReply),
5725 #[cfg(feature = "glx")]
5726 GlxIsEnabled(glx::IsEnabledReply),
5727 #[cfg(feature = "glx")]
5728 GlxIsList(glx::IsListReply),
5729 #[cfg(feature = "glx")]
5730 GlxAreTexturesResident(glx::AreTexturesResidentReply),
5731 #[cfg(feature = "glx")]
5732 GlxGenTextures(glx::GenTexturesReply),
5733 #[cfg(feature = "glx")]
5734 GlxIsTexture(glx::IsTextureReply),
5735 #[cfg(feature = "glx")]
5736 GlxGetColorTable(glx::GetColorTableReply),
5737 #[cfg(feature = "glx")]
5738 GlxGetColorTableParameterfv(glx::GetColorTableParameterfvReply),
5739 #[cfg(feature = "glx")]
5740 GlxGetColorTableParameteriv(glx::GetColorTableParameterivReply),
5741 #[cfg(feature = "glx")]
5742 GlxGetConvolutionFilter(glx::GetConvolutionFilterReply),
5743 #[cfg(feature = "glx")]
5744 GlxGetConvolutionParameterfv(glx::GetConvolutionParameterfvReply),
5745 #[cfg(feature = "glx")]
5746 GlxGetConvolutionParameteriv(glx::GetConvolutionParameterivReply),
5747 #[cfg(feature = "glx")]
5748 GlxGetSeparableFilter(glx::GetSeparableFilterReply),
5749 #[cfg(feature = "glx")]
5750 GlxGetHistogram(glx::GetHistogramReply),
5751 #[cfg(feature = "glx")]
5752 GlxGetHistogramParameterfv(glx::GetHistogramParameterfvReply),
5753 #[cfg(feature = "glx")]
5754 GlxGetHistogramParameteriv(glx::GetHistogramParameterivReply),
5755 #[cfg(feature = "glx")]
5756 GlxGetMinmax(glx::GetMinmaxReply),
5757 #[cfg(feature = "glx")]
5758 GlxGetMinmaxParameterfv(glx::GetMinmaxParameterfvReply),
5759 #[cfg(feature = "glx")]
5760 GlxGetMinmaxParameteriv(glx::GetMinmaxParameterivReply),
5761 #[cfg(feature = "glx")]
5762 GlxGetCompressedTexImageARB(glx::GetCompressedTexImageARBReply),
5763 #[cfg(feature = "glx")]
5764 GlxGenQueriesARB(glx::GenQueriesARBReply),
5765 #[cfg(feature = "glx")]
5766 GlxIsQueryARB(glx::IsQueryARBReply),
5767 #[cfg(feature = "glx")]
5768 GlxGetQueryivARB(glx::GetQueryivARBReply),
5769 #[cfg(feature = "glx")]
5770 GlxGetQueryObjectivARB(glx::GetQueryObjectivARBReply),
5771 #[cfg(feature = "glx")]
5772 GlxGetQueryObjectuivARB(glx::GetQueryObjectuivARBReply),
5773 #[cfg(feature = "present")]
5774 PresentQueryVersion(present::QueryVersionReply),
5775 #[cfg(feature = "present")]
5776 PresentQueryCapabilities(present::QueryCapabilitiesReply),
5777 #[cfg(feature = "randr")]
5778 RandrQueryVersion(randr::QueryVersionReply),
5779 #[cfg(feature = "randr")]
5780 RandrSetScreenConfig(randr::SetScreenConfigReply),
5781 #[cfg(feature = "randr")]
5782 RandrGetScreenInfo(randr::GetScreenInfoReply),
5783 #[cfg(feature = "randr")]
5784 RandrGetScreenSizeRange(randr::GetScreenSizeRangeReply),
5785 #[cfg(feature = "randr")]
5786 RandrGetScreenResources(randr::GetScreenResourcesReply),
5787 #[cfg(feature = "randr")]
5788 RandrGetOutputInfo(randr::GetOutputInfoReply),
5789 #[cfg(feature = "randr")]
5790 RandrListOutputProperties(randr::ListOutputPropertiesReply),
5791 #[cfg(feature = "randr")]
5792 RandrQueryOutputProperty(randr::QueryOutputPropertyReply),
5793 #[cfg(feature = "randr")]
5794 RandrGetOutputProperty(randr::GetOutputPropertyReply),
5795 #[cfg(feature = "randr")]
5796 RandrCreateMode(randr::CreateModeReply),
5797 #[cfg(feature = "randr")]
5798 RandrGetCrtcInfo(randr::GetCrtcInfoReply),
5799 #[cfg(feature = "randr")]
5800 RandrSetCrtcConfig(randr::SetCrtcConfigReply),
5801 #[cfg(feature = "randr")]
5802 RandrGetCrtcGammaSize(randr::GetCrtcGammaSizeReply),
5803 #[cfg(feature = "randr")]
5804 RandrGetCrtcGamma(randr::GetCrtcGammaReply),
5805 #[cfg(feature = "randr")]
5806 RandrGetScreenResourcesCurrent(randr::GetScreenResourcesCurrentReply),
5807 #[cfg(feature = "randr")]
5808 RandrGetCrtcTransform(randr::GetCrtcTransformReply),
5809 #[cfg(feature = "randr")]
5810 RandrGetPanning(randr::GetPanningReply),
5811 #[cfg(feature = "randr")]
5812 RandrSetPanning(randr::SetPanningReply),
5813 #[cfg(feature = "randr")]
5814 RandrGetOutputPrimary(randr::GetOutputPrimaryReply),
5815 #[cfg(feature = "randr")]
5816 RandrGetProviders(randr::GetProvidersReply),
5817 #[cfg(feature = "randr")]
5818 RandrGetProviderInfo(randr::GetProviderInfoReply),
5819 #[cfg(feature = "randr")]
5820 RandrListProviderProperties(randr::ListProviderPropertiesReply),
5821 #[cfg(feature = "randr")]
5822 RandrQueryProviderProperty(randr::QueryProviderPropertyReply),
5823 #[cfg(feature = "randr")]
5824 RandrGetProviderProperty(randr::GetProviderPropertyReply),
5825 #[cfg(feature = "randr")]
5826 RandrGetMonitors(randr::GetMonitorsReply),
5827 #[cfg(feature = "randr")]
5828 RandrCreateLease(randr::CreateLeaseReply),
5829 #[cfg(feature = "record")]
5830 RecordQueryVersion(record::QueryVersionReply),
5831 #[cfg(feature = "record")]
5832 RecordGetContext(record::GetContextReply),
5833 #[cfg(feature = "record")]
5834 RecordEnableContext(record::EnableContextReply),
5835 #[cfg(feature = "render")]
5836 RenderQueryVersion(render::QueryVersionReply),
5837 #[cfg(feature = "render")]
5838 RenderQueryPictFormats(render::QueryPictFormatsReply),
5839 #[cfg(feature = "render")]
5840 RenderQueryPictIndexValues(render::QueryPictIndexValuesReply),
5841 #[cfg(feature = "render")]
5842 RenderQueryFilters(render::QueryFiltersReply),
5843 #[cfg(feature = "res")]
5844 ResQueryVersion(res::QueryVersionReply),
5845 #[cfg(feature = "res")]
5846 ResQueryClients(res::QueryClientsReply),
5847 #[cfg(feature = "res")]
5848 ResQueryClientResources(res::QueryClientResourcesReply),
5849 #[cfg(feature = "res")]
5850 ResQueryClientPixmapBytes(res::QueryClientPixmapBytesReply),
5851 #[cfg(feature = "res")]
5852 ResQueryClientIds(res::QueryClientIdsReply),
5853 #[cfg(feature = "res")]
5854 ResQueryResourceBytes(res::QueryResourceBytesReply),
5855 #[cfg(feature = "screensaver")]
5856 ScreensaverQueryVersion(screensaver::QueryVersionReply),
5857 #[cfg(feature = "screensaver")]
5858 ScreensaverQueryInfo(screensaver::QueryInfoReply),
5859 #[cfg(feature = "shape")]
5860 ShapeQueryVersion(shape::QueryVersionReply),
5861 #[cfg(feature = "shape")]
5862 ShapeQueryExtents(shape::QueryExtentsReply),
5863 #[cfg(feature = "shape")]
5864 ShapeInputSelected(shape::InputSelectedReply),
5865 #[cfg(feature = "shape")]
5866 ShapeGetRectangles(shape::GetRectanglesReply),
5867 #[cfg(feature = "shm")]
5868 ShmQueryVersion(shm::QueryVersionReply),
5869 #[cfg(feature = "shm")]
5870 ShmGetImage(shm::GetImageReply),
5871 #[cfg(feature = "shm")]
5872 ShmCreateSegment(shm::CreateSegmentReply),
5873 #[cfg(feature = "sync")]
5874 SyncInitialize(sync::InitializeReply),
5875 #[cfg(feature = "sync")]
5876 SyncListSystemCounters(sync::ListSystemCountersReply),
5877 #[cfg(feature = "sync")]
5878 SyncQueryCounter(sync::QueryCounterReply),
5879 #[cfg(feature = "sync")]
5880 SyncQueryAlarm(sync::QueryAlarmReply),
5881 #[cfg(feature = "sync")]
5882 SyncGetPriority(sync::GetPriorityReply),
5883 #[cfg(feature = "sync")]
5884 SyncQueryFence(sync::QueryFenceReply),
5885 XcMiscGetVersion(xc_misc::GetVersionReply),
5886 XcMiscGetXIDRange(xc_misc::GetXIDRangeReply),
5887 XcMiscGetXIDList(xc_misc::GetXIDListReply),
5888 #[cfg(feature = "xevie")]
5889 XevieQueryVersion(xevie::QueryVersionReply),
5890 #[cfg(feature = "xevie")]
5891 XevieStart(xevie::StartReply),
5892 #[cfg(feature = "xevie")]
5893 XevieEnd(xevie::EndReply),
5894 #[cfg(feature = "xevie")]
5895 XevieSend(xevie::SendReply),
5896 #[cfg(feature = "xevie")]
5897 XevieSelectInput(xevie::SelectInputReply),
5898 #[cfg(feature = "xf86dri")]
5899 Xf86driQueryVersion(xf86dri::QueryVersionReply),
5900 #[cfg(feature = "xf86dri")]
5901 Xf86driQueryDirectRenderingCapable(xf86dri::QueryDirectRenderingCapableReply),
5902 #[cfg(feature = "xf86dri")]
5903 Xf86driOpenConnection(xf86dri::OpenConnectionReply),
5904 #[cfg(feature = "xf86dri")]
5905 Xf86driGetClientDriverName(xf86dri::GetClientDriverNameReply),
5906 #[cfg(feature = "xf86dri")]
5907 Xf86driCreateContext(xf86dri::CreateContextReply),
5908 #[cfg(feature = "xf86dri")]
5909 Xf86driCreateDrawable(xf86dri::CreateDrawableReply),
5910 #[cfg(feature = "xf86dri")]
5911 Xf86driGetDrawableInfo(xf86dri::GetDrawableInfoReply),
5912 #[cfg(feature = "xf86dri")]
5913 Xf86driGetDeviceInfo(xf86dri::GetDeviceInfoReply),
5914 #[cfg(feature = "xf86dri")]
5915 Xf86driAuthConnection(xf86dri::AuthConnectionReply),
5916 #[cfg(feature = "xf86vidmode")]
5917 Xf86vidmodeQueryVersion(xf86vidmode::QueryVersionReply),
5918 #[cfg(feature = "xf86vidmode")]
5919 Xf86vidmodeGetModeLine(xf86vidmode::GetModeLineReply),
5920 #[cfg(feature = "xf86vidmode")]
5921 Xf86vidmodeGetMonitor(xf86vidmode::GetMonitorReply),
5922 #[cfg(feature = "xf86vidmode")]
5923 Xf86vidmodeGetAllModeLines(xf86vidmode::GetAllModeLinesReply),
5924 #[cfg(feature = "xf86vidmode")]
5925 Xf86vidmodeValidateModeLine(xf86vidmode::ValidateModeLineReply),
5926 #[cfg(feature = "xf86vidmode")]
5927 Xf86vidmodeGetViewPort(xf86vidmode::GetViewPortReply),
5928 #[cfg(feature = "xf86vidmode")]
5929 Xf86vidmodeGetDotClocks(xf86vidmode::GetDotClocksReply),
5930 #[cfg(feature = "xf86vidmode")]
5931 Xf86vidmodeGetGamma(xf86vidmode::GetGammaReply),
5932 #[cfg(feature = "xf86vidmode")]
5933 Xf86vidmodeGetGammaRamp(xf86vidmode::GetGammaRampReply),
5934 #[cfg(feature = "xf86vidmode")]
5935 Xf86vidmodeGetGammaRampSize(xf86vidmode::GetGammaRampSizeReply),
5936 #[cfg(feature = "xf86vidmode")]
5937 Xf86vidmodeGetPermissions(xf86vidmode::GetPermissionsReply),
5938 #[cfg(feature = "xfixes")]
5939 XfixesQueryVersion(xfixes::QueryVersionReply),
5940 #[cfg(feature = "xfixes")]
5941 XfixesGetCursorImage(xfixes::GetCursorImageReply),
5942 #[cfg(feature = "xfixes")]
5943 XfixesFetchRegion(xfixes::FetchRegionReply),
5944 #[cfg(feature = "xfixes")]
5945 XfixesGetCursorName(xfixes::GetCursorNameReply),
5946 #[cfg(feature = "xfixes")]
5947 XfixesGetCursorImageAndName(xfixes::GetCursorImageAndNameReply),
5948 #[cfg(feature = "xfixes")]
5949 XfixesGetClientDisconnectMode(xfixes::GetClientDisconnectModeReply),
5950 #[cfg(feature = "xinerama")]
5951 XineramaQueryVersion(xinerama::QueryVersionReply),
5952 #[cfg(feature = "xinerama")]
5953 XineramaGetState(xinerama::GetStateReply),
5954 #[cfg(feature = "xinerama")]
5955 XineramaGetScreenCount(xinerama::GetScreenCountReply),
5956 #[cfg(feature = "xinerama")]
5957 XineramaGetScreenSize(xinerama::GetScreenSizeReply),
5958 #[cfg(feature = "xinerama")]
5959 XineramaIsActive(xinerama::IsActiveReply),
5960 #[cfg(feature = "xinerama")]
5961 XineramaQueryScreens(xinerama::QueryScreensReply),
5962 #[cfg(feature = "xinput")]
5963 XinputGetExtensionVersion(xinput::GetExtensionVersionReply),
5964 #[cfg(feature = "xinput")]
5965 XinputListInputDevices(xinput::ListInputDevicesReply),
5966 #[cfg(feature = "xinput")]
5967 XinputOpenDevice(xinput::OpenDeviceReply),
5968 #[cfg(feature = "xinput")]
5969 XinputSetDeviceMode(xinput::SetDeviceModeReply),
5970 #[cfg(feature = "xinput")]
5971 XinputGetSelectedExtensionEvents(xinput::GetSelectedExtensionEventsReply),
5972 #[cfg(feature = "xinput")]
5973 XinputGetDeviceDontPropagateList(xinput::GetDeviceDontPropagateListReply),
5974 #[cfg(feature = "xinput")]
5975 XinputGetDeviceMotionEvents(xinput::GetDeviceMotionEventsReply),
5976 #[cfg(feature = "xinput")]
5977 XinputChangeKeyboardDevice(xinput::ChangeKeyboardDeviceReply),
5978 #[cfg(feature = "xinput")]
5979 XinputChangePointerDevice(xinput::ChangePointerDeviceReply),
5980 #[cfg(feature = "xinput")]
5981 XinputGrabDevice(xinput::GrabDeviceReply),
5982 #[cfg(feature = "xinput")]
5983 XinputGetDeviceFocus(xinput::GetDeviceFocusReply),
5984 #[cfg(feature = "xinput")]
5985 XinputGetFeedbackControl(xinput::GetFeedbackControlReply),
5986 #[cfg(feature = "xinput")]
5987 XinputGetDeviceKeyMapping(xinput::GetDeviceKeyMappingReply),
5988 #[cfg(feature = "xinput")]
5989 XinputGetDeviceModifierMapping(xinput::GetDeviceModifierMappingReply),
5990 #[cfg(feature = "xinput")]
5991 XinputSetDeviceModifierMapping(xinput::SetDeviceModifierMappingReply),
5992 #[cfg(feature = "xinput")]
5993 XinputGetDeviceButtonMapping(xinput::GetDeviceButtonMappingReply),
5994 #[cfg(feature = "xinput")]
5995 XinputSetDeviceButtonMapping(xinput::SetDeviceButtonMappingReply),
5996 #[cfg(feature = "xinput")]
5997 XinputQueryDeviceState(xinput::QueryDeviceStateReply),
5998 #[cfg(feature = "xinput")]
5999 XinputSetDeviceValuators(xinput::SetDeviceValuatorsReply),
6000 #[cfg(feature = "xinput")]
6001 XinputGetDeviceControl(xinput::GetDeviceControlReply),
6002 #[cfg(feature = "xinput")]
6003 XinputChangeDeviceControl(xinput::ChangeDeviceControlReply),
6004 #[cfg(feature = "xinput")]
6005 XinputListDeviceProperties(xinput::ListDevicePropertiesReply),
6006 #[cfg(feature = "xinput")]
6007 XinputGetDeviceProperty(xinput::GetDevicePropertyReply),
6008 #[cfg(feature = "xinput")]
6009 XinputXIQueryPointer(xinput::XIQueryPointerReply),
6010 #[cfg(feature = "xinput")]
6011 XinputXIGetClientPointer(xinput::XIGetClientPointerReply),
6012 #[cfg(feature = "xinput")]
6013 XinputXIQueryVersion(xinput::XIQueryVersionReply),
6014 #[cfg(feature = "xinput")]
6015 XinputXIQueryDevice(xinput::XIQueryDeviceReply),
6016 #[cfg(feature = "xinput")]
6017 XinputXIGetFocus(xinput::XIGetFocusReply),
6018 #[cfg(feature = "xinput")]
6019 XinputXIGrabDevice(xinput::XIGrabDeviceReply),
6020 #[cfg(feature = "xinput")]
6021 XinputXIPassiveGrabDevice(xinput::XIPassiveGrabDeviceReply),
6022 #[cfg(feature = "xinput")]
6023 XinputXIListProperties(xinput::XIListPropertiesReply),
6024 #[cfg(feature = "xinput")]
6025 XinputXIGetProperty(xinput::XIGetPropertyReply),
6026 #[cfg(feature = "xinput")]
6027 XinputXIGetSelectedEvents(xinput::XIGetSelectedEventsReply),
6028 #[cfg(feature = "xkb")]
6029 XkbUseExtension(xkb::UseExtensionReply),
6030 #[cfg(feature = "xkb")]
6031 XkbGetState(xkb::GetStateReply),
6032 #[cfg(feature = "xkb")]
6033 XkbGetControls(xkb::GetControlsReply),
6034 #[cfg(feature = "xkb")]
6035 XkbGetMap(xkb::GetMapReply),
6036 #[cfg(feature = "xkb")]
6037 XkbGetCompatMap(xkb::GetCompatMapReply),
6038 #[cfg(feature = "xkb")]
6039 XkbGetIndicatorState(xkb::GetIndicatorStateReply),
6040 #[cfg(feature = "xkb")]
6041 XkbGetIndicatorMap(xkb::GetIndicatorMapReply),
6042 #[cfg(feature = "xkb")]
6043 XkbGetNamedIndicator(xkb::GetNamedIndicatorReply),
6044 #[cfg(feature = "xkb")]
6045 XkbGetNames(xkb::GetNamesReply),
6046 #[cfg(feature = "xkb")]
6047 XkbPerClientFlags(xkb::PerClientFlagsReply),
6048 #[cfg(feature = "xkb")]
6049 XkbListComponents(xkb::ListComponentsReply),
6050 #[cfg(feature = "xkb")]
6051 XkbGetKbdByName(xkb::GetKbdByNameReply),
6052 #[cfg(feature = "xkb")]
6053 XkbGetDeviceInfo(xkb::GetDeviceInfoReply),
6054 #[cfg(feature = "xkb")]
6055 XkbSetDebuggingFlags(xkb::SetDebuggingFlagsReply),
6056 #[cfg(feature = "xprint")]
6057 XprintPrintQueryVersion(xprint::PrintQueryVersionReply),
6058 #[cfg(feature = "xprint")]
6059 XprintPrintGetPrinterList(xprint::PrintGetPrinterListReply),
6060 #[cfg(feature = "xprint")]
6061 XprintPrintGetContext(xprint::PrintGetContextReply),
6062 #[cfg(feature = "xprint")]
6063 XprintPrintGetScreenOfContext(xprint::PrintGetScreenOfContextReply),
6064 #[cfg(feature = "xprint")]
6065 XprintPrintGetDocumentData(xprint::PrintGetDocumentDataReply),
6066 #[cfg(feature = "xprint")]
6067 XprintPrintInputSelected(xprint::PrintInputSelectedReply),
6068 #[cfg(feature = "xprint")]
6069 XprintPrintGetAttributes(xprint::PrintGetAttributesReply),
6070 #[cfg(feature = "xprint")]
6071 XprintPrintGetOneAttributes(xprint::PrintGetOneAttributesReply),
6072 #[cfg(feature = "xprint")]
6073 XprintPrintGetPageDimensions(xprint::PrintGetPageDimensionsReply),
6074 #[cfg(feature = "xprint")]
6075 XprintPrintQueryScreens(xprint::PrintQueryScreensReply),
6076 #[cfg(feature = "xprint")]
6077 XprintPrintSetImageResolution(xprint::PrintSetImageResolutionReply),
6078 #[cfg(feature = "xprint")]
6079 XprintPrintGetImageResolution(xprint::PrintGetImageResolutionReply),
6080 #[cfg(feature = "xselinux")]
6081 XselinuxQueryVersion(xselinux::QueryVersionReply),
6082 #[cfg(feature = "xselinux")]
6083 XselinuxGetDeviceCreateContext(xselinux::GetDeviceCreateContextReply),
6084 #[cfg(feature = "xselinux")]
6085 XselinuxGetDeviceContext(xselinux::GetDeviceContextReply),
6086 #[cfg(feature = "xselinux")]
6087 XselinuxGetWindowCreateContext(xselinux::GetWindowCreateContextReply),
6088 #[cfg(feature = "xselinux")]
6089 XselinuxGetWindowContext(xselinux::GetWindowContextReply),
6090 #[cfg(feature = "xselinux")]
6091 XselinuxGetPropertyCreateContext(xselinux::GetPropertyCreateContextReply),
6092 #[cfg(feature = "xselinux")]
6093 XselinuxGetPropertyUseContext(xselinux::GetPropertyUseContextReply),
6094 #[cfg(feature = "xselinux")]
6095 XselinuxGetPropertyContext(xselinux::GetPropertyContextReply),
6096 #[cfg(feature = "xselinux")]
6097 XselinuxGetPropertyDataContext(xselinux::GetPropertyDataContextReply),
6098 #[cfg(feature = "xselinux")]
6099 XselinuxListProperties(xselinux::ListPropertiesReply),
6100 #[cfg(feature = "xselinux")]
6101 XselinuxGetSelectionCreateContext(xselinux::GetSelectionCreateContextReply),
6102 #[cfg(feature = "xselinux")]
6103 XselinuxGetSelectionUseContext(xselinux::GetSelectionUseContextReply),
6104 #[cfg(feature = "xselinux")]
6105 XselinuxGetSelectionContext(xselinux::GetSelectionContextReply),
6106 #[cfg(feature = "xselinux")]
6107 XselinuxGetSelectionDataContext(xselinux::GetSelectionDataContextReply),
6108 #[cfg(feature = "xselinux")]
6109 XselinuxListSelections(xselinux::ListSelectionsReply),
6110 #[cfg(feature = "xselinux")]
6111 XselinuxGetClientContext(xselinux::GetClientContextReply),
6112 #[cfg(feature = "xtest")]
6113 XtestGetVersion(xtest::GetVersionReply),
6114 #[cfg(feature = "xtest")]
6115 XtestCompareCursor(xtest::CompareCursorReply),
6116 #[cfg(feature = "xv")]
6117 XvQueryExtension(xv::QueryExtensionReply),
6118 #[cfg(feature = "xv")]
6119 XvQueryAdaptors(xv::QueryAdaptorsReply),
6120 #[cfg(feature = "xv")]
6121 XvQueryEncodings(xv::QueryEncodingsReply),
6122 #[cfg(feature = "xv")]
6123 XvGrabPort(xv::GrabPortReply),
6124 #[cfg(feature = "xv")]
6125 XvQueryBestSize(xv::QueryBestSizeReply),
6126 #[cfg(feature = "xv")]
6127 XvGetPortAttribute(xv::GetPortAttributeReply),
6128 #[cfg(feature = "xv")]
6129 XvQueryPortAttributes(xv::QueryPortAttributesReply),
6130 #[cfg(feature = "xv")]
6131 XvListImageFormats(xv::ListImageFormatsReply),
6132 #[cfg(feature = "xv")]
6133 XvQueryImageAttributes(xv::QueryImageAttributesReply),
6134 #[cfg(feature = "xvmc")]
6135 XvmcQueryVersion(xvmc::QueryVersionReply),
6136 #[cfg(feature = "xvmc")]
6137 XvmcListSurfaceTypes(xvmc::ListSurfaceTypesReply),
6138 #[cfg(feature = "xvmc")]
6139 XvmcCreateContext(xvmc::CreateContextReply),
6140 #[cfg(feature = "xvmc")]
6141 XvmcCreateSurface(xvmc::CreateSurfaceReply),
6142 #[cfg(feature = "xvmc")]
6143 XvmcCreateSubpicture(xvmc::CreateSubpictureReply),
6144 #[cfg(feature = "xvmc")]
6145 XvmcListSubpictureTypes(xvmc::ListSubpictureTypesReply),
6146}
6147impl From<()> for Reply {
6148 fn from(_: ()) -> Reply {
6149 Reply::Void
6150 }
6151}
6152impl From<xproto::GetWindowAttributesReply> for Reply {
6153 fn from(reply: xproto::GetWindowAttributesReply) -> Reply {
6154 Reply::GetWindowAttributes(reply)
6155 }
6156}
6157impl From<xproto::GetGeometryReply> for Reply {
6158 fn from(reply: xproto::GetGeometryReply) -> Reply {
6159 Reply::GetGeometry(reply)
6160 }
6161}
6162impl From<xproto::QueryTreeReply> for Reply {
6163 fn from(reply: xproto::QueryTreeReply) -> Reply {
6164 Reply::QueryTree(reply)
6165 }
6166}
6167impl From<xproto::InternAtomReply> for Reply {
6168 fn from(reply: xproto::InternAtomReply) -> Reply {
6169 Reply::InternAtom(reply)
6170 }
6171}
6172impl From<xproto::GetAtomNameReply> for Reply {
6173 fn from(reply: xproto::GetAtomNameReply) -> Reply {
6174 Reply::GetAtomName(reply)
6175 }
6176}
6177impl From<xproto::GetPropertyReply> for Reply {
6178 fn from(reply: xproto::GetPropertyReply) -> Reply {
6179 Reply::GetProperty(reply)
6180 }
6181}
6182impl From<xproto::ListPropertiesReply> for Reply {
6183 fn from(reply: xproto::ListPropertiesReply) -> Reply {
6184 Reply::ListProperties(reply)
6185 }
6186}
6187impl From<xproto::GetSelectionOwnerReply> for Reply {
6188 fn from(reply: xproto::GetSelectionOwnerReply) -> Reply {
6189 Reply::GetSelectionOwner(reply)
6190 }
6191}
6192impl From<xproto::GrabPointerReply> for Reply {
6193 fn from(reply: xproto::GrabPointerReply) -> Reply {
6194 Reply::GrabPointer(reply)
6195 }
6196}
6197impl From<xproto::GrabKeyboardReply> for Reply {
6198 fn from(reply: xproto::GrabKeyboardReply) -> Reply {
6199 Reply::GrabKeyboard(reply)
6200 }
6201}
6202impl From<xproto::QueryPointerReply> for Reply {
6203 fn from(reply: xproto::QueryPointerReply) -> Reply {
6204 Reply::QueryPointer(reply)
6205 }
6206}
6207impl From<xproto::GetMotionEventsReply> for Reply {
6208 fn from(reply: xproto::GetMotionEventsReply) -> Reply {
6209 Reply::GetMotionEvents(reply)
6210 }
6211}
6212impl From<xproto::TranslateCoordinatesReply> for Reply {
6213 fn from(reply: xproto::TranslateCoordinatesReply) -> Reply {
6214 Reply::TranslateCoordinates(reply)
6215 }
6216}
6217impl From<xproto::GetInputFocusReply> for Reply {
6218 fn from(reply: xproto::GetInputFocusReply) -> Reply {
6219 Reply::GetInputFocus(reply)
6220 }
6221}
6222impl From<xproto::QueryKeymapReply> for Reply {
6223 fn from(reply: xproto::QueryKeymapReply) -> Reply {
6224 Reply::QueryKeymap(reply)
6225 }
6226}
6227impl From<xproto::QueryFontReply> for Reply {
6228 fn from(reply: xproto::QueryFontReply) -> Reply {
6229 Reply::QueryFont(reply)
6230 }
6231}
6232impl From<xproto::QueryTextExtentsReply> for Reply {
6233 fn from(reply: xproto::QueryTextExtentsReply) -> Reply {
6234 Reply::QueryTextExtents(reply)
6235 }
6236}
6237impl From<xproto::ListFontsReply> for Reply {
6238 fn from(reply: xproto::ListFontsReply) -> Reply {
6239 Reply::ListFonts(reply)
6240 }
6241}
6242impl From<xproto::ListFontsWithInfoReply> for Reply {
6243 fn from(reply: xproto::ListFontsWithInfoReply) -> Reply {
6244 Reply::ListFontsWithInfo(reply)
6245 }
6246}
6247impl From<xproto::GetFontPathReply> for Reply {
6248 fn from(reply: xproto::GetFontPathReply) -> Reply {
6249 Reply::GetFontPath(reply)
6250 }
6251}
6252impl From<xproto::GetImageReply> for Reply {
6253 fn from(reply: xproto::GetImageReply) -> Reply {
6254 Reply::GetImage(reply)
6255 }
6256}
6257impl From<xproto::ListInstalledColormapsReply> for Reply {
6258 fn from(reply: xproto::ListInstalledColormapsReply) -> Reply {
6259 Reply::ListInstalledColormaps(reply)
6260 }
6261}
6262impl From<xproto::AllocColorReply> for Reply {
6263 fn from(reply: xproto::AllocColorReply) -> Reply {
6264 Reply::AllocColor(reply)
6265 }
6266}
6267impl From<xproto::AllocNamedColorReply> for Reply {
6268 fn from(reply: xproto::AllocNamedColorReply) -> Reply {
6269 Reply::AllocNamedColor(reply)
6270 }
6271}
6272impl From<xproto::AllocColorCellsReply> for Reply {
6273 fn from(reply: xproto::AllocColorCellsReply) -> Reply {
6274 Reply::AllocColorCells(reply)
6275 }
6276}
6277impl From<xproto::AllocColorPlanesReply> for Reply {
6278 fn from(reply: xproto::AllocColorPlanesReply) -> Reply {
6279 Reply::AllocColorPlanes(reply)
6280 }
6281}
6282impl From<xproto::QueryColorsReply> for Reply {
6283 fn from(reply: xproto::QueryColorsReply) -> Reply {
6284 Reply::QueryColors(reply)
6285 }
6286}
6287impl From<xproto::LookupColorReply> for Reply {
6288 fn from(reply: xproto::LookupColorReply) -> Reply {
6289 Reply::LookupColor(reply)
6290 }
6291}
6292impl From<xproto::QueryBestSizeReply> for Reply {
6293 fn from(reply: xproto::QueryBestSizeReply) -> Reply {
6294 Reply::QueryBestSize(reply)
6295 }
6296}
6297impl From<xproto::QueryExtensionReply> for Reply {
6298 fn from(reply: xproto::QueryExtensionReply) -> Reply {
6299 Reply::QueryExtension(reply)
6300 }
6301}
6302impl From<xproto::ListExtensionsReply> for Reply {
6303 fn from(reply: xproto::ListExtensionsReply) -> Reply {
6304 Reply::ListExtensions(reply)
6305 }
6306}
6307impl From<xproto::GetKeyboardMappingReply> for Reply {
6308 fn from(reply: xproto::GetKeyboardMappingReply) -> Reply {
6309 Reply::GetKeyboardMapping(reply)
6310 }
6311}
6312impl From<xproto::GetKeyboardControlReply> for Reply {
6313 fn from(reply: xproto::GetKeyboardControlReply) -> Reply {
6314 Reply::GetKeyboardControl(reply)
6315 }
6316}
6317impl From<xproto::GetPointerControlReply> for Reply {
6318 fn from(reply: xproto::GetPointerControlReply) -> Reply {
6319 Reply::GetPointerControl(reply)
6320 }
6321}
6322impl From<xproto::GetScreenSaverReply> for Reply {
6323 fn from(reply: xproto::GetScreenSaverReply) -> Reply {
6324 Reply::GetScreenSaver(reply)
6325 }
6326}
6327impl From<xproto::ListHostsReply> for Reply {
6328 fn from(reply: xproto::ListHostsReply) -> Reply {
6329 Reply::ListHosts(reply)
6330 }
6331}
6332impl From<xproto::SetPointerMappingReply> for Reply {
6333 fn from(reply: xproto::SetPointerMappingReply) -> Reply {
6334 Reply::SetPointerMapping(reply)
6335 }
6336}
6337impl From<xproto::GetPointerMappingReply> for Reply {
6338 fn from(reply: xproto::GetPointerMappingReply) -> Reply {
6339 Reply::GetPointerMapping(reply)
6340 }
6341}
6342impl From<xproto::SetModifierMappingReply> for Reply {
6343 fn from(reply: xproto::SetModifierMappingReply) -> Reply {
6344 Reply::SetModifierMapping(reply)
6345 }
6346}
6347impl From<xproto::GetModifierMappingReply> for Reply {
6348 fn from(reply: xproto::GetModifierMappingReply) -> Reply {
6349 Reply::GetModifierMapping(reply)
6350 }
6351}
6352impl From<bigreq::EnableReply> for Reply {
6353 fn from(reply: bigreq::EnableReply) -> Reply {
6354 Reply::BigreqEnable(reply)
6355 }
6356}
6357#[cfg(feature = "composite")]
6358impl From<composite::QueryVersionReply> for Reply {
6359 fn from(reply: composite::QueryVersionReply) -> Reply {
6360 Reply::CompositeQueryVersion(reply)
6361 }
6362}
6363#[cfg(feature = "composite")]
6364impl From<composite::GetOverlayWindowReply> for Reply {
6365 fn from(reply: composite::GetOverlayWindowReply) -> Reply {
6366 Reply::CompositeGetOverlayWindow(reply)
6367 }
6368}
6369#[cfg(feature = "damage")]
6370impl From<damage::QueryVersionReply> for Reply {
6371 fn from(reply: damage::QueryVersionReply) -> Reply {
6372 Reply::DamageQueryVersion(reply)
6373 }
6374}
6375#[cfg(feature = "dbe")]
6376impl From<dbe::QueryVersionReply> for Reply {
6377 fn from(reply: dbe::QueryVersionReply) -> Reply {
6378 Reply::DbeQueryVersion(reply)
6379 }
6380}
6381#[cfg(feature = "dbe")]
6382impl From<dbe::GetVisualInfoReply> for Reply {
6383 fn from(reply: dbe::GetVisualInfoReply) -> Reply {
6384 Reply::DbeGetVisualInfo(reply)
6385 }
6386}
6387#[cfg(feature = "dbe")]
6388impl From<dbe::GetBackBufferAttributesReply> for Reply {
6389 fn from(reply: dbe::GetBackBufferAttributesReply) -> Reply {
6390 Reply::DbeGetBackBufferAttributes(reply)
6391 }
6392}
6393#[cfg(feature = "dpms")]
6394impl From<dpms::GetVersionReply> for Reply {
6395 fn from(reply: dpms::GetVersionReply) -> Reply {
6396 Reply::DpmsGetVersion(reply)
6397 }
6398}
6399#[cfg(feature = "dpms")]
6400impl From<dpms::CapableReply> for Reply {
6401 fn from(reply: dpms::CapableReply) -> Reply {
6402 Reply::DpmsCapable(reply)
6403 }
6404}
6405#[cfg(feature = "dpms")]
6406impl From<dpms::GetTimeoutsReply> for Reply {
6407 fn from(reply: dpms::GetTimeoutsReply) -> Reply {
6408 Reply::DpmsGetTimeouts(reply)
6409 }
6410}
6411#[cfg(feature = "dpms")]
6412impl From<dpms::InfoReply> for Reply {
6413 fn from(reply: dpms::InfoReply) -> Reply {
6414 Reply::DpmsInfo(reply)
6415 }
6416}
6417#[cfg(feature = "dri2")]
6418impl From<dri2::QueryVersionReply> for Reply {
6419 fn from(reply: dri2::QueryVersionReply) -> Reply {
6420 Reply::Dri2QueryVersion(reply)
6421 }
6422}
6423#[cfg(feature = "dri2")]
6424impl From<dri2::ConnectReply> for Reply {
6425 fn from(reply: dri2::ConnectReply) -> Reply {
6426 Reply::Dri2Connect(reply)
6427 }
6428}
6429#[cfg(feature = "dri2")]
6430impl From<dri2::AuthenticateReply> for Reply {
6431 fn from(reply: dri2::AuthenticateReply) -> Reply {
6432 Reply::Dri2Authenticate(reply)
6433 }
6434}
6435#[cfg(feature = "dri2")]
6436impl From<dri2::GetBuffersReply> for Reply {
6437 fn from(reply: dri2::GetBuffersReply) -> Reply {
6438 Reply::Dri2GetBuffers(reply)
6439 }
6440}
6441#[cfg(feature = "dri2")]
6442impl From<dri2::CopyRegionReply> for Reply {
6443 fn from(reply: dri2::CopyRegionReply) -> Reply {
6444 Reply::Dri2CopyRegion(reply)
6445 }
6446}
6447#[cfg(feature = "dri2")]
6448impl From<dri2::GetBuffersWithFormatReply> for Reply {
6449 fn from(reply: dri2::GetBuffersWithFormatReply) -> Reply {
6450 Reply::Dri2GetBuffersWithFormat(reply)
6451 }
6452}
6453#[cfg(feature = "dri2")]
6454impl From<dri2::SwapBuffersReply> for Reply {
6455 fn from(reply: dri2::SwapBuffersReply) -> Reply {
6456 Reply::Dri2SwapBuffers(reply)
6457 }
6458}
6459#[cfg(feature = "dri2")]
6460impl From<dri2::GetMSCReply> for Reply {
6461 fn from(reply: dri2::GetMSCReply) -> Reply {
6462 Reply::Dri2GetMSC(reply)
6463 }
6464}
6465#[cfg(feature = "dri2")]
6466impl From<dri2::WaitMSCReply> for Reply {
6467 fn from(reply: dri2::WaitMSCReply) -> Reply {
6468 Reply::Dri2WaitMSC(reply)
6469 }
6470}
6471#[cfg(feature = "dri2")]
6472impl From<dri2::WaitSBCReply> for Reply {
6473 fn from(reply: dri2::WaitSBCReply) -> Reply {
6474 Reply::Dri2WaitSBC(reply)
6475 }
6476}
6477#[cfg(feature = "dri2")]
6478impl From<dri2::GetParamReply> for Reply {
6479 fn from(reply: dri2::GetParamReply) -> Reply {
6480 Reply::Dri2GetParam(reply)
6481 }
6482}
6483#[cfg(feature = "dri3")]
6484impl From<dri3::QueryVersionReply> for Reply {
6485 fn from(reply: dri3::QueryVersionReply) -> Reply {
6486 Reply::Dri3QueryVersion(reply)
6487 }
6488}
6489#[cfg(feature = "dri3")]
6490impl From<dri3::OpenReply> for Reply {
6491 fn from(reply: dri3::OpenReply) -> Reply {
6492 Reply::Dri3Open(reply)
6493 }
6494}
6495#[cfg(feature = "dri3")]
6496impl From<dri3::BufferFromPixmapReply> for Reply {
6497 fn from(reply: dri3::BufferFromPixmapReply) -> Reply {
6498 Reply::Dri3BufferFromPixmap(reply)
6499 }
6500}
6501#[cfg(feature = "dri3")]
6502impl From<dri3::FDFromFenceReply> for Reply {
6503 fn from(reply: dri3::FDFromFenceReply) -> Reply {
6504 Reply::Dri3FDFromFence(reply)
6505 }
6506}
6507#[cfg(feature = "dri3")]
6508impl From<dri3::GetSupportedModifiersReply> for Reply {
6509 fn from(reply: dri3::GetSupportedModifiersReply) -> Reply {
6510 Reply::Dri3GetSupportedModifiers(reply)
6511 }
6512}
6513#[cfg(feature = "dri3")]
6514impl From<dri3::BuffersFromPixmapReply> for Reply {
6515 fn from(reply: dri3::BuffersFromPixmapReply) -> Reply {
6516 Reply::Dri3BuffersFromPixmap(reply)
6517 }
6518}
6519impl From<ge::QueryVersionReply> for Reply {
6520 fn from(reply: ge::QueryVersionReply) -> Reply {
6521 Reply::GeQueryVersion(reply)
6522 }
6523}
6524#[cfg(feature = "glx")]
6525impl From<glx::MakeCurrentReply> for Reply {
6526 fn from(reply: glx::MakeCurrentReply) -> Reply {
6527 Reply::GlxMakeCurrent(reply)
6528 }
6529}
6530#[cfg(feature = "glx")]
6531impl From<glx::IsDirectReply> for Reply {
6532 fn from(reply: glx::IsDirectReply) -> Reply {
6533 Reply::GlxIsDirect(reply)
6534 }
6535}
6536#[cfg(feature = "glx")]
6537impl From<glx::QueryVersionReply> for Reply {
6538 fn from(reply: glx::QueryVersionReply) -> Reply {
6539 Reply::GlxQueryVersion(reply)
6540 }
6541}
6542#[cfg(feature = "glx")]
6543impl From<glx::GetVisualConfigsReply> for Reply {
6544 fn from(reply: glx::GetVisualConfigsReply) -> Reply {
6545 Reply::GlxGetVisualConfigs(reply)
6546 }
6547}
6548#[cfg(feature = "glx")]
6549impl From<glx::VendorPrivateWithReplyReply> for Reply {
6550 fn from(reply: glx::VendorPrivateWithReplyReply) -> Reply {
6551 Reply::GlxVendorPrivateWithReply(reply)
6552 }
6553}
6554#[cfg(feature = "glx")]
6555impl From<glx::QueryExtensionsStringReply> for Reply {
6556 fn from(reply: glx::QueryExtensionsStringReply) -> Reply {
6557 Reply::GlxQueryExtensionsString(reply)
6558 }
6559}
6560#[cfg(feature = "glx")]
6561impl From<glx::QueryServerStringReply> for Reply {
6562 fn from(reply: glx::QueryServerStringReply) -> Reply {
6563 Reply::GlxQueryServerString(reply)
6564 }
6565}
6566#[cfg(feature = "glx")]
6567impl From<glx::GetFBConfigsReply> for Reply {
6568 fn from(reply: glx::GetFBConfigsReply) -> Reply {
6569 Reply::GlxGetFBConfigs(reply)
6570 }
6571}
6572#[cfg(feature = "glx")]
6573impl From<glx::QueryContextReply> for Reply {
6574 fn from(reply: glx::QueryContextReply) -> Reply {
6575 Reply::GlxQueryContext(reply)
6576 }
6577}
6578#[cfg(feature = "glx")]
6579impl From<glx::MakeContextCurrentReply> for Reply {
6580 fn from(reply: glx::MakeContextCurrentReply) -> Reply {
6581 Reply::GlxMakeContextCurrent(reply)
6582 }
6583}
6584#[cfg(feature = "glx")]
6585impl From<glx::GetDrawableAttributesReply> for Reply {
6586 fn from(reply: glx::GetDrawableAttributesReply) -> Reply {
6587 Reply::GlxGetDrawableAttributes(reply)
6588 }
6589}
6590#[cfg(feature = "glx")]
6591impl From<glx::GenListsReply> for Reply {
6592 fn from(reply: glx::GenListsReply) -> Reply {
6593 Reply::GlxGenLists(reply)
6594 }
6595}
6596#[cfg(feature = "glx")]
6597impl From<glx::RenderModeReply> for Reply {
6598 fn from(reply: glx::RenderModeReply) -> Reply {
6599 Reply::GlxRenderMode(reply)
6600 }
6601}
6602#[cfg(feature = "glx")]
6603impl From<glx::FinishReply> for Reply {
6604 fn from(reply: glx::FinishReply) -> Reply {
6605 Reply::GlxFinish(reply)
6606 }
6607}
6608#[cfg(feature = "glx")]
6609impl From<glx::ReadPixelsReply> for Reply {
6610 fn from(reply: glx::ReadPixelsReply) -> Reply {
6611 Reply::GlxReadPixels(reply)
6612 }
6613}
6614#[cfg(feature = "glx")]
6615impl From<glx::GetBooleanvReply> for Reply {
6616 fn from(reply: glx::GetBooleanvReply) -> Reply {
6617 Reply::GlxGetBooleanv(reply)
6618 }
6619}
6620#[cfg(feature = "glx")]
6621impl From<glx::GetClipPlaneReply> for Reply {
6622 fn from(reply: glx::GetClipPlaneReply) -> Reply {
6623 Reply::GlxGetClipPlane(reply)
6624 }
6625}
6626#[cfg(feature = "glx")]
6627impl From<glx::GetDoublevReply> for Reply {
6628 fn from(reply: glx::GetDoublevReply) -> Reply {
6629 Reply::GlxGetDoublev(reply)
6630 }
6631}
6632#[cfg(feature = "glx")]
6633impl From<glx::GetErrorReply> for Reply {
6634 fn from(reply: glx::GetErrorReply) -> Reply {
6635 Reply::GlxGetError(reply)
6636 }
6637}
6638#[cfg(feature = "glx")]
6639impl From<glx::GetFloatvReply> for Reply {
6640 fn from(reply: glx::GetFloatvReply) -> Reply {
6641 Reply::GlxGetFloatv(reply)
6642 }
6643}
6644#[cfg(feature = "glx")]
6645impl From<glx::GetIntegervReply> for Reply {
6646 fn from(reply: glx::GetIntegervReply) -> Reply {
6647 Reply::GlxGetIntegerv(reply)
6648 }
6649}
6650#[cfg(feature = "glx")]
6651impl From<glx::GetLightfvReply> for Reply {
6652 fn from(reply: glx::GetLightfvReply) -> Reply {
6653 Reply::GlxGetLightfv(reply)
6654 }
6655}
6656#[cfg(feature = "glx")]
6657impl From<glx::GetLightivReply> for Reply {
6658 fn from(reply: glx::GetLightivReply) -> Reply {
6659 Reply::GlxGetLightiv(reply)
6660 }
6661}
6662#[cfg(feature = "glx")]
6663impl From<glx::GetMapdvReply> for Reply {
6664 fn from(reply: glx::GetMapdvReply) -> Reply {
6665 Reply::GlxGetMapdv(reply)
6666 }
6667}
6668#[cfg(feature = "glx")]
6669impl From<glx::GetMapfvReply> for Reply {
6670 fn from(reply: glx::GetMapfvReply) -> Reply {
6671 Reply::GlxGetMapfv(reply)
6672 }
6673}
6674#[cfg(feature = "glx")]
6675impl From<glx::GetMapivReply> for Reply {
6676 fn from(reply: glx::GetMapivReply) -> Reply {
6677 Reply::GlxGetMapiv(reply)
6678 }
6679}
6680#[cfg(feature = "glx")]
6681impl From<glx::GetMaterialfvReply> for Reply {
6682 fn from(reply: glx::GetMaterialfvReply) -> Reply {
6683 Reply::GlxGetMaterialfv(reply)
6684 }
6685}
6686#[cfg(feature = "glx")]
6687impl From<glx::GetMaterialivReply> for Reply {
6688 fn from(reply: glx::GetMaterialivReply) -> Reply {
6689 Reply::GlxGetMaterialiv(reply)
6690 }
6691}
6692#[cfg(feature = "glx")]
6693impl From<glx::GetPixelMapfvReply> for Reply {
6694 fn from(reply: glx::GetPixelMapfvReply) -> Reply {
6695 Reply::GlxGetPixelMapfv(reply)
6696 }
6697}
6698#[cfg(feature = "glx")]
6699impl From<glx::GetPixelMapuivReply> for Reply {
6700 fn from(reply: glx::GetPixelMapuivReply) -> Reply {
6701 Reply::GlxGetPixelMapuiv(reply)
6702 }
6703}
6704#[cfg(feature = "glx")]
6705impl From<glx::GetPixelMapusvReply> for Reply {
6706 fn from(reply: glx::GetPixelMapusvReply) -> Reply {
6707 Reply::GlxGetPixelMapusv(reply)
6708 }
6709}
6710#[cfg(feature = "glx")]
6711impl From<glx::GetPolygonStippleReply> for Reply {
6712 fn from(reply: glx::GetPolygonStippleReply) -> Reply {
6713 Reply::GlxGetPolygonStipple(reply)
6714 }
6715}
6716#[cfg(feature = "glx")]
6717impl From<glx::GetStringReply> for Reply {
6718 fn from(reply: glx::GetStringReply) -> Reply {
6719 Reply::GlxGetString(reply)
6720 }
6721}
6722#[cfg(feature = "glx")]
6723impl From<glx::GetTexEnvfvReply> for Reply {
6724 fn from(reply: glx::GetTexEnvfvReply) -> Reply {
6725 Reply::GlxGetTexEnvfv(reply)
6726 }
6727}
6728#[cfg(feature = "glx")]
6729impl From<glx::GetTexEnvivReply> for Reply {
6730 fn from(reply: glx::GetTexEnvivReply) -> Reply {
6731 Reply::GlxGetTexEnviv(reply)
6732 }
6733}
6734#[cfg(feature = "glx")]
6735impl From<glx::GetTexGendvReply> for Reply {
6736 fn from(reply: glx::GetTexGendvReply) -> Reply {
6737 Reply::GlxGetTexGendv(reply)
6738 }
6739}
6740#[cfg(feature = "glx")]
6741impl From<glx::GetTexGenfvReply> for Reply {
6742 fn from(reply: glx::GetTexGenfvReply) -> Reply {
6743 Reply::GlxGetTexGenfv(reply)
6744 }
6745}
6746#[cfg(feature = "glx")]
6747impl From<glx::GetTexGenivReply> for Reply {
6748 fn from(reply: glx::GetTexGenivReply) -> Reply {
6749 Reply::GlxGetTexGeniv(reply)
6750 }
6751}
6752#[cfg(feature = "glx")]
6753impl From<glx::GetTexImageReply> for Reply {
6754 fn from(reply: glx::GetTexImageReply) -> Reply {
6755 Reply::GlxGetTexImage(reply)
6756 }
6757}
6758#[cfg(feature = "glx")]
6759impl From<glx::GetTexParameterfvReply> for Reply {
6760 fn from(reply: glx::GetTexParameterfvReply) -> Reply {
6761 Reply::GlxGetTexParameterfv(reply)
6762 }
6763}
6764#[cfg(feature = "glx")]
6765impl From<glx::GetTexParameterivReply> for Reply {
6766 fn from(reply: glx::GetTexParameterivReply) -> Reply {
6767 Reply::GlxGetTexParameteriv(reply)
6768 }
6769}
6770#[cfg(feature = "glx")]
6771impl From<glx::GetTexLevelParameterfvReply> for Reply {
6772 fn from(reply: glx::GetTexLevelParameterfvReply) -> Reply {
6773 Reply::GlxGetTexLevelParameterfv(reply)
6774 }
6775}
6776#[cfg(feature = "glx")]
6777impl From<glx::GetTexLevelParameterivReply> for Reply {
6778 fn from(reply: glx::GetTexLevelParameterivReply) -> Reply {
6779 Reply::GlxGetTexLevelParameteriv(reply)
6780 }
6781}
6782#[cfg(feature = "glx")]
6783impl From<glx::IsEnabledReply> for Reply {
6784 fn from(reply: glx::IsEnabledReply) -> Reply {
6785 Reply::GlxIsEnabled(reply)
6786 }
6787}
6788#[cfg(feature = "glx")]
6789impl From<glx::IsListReply> for Reply {
6790 fn from(reply: glx::IsListReply) -> Reply {
6791 Reply::GlxIsList(reply)
6792 }
6793}
6794#[cfg(feature = "glx")]
6795impl From<glx::AreTexturesResidentReply> for Reply {
6796 fn from(reply: glx::AreTexturesResidentReply) -> Reply {
6797 Reply::GlxAreTexturesResident(reply)
6798 }
6799}
6800#[cfg(feature = "glx")]
6801impl From<glx::GenTexturesReply> for Reply {
6802 fn from(reply: glx::GenTexturesReply) -> Reply {
6803 Reply::GlxGenTextures(reply)
6804 }
6805}
6806#[cfg(feature = "glx")]
6807impl From<glx::IsTextureReply> for Reply {
6808 fn from(reply: glx::IsTextureReply) -> Reply {
6809 Reply::GlxIsTexture(reply)
6810 }
6811}
6812#[cfg(feature = "glx")]
6813impl From<glx::GetColorTableReply> for Reply {
6814 fn from(reply: glx::GetColorTableReply) -> Reply {
6815 Reply::GlxGetColorTable(reply)
6816 }
6817}
6818#[cfg(feature = "glx")]
6819impl From<glx::GetColorTableParameterfvReply> for Reply {
6820 fn from(reply: glx::GetColorTableParameterfvReply) -> Reply {
6821 Reply::GlxGetColorTableParameterfv(reply)
6822 }
6823}
6824#[cfg(feature = "glx")]
6825impl From<glx::GetColorTableParameterivReply> for Reply {
6826 fn from(reply: glx::GetColorTableParameterivReply) -> Reply {
6827 Reply::GlxGetColorTableParameteriv(reply)
6828 }
6829}
6830#[cfg(feature = "glx")]
6831impl From<glx::GetConvolutionFilterReply> for Reply {
6832 fn from(reply: glx::GetConvolutionFilterReply) -> Reply {
6833 Reply::GlxGetConvolutionFilter(reply)
6834 }
6835}
6836#[cfg(feature = "glx")]
6837impl From<glx::GetConvolutionParameterfvReply> for Reply {
6838 fn from(reply: glx::GetConvolutionParameterfvReply) -> Reply {
6839 Reply::GlxGetConvolutionParameterfv(reply)
6840 }
6841}
6842#[cfg(feature = "glx")]
6843impl From<glx::GetConvolutionParameterivReply> for Reply {
6844 fn from(reply: glx::GetConvolutionParameterivReply) -> Reply {
6845 Reply::GlxGetConvolutionParameteriv(reply)
6846 }
6847}
6848#[cfg(feature = "glx")]
6849impl From<glx::GetSeparableFilterReply> for Reply {
6850 fn from(reply: glx::GetSeparableFilterReply) -> Reply {
6851 Reply::GlxGetSeparableFilter(reply)
6852 }
6853}
6854#[cfg(feature = "glx")]
6855impl From<glx::GetHistogramReply> for Reply {
6856 fn from(reply: glx::GetHistogramReply) -> Reply {
6857 Reply::GlxGetHistogram(reply)
6858 }
6859}
6860#[cfg(feature = "glx")]
6861impl From<glx::GetHistogramParameterfvReply> for Reply {
6862 fn from(reply: glx::GetHistogramParameterfvReply) -> Reply {
6863 Reply::GlxGetHistogramParameterfv(reply)
6864 }
6865}
6866#[cfg(feature = "glx")]
6867impl From<glx::GetHistogramParameterivReply> for Reply {
6868 fn from(reply: glx::GetHistogramParameterivReply) -> Reply {
6869 Reply::GlxGetHistogramParameteriv(reply)
6870 }
6871}
6872#[cfg(feature = "glx")]
6873impl From<glx::GetMinmaxReply> for Reply {
6874 fn from(reply: glx::GetMinmaxReply) -> Reply {
6875 Reply::GlxGetMinmax(reply)
6876 }
6877}
6878#[cfg(feature = "glx")]
6879impl From<glx::GetMinmaxParameterfvReply> for Reply {
6880 fn from(reply: glx::GetMinmaxParameterfvReply) -> Reply {
6881 Reply::GlxGetMinmaxParameterfv(reply)
6882 }
6883}
6884#[cfg(feature = "glx")]
6885impl From<glx::GetMinmaxParameterivReply> for Reply {
6886 fn from(reply: glx::GetMinmaxParameterivReply) -> Reply {
6887 Reply::GlxGetMinmaxParameteriv(reply)
6888 }
6889}
6890#[cfg(feature = "glx")]
6891impl From<glx::GetCompressedTexImageARBReply> for Reply {
6892 fn from(reply: glx::GetCompressedTexImageARBReply) -> Reply {
6893 Reply::GlxGetCompressedTexImageARB(reply)
6894 }
6895}
6896#[cfg(feature = "glx")]
6897impl From<glx::GenQueriesARBReply> for Reply {
6898 fn from(reply: glx::GenQueriesARBReply) -> Reply {
6899 Reply::GlxGenQueriesARB(reply)
6900 }
6901}
6902#[cfg(feature = "glx")]
6903impl From<glx::IsQueryARBReply> for Reply {
6904 fn from(reply: glx::IsQueryARBReply) -> Reply {
6905 Reply::GlxIsQueryARB(reply)
6906 }
6907}
6908#[cfg(feature = "glx")]
6909impl From<glx::GetQueryivARBReply> for Reply {
6910 fn from(reply: glx::GetQueryivARBReply) -> Reply {
6911 Reply::GlxGetQueryivARB(reply)
6912 }
6913}
6914#[cfg(feature = "glx")]
6915impl From<glx::GetQueryObjectivARBReply> for Reply {
6916 fn from(reply: glx::GetQueryObjectivARBReply) -> Reply {
6917 Reply::GlxGetQueryObjectivARB(reply)
6918 }
6919}
6920#[cfg(feature = "glx")]
6921impl From<glx::GetQueryObjectuivARBReply> for Reply {
6922 fn from(reply: glx::GetQueryObjectuivARBReply) -> Reply {
6923 Reply::GlxGetQueryObjectuivARB(reply)
6924 }
6925}
6926#[cfg(feature = "present")]
6927impl From<present::QueryVersionReply> for Reply {
6928 fn from(reply: present::QueryVersionReply) -> Reply {
6929 Reply::PresentQueryVersion(reply)
6930 }
6931}
6932#[cfg(feature = "present")]
6933impl From<present::QueryCapabilitiesReply> for Reply {
6934 fn from(reply: present::QueryCapabilitiesReply) -> Reply {
6935 Reply::PresentQueryCapabilities(reply)
6936 }
6937}
6938#[cfg(feature = "randr")]
6939impl From<randr::QueryVersionReply> for Reply {
6940 fn from(reply: randr::QueryVersionReply) -> Reply {
6941 Reply::RandrQueryVersion(reply)
6942 }
6943}
6944#[cfg(feature = "randr")]
6945impl From<randr::SetScreenConfigReply> for Reply {
6946 fn from(reply: randr::SetScreenConfigReply) -> Reply {
6947 Reply::RandrSetScreenConfig(reply)
6948 }
6949}
6950#[cfg(feature = "randr")]
6951impl From<randr::GetScreenInfoReply> for Reply {
6952 fn from(reply: randr::GetScreenInfoReply) -> Reply {
6953 Reply::RandrGetScreenInfo(reply)
6954 }
6955}
6956#[cfg(feature = "randr")]
6957impl From<randr::GetScreenSizeRangeReply> for Reply {
6958 fn from(reply: randr::GetScreenSizeRangeReply) -> Reply {
6959 Reply::RandrGetScreenSizeRange(reply)
6960 }
6961}
6962#[cfg(feature = "randr")]
6963impl From<randr::GetScreenResourcesReply> for Reply {
6964 fn from(reply: randr::GetScreenResourcesReply) -> Reply {
6965 Reply::RandrGetScreenResources(reply)
6966 }
6967}
6968#[cfg(feature = "randr")]
6969impl From<randr::GetOutputInfoReply> for Reply {
6970 fn from(reply: randr::GetOutputInfoReply) -> Reply {
6971 Reply::RandrGetOutputInfo(reply)
6972 }
6973}
6974#[cfg(feature = "randr")]
6975impl From<randr::ListOutputPropertiesReply> for Reply {
6976 fn from(reply: randr::ListOutputPropertiesReply) -> Reply {
6977 Reply::RandrListOutputProperties(reply)
6978 }
6979}
6980#[cfg(feature = "randr")]
6981impl From<randr::QueryOutputPropertyReply> for Reply {
6982 fn from(reply: randr::QueryOutputPropertyReply) -> Reply {
6983 Reply::RandrQueryOutputProperty(reply)
6984 }
6985}
6986#[cfg(feature = "randr")]
6987impl From<randr::GetOutputPropertyReply> for Reply {
6988 fn from(reply: randr::GetOutputPropertyReply) -> Reply {
6989 Reply::RandrGetOutputProperty(reply)
6990 }
6991}
6992#[cfg(feature = "randr")]
6993impl From<randr::CreateModeReply> for Reply {
6994 fn from(reply: randr::CreateModeReply) -> Reply {
6995 Reply::RandrCreateMode(reply)
6996 }
6997}
6998#[cfg(feature = "randr")]
6999impl From<randr::GetCrtcInfoReply> for Reply {
7000 fn from(reply: randr::GetCrtcInfoReply) -> Reply {
7001 Reply::RandrGetCrtcInfo(reply)
7002 }
7003}
7004#[cfg(feature = "randr")]
7005impl From<randr::SetCrtcConfigReply> for Reply {
7006 fn from(reply: randr::SetCrtcConfigReply) -> Reply {
7007 Reply::RandrSetCrtcConfig(reply)
7008 }
7009}
7010#[cfg(feature = "randr")]
7011impl From<randr::GetCrtcGammaSizeReply> for Reply {
7012 fn from(reply: randr::GetCrtcGammaSizeReply) -> Reply {
7013 Reply::RandrGetCrtcGammaSize(reply)
7014 }
7015}
7016#[cfg(feature = "randr")]
7017impl From<randr::GetCrtcGammaReply> for Reply {
7018 fn from(reply: randr::GetCrtcGammaReply) -> Reply {
7019 Reply::RandrGetCrtcGamma(reply)
7020 }
7021}
7022#[cfg(feature = "randr")]
7023impl From<randr::GetScreenResourcesCurrentReply> for Reply {
7024 fn from(reply: randr::GetScreenResourcesCurrentReply) -> Reply {
7025 Reply::RandrGetScreenResourcesCurrent(reply)
7026 }
7027}
7028#[cfg(feature = "randr")]
7029impl From<randr::GetCrtcTransformReply> for Reply {
7030 fn from(reply: randr::GetCrtcTransformReply) -> Reply {
7031 Reply::RandrGetCrtcTransform(reply)
7032 }
7033}
7034#[cfg(feature = "randr")]
7035impl From<randr::GetPanningReply> for Reply {
7036 fn from(reply: randr::GetPanningReply) -> Reply {
7037 Reply::RandrGetPanning(reply)
7038 }
7039}
7040#[cfg(feature = "randr")]
7041impl From<randr::SetPanningReply> for Reply {
7042 fn from(reply: randr::SetPanningReply) -> Reply {
7043 Reply::RandrSetPanning(reply)
7044 }
7045}
7046#[cfg(feature = "randr")]
7047impl From<randr::GetOutputPrimaryReply> for Reply {
7048 fn from(reply: randr::GetOutputPrimaryReply) -> Reply {
7049 Reply::RandrGetOutputPrimary(reply)
7050 }
7051}
7052#[cfg(feature = "randr")]
7053impl From<randr::GetProvidersReply> for Reply {
7054 fn from(reply: randr::GetProvidersReply) -> Reply {
7055 Reply::RandrGetProviders(reply)
7056 }
7057}
7058#[cfg(feature = "randr")]
7059impl From<randr::GetProviderInfoReply> for Reply {
7060 fn from(reply: randr::GetProviderInfoReply) -> Reply {
7061 Reply::RandrGetProviderInfo(reply)
7062 }
7063}
7064#[cfg(feature = "randr")]
7065impl From<randr::ListProviderPropertiesReply> for Reply {
7066 fn from(reply: randr::ListProviderPropertiesReply) -> Reply {
7067 Reply::RandrListProviderProperties(reply)
7068 }
7069}
7070#[cfg(feature = "randr")]
7071impl From<randr::QueryProviderPropertyReply> for Reply {
7072 fn from(reply: randr::QueryProviderPropertyReply) -> Reply {
7073 Reply::RandrQueryProviderProperty(reply)
7074 }
7075}
7076#[cfg(feature = "randr")]
7077impl From<randr::GetProviderPropertyReply> for Reply {
7078 fn from(reply: randr::GetProviderPropertyReply) -> Reply {
7079 Reply::RandrGetProviderProperty(reply)
7080 }
7081}
7082#[cfg(feature = "randr")]
7083impl From<randr::GetMonitorsReply> for Reply {
7084 fn from(reply: randr::GetMonitorsReply) -> Reply {
7085 Reply::RandrGetMonitors(reply)
7086 }
7087}
7088#[cfg(feature = "randr")]
7089impl From<randr::CreateLeaseReply> for Reply {
7090 fn from(reply: randr::CreateLeaseReply) -> Reply {
7091 Reply::RandrCreateLease(reply)
7092 }
7093}
7094#[cfg(feature = "record")]
7095impl From<record::QueryVersionReply> for Reply {
7096 fn from(reply: record::QueryVersionReply) -> Reply {
7097 Reply::RecordQueryVersion(reply)
7098 }
7099}
7100#[cfg(feature = "record")]
7101impl From<record::GetContextReply> for Reply {
7102 fn from(reply: record::GetContextReply) -> Reply {
7103 Reply::RecordGetContext(reply)
7104 }
7105}
7106#[cfg(feature = "record")]
7107impl From<record::EnableContextReply> for Reply {
7108 fn from(reply: record::EnableContextReply) -> Reply {
7109 Reply::RecordEnableContext(reply)
7110 }
7111}
7112#[cfg(feature = "render")]
7113impl From<render::QueryVersionReply> for Reply {
7114 fn from(reply: render::QueryVersionReply) -> Reply {
7115 Reply::RenderQueryVersion(reply)
7116 }
7117}
7118#[cfg(feature = "render")]
7119impl From<render::QueryPictFormatsReply> for Reply {
7120 fn from(reply: render::QueryPictFormatsReply) -> Reply {
7121 Reply::RenderQueryPictFormats(reply)
7122 }
7123}
7124#[cfg(feature = "render")]
7125impl From<render::QueryPictIndexValuesReply> for Reply {
7126 fn from(reply: render::QueryPictIndexValuesReply) -> Reply {
7127 Reply::RenderQueryPictIndexValues(reply)
7128 }
7129}
7130#[cfg(feature = "render")]
7131impl From<render::QueryFiltersReply> for Reply {
7132 fn from(reply: render::QueryFiltersReply) -> Reply {
7133 Reply::RenderQueryFilters(reply)
7134 }
7135}
7136#[cfg(feature = "res")]
7137impl From<res::QueryVersionReply> for Reply {
7138 fn from(reply: res::QueryVersionReply) -> Reply {
7139 Reply::ResQueryVersion(reply)
7140 }
7141}
7142#[cfg(feature = "res")]
7143impl From<res::QueryClientsReply> for Reply {
7144 fn from(reply: res::QueryClientsReply) -> Reply {
7145 Reply::ResQueryClients(reply)
7146 }
7147}
7148#[cfg(feature = "res")]
7149impl From<res::QueryClientResourcesReply> for Reply {
7150 fn from(reply: res::QueryClientResourcesReply) -> Reply {
7151 Reply::ResQueryClientResources(reply)
7152 }
7153}
7154#[cfg(feature = "res")]
7155impl From<res::QueryClientPixmapBytesReply> for Reply {
7156 fn from(reply: res::QueryClientPixmapBytesReply) -> Reply {
7157 Reply::ResQueryClientPixmapBytes(reply)
7158 }
7159}
7160#[cfg(feature = "res")]
7161impl From<res::QueryClientIdsReply> for Reply {
7162 fn from(reply: res::QueryClientIdsReply) -> Reply {
7163 Reply::ResQueryClientIds(reply)
7164 }
7165}
7166#[cfg(feature = "res")]
7167impl From<res::QueryResourceBytesReply> for Reply {
7168 fn from(reply: res::QueryResourceBytesReply) -> Reply {
7169 Reply::ResQueryResourceBytes(reply)
7170 }
7171}
7172#[cfg(feature = "screensaver")]
7173impl From<screensaver::QueryVersionReply> for Reply {
7174 fn from(reply: screensaver::QueryVersionReply) -> Reply {
7175 Reply::ScreensaverQueryVersion(reply)
7176 }
7177}
7178#[cfg(feature = "screensaver")]
7179impl From<screensaver::QueryInfoReply> for Reply {
7180 fn from(reply: screensaver::QueryInfoReply) -> Reply {
7181 Reply::ScreensaverQueryInfo(reply)
7182 }
7183}
7184#[cfg(feature = "shape")]
7185impl From<shape::QueryVersionReply> for Reply {
7186 fn from(reply: shape::QueryVersionReply) -> Reply {
7187 Reply::ShapeQueryVersion(reply)
7188 }
7189}
7190#[cfg(feature = "shape")]
7191impl From<shape::QueryExtentsReply> for Reply {
7192 fn from(reply: shape::QueryExtentsReply) -> Reply {
7193 Reply::ShapeQueryExtents(reply)
7194 }
7195}
7196#[cfg(feature = "shape")]
7197impl From<shape::InputSelectedReply> for Reply {
7198 fn from(reply: shape::InputSelectedReply) -> Reply {
7199 Reply::ShapeInputSelected(reply)
7200 }
7201}
7202#[cfg(feature = "shape")]
7203impl From<shape::GetRectanglesReply> for Reply {
7204 fn from(reply: shape::GetRectanglesReply) -> Reply {
7205 Reply::ShapeGetRectangles(reply)
7206 }
7207}
7208#[cfg(feature = "shm")]
7209impl From<shm::QueryVersionReply> for Reply {
7210 fn from(reply: shm::QueryVersionReply) -> Reply {
7211 Reply::ShmQueryVersion(reply)
7212 }
7213}
7214#[cfg(feature = "shm")]
7215impl From<shm::GetImageReply> for Reply {
7216 fn from(reply: shm::GetImageReply) -> Reply {
7217 Reply::ShmGetImage(reply)
7218 }
7219}
7220#[cfg(feature = "shm")]
7221impl From<shm::CreateSegmentReply> for Reply {
7222 fn from(reply: shm::CreateSegmentReply) -> Reply {
7223 Reply::ShmCreateSegment(reply)
7224 }
7225}
7226#[cfg(feature = "sync")]
7227impl From<sync::InitializeReply> for Reply {
7228 fn from(reply: sync::InitializeReply) -> Reply {
7229 Reply::SyncInitialize(reply)
7230 }
7231}
7232#[cfg(feature = "sync")]
7233impl From<sync::ListSystemCountersReply> for Reply {
7234 fn from(reply: sync::ListSystemCountersReply) -> Reply {
7235 Reply::SyncListSystemCounters(reply)
7236 }
7237}
7238#[cfg(feature = "sync")]
7239impl From<sync::QueryCounterReply> for Reply {
7240 fn from(reply: sync::QueryCounterReply) -> Reply {
7241 Reply::SyncQueryCounter(reply)
7242 }
7243}
7244#[cfg(feature = "sync")]
7245impl From<sync::QueryAlarmReply> for Reply {
7246 fn from(reply: sync::QueryAlarmReply) -> Reply {
7247 Reply::SyncQueryAlarm(reply)
7248 }
7249}
7250#[cfg(feature = "sync")]
7251impl From<sync::GetPriorityReply> for Reply {
7252 fn from(reply: sync::GetPriorityReply) -> Reply {
7253 Reply::SyncGetPriority(reply)
7254 }
7255}
7256#[cfg(feature = "sync")]
7257impl From<sync::QueryFenceReply> for Reply {
7258 fn from(reply: sync::QueryFenceReply) -> Reply {
7259 Reply::SyncQueryFence(reply)
7260 }
7261}
7262impl From<xc_misc::GetVersionReply> for Reply {
7263 fn from(reply: xc_misc::GetVersionReply) -> Reply {
7264 Reply::XcMiscGetVersion(reply)
7265 }
7266}
7267impl From<xc_misc::GetXIDRangeReply> for Reply {
7268 fn from(reply: xc_misc::GetXIDRangeReply) -> Reply {
7269 Reply::XcMiscGetXIDRange(reply)
7270 }
7271}
7272impl From<xc_misc::GetXIDListReply> for Reply {
7273 fn from(reply: xc_misc::GetXIDListReply) -> Reply {
7274 Reply::XcMiscGetXIDList(reply)
7275 }
7276}
7277#[cfg(feature = "xevie")]
7278impl From<xevie::QueryVersionReply> for Reply {
7279 fn from(reply: xevie::QueryVersionReply) -> Reply {
7280 Reply::XevieQueryVersion(reply)
7281 }
7282}
7283#[cfg(feature = "xevie")]
7284impl From<xevie::StartReply> for Reply {
7285 fn from(reply: xevie::StartReply) -> Reply {
7286 Reply::XevieStart(reply)
7287 }
7288}
7289#[cfg(feature = "xevie")]
7290impl From<xevie::EndReply> for Reply {
7291 fn from(reply: xevie::EndReply) -> Reply {
7292 Reply::XevieEnd(reply)
7293 }
7294}
7295#[cfg(feature = "xevie")]
7296impl From<xevie::SendReply> for Reply {
7297 fn from(reply: xevie::SendReply) -> Reply {
7298 Reply::XevieSend(reply)
7299 }
7300}
7301#[cfg(feature = "xevie")]
7302impl From<xevie::SelectInputReply> for Reply {
7303 fn from(reply: xevie::SelectInputReply) -> Reply {
7304 Reply::XevieSelectInput(reply)
7305 }
7306}
7307#[cfg(feature = "xf86dri")]
7308impl From<xf86dri::QueryVersionReply> for Reply {
7309 fn from(reply: xf86dri::QueryVersionReply) -> Reply {
7310 Reply::Xf86driQueryVersion(reply)
7311 }
7312}
7313#[cfg(feature = "xf86dri")]
7314impl From<xf86dri::QueryDirectRenderingCapableReply> for Reply {
7315 fn from(reply: xf86dri::QueryDirectRenderingCapableReply) -> Reply {
7316 Reply::Xf86driQueryDirectRenderingCapable(reply)
7317 }
7318}
7319#[cfg(feature = "xf86dri")]
7320impl From<xf86dri::OpenConnectionReply> for Reply {
7321 fn from(reply: xf86dri::OpenConnectionReply) -> Reply {
7322 Reply::Xf86driOpenConnection(reply)
7323 }
7324}
7325#[cfg(feature = "xf86dri")]
7326impl From<xf86dri::GetClientDriverNameReply> for Reply {
7327 fn from(reply: xf86dri::GetClientDriverNameReply) -> Reply {
7328 Reply::Xf86driGetClientDriverName(reply)
7329 }
7330}
7331#[cfg(feature = "xf86dri")]
7332impl From<xf86dri::CreateContextReply> for Reply {
7333 fn from(reply: xf86dri::CreateContextReply) -> Reply {
7334 Reply::Xf86driCreateContext(reply)
7335 }
7336}
7337#[cfg(feature = "xf86dri")]
7338impl From<xf86dri::CreateDrawableReply> for Reply {
7339 fn from(reply: xf86dri::CreateDrawableReply) -> Reply {
7340 Reply::Xf86driCreateDrawable(reply)
7341 }
7342}
7343#[cfg(feature = "xf86dri")]
7344impl From<xf86dri::GetDrawableInfoReply> for Reply {
7345 fn from(reply: xf86dri::GetDrawableInfoReply) -> Reply {
7346 Reply::Xf86driGetDrawableInfo(reply)
7347 }
7348}
7349#[cfg(feature = "xf86dri")]
7350impl From<xf86dri::GetDeviceInfoReply> for Reply {
7351 fn from(reply: xf86dri::GetDeviceInfoReply) -> Reply {
7352 Reply::Xf86driGetDeviceInfo(reply)
7353 }
7354}
7355#[cfg(feature = "xf86dri")]
7356impl From<xf86dri::AuthConnectionReply> for Reply {
7357 fn from(reply: xf86dri::AuthConnectionReply) -> Reply {
7358 Reply::Xf86driAuthConnection(reply)
7359 }
7360}
7361#[cfg(feature = "xf86vidmode")]
7362impl From<xf86vidmode::QueryVersionReply> for Reply {
7363 fn from(reply: xf86vidmode::QueryVersionReply) -> Reply {
7364 Reply::Xf86vidmodeQueryVersion(reply)
7365 }
7366}
7367#[cfg(feature = "xf86vidmode")]
7368impl From<xf86vidmode::GetModeLineReply> for Reply {
7369 fn from(reply: xf86vidmode::GetModeLineReply) -> Reply {
7370 Reply::Xf86vidmodeGetModeLine(reply)
7371 }
7372}
7373#[cfg(feature = "xf86vidmode")]
7374impl From<xf86vidmode::GetMonitorReply> for Reply {
7375 fn from(reply: xf86vidmode::GetMonitorReply) -> Reply {
7376 Reply::Xf86vidmodeGetMonitor(reply)
7377 }
7378}
7379#[cfg(feature = "xf86vidmode")]
7380impl From<xf86vidmode::GetAllModeLinesReply> for Reply {
7381 fn from(reply: xf86vidmode::GetAllModeLinesReply) -> Reply {
7382 Reply::Xf86vidmodeGetAllModeLines(reply)
7383 }
7384}
7385#[cfg(feature = "xf86vidmode")]
7386impl From<xf86vidmode::ValidateModeLineReply> for Reply {
7387 fn from(reply: xf86vidmode::ValidateModeLineReply) -> Reply {
7388 Reply::Xf86vidmodeValidateModeLine(reply)
7389 }
7390}
7391#[cfg(feature = "xf86vidmode")]
7392impl From<xf86vidmode::GetViewPortReply> for Reply {
7393 fn from(reply: xf86vidmode::GetViewPortReply) -> Reply {
7394 Reply::Xf86vidmodeGetViewPort(reply)
7395 }
7396}
7397#[cfg(feature = "xf86vidmode")]
7398impl From<xf86vidmode::GetDotClocksReply> for Reply {
7399 fn from(reply: xf86vidmode::GetDotClocksReply) -> Reply {
7400 Reply::Xf86vidmodeGetDotClocks(reply)
7401 }
7402}
7403#[cfg(feature = "xf86vidmode")]
7404impl From<xf86vidmode::GetGammaReply> for Reply {
7405 fn from(reply: xf86vidmode::GetGammaReply) -> Reply {
7406 Reply::Xf86vidmodeGetGamma(reply)
7407 }
7408}
7409#[cfg(feature = "xf86vidmode")]
7410impl From<xf86vidmode::GetGammaRampReply> for Reply {
7411 fn from(reply: xf86vidmode::GetGammaRampReply) -> Reply {
7412 Reply::Xf86vidmodeGetGammaRamp(reply)
7413 }
7414}
7415#[cfg(feature = "xf86vidmode")]
7416impl From<xf86vidmode::GetGammaRampSizeReply> for Reply {
7417 fn from(reply: xf86vidmode::GetGammaRampSizeReply) -> Reply {
7418 Reply::Xf86vidmodeGetGammaRampSize(reply)
7419 }
7420}
7421#[cfg(feature = "xf86vidmode")]
7422impl From<xf86vidmode::GetPermissionsReply> for Reply {
7423 fn from(reply: xf86vidmode::GetPermissionsReply) -> Reply {
7424 Reply::Xf86vidmodeGetPermissions(reply)
7425 }
7426}
7427#[cfg(feature = "xfixes")]
7428impl From<xfixes::QueryVersionReply> for Reply {
7429 fn from(reply: xfixes::QueryVersionReply) -> Reply {
7430 Reply::XfixesQueryVersion(reply)
7431 }
7432}
7433#[cfg(feature = "xfixes")]
7434impl From<xfixes::GetCursorImageReply> for Reply {
7435 fn from(reply: xfixes::GetCursorImageReply) -> Reply {
7436 Reply::XfixesGetCursorImage(reply)
7437 }
7438}
7439#[cfg(feature = "xfixes")]
7440impl From<xfixes::FetchRegionReply> for Reply {
7441 fn from(reply: xfixes::FetchRegionReply) -> Reply {
7442 Reply::XfixesFetchRegion(reply)
7443 }
7444}
7445#[cfg(feature = "xfixes")]
7446impl From<xfixes::GetCursorNameReply> for Reply {
7447 fn from(reply: xfixes::GetCursorNameReply) -> Reply {
7448 Reply::XfixesGetCursorName(reply)
7449 }
7450}
7451#[cfg(feature = "xfixes")]
7452impl From<xfixes::GetCursorImageAndNameReply> for Reply {
7453 fn from(reply: xfixes::GetCursorImageAndNameReply) -> Reply {
7454 Reply::XfixesGetCursorImageAndName(reply)
7455 }
7456}
7457#[cfg(feature = "xfixes")]
7458impl From<xfixes::GetClientDisconnectModeReply> for Reply {
7459 fn from(reply: xfixes::GetClientDisconnectModeReply) -> Reply {
7460 Reply::XfixesGetClientDisconnectMode(reply)
7461 }
7462}
7463#[cfg(feature = "xinerama")]
7464impl From<xinerama::QueryVersionReply> for Reply {
7465 fn from(reply: xinerama::QueryVersionReply) -> Reply {
7466 Reply::XineramaQueryVersion(reply)
7467 }
7468}
7469#[cfg(feature = "xinerama")]
7470impl From<xinerama::GetStateReply> for Reply {
7471 fn from(reply: xinerama::GetStateReply) -> Reply {
7472 Reply::XineramaGetState(reply)
7473 }
7474}
7475#[cfg(feature = "xinerama")]
7476impl From<xinerama::GetScreenCountReply> for Reply {
7477 fn from(reply: xinerama::GetScreenCountReply) -> Reply {
7478 Reply::XineramaGetScreenCount(reply)
7479 }
7480}
7481#[cfg(feature = "xinerama")]
7482impl From<xinerama::GetScreenSizeReply> for Reply {
7483 fn from(reply: xinerama::GetScreenSizeReply) -> Reply {
7484 Reply::XineramaGetScreenSize(reply)
7485 }
7486}
7487#[cfg(feature = "xinerama")]
7488impl From<xinerama::IsActiveReply> for Reply {
7489 fn from(reply: xinerama::IsActiveReply) -> Reply {
7490 Reply::XineramaIsActive(reply)
7491 }
7492}
7493#[cfg(feature = "xinerama")]
7494impl From<xinerama::QueryScreensReply> for Reply {
7495 fn from(reply: xinerama::QueryScreensReply) -> Reply {
7496 Reply::XineramaQueryScreens(reply)
7497 }
7498}
7499#[cfg(feature = "xinput")]
7500impl From<xinput::GetExtensionVersionReply> for Reply {
7501 fn from(reply: xinput::GetExtensionVersionReply) -> Reply {
7502 Reply::XinputGetExtensionVersion(reply)
7503 }
7504}
7505#[cfg(feature = "xinput")]
7506impl From<xinput::ListInputDevicesReply> for Reply {
7507 fn from(reply: xinput::ListInputDevicesReply) -> Reply {
7508 Reply::XinputListInputDevices(reply)
7509 }
7510}
7511#[cfg(feature = "xinput")]
7512impl From<xinput::OpenDeviceReply> for Reply {
7513 fn from(reply: xinput::OpenDeviceReply) -> Reply {
7514 Reply::XinputOpenDevice(reply)
7515 }
7516}
7517#[cfg(feature = "xinput")]
7518impl From<xinput::SetDeviceModeReply> for Reply {
7519 fn from(reply: xinput::SetDeviceModeReply) -> Reply {
7520 Reply::XinputSetDeviceMode(reply)
7521 }
7522}
7523#[cfg(feature = "xinput")]
7524impl From<xinput::GetSelectedExtensionEventsReply> for Reply {
7525 fn from(reply: xinput::GetSelectedExtensionEventsReply) -> Reply {
7526 Reply::XinputGetSelectedExtensionEvents(reply)
7527 }
7528}
7529#[cfg(feature = "xinput")]
7530impl From<xinput::GetDeviceDontPropagateListReply> for Reply {
7531 fn from(reply: xinput::GetDeviceDontPropagateListReply) -> Reply {
7532 Reply::XinputGetDeviceDontPropagateList(reply)
7533 }
7534}
7535#[cfg(feature = "xinput")]
7536impl From<xinput::GetDeviceMotionEventsReply> for Reply {
7537 fn from(reply: xinput::GetDeviceMotionEventsReply) -> Reply {
7538 Reply::XinputGetDeviceMotionEvents(reply)
7539 }
7540}
7541#[cfg(feature = "xinput")]
7542impl From<xinput::ChangeKeyboardDeviceReply> for Reply {
7543 fn from(reply: xinput::ChangeKeyboardDeviceReply) -> Reply {
7544 Reply::XinputChangeKeyboardDevice(reply)
7545 }
7546}
7547#[cfg(feature = "xinput")]
7548impl From<xinput::ChangePointerDeviceReply> for Reply {
7549 fn from(reply: xinput::ChangePointerDeviceReply) -> Reply {
7550 Reply::XinputChangePointerDevice(reply)
7551 }
7552}
7553#[cfg(feature = "xinput")]
7554impl From<xinput::GrabDeviceReply> for Reply {
7555 fn from(reply: xinput::GrabDeviceReply) -> Reply {
7556 Reply::XinputGrabDevice(reply)
7557 }
7558}
7559#[cfg(feature = "xinput")]
7560impl From<xinput::GetDeviceFocusReply> for Reply {
7561 fn from(reply: xinput::GetDeviceFocusReply) -> Reply {
7562 Reply::XinputGetDeviceFocus(reply)
7563 }
7564}
7565#[cfg(feature = "xinput")]
7566impl From<xinput::GetFeedbackControlReply> for Reply {
7567 fn from(reply: xinput::GetFeedbackControlReply) -> Reply {
7568 Reply::XinputGetFeedbackControl(reply)
7569 }
7570}
7571#[cfg(feature = "xinput")]
7572impl From<xinput::GetDeviceKeyMappingReply> for Reply {
7573 fn from(reply: xinput::GetDeviceKeyMappingReply) -> Reply {
7574 Reply::XinputGetDeviceKeyMapping(reply)
7575 }
7576}
7577#[cfg(feature = "xinput")]
7578impl From<xinput::GetDeviceModifierMappingReply> for Reply {
7579 fn from(reply: xinput::GetDeviceModifierMappingReply) -> Reply {
7580 Reply::XinputGetDeviceModifierMapping(reply)
7581 }
7582}
7583#[cfg(feature = "xinput")]
7584impl From<xinput::SetDeviceModifierMappingReply> for Reply {
7585 fn from(reply: xinput::SetDeviceModifierMappingReply) -> Reply {
7586 Reply::XinputSetDeviceModifierMapping(reply)
7587 }
7588}
7589#[cfg(feature = "xinput")]
7590impl From<xinput::GetDeviceButtonMappingReply> for Reply {
7591 fn from(reply: xinput::GetDeviceButtonMappingReply) -> Reply {
7592 Reply::XinputGetDeviceButtonMapping(reply)
7593 }
7594}
7595#[cfg(feature = "xinput")]
7596impl From<xinput::SetDeviceButtonMappingReply> for Reply {
7597 fn from(reply: xinput::SetDeviceButtonMappingReply) -> Reply {
7598 Reply::XinputSetDeviceButtonMapping(reply)
7599 }
7600}
7601#[cfg(feature = "xinput")]
7602impl From<xinput::QueryDeviceStateReply> for Reply {
7603 fn from(reply: xinput::QueryDeviceStateReply) -> Reply {
7604 Reply::XinputQueryDeviceState(reply)
7605 }
7606}
7607#[cfg(feature = "xinput")]
7608impl From<xinput::SetDeviceValuatorsReply> for Reply {
7609 fn from(reply: xinput::SetDeviceValuatorsReply) -> Reply {
7610 Reply::XinputSetDeviceValuators(reply)
7611 }
7612}
7613#[cfg(feature = "xinput")]
7614impl From<xinput::GetDeviceControlReply> for Reply {
7615 fn from(reply: xinput::GetDeviceControlReply) -> Reply {
7616 Reply::XinputGetDeviceControl(reply)
7617 }
7618}
7619#[cfg(feature = "xinput")]
7620impl From<xinput::ChangeDeviceControlReply> for Reply {
7621 fn from(reply: xinput::ChangeDeviceControlReply) -> Reply {
7622 Reply::XinputChangeDeviceControl(reply)
7623 }
7624}
7625#[cfg(feature = "xinput")]
7626impl From<xinput::ListDevicePropertiesReply> for Reply {
7627 fn from(reply: xinput::ListDevicePropertiesReply) -> Reply {
7628 Reply::XinputListDeviceProperties(reply)
7629 }
7630}
7631#[cfg(feature = "xinput")]
7632impl From<xinput::GetDevicePropertyReply> for Reply {
7633 fn from(reply: xinput::GetDevicePropertyReply) -> Reply {
7634 Reply::XinputGetDeviceProperty(reply)
7635 }
7636}
7637#[cfg(feature = "xinput")]
7638impl From<xinput::XIQueryPointerReply> for Reply {
7639 fn from(reply: xinput::XIQueryPointerReply) -> Reply {
7640 Reply::XinputXIQueryPointer(reply)
7641 }
7642}
7643#[cfg(feature = "xinput")]
7644impl From<xinput::XIGetClientPointerReply> for Reply {
7645 fn from(reply: xinput::XIGetClientPointerReply) -> Reply {
7646 Reply::XinputXIGetClientPointer(reply)
7647 }
7648}
7649#[cfg(feature = "xinput")]
7650impl From<xinput::XIQueryVersionReply> for Reply {
7651 fn from(reply: xinput::XIQueryVersionReply) -> Reply {
7652 Reply::XinputXIQueryVersion(reply)
7653 }
7654}
7655#[cfg(feature = "xinput")]
7656impl From<xinput::XIQueryDeviceReply> for Reply {
7657 fn from(reply: xinput::XIQueryDeviceReply) -> Reply {
7658 Reply::XinputXIQueryDevice(reply)
7659 }
7660}
7661#[cfg(feature = "xinput")]
7662impl From<xinput::XIGetFocusReply> for Reply {
7663 fn from(reply: xinput::XIGetFocusReply) -> Reply {
7664 Reply::XinputXIGetFocus(reply)
7665 }
7666}
7667#[cfg(feature = "xinput")]
7668impl From<xinput::XIGrabDeviceReply> for Reply {
7669 fn from(reply: xinput::XIGrabDeviceReply) -> Reply {
7670 Reply::XinputXIGrabDevice(reply)
7671 }
7672}
7673#[cfg(feature = "xinput")]
7674impl From<xinput::XIPassiveGrabDeviceReply> for Reply {
7675 fn from(reply: xinput::XIPassiveGrabDeviceReply) -> Reply {
7676 Reply::XinputXIPassiveGrabDevice(reply)
7677 }
7678}
7679#[cfg(feature = "xinput")]
7680impl From<xinput::XIListPropertiesReply> for Reply {
7681 fn from(reply: xinput::XIListPropertiesReply) -> Reply {
7682 Reply::XinputXIListProperties(reply)
7683 }
7684}
7685#[cfg(feature = "xinput")]
7686impl From<xinput::XIGetPropertyReply> for Reply {
7687 fn from(reply: xinput::XIGetPropertyReply) -> Reply {
7688 Reply::XinputXIGetProperty(reply)
7689 }
7690}
7691#[cfg(feature = "xinput")]
7692impl From<xinput::XIGetSelectedEventsReply> for Reply {
7693 fn from(reply: xinput::XIGetSelectedEventsReply) -> Reply {
7694 Reply::XinputXIGetSelectedEvents(reply)
7695 }
7696}
7697#[cfg(feature = "xkb")]
7698impl From<xkb::UseExtensionReply> for Reply {
7699 fn from(reply: xkb::UseExtensionReply) -> Reply {
7700 Reply::XkbUseExtension(reply)
7701 }
7702}
7703#[cfg(feature = "xkb")]
7704impl From<xkb::GetStateReply> for Reply {
7705 fn from(reply: xkb::GetStateReply) -> Reply {
7706 Reply::XkbGetState(reply)
7707 }
7708}
7709#[cfg(feature = "xkb")]
7710impl From<xkb::GetControlsReply> for Reply {
7711 fn from(reply: xkb::GetControlsReply) -> Reply {
7712 Reply::XkbGetControls(reply)
7713 }
7714}
7715#[cfg(feature = "xkb")]
7716impl From<xkb::GetMapReply> for Reply {
7717 fn from(reply: xkb::GetMapReply) -> Reply {
7718 Reply::XkbGetMap(reply)
7719 }
7720}
7721#[cfg(feature = "xkb")]
7722impl From<xkb::GetCompatMapReply> for Reply {
7723 fn from(reply: xkb::GetCompatMapReply) -> Reply {
7724 Reply::XkbGetCompatMap(reply)
7725 }
7726}
7727#[cfg(feature = "xkb")]
7728impl From<xkb::GetIndicatorStateReply> for Reply {
7729 fn from(reply: xkb::GetIndicatorStateReply) -> Reply {
7730 Reply::XkbGetIndicatorState(reply)
7731 }
7732}
7733#[cfg(feature = "xkb")]
7734impl From<xkb::GetIndicatorMapReply> for Reply {
7735 fn from(reply: xkb::GetIndicatorMapReply) -> Reply {
7736 Reply::XkbGetIndicatorMap(reply)
7737 }
7738}
7739#[cfg(feature = "xkb")]
7740impl From<xkb::GetNamedIndicatorReply> for Reply {
7741 fn from(reply: xkb::GetNamedIndicatorReply) -> Reply {
7742 Reply::XkbGetNamedIndicator(reply)
7743 }
7744}
7745#[cfg(feature = "xkb")]
7746impl From<xkb::GetNamesReply> for Reply {
7747 fn from(reply: xkb::GetNamesReply) -> Reply {
7748 Reply::XkbGetNames(reply)
7749 }
7750}
7751#[cfg(feature = "xkb")]
7752impl From<xkb::PerClientFlagsReply> for Reply {
7753 fn from(reply: xkb::PerClientFlagsReply) -> Reply {
7754 Reply::XkbPerClientFlags(reply)
7755 }
7756}
7757#[cfg(feature = "xkb")]
7758impl From<xkb::ListComponentsReply> for Reply {
7759 fn from(reply: xkb::ListComponentsReply) -> Reply {
7760 Reply::XkbListComponents(reply)
7761 }
7762}
7763#[cfg(feature = "xkb")]
7764impl From<xkb::GetKbdByNameReply> for Reply {
7765 fn from(reply: xkb::GetKbdByNameReply) -> Reply {
7766 Reply::XkbGetKbdByName(reply)
7767 }
7768}
7769#[cfg(feature = "xkb")]
7770impl From<xkb::GetDeviceInfoReply> for Reply {
7771 fn from(reply: xkb::GetDeviceInfoReply) -> Reply {
7772 Reply::XkbGetDeviceInfo(reply)
7773 }
7774}
7775#[cfg(feature = "xkb")]
7776impl From<xkb::SetDebuggingFlagsReply> for Reply {
7777 fn from(reply: xkb::SetDebuggingFlagsReply) -> Reply {
7778 Reply::XkbSetDebuggingFlags(reply)
7779 }
7780}
7781#[cfg(feature = "xprint")]
7782impl From<xprint::PrintQueryVersionReply> for Reply {
7783 fn from(reply: xprint::PrintQueryVersionReply) -> Reply {
7784 Reply::XprintPrintQueryVersion(reply)
7785 }
7786}
7787#[cfg(feature = "xprint")]
7788impl From<xprint::PrintGetPrinterListReply> for Reply {
7789 fn from(reply: xprint::PrintGetPrinterListReply) -> Reply {
7790 Reply::XprintPrintGetPrinterList(reply)
7791 }
7792}
7793#[cfg(feature = "xprint")]
7794impl From<xprint::PrintGetContextReply> for Reply {
7795 fn from(reply: xprint::PrintGetContextReply) -> Reply {
7796 Reply::XprintPrintGetContext(reply)
7797 }
7798}
7799#[cfg(feature = "xprint")]
7800impl From<xprint::PrintGetScreenOfContextReply> for Reply {
7801 fn from(reply: xprint::PrintGetScreenOfContextReply) -> Reply {
7802 Reply::XprintPrintGetScreenOfContext(reply)
7803 }
7804}
7805#[cfg(feature = "xprint")]
7806impl From<xprint::PrintGetDocumentDataReply> for Reply {
7807 fn from(reply: xprint::PrintGetDocumentDataReply) -> Reply {
7808 Reply::XprintPrintGetDocumentData(reply)
7809 }
7810}
7811#[cfg(feature = "xprint")]
7812impl From<xprint::PrintInputSelectedReply> for Reply {
7813 fn from(reply: xprint::PrintInputSelectedReply) -> Reply {
7814 Reply::XprintPrintInputSelected(reply)
7815 }
7816}
7817#[cfg(feature = "xprint")]
7818impl From<xprint::PrintGetAttributesReply> for Reply {
7819 fn from(reply: xprint::PrintGetAttributesReply) -> Reply {
7820 Reply::XprintPrintGetAttributes(reply)
7821 }
7822}
7823#[cfg(feature = "xprint")]
7824impl From<xprint::PrintGetOneAttributesReply> for Reply {
7825 fn from(reply: xprint::PrintGetOneAttributesReply) -> Reply {
7826 Reply::XprintPrintGetOneAttributes(reply)
7827 }
7828}
7829#[cfg(feature = "xprint")]
7830impl From<xprint::PrintGetPageDimensionsReply> for Reply {
7831 fn from(reply: xprint::PrintGetPageDimensionsReply) -> Reply {
7832 Reply::XprintPrintGetPageDimensions(reply)
7833 }
7834}
7835#[cfg(feature = "xprint")]
7836impl From<xprint::PrintQueryScreensReply> for Reply {
7837 fn from(reply: xprint::PrintQueryScreensReply) -> Reply {
7838 Reply::XprintPrintQueryScreens(reply)
7839 }
7840}
7841#[cfg(feature = "xprint")]
7842impl From<xprint::PrintSetImageResolutionReply> for Reply {
7843 fn from(reply: xprint::PrintSetImageResolutionReply) -> Reply {
7844 Reply::XprintPrintSetImageResolution(reply)
7845 }
7846}
7847#[cfg(feature = "xprint")]
7848impl From<xprint::PrintGetImageResolutionReply> for Reply {
7849 fn from(reply: xprint::PrintGetImageResolutionReply) -> Reply {
7850 Reply::XprintPrintGetImageResolution(reply)
7851 }
7852}
7853#[cfg(feature = "xselinux")]
7854impl From<xselinux::QueryVersionReply> for Reply {
7855 fn from(reply: xselinux::QueryVersionReply) -> Reply {
7856 Reply::XselinuxQueryVersion(reply)
7857 }
7858}
7859#[cfg(feature = "xselinux")]
7860impl From<xselinux::GetDeviceCreateContextReply> for Reply {
7861 fn from(reply: xselinux::GetDeviceCreateContextReply) -> Reply {
7862 Reply::XselinuxGetDeviceCreateContext(reply)
7863 }
7864}
7865#[cfg(feature = "xselinux")]
7866impl From<xselinux::GetDeviceContextReply> for Reply {
7867 fn from(reply: xselinux::GetDeviceContextReply) -> Reply {
7868 Reply::XselinuxGetDeviceContext(reply)
7869 }
7870}
7871#[cfg(feature = "xselinux")]
7872impl From<xselinux::GetWindowCreateContextReply> for Reply {
7873 fn from(reply: xselinux::GetWindowCreateContextReply) -> Reply {
7874 Reply::XselinuxGetWindowCreateContext(reply)
7875 }
7876}
7877#[cfg(feature = "xselinux")]
7878impl From<xselinux::GetWindowContextReply> for Reply {
7879 fn from(reply: xselinux::GetWindowContextReply) -> Reply {
7880 Reply::XselinuxGetWindowContext(reply)
7881 }
7882}
7883#[cfg(feature = "xselinux")]
7884impl From<xselinux::GetPropertyCreateContextReply> for Reply {
7885 fn from(reply: xselinux::GetPropertyCreateContextReply) -> Reply {
7886 Reply::XselinuxGetPropertyCreateContext(reply)
7887 }
7888}
7889#[cfg(feature = "xselinux")]
7890impl From<xselinux::GetPropertyUseContextReply> for Reply {
7891 fn from(reply: xselinux::GetPropertyUseContextReply) -> Reply {
7892 Reply::XselinuxGetPropertyUseContext(reply)
7893 }
7894}
7895#[cfg(feature = "xselinux")]
7896impl From<xselinux::GetPropertyContextReply> for Reply {
7897 fn from(reply: xselinux::GetPropertyContextReply) -> Reply {
7898 Reply::XselinuxGetPropertyContext(reply)
7899 }
7900}
7901#[cfg(feature = "xselinux")]
7902impl From<xselinux::GetPropertyDataContextReply> for Reply {
7903 fn from(reply: xselinux::GetPropertyDataContextReply) -> Reply {
7904 Reply::XselinuxGetPropertyDataContext(reply)
7905 }
7906}
7907#[cfg(feature = "xselinux")]
7908impl From<xselinux::ListPropertiesReply> for Reply {
7909 fn from(reply: xselinux::ListPropertiesReply) -> Reply {
7910 Reply::XselinuxListProperties(reply)
7911 }
7912}
7913#[cfg(feature = "xselinux")]
7914impl From<xselinux::GetSelectionCreateContextReply> for Reply {
7915 fn from(reply: xselinux::GetSelectionCreateContextReply) -> Reply {
7916 Reply::XselinuxGetSelectionCreateContext(reply)
7917 }
7918}
7919#[cfg(feature = "xselinux")]
7920impl From<xselinux::GetSelectionUseContextReply> for Reply {
7921 fn from(reply: xselinux::GetSelectionUseContextReply) -> Reply {
7922 Reply::XselinuxGetSelectionUseContext(reply)
7923 }
7924}
7925#[cfg(feature = "xselinux")]
7926impl From<xselinux::GetSelectionContextReply> for Reply {
7927 fn from(reply: xselinux::GetSelectionContextReply) -> Reply {
7928 Reply::XselinuxGetSelectionContext(reply)
7929 }
7930}
7931#[cfg(feature = "xselinux")]
7932impl From<xselinux::GetSelectionDataContextReply> for Reply {
7933 fn from(reply: xselinux::GetSelectionDataContextReply) -> Reply {
7934 Reply::XselinuxGetSelectionDataContext(reply)
7935 }
7936}
7937#[cfg(feature = "xselinux")]
7938impl From<xselinux::ListSelectionsReply> for Reply {
7939 fn from(reply: xselinux::ListSelectionsReply) -> Reply {
7940 Reply::XselinuxListSelections(reply)
7941 }
7942}
7943#[cfg(feature = "xselinux")]
7944impl From<xselinux::GetClientContextReply> for Reply {
7945 fn from(reply: xselinux::GetClientContextReply) -> Reply {
7946 Reply::XselinuxGetClientContext(reply)
7947 }
7948}
7949#[cfg(feature = "xtest")]
7950impl From<xtest::GetVersionReply> for Reply {
7951 fn from(reply: xtest::GetVersionReply) -> Reply {
7952 Reply::XtestGetVersion(reply)
7953 }
7954}
7955#[cfg(feature = "xtest")]
7956impl From<xtest::CompareCursorReply> for Reply {
7957 fn from(reply: xtest::CompareCursorReply) -> Reply {
7958 Reply::XtestCompareCursor(reply)
7959 }
7960}
7961#[cfg(feature = "xv")]
7962impl From<xv::QueryExtensionReply> for Reply {
7963 fn from(reply: xv::QueryExtensionReply) -> Reply {
7964 Reply::XvQueryExtension(reply)
7965 }
7966}
7967#[cfg(feature = "xv")]
7968impl From<xv::QueryAdaptorsReply> for Reply {
7969 fn from(reply: xv::QueryAdaptorsReply) -> Reply {
7970 Reply::XvQueryAdaptors(reply)
7971 }
7972}
7973#[cfg(feature = "xv")]
7974impl From<xv::QueryEncodingsReply> for Reply {
7975 fn from(reply: xv::QueryEncodingsReply) -> Reply {
7976 Reply::XvQueryEncodings(reply)
7977 }
7978}
7979#[cfg(feature = "xv")]
7980impl From<xv::GrabPortReply> for Reply {
7981 fn from(reply: xv::GrabPortReply) -> Reply {
7982 Reply::XvGrabPort(reply)
7983 }
7984}
7985#[cfg(feature = "xv")]
7986impl From<xv::QueryBestSizeReply> for Reply {
7987 fn from(reply: xv::QueryBestSizeReply) -> Reply {
7988 Reply::XvQueryBestSize(reply)
7989 }
7990}
7991#[cfg(feature = "xv")]
7992impl From<xv::GetPortAttributeReply> for Reply {
7993 fn from(reply: xv::GetPortAttributeReply) -> Reply {
7994 Reply::XvGetPortAttribute(reply)
7995 }
7996}
7997#[cfg(feature = "xv")]
7998impl From<xv::QueryPortAttributesReply> for Reply {
7999 fn from(reply: xv::QueryPortAttributesReply) -> Reply {
8000 Reply::XvQueryPortAttributes(reply)
8001 }
8002}
8003#[cfg(feature = "xv")]
8004impl From<xv::ListImageFormatsReply> for Reply {
8005 fn from(reply: xv::ListImageFormatsReply) -> Reply {
8006 Reply::XvListImageFormats(reply)
8007 }
8008}
8009#[cfg(feature = "xv")]
8010impl From<xv::QueryImageAttributesReply> for Reply {
8011 fn from(reply: xv::QueryImageAttributesReply) -> Reply {
8012 Reply::XvQueryImageAttributes(reply)
8013 }
8014}
8015#[cfg(feature = "xvmc")]
8016impl From<xvmc::QueryVersionReply> for Reply {
8017 fn from(reply: xvmc::QueryVersionReply) -> Reply {
8018 Reply::XvmcQueryVersion(reply)
8019 }
8020}
8021#[cfg(feature = "xvmc")]
8022impl From<xvmc::ListSurfaceTypesReply> for Reply {
8023 fn from(reply: xvmc::ListSurfaceTypesReply) -> Reply {
8024 Reply::XvmcListSurfaceTypes(reply)
8025 }
8026}
8027#[cfg(feature = "xvmc")]
8028impl From<xvmc::CreateContextReply> for Reply {
8029 fn from(reply: xvmc::CreateContextReply) -> Reply {
8030 Reply::XvmcCreateContext(reply)
8031 }
8032}
8033#[cfg(feature = "xvmc")]
8034impl From<xvmc::CreateSurfaceReply> for Reply {
8035 fn from(reply: xvmc::CreateSurfaceReply) -> Reply {
8036 Reply::XvmcCreateSurface(reply)
8037 }
8038}
8039#[cfg(feature = "xvmc")]
8040impl From<xvmc::CreateSubpictureReply> for Reply {
8041 fn from(reply: xvmc::CreateSubpictureReply) -> Reply {
8042 Reply::XvmcCreateSubpicture(reply)
8043 }
8044}
8045#[cfg(feature = "xvmc")]
8046impl From<xvmc::ListSubpictureTypesReply> for Reply {
8047 fn from(reply: xvmc::ListSubpictureTypesReply) -> Reply {
8048 Reply::XvmcListSubpictureTypes(reply)
8049 }
8050}
8051
8052pub(crate) fn request_name(ext_info_provider: &dyn ExtInfoProvider, major_opcode: u8, minor_opcode: u16) -> (Option<String>, Option<&'static str>) {
8056 let (ext, info) = if major_opcode < 128 || minor_opcode <= u16::from(u8::MAX) {
8061 get_request_name_internal(ext_info_provider, major_opcode, minor_opcode as u8)
8062 } else {
8063 let ext = ext_info_provider.get_from_major_opcode(major_opcode);
8064 return (ext.map(|(ext, _)| String::from(ext)), None);
8065 };
8066 let ext = ext.map(String::from);
8067 let info = match info {
8068 RequestInfo::Xproto(request) => request.into(),
8069 RequestInfo::KnownExt(ext_and_request) => ext_and_request.split_once("::").map(|r| r.1),
8070 RequestInfo::UnknownRequest(_, _) => None,
8071 RequestInfo::UnknownExtension(_, _) => None,
8072 };
8073 (ext, info)
8074}
8075
8076#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
8078#[non_exhaustive]
8079pub enum ErrorKind {
8080 Unknown(u8),
8081 Access,
8082 Alloc,
8083 Atom,
8084 Colormap,
8085 Cursor,
8086 Drawable,
8087 Font,
8088 GContext,
8089 IDChoice,
8090 Implementation,
8091 Length,
8092 Match,
8093 Name,
8094 Pixmap,
8095 Request,
8096 Value,
8097 Window,
8098 #[cfg(feature = "damage")]
8099 DamageBadDamage,
8100 #[cfg(feature = "dbe")]
8101 DbeBadBuffer,
8102 #[cfg(feature = "glx")]
8103 GlxBadContext,
8104 #[cfg(feature = "glx")]
8105 GlxBadContextState,
8106 #[cfg(feature = "glx")]
8107 GlxBadContextTag,
8108 #[cfg(feature = "glx")]
8109 GlxBadCurrentDrawable,
8110 #[cfg(feature = "glx")]
8111 GlxBadCurrentWindow,
8112 #[cfg(feature = "glx")]
8113 GlxBadDrawable,
8114 #[cfg(feature = "glx")]
8115 GlxBadFBConfig,
8116 #[cfg(feature = "glx")]
8117 GlxBadLargeRequest,
8118 #[cfg(feature = "glx")]
8119 GlxBadPbuffer,
8120 #[cfg(feature = "glx")]
8121 GlxBadPixmap,
8122 #[cfg(feature = "glx")]
8123 GlxBadRenderRequest,
8124 #[cfg(feature = "glx")]
8125 GlxBadWindow,
8126 #[cfg(feature = "glx")]
8127 GlxGLXBadProfileARB,
8128 #[cfg(feature = "glx")]
8129 GlxUnsupportedPrivateRequest,
8130 #[cfg(feature = "randr")]
8131 RandrBadCrtc,
8132 #[cfg(feature = "randr")]
8133 RandrBadMode,
8134 #[cfg(feature = "randr")]
8135 RandrBadOutput,
8136 #[cfg(feature = "randr")]
8137 RandrBadProvider,
8138 #[cfg(feature = "record")]
8139 RecordBadContext,
8140 #[cfg(feature = "render")]
8141 RenderGlyph,
8142 #[cfg(feature = "render")]
8143 RenderGlyphSet,
8144 #[cfg(feature = "render")]
8145 RenderPictFormat,
8146 #[cfg(feature = "render")]
8147 RenderPictOp,
8148 #[cfg(feature = "render")]
8149 RenderPicture,
8150 #[cfg(feature = "shm")]
8151 ShmBadSeg,
8152 #[cfg(feature = "sync")]
8153 SyncAlarm,
8154 #[cfg(feature = "sync")]
8155 SyncCounter,
8156 #[cfg(feature = "xf86vidmode")]
8157 Xf86vidmodeBadClock,
8158 #[cfg(feature = "xf86vidmode")]
8159 Xf86vidmodeBadHTimings,
8160 #[cfg(feature = "xf86vidmode")]
8161 Xf86vidmodeBadVTimings,
8162 #[cfg(feature = "xf86vidmode")]
8163 Xf86vidmodeClientNotLocal,
8164 #[cfg(feature = "xf86vidmode")]
8165 Xf86vidmodeExtensionDisabled,
8166 #[cfg(feature = "xf86vidmode")]
8167 Xf86vidmodeModeUnsuitable,
8168 #[cfg(feature = "xf86vidmode")]
8169 Xf86vidmodeZoomLocked,
8170 #[cfg(feature = "xfixes")]
8171 XfixesBadRegion,
8172 #[cfg(feature = "xinput")]
8173 XinputClass,
8174 #[cfg(feature = "xinput")]
8175 XinputDevice,
8176 #[cfg(feature = "xinput")]
8177 XinputDeviceBusy,
8178 #[cfg(feature = "xinput")]
8179 XinputEvent,
8180 #[cfg(feature = "xinput")]
8181 XinputMode,
8182 #[cfg(feature = "xkb")]
8183 XkbKeyboard,
8184 #[cfg(feature = "xprint")]
8185 XprintBadContext,
8186 #[cfg(feature = "xprint")]
8187 XprintBadSequence,
8188 #[cfg(feature = "xv")]
8189 XvBadControl,
8190 #[cfg(feature = "xv")]
8191 XvBadEncoding,
8192 #[cfg(feature = "xv")]
8193 XvBadPort,
8194}
8195
8196impl ErrorKind {
8197 #[allow(clippy::match_single_binding)]
8198 pub fn from_wire_error_code(
8199 error_code: u8,
8200 ext_info_provider: &dyn ExtInfoProvider,
8201 ) -> Self {
8202 match error_code {
8204 xproto::ACCESS_ERROR => return Self::Access,
8205 xproto::ALLOC_ERROR => return Self::Alloc,
8206 xproto::ATOM_ERROR => return Self::Atom,
8207 xproto::COLORMAP_ERROR => return Self::Colormap,
8208 xproto::CURSOR_ERROR => return Self::Cursor,
8209 xproto::DRAWABLE_ERROR => return Self::Drawable,
8210 xproto::FONT_ERROR => return Self::Font,
8211 xproto::G_CONTEXT_ERROR => return Self::GContext,
8212 xproto::ID_CHOICE_ERROR => return Self::IDChoice,
8213 xproto::IMPLEMENTATION_ERROR => return Self::Implementation,
8214 xproto::LENGTH_ERROR => return Self::Length,
8215 xproto::MATCH_ERROR => return Self::Match,
8216 xproto::NAME_ERROR => return Self::Name,
8217 xproto::PIXMAP_ERROR => return Self::Pixmap,
8218 xproto::REQUEST_ERROR => return Self::Request,
8219 xproto::VALUE_ERROR => return Self::Value,
8220 xproto::WINDOW_ERROR => return Self::Window,
8221 _ => {}
8222 }
8223
8224 let ext_info = ext_info_provider.get_from_error_code(error_code);
8226 match ext_info {
8227 #[cfg(feature = "damage")]
8228 Some((damage::X11_EXTENSION_NAME, ext_info)) => {
8229 match error_code - ext_info.first_error {
8230 damage::BAD_DAMAGE_ERROR => Self::DamageBadDamage,
8231 _ => Self::Unknown(error_code),
8232 }
8233 }
8234 #[cfg(feature = "dbe")]
8235 Some((dbe::X11_EXTENSION_NAME, ext_info)) => {
8236 match error_code - ext_info.first_error {
8237 dbe::BAD_BUFFER_ERROR => Self::DbeBadBuffer,
8238 _ => Self::Unknown(error_code),
8239 }
8240 }
8241 #[cfg(feature = "glx")]
8242 Some((glx::X11_EXTENSION_NAME, ext_info)) => {
8243 match error_code - ext_info.first_error {
8244 glx::BAD_CONTEXT_ERROR => Self::GlxBadContext,
8245 glx::BAD_CONTEXT_STATE_ERROR => Self::GlxBadContextState,
8246 glx::BAD_CONTEXT_TAG_ERROR => Self::GlxBadContextTag,
8247 glx::BAD_CURRENT_DRAWABLE_ERROR => Self::GlxBadCurrentDrawable,
8248 glx::BAD_CURRENT_WINDOW_ERROR => Self::GlxBadCurrentWindow,
8249 glx::BAD_DRAWABLE_ERROR => Self::GlxBadDrawable,
8250 glx::BAD_FB_CONFIG_ERROR => Self::GlxBadFBConfig,
8251 glx::BAD_LARGE_REQUEST_ERROR => Self::GlxBadLargeRequest,
8252 glx::BAD_PBUFFER_ERROR => Self::GlxBadPbuffer,
8253 glx::BAD_PIXMAP_ERROR => Self::GlxBadPixmap,
8254 glx::BAD_RENDER_REQUEST_ERROR => Self::GlxBadRenderRequest,
8255 glx::BAD_WINDOW_ERROR => Self::GlxBadWindow,
8256 glx::GLX_BAD_PROFILE_ARB_ERROR => Self::GlxGLXBadProfileARB,
8257 glx::UNSUPPORTED_PRIVATE_REQUEST_ERROR => Self::GlxUnsupportedPrivateRequest,
8258 _ => Self::Unknown(error_code),
8259 }
8260 }
8261 #[cfg(feature = "randr")]
8262 Some((randr::X11_EXTENSION_NAME, ext_info)) => {
8263 match error_code - ext_info.first_error {
8264 randr::BAD_CRTC_ERROR => Self::RandrBadCrtc,
8265 randr::BAD_MODE_ERROR => Self::RandrBadMode,
8266 randr::BAD_OUTPUT_ERROR => Self::RandrBadOutput,
8267 randr::BAD_PROVIDER_ERROR => Self::RandrBadProvider,
8268 _ => Self::Unknown(error_code),
8269 }
8270 }
8271 #[cfg(feature = "record")]
8272 Some((record::X11_EXTENSION_NAME, ext_info)) => {
8273 match error_code - ext_info.first_error {
8274 record::BAD_CONTEXT_ERROR => Self::RecordBadContext,
8275 _ => Self::Unknown(error_code),
8276 }
8277 }
8278 #[cfg(feature = "render")]
8279 Some((render::X11_EXTENSION_NAME, ext_info)) => {
8280 match error_code - ext_info.first_error {
8281 render::GLYPH_ERROR => Self::RenderGlyph,
8282 render::GLYPH_SET_ERROR => Self::RenderGlyphSet,
8283 render::PICT_FORMAT_ERROR => Self::RenderPictFormat,
8284 render::PICT_OP_ERROR => Self::RenderPictOp,
8285 render::PICTURE_ERROR => Self::RenderPicture,
8286 _ => Self::Unknown(error_code),
8287 }
8288 }
8289 #[cfg(feature = "shm")]
8290 Some((shm::X11_EXTENSION_NAME, ext_info)) => {
8291 match error_code - ext_info.first_error {
8292 shm::BAD_SEG_ERROR => Self::ShmBadSeg,
8293 _ => Self::Unknown(error_code),
8294 }
8295 }
8296 #[cfg(feature = "sync")]
8297 Some((sync::X11_EXTENSION_NAME, ext_info)) => {
8298 match error_code - ext_info.first_error {
8299 sync::ALARM_ERROR => Self::SyncAlarm,
8300 sync::COUNTER_ERROR => Self::SyncCounter,
8301 _ => Self::Unknown(error_code),
8302 }
8303 }
8304 #[cfg(feature = "xf86vidmode")]
8305 Some((xf86vidmode::X11_EXTENSION_NAME, ext_info)) => {
8306 match error_code - ext_info.first_error {
8307 xf86vidmode::BAD_CLOCK_ERROR => Self::Xf86vidmodeBadClock,
8308 xf86vidmode::BAD_H_TIMINGS_ERROR => Self::Xf86vidmodeBadHTimings,
8309 xf86vidmode::BAD_V_TIMINGS_ERROR => Self::Xf86vidmodeBadVTimings,
8310 xf86vidmode::CLIENT_NOT_LOCAL_ERROR => Self::Xf86vidmodeClientNotLocal,
8311 xf86vidmode::EXTENSION_DISABLED_ERROR => Self::Xf86vidmodeExtensionDisabled,
8312 xf86vidmode::MODE_UNSUITABLE_ERROR => Self::Xf86vidmodeModeUnsuitable,
8313 xf86vidmode::ZOOM_LOCKED_ERROR => Self::Xf86vidmodeZoomLocked,
8314 _ => Self::Unknown(error_code),
8315 }
8316 }
8317 #[cfg(feature = "xfixes")]
8318 Some((xfixes::X11_EXTENSION_NAME, ext_info)) => {
8319 match error_code - ext_info.first_error {
8320 xfixes::BAD_REGION_ERROR => Self::XfixesBadRegion,
8321 _ => Self::Unknown(error_code),
8322 }
8323 }
8324 #[cfg(feature = "xinput")]
8325 Some((xinput::X11_EXTENSION_NAME, ext_info)) => {
8326 match error_code - ext_info.first_error {
8327 xinput::CLASS_ERROR => Self::XinputClass,
8328 xinput::DEVICE_ERROR => Self::XinputDevice,
8329 xinput::DEVICE_BUSY_ERROR => Self::XinputDeviceBusy,
8330 xinput::EVENT_ERROR => Self::XinputEvent,
8331 xinput::MODE_ERROR => Self::XinputMode,
8332 _ => Self::Unknown(error_code),
8333 }
8334 }
8335 #[cfg(feature = "xkb")]
8336 Some((xkb::X11_EXTENSION_NAME, ext_info)) => {
8337 match error_code - ext_info.first_error {
8338 xkb::KEYBOARD_ERROR => Self::XkbKeyboard,
8339 _ => Self::Unknown(error_code),
8340 }
8341 }
8342 #[cfg(feature = "xprint")]
8343 Some((xprint::X11_EXTENSION_NAME, ext_info)) => {
8344 match error_code - ext_info.first_error {
8345 xprint::BAD_CONTEXT_ERROR => Self::XprintBadContext,
8346 xprint::BAD_SEQUENCE_ERROR => Self::XprintBadSequence,
8347 _ => Self::Unknown(error_code),
8348 }
8349 }
8350 #[cfg(feature = "xv")]
8351 Some((xv::X11_EXTENSION_NAME, ext_info)) => {
8352 match error_code - ext_info.first_error {
8353 xv::BAD_CONTROL_ERROR => Self::XvBadControl,
8354 xv::BAD_ENCODING_ERROR => Self::XvBadEncoding,
8355 xv::BAD_PORT_ERROR => Self::XvBadPort,
8356 _ => Self::Unknown(error_code),
8357 }
8358 }
8359 _ => Self::Unknown(error_code),
8360 }
8361 }
8362}
8363
8364
8365#[derive(Debug, Clone)]
8367#[non_exhaustive]
8368pub enum Event {
8369 Unknown(Vec<u8>),
8370 Error(X11Error),
8371 ButtonPress(xproto::ButtonPressEvent),
8372 ButtonRelease(xproto::ButtonReleaseEvent),
8373 CirculateNotify(xproto::CirculateNotifyEvent),
8374 CirculateRequest(xproto::CirculateRequestEvent),
8375 ClientMessage(xproto::ClientMessageEvent),
8376 ColormapNotify(xproto::ColormapNotifyEvent),
8377 ConfigureNotify(xproto::ConfigureNotifyEvent),
8378 ConfigureRequest(xproto::ConfigureRequestEvent),
8379 CreateNotify(xproto::CreateNotifyEvent),
8380 DestroyNotify(xproto::DestroyNotifyEvent),
8381 EnterNotify(xproto::EnterNotifyEvent),
8382 Expose(xproto::ExposeEvent),
8383 FocusIn(xproto::FocusInEvent),
8384 FocusOut(xproto::FocusOutEvent),
8385 GeGeneric(xproto::GeGenericEvent),
8386 GraphicsExposure(xproto::GraphicsExposureEvent),
8387 GravityNotify(xproto::GravityNotifyEvent),
8388 KeyPress(xproto::KeyPressEvent),
8389 KeyRelease(xproto::KeyReleaseEvent),
8390 KeymapNotify(xproto::KeymapNotifyEvent),
8391 LeaveNotify(xproto::LeaveNotifyEvent),
8392 MapNotify(xproto::MapNotifyEvent),
8393 MapRequest(xproto::MapRequestEvent),
8394 MappingNotify(xproto::MappingNotifyEvent),
8395 MotionNotify(xproto::MotionNotifyEvent),
8396 NoExposure(xproto::NoExposureEvent),
8397 PropertyNotify(xproto::PropertyNotifyEvent),
8398 ReparentNotify(xproto::ReparentNotifyEvent),
8399 ResizeRequest(xproto::ResizeRequestEvent),
8400 SelectionClear(xproto::SelectionClearEvent),
8401 SelectionNotify(xproto::SelectionNotifyEvent),
8402 SelectionRequest(xproto::SelectionRequestEvent),
8403 UnmapNotify(xproto::UnmapNotifyEvent),
8404 VisibilityNotify(xproto::VisibilityNotifyEvent),
8405 #[cfg(feature = "damage")]
8406 DamageNotify(damage::NotifyEvent),
8407 #[cfg(feature = "dpms")]
8408 DpmsInfoNotify(dpms::InfoNotifyEvent),
8409 #[cfg(feature = "dri2")]
8410 Dri2BufferSwapComplete(dri2::BufferSwapCompleteEvent),
8411 #[cfg(feature = "dri2")]
8412 Dri2InvalidateBuffers(dri2::InvalidateBuffersEvent),
8413 #[cfg(feature = "glx")]
8414 GlxBufferSwapComplete(glx::BufferSwapCompleteEvent),
8415 #[cfg(feature = "glx")]
8416 GlxPbufferClobber(glx::PbufferClobberEvent),
8417 #[cfg(feature = "present")]
8418 PresentCompleteNotify(present::CompleteNotifyEvent),
8419 #[cfg(feature = "present")]
8420 PresentConfigureNotify(present::ConfigureNotifyEvent),
8421 #[cfg(feature = "present")]
8422 PresentGeneric(present::GenericEvent),
8423 #[cfg(feature = "present")]
8424 PresentIdleNotify(present::IdleNotifyEvent),
8425 #[cfg(feature = "present")]
8426 PresentRedirectNotify(present::RedirectNotifyEvent),
8427 #[cfg(feature = "randr")]
8428 RandrNotify(randr::NotifyEvent),
8429 #[cfg(feature = "randr")]
8430 RandrScreenChangeNotify(randr::ScreenChangeNotifyEvent),
8431 #[cfg(feature = "screensaver")]
8432 ScreensaverNotify(screensaver::NotifyEvent),
8433 #[cfg(feature = "shape")]
8434 ShapeNotify(shape::NotifyEvent),
8435 #[cfg(feature = "shm")]
8436 ShmCompletion(shm::CompletionEvent),
8437 #[cfg(feature = "sync")]
8438 SyncAlarmNotify(sync::AlarmNotifyEvent),
8439 #[cfg(feature = "sync")]
8440 SyncCounterNotify(sync::CounterNotifyEvent),
8441 #[cfg(feature = "xfixes")]
8442 XfixesCursorNotify(xfixes::CursorNotifyEvent),
8443 #[cfg(feature = "xfixes")]
8444 XfixesSelectionNotify(xfixes::SelectionNotifyEvent),
8445 #[cfg(feature = "xinput")]
8446 XinputBarrierHit(xinput::BarrierHitEvent),
8447 #[cfg(feature = "xinput")]
8448 XinputBarrierLeave(xinput::BarrierLeaveEvent),
8449 #[cfg(feature = "xinput")]
8450 XinputButtonPress(xinput::ButtonPressEvent),
8451 #[cfg(feature = "xinput")]
8452 XinputButtonRelease(xinput::ButtonReleaseEvent),
8453 #[cfg(feature = "xinput")]
8454 XinputChangeDeviceNotify(xinput::ChangeDeviceNotifyEvent),
8455 #[cfg(feature = "xinput")]
8456 XinputDeviceButtonPress(xinput::DeviceButtonPressEvent),
8457 #[cfg(feature = "xinput")]
8458 XinputDeviceButtonRelease(xinput::DeviceButtonReleaseEvent),
8459 #[cfg(feature = "xinput")]
8460 XinputDeviceButtonStateNotify(xinput::DeviceButtonStateNotifyEvent),
8461 #[cfg(feature = "xinput")]
8462 XinputDeviceChanged(xinput::DeviceChangedEvent),
8463 #[cfg(feature = "xinput")]
8464 XinputDeviceFocusIn(xinput::DeviceFocusInEvent),
8465 #[cfg(feature = "xinput")]
8466 XinputDeviceFocusOut(xinput::DeviceFocusOutEvent),
8467 #[cfg(feature = "xinput")]
8468 XinputDeviceKeyPress(xinput::DeviceKeyPressEvent),
8469 #[cfg(feature = "xinput")]
8470 XinputDeviceKeyRelease(xinput::DeviceKeyReleaseEvent),
8471 #[cfg(feature = "xinput")]
8472 XinputDeviceKeyStateNotify(xinput::DeviceKeyStateNotifyEvent),
8473 #[cfg(feature = "xinput")]
8474 XinputDeviceMappingNotify(xinput::DeviceMappingNotifyEvent),
8475 #[cfg(feature = "xinput")]
8476 XinputDeviceMotionNotify(xinput::DeviceMotionNotifyEvent),
8477 #[cfg(feature = "xinput")]
8478 XinputDevicePresenceNotify(xinput::DevicePresenceNotifyEvent),
8479 #[cfg(feature = "xinput")]
8480 XinputDevicePropertyNotify(xinput::DevicePropertyNotifyEvent),
8481 #[cfg(feature = "xinput")]
8482 XinputDeviceStateNotify(xinput::DeviceStateNotifyEvent),
8483 #[cfg(feature = "xinput")]
8484 XinputDeviceValuator(xinput::DeviceValuatorEvent),
8485 #[cfg(feature = "xinput")]
8486 XinputEnter(xinput::EnterEvent),
8487 #[cfg(feature = "xinput")]
8488 XinputFocusIn(xinput::FocusInEvent),
8489 #[cfg(feature = "xinput")]
8490 XinputFocusOut(xinput::FocusOutEvent),
8491 #[cfg(feature = "xinput")]
8492 XinputGesturePinchBegin(xinput::GesturePinchBeginEvent),
8493 #[cfg(feature = "xinput")]
8494 XinputGesturePinchEnd(xinput::GesturePinchEndEvent),
8495 #[cfg(feature = "xinput")]
8496 XinputGesturePinchUpdate(xinput::GesturePinchUpdateEvent),
8497 #[cfg(feature = "xinput")]
8498 XinputGestureSwipeBegin(xinput::GestureSwipeBeginEvent),
8499 #[cfg(feature = "xinput")]
8500 XinputGestureSwipeEnd(xinput::GestureSwipeEndEvent),
8501 #[cfg(feature = "xinput")]
8502 XinputGestureSwipeUpdate(xinput::GestureSwipeUpdateEvent),
8503 #[cfg(feature = "xinput")]
8504 XinputHierarchy(xinput::HierarchyEvent),
8505 #[cfg(feature = "xinput")]
8506 XinputKeyPress(xinput::KeyPressEvent),
8507 #[cfg(feature = "xinput")]
8508 XinputKeyRelease(xinput::KeyReleaseEvent),
8509 #[cfg(feature = "xinput")]
8510 XinputLeave(xinput::LeaveEvent),
8511 #[cfg(feature = "xinput")]
8512 XinputMotion(xinput::MotionEvent),
8513 #[cfg(feature = "xinput")]
8514 XinputProperty(xinput::PropertyEvent),
8515 #[cfg(feature = "xinput")]
8516 XinputProximityIn(xinput::ProximityInEvent),
8517 #[cfg(feature = "xinput")]
8518 XinputProximityOut(xinput::ProximityOutEvent),
8519 #[cfg(feature = "xinput")]
8520 XinputRawButtonPress(xinput::RawButtonPressEvent),
8521 #[cfg(feature = "xinput")]
8522 XinputRawButtonRelease(xinput::RawButtonReleaseEvent),
8523 #[cfg(feature = "xinput")]
8524 XinputRawKeyPress(xinput::RawKeyPressEvent),
8525 #[cfg(feature = "xinput")]
8526 XinputRawKeyRelease(xinput::RawKeyReleaseEvent),
8527 #[cfg(feature = "xinput")]
8528 XinputRawMotion(xinput::RawMotionEvent),
8529 #[cfg(feature = "xinput")]
8530 XinputRawTouchBegin(xinput::RawTouchBeginEvent),
8531 #[cfg(feature = "xinput")]
8532 XinputRawTouchEnd(xinput::RawTouchEndEvent),
8533 #[cfg(feature = "xinput")]
8534 XinputRawTouchUpdate(xinput::RawTouchUpdateEvent),
8535 #[cfg(feature = "xinput")]
8536 XinputTouchBegin(xinput::TouchBeginEvent),
8537 #[cfg(feature = "xinput")]
8538 XinputTouchEnd(xinput::TouchEndEvent),
8539 #[cfg(feature = "xinput")]
8540 XinputTouchOwnership(xinput::TouchOwnershipEvent),
8541 #[cfg(feature = "xinput")]
8542 XinputTouchUpdate(xinput::TouchUpdateEvent),
8543 #[cfg(feature = "xkb")]
8544 XkbAccessXNotify(xkb::AccessXNotifyEvent),
8545 #[cfg(feature = "xkb")]
8546 XkbActionMessage(xkb::ActionMessageEvent),
8547 #[cfg(feature = "xkb")]
8548 XkbBellNotify(xkb::BellNotifyEvent),
8549 #[cfg(feature = "xkb")]
8550 XkbCompatMapNotify(xkb::CompatMapNotifyEvent),
8551 #[cfg(feature = "xkb")]
8552 XkbControlsNotify(xkb::ControlsNotifyEvent),
8553 #[cfg(feature = "xkb")]
8554 XkbExtensionDeviceNotify(xkb::ExtensionDeviceNotifyEvent),
8555 #[cfg(feature = "xkb")]
8556 XkbIndicatorMapNotify(xkb::IndicatorMapNotifyEvent),
8557 #[cfg(feature = "xkb")]
8558 XkbIndicatorStateNotify(xkb::IndicatorStateNotifyEvent),
8559 #[cfg(feature = "xkb")]
8560 XkbMapNotify(xkb::MapNotifyEvent),
8561 #[cfg(feature = "xkb")]
8562 XkbNamesNotify(xkb::NamesNotifyEvent),
8563 #[cfg(feature = "xkb")]
8564 XkbNewKeyboardNotify(xkb::NewKeyboardNotifyEvent),
8565 #[cfg(feature = "xkb")]
8566 XkbStateNotify(xkb::StateNotifyEvent),
8567 #[cfg(feature = "xprint")]
8568 XprintAttributNotify(xprint::AttributNotifyEvent),
8569 #[cfg(feature = "xprint")]
8570 XprintNotify(xprint::NotifyEvent),
8571 #[cfg(feature = "xv")]
8572 XvPortNotify(xv::PortNotifyEvent),
8573 #[cfg(feature = "xv")]
8574 XvVideoNotify(xv::VideoNotifyEvent),
8575}
8576
8577impl Event {
8578 #[allow(clippy::cognitive_complexity, clippy::match_single_binding)]
8580 pub fn parse(
8581 event: &[u8],
8582 ext_info_provider: &dyn ExtInfoProvider,
8583 ) -> Result<Self, ParseError> {
8584 let event_code = response_type(event)?;
8585
8586 match event_code {
8588 0 => return Ok(Self::Error(X11Error::try_parse(event, ext_info_provider)?)),
8589 xproto::BUTTON_PRESS_EVENT => return Ok(Self::ButtonPress(TryParse::try_parse(event)?.0)),
8590 xproto::BUTTON_RELEASE_EVENT => return Ok(Self::ButtonRelease(TryParse::try_parse(event)?.0)),
8591 xproto::CIRCULATE_NOTIFY_EVENT => return Ok(Self::CirculateNotify(TryParse::try_parse(event)?.0)),
8592 xproto::CIRCULATE_REQUEST_EVENT => return Ok(Self::CirculateRequest(TryParse::try_parse(event)?.0)),
8593 xproto::CLIENT_MESSAGE_EVENT => return Ok(Self::ClientMessage(TryParse::try_parse(event)?.0)),
8594 xproto::COLORMAP_NOTIFY_EVENT => return Ok(Self::ColormapNotify(TryParse::try_parse(event)?.0)),
8595 xproto::CONFIGURE_NOTIFY_EVENT => return Ok(Self::ConfigureNotify(TryParse::try_parse(event)?.0)),
8596 xproto::CONFIGURE_REQUEST_EVENT => return Ok(Self::ConfigureRequest(TryParse::try_parse(event)?.0)),
8597 xproto::CREATE_NOTIFY_EVENT => return Ok(Self::CreateNotify(TryParse::try_parse(event)?.0)),
8598 xproto::DESTROY_NOTIFY_EVENT => return Ok(Self::DestroyNotify(TryParse::try_parse(event)?.0)),
8599 xproto::ENTER_NOTIFY_EVENT => return Ok(Self::EnterNotify(TryParse::try_parse(event)?.0)),
8600 xproto::EXPOSE_EVENT => return Ok(Self::Expose(TryParse::try_parse(event)?.0)),
8601 xproto::FOCUS_IN_EVENT => return Ok(Self::FocusIn(TryParse::try_parse(event)?.0)),
8602 xproto::FOCUS_OUT_EVENT => return Ok(Self::FocusOut(TryParse::try_parse(event)?.0)),
8603 xproto::GRAPHICS_EXPOSURE_EVENT => return Ok(Self::GraphicsExposure(TryParse::try_parse(event)?.0)),
8604 xproto::GRAVITY_NOTIFY_EVENT => return Ok(Self::GravityNotify(TryParse::try_parse(event)?.0)),
8605 xproto::KEY_PRESS_EVENT => return Ok(Self::KeyPress(TryParse::try_parse(event)?.0)),
8606 xproto::KEY_RELEASE_EVENT => return Ok(Self::KeyRelease(TryParse::try_parse(event)?.0)),
8607 xproto::KEYMAP_NOTIFY_EVENT => return Ok(Self::KeymapNotify(TryParse::try_parse(event)?.0)),
8608 xproto::LEAVE_NOTIFY_EVENT => return Ok(Self::LeaveNotify(TryParse::try_parse(event)?.0)),
8609 xproto::MAP_NOTIFY_EVENT => return Ok(Self::MapNotify(TryParse::try_parse(event)?.0)),
8610 xproto::MAP_REQUEST_EVENT => return Ok(Self::MapRequest(TryParse::try_parse(event)?.0)),
8611 xproto::MAPPING_NOTIFY_EVENT => return Ok(Self::MappingNotify(TryParse::try_parse(event)?.0)),
8612 xproto::MOTION_NOTIFY_EVENT => return Ok(Self::MotionNotify(TryParse::try_parse(event)?.0)),
8613 xproto::NO_EXPOSURE_EVENT => return Ok(Self::NoExposure(TryParse::try_parse(event)?.0)),
8614 xproto::PROPERTY_NOTIFY_EVENT => return Ok(Self::PropertyNotify(TryParse::try_parse(event)?.0)),
8615 xproto::REPARENT_NOTIFY_EVENT => return Ok(Self::ReparentNotify(TryParse::try_parse(event)?.0)),
8616 xproto::RESIZE_REQUEST_EVENT => return Ok(Self::ResizeRequest(TryParse::try_parse(event)?.0)),
8617 xproto::SELECTION_CLEAR_EVENT => return Ok(Self::SelectionClear(TryParse::try_parse(event)?.0)),
8618 xproto::SELECTION_NOTIFY_EVENT => return Ok(Self::SelectionNotify(TryParse::try_parse(event)?.0)),
8619 xproto::SELECTION_REQUEST_EVENT => return Ok(Self::SelectionRequest(TryParse::try_parse(event)?.0)),
8620 xproto::UNMAP_NOTIFY_EVENT => return Ok(Self::UnmapNotify(TryParse::try_parse(event)?.0)),
8621 xproto::VISIBILITY_NOTIFY_EVENT => return Ok(Self::VisibilityNotify(TryParse::try_parse(event)?.0)),
8622 xproto::GE_GENERIC_EVENT => return Self::from_generic_event(event, ext_info_provider),
8623 _ => {}
8624 }
8625 let ext_info = ext_info_provider.get_from_event_code(event_code);
8627 match ext_info {
8628 #[cfg(feature = "damage")]
8629 Some((damage::X11_EXTENSION_NAME, ext_info)) => {
8630 match event_code - ext_info.first_event {
8631 damage::NOTIFY_EVENT => Ok(Self::DamageNotify(TryParse::try_parse(event)?.0)),
8632 _ => Ok(Self::Unknown(event.to_vec())),
8633 }
8634 }
8635 #[cfg(feature = "dri2")]
8636 Some((dri2::X11_EXTENSION_NAME, ext_info)) => {
8637 match event_code - ext_info.first_event {
8638 dri2::BUFFER_SWAP_COMPLETE_EVENT => Ok(Self::Dri2BufferSwapComplete(TryParse::try_parse(event)?.0)),
8639 dri2::INVALIDATE_BUFFERS_EVENT => Ok(Self::Dri2InvalidateBuffers(TryParse::try_parse(event)?.0)),
8640 _ => Ok(Self::Unknown(event.to_vec())),
8641 }
8642 }
8643 #[cfg(feature = "glx")]
8644 Some((glx::X11_EXTENSION_NAME, ext_info)) => {
8645 match event_code - ext_info.first_event {
8646 glx::BUFFER_SWAP_COMPLETE_EVENT => Ok(Self::GlxBufferSwapComplete(TryParse::try_parse(event)?.0)),
8647 glx::PBUFFER_CLOBBER_EVENT => Ok(Self::GlxPbufferClobber(TryParse::try_parse(event)?.0)),
8648 _ => Ok(Self::Unknown(event.to_vec())),
8649 }
8650 }
8651 #[cfg(feature = "present")]
8652 Some((present::X11_EXTENSION_NAME, ext_info)) => {
8653 match event_code - ext_info.first_event {
8654 present::GENERIC_EVENT => Ok(Self::PresentGeneric(TryParse::try_parse(event)?.0)),
8655 _ => Ok(Self::Unknown(event.to_vec())),
8656 }
8657 }
8658 #[cfg(feature = "randr")]
8659 Some((randr::X11_EXTENSION_NAME, ext_info)) => {
8660 match event_code - ext_info.first_event {
8661 randr::NOTIFY_EVENT => Ok(Self::RandrNotify(TryParse::try_parse(event)?.0)),
8662 randr::SCREEN_CHANGE_NOTIFY_EVENT => Ok(Self::RandrScreenChangeNotify(TryParse::try_parse(event)?.0)),
8663 _ => Ok(Self::Unknown(event.to_vec())),
8664 }
8665 }
8666 #[cfg(feature = "screensaver")]
8667 Some((screensaver::X11_EXTENSION_NAME, ext_info)) => {
8668 match event_code - ext_info.first_event {
8669 screensaver::NOTIFY_EVENT => Ok(Self::ScreensaverNotify(TryParse::try_parse(event)?.0)),
8670 _ => Ok(Self::Unknown(event.to_vec())),
8671 }
8672 }
8673 #[cfg(feature = "shape")]
8674 Some((shape::X11_EXTENSION_NAME, ext_info)) => {
8675 match event_code - ext_info.first_event {
8676 shape::NOTIFY_EVENT => Ok(Self::ShapeNotify(TryParse::try_parse(event)?.0)),
8677 _ => Ok(Self::Unknown(event.to_vec())),
8678 }
8679 }
8680 #[cfg(feature = "shm")]
8681 Some((shm::X11_EXTENSION_NAME, ext_info)) => {
8682 match event_code - ext_info.first_event {
8683 shm::COMPLETION_EVENT => Ok(Self::ShmCompletion(TryParse::try_parse(event)?.0)),
8684 _ => Ok(Self::Unknown(event.to_vec())),
8685 }
8686 }
8687 #[cfg(feature = "sync")]
8688 Some((sync::X11_EXTENSION_NAME, ext_info)) => {
8689 match event_code - ext_info.first_event {
8690 sync::ALARM_NOTIFY_EVENT => Ok(Self::SyncAlarmNotify(TryParse::try_parse(event)?.0)),
8691 sync::COUNTER_NOTIFY_EVENT => Ok(Self::SyncCounterNotify(TryParse::try_parse(event)?.0)),
8692 _ => Ok(Self::Unknown(event.to_vec())),
8693 }
8694 }
8695 #[cfg(feature = "xfixes")]
8696 Some((xfixes::X11_EXTENSION_NAME, ext_info)) => {
8697 match event_code - ext_info.first_event {
8698 xfixes::CURSOR_NOTIFY_EVENT => Ok(Self::XfixesCursorNotify(TryParse::try_parse(event)?.0)),
8699 xfixes::SELECTION_NOTIFY_EVENT => Ok(Self::XfixesSelectionNotify(TryParse::try_parse(event)?.0)),
8700 _ => Ok(Self::Unknown(event.to_vec())),
8701 }
8702 }
8703 #[cfg(feature = "xinput")]
8704 Some((xinput::X11_EXTENSION_NAME, ext_info)) => {
8705 match event_code - ext_info.first_event {
8706 xinput::CHANGE_DEVICE_NOTIFY_EVENT => Ok(Self::XinputChangeDeviceNotify(TryParse::try_parse(event)?.0)),
8707 xinput::DEVICE_BUTTON_PRESS_EVENT => Ok(Self::XinputDeviceButtonPress(TryParse::try_parse(event)?.0)),
8708 xinput::DEVICE_BUTTON_RELEASE_EVENT => Ok(Self::XinputDeviceButtonRelease(TryParse::try_parse(event)?.0)),
8709 xinput::DEVICE_BUTTON_STATE_NOTIFY_EVENT => Ok(Self::XinputDeviceButtonStateNotify(TryParse::try_parse(event)?.0)),
8710 xinput::DEVICE_FOCUS_IN_EVENT => Ok(Self::XinputDeviceFocusIn(TryParse::try_parse(event)?.0)),
8711 xinput::DEVICE_FOCUS_OUT_EVENT => Ok(Self::XinputDeviceFocusOut(TryParse::try_parse(event)?.0)),
8712 xinput::DEVICE_KEY_PRESS_EVENT => Ok(Self::XinputDeviceKeyPress(TryParse::try_parse(event)?.0)),
8713 xinput::DEVICE_KEY_RELEASE_EVENT => Ok(Self::XinputDeviceKeyRelease(TryParse::try_parse(event)?.0)),
8714 xinput::DEVICE_KEY_STATE_NOTIFY_EVENT => Ok(Self::XinputDeviceKeyStateNotify(TryParse::try_parse(event)?.0)),
8715 xinput::DEVICE_MAPPING_NOTIFY_EVENT => Ok(Self::XinputDeviceMappingNotify(TryParse::try_parse(event)?.0)),
8716 xinput::DEVICE_MOTION_NOTIFY_EVENT => Ok(Self::XinputDeviceMotionNotify(TryParse::try_parse(event)?.0)),
8717 xinput::DEVICE_PRESENCE_NOTIFY_EVENT => Ok(Self::XinputDevicePresenceNotify(TryParse::try_parse(event)?.0)),
8718 xinput::DEVICE_PROPERTY_NOTIFY_EVENT => Ok(Self::XinputDevicePropertyNotify(TryParse::try_parse(event)?.0)),
8719 xinput::DEVICE_STATE_NOTIFY_EVENT => Ok(Self::XinputDeviceStateNotify(TryParse::try_parse(event)?.0)),
8720 xinput::DEVICE_VALUATOR_EVENT => Ok(Self::XinputDeviceValuator(TryParse::try_parse(event)?.0)),
8721 xinput::PROXIMITY_IN_EVENT => Ok(Self::XinputProximityIn(TryParse::try_parse(event)?.0)),
8722 xinput::PROXIMITY_OUT_EVENT => Ok(Self::XinputProximityOut(TryParse::try_parse(event)?.0)),
8723 _ => Ok(Self::Unknown(event.to_vec())),
8724 }
8725 }
8726 #[cfg(feature = "xkb")]
8727 Some((xkb::X11_EXTENSION_NAME, ext_info)) => {
8728 if event_code != ext_info.first_event {
8729 return Ok(Self::Unknown(event.to_vec()));
8730 }
8731 match *event.get(1).ok_or(ParseError::InsufficientData)? {
8732 xkb::ACCESS_X_NOTIFY_EVENT => Ok(Self::XkbAccessXNotify(TryParse::try_parse(event)?.0)),
8733 xkb::ACTION_MESSAGE_EVENT => Ok(Self::XkbActionMessage(TryParse::try_parse(event)?.0)),
8734 xkb::BELL_NOTIFY_EVENT => Ok(Self::XkbBellNotify(TryParse::try_parse(event)?.0)),
8735 xkb::COMPAT_MAP_NOTIFY_EVENT => Ok(Self::XkbCompatMapNotify(TryParse::try_parse(event)?.0)),
8736 xkb::CONTROLS_NOTIFY_EVENT => Ok(Self::XkbControlsNotify(TryParse::try_parse(event)?.0)),
8737 xkb::EXTENSION_DEVICE_NOTIFY_EVENT => Ok(Self::XkbExtensionDeviceNotify(TryParse::try_parse(event)?.0)),
8738 xkb::INDICATOR_MAP_NOTIFY_EVENT => Ok(Self::XkbIndicatorMapNotify(TryParse::try_parse(event)?.0)),
8739 xkb::INDICATOR_STATE_NOTIFY_EVENT => Ok(Self::XkbIndicatorStateNotify(TryParse::try_parse(event)?.0)),
8740 xkb::MAP_NOTIFY_EVENT => Ok(Self::XkbMapNotify(TryParse::try_parse(event)?.0)),
8741 xkb::NAMES_NOTIFY_EVENT => Ok(Self::XkbNamesNotify(TryParse::try_parse(event)?.0)),
8742 xkb::NEW_KEYBOARD_NOTIFY_EVENT => Ok(Self::XkbNewKeyboardNotify(TryParse::try_parse(event)?.0)),
8743 xkb::STATE_NOTIFY_EVENT => Ok(Self::XkbStateNotify(TryParse::try_parse(event)?.0)),
8744 _ => Ok(Self::Unknown(event.to_vec())),
8745 }
8746 }
8747 #[cfg(feature = "xprint")]
8748 Some((xprint::X11_EXTENSION_NAME, ext_info)) => {
8749 match event_code - ext_info.first_event {
8750 xprint::ATTRIBUT_NOTIFY_EVENT => Ok(Self::XprintAttributNotify(TryParse::try_parse(event)?.0)),
8751 xprint::NOTIFY_EVENT => Ok(Self::XprintNotify(TryParse::try_parse(event)?.0)),
8752 _ => Ok(Self::Unknown(event.to_vec())),
8753 }
8754 }
8755 #[cfg(feature = "xv")]
8756 Some((xv::X11_EXTENSION_NAME, ext_info)) => {
8757 match event_code - ext_info.first_event {
8758 xv::PORT_NOTIFY_EVENT => Ok(Self::XvPortNotify(TryParse::try_parse(event)?.0)),
8759 xv::VIDEO_NOTIFY_EVENT => Ok(Self::XvVideoNotify(TryParse::try_parse(event)?.0)),
8760 _ => Ok(Self::Unknown(event.to_vec())),
8761 }
8762 }
8763 _ => Ok(Self::Unknown(event.to_vec())),
8764 }
8765 }
8766
8767 #[allow(clippy::match_single_binding)]
8768 fn from_generic_event(
8769 event: &[u8],
8770 ext_info_provider: &dyn ExtInfoProvider,
8771 ) -> Result<Self, ParseError> {
8772 let ge_event = xproto::GeGenericEvent::try_parse(event)?.0;
8773 let ext_name = ext_info_provider
8774 .get_from_major_opcode(ge_event.extension)
8775 .map(|(name, _)| name);
8776 match ext_name {
8777 #[cfg(feature = "dpms")]
8778 Some(dpms::X11_EXTENSION_NAME) => {
8779 match ge_event.event_type {
8780 dpms::INFO_NOTIFY_EVENT => Ok(Self::DpmsInfoNotify(TryParse::try_parse(event)?.0)),
8781 _ => Ok(Self::Unknown(event.to_vec())),
8782 }
8783 }
8784 #[cfg(feature = "present")]
8785 Some(present::X11_EXTENSION_NAME) => {
8786 match ge_event.event_type {
8787 present::COMPLETE_NOTIFY_EVENT => Ok(Self::PresentCompleteNotify(TryParse::try_parse(event)?.0)),
8788 present::CONFIGURE_NOTIFY_EVENT => Ok(Self::PresentConfigureNotify(TryParse::try_parse(event)?.0)),
8789 present::IDLE_NOTIFY_EVENT => Ok(Self::PresentIdleNotify(TryParse::try_parse(event)?.0)),
8790 present::REDIRECT_NOTIFY_EVENT => Ok(Self::PresentRedirectNotify(TryParse::try_parse(event)?.0)),
8791 _ => Ok(Self::Unknown(event.to_vec())),
8792 }
8793 }
8794 #[cfg(feature = "xinput")]
8795 Some(xinput::X11_EXTENSION_NAME) => {
8796 match ge_event.event_type {
8797 xinput::BARRIER_HIT_EVENT => Ok(Self::XinputBarrierHit(TryParse::try_parse(event)?.0)),
8798 xinput::BARRIER_LEAVE_EVENT => Ok(Self::XinputBarrierLeave(TryParse::try_parse(event)?.0)),
8799 xinput::BUTTON_PRESS_EVENT => Ok(Self::XinputButtonPress(TryParse::try_parse(event)?.0)),
8800 xinput::BUTTON_RELEASE_EVENT => Ok(Self::XinputButtonRelease(TryParse::try_parse(event)?.0)),
8801 xinput::DEVICE_CHANGED_EVENT => Ok(Self::XinputDeviceChanged(TryParse::try_parse(event)?.0)),
8802 xinput::ENTER_EVENT => Ok(Self::XinputEnter(TryParse::try_parse(event)?.0)),
8803 xinput::FOCUS_IN_EVENT => Ok(Self::XinputFocusIn(TryParse::try_parse(event)?.0)),
8804 xinput::FOCUS_OUT_EVENT => Ok(Self::XinputFocusOut(TryParse::try_parse(event)?.0)),
8805 xinput::GESTURE_PINCH_BEGIN_EVENT => Ok(Self::XinputGesturePinchBegin(TryParse::try_parse(event)?.0)),
8806 xinput::GESTURE_PINCH_END_EVENT => Ok(Self::XinputGesturePinchEnd(TryParse::try_parse(event)?.0)),
8807 xinput::GESTURE_PINCH_UPDATE_EVENT => Ok(Self::XinputGesturePinchUpdate(TryParse::try_parse(event)?.0)),
8808 xinput::GESTURE_SWIPE_BEGIN_EVENT => Ok(Self::XinputGestureSwipeBegin(TryParse::try_parse(event)?.0)),
8809 xinput::GESTURE_SWIPE_END_EVENT => Ok(Self::XinputGestureSwipeEnd(TryParse::try_parse(event)?.0)),
8810 xinput::GESTURE_SWIPE_UPDATE_EVENT => Ok(Self::XinputGestureSwipeUpdate(TryParse::try_parse(event)?.0)),
8811 xinput::HIERARCHY_EVENT => Ok(Self::XinputHierarchy(TryParse::try_parse(event)?.0)),
8812 xinput::KEY_PRESS_EVENT => Ok(Self::XinputKeyPress(TryParse::try_parse(event)?.0)),
8813 xinput::KEY_RELEASE_EVENT => Ok(Self::XinputKeyRelease(TryParse::try_parse(event)?.0)),
8814 xinput::LEAVE_EVENT => Ok(Self::XinputLeave(TryParse::try_parse(event)?.0)),
8815 xinput::MOTION_EVENT => Ok(Self::XinputMotion(TryParse::try_parse(event)?.0)),
8816 xinput::PROPERTY_EVENT => Ok(Self::XinputProperty(TryParse::try_parse(event)?.0)),
8817 xinput::RAW_BUTTON_PRESS_EVENT => Ok(Self::XinputRawButtonPress(TryParse::try_parse(event)?.0)),
8818 xinput::RAW_BUTTON_RELEASE_EVENT => Ok(Self::XinputRawButtonRelease(TryParse::try_parse(event)?.0)),
8819 xinput::RAW_KEY_PRESS_EVENT => Ok(Self::XinputRawKeyPress(TryParse::try_parse(event)?.0)),
8820 xinput::RAW_KEY_RELEASE_EVENT => Ok(Self::XinputRawKeyRelease(TryParse::try_parse(event)?.0)),
8821 xinput::RAW_MOTION_EVENT => Ok(Self::XinputRawMotion(TryParse::try_parse(event)?.0)),
8822 xinput::RAW_TOUCH_BEGIN_EVENT => Ok(Self::XinputRawTouchBegin(TryParse::try_parse(event)?.0)),
8823 xinput::RAW_TOUCH_END_EVENT => Ok(Self::XinputRawTouchEnd(TryParse::try_parse(event)?.0)),
8824 xinput::RAW_TOUCH_UPDATE_EVENT => Ok(Self::XinputRawTouchUpdate(TryParse::try_parse(event)?.0)),
8825 xinput::TOUCH_BEGIN_EVENT => Ok(Self::XinputTouchBegin(TryParse::try_parse(event)?.0)),
8826 xinput::TOUCH_END_EVENT => Ok(Self::XinputTouchEnd(TryParse::try_parse(event)?.0)),
8827 xinput::TOUCH_OWNERSHIP_EVENT => Ok(Self::XinputTouchOwnership(TryParse::try_parse(event)?.0)),
8828 xinput::TOUCH_UPDATE_EVENT => Ok(Self::XinputTouchUpdate(TryParse::try_parse(event)?.0)),
8829 _ => Ok(Self::Unknown(event.to_vec())),
8830 }
8831 }
8832 _ => Ok(Self::Unknown(event.to_vec())),
8833 }
8834 }
8835
8836 pub fn wire_sequence_number(&self) -> Option<u16> {
8838 match self {
8839 Event::Unknown(value) => sequence_number(value).ok(),
8840 Event::Error(value) => Some(value.sequence),
8841 Event::ButtonPress(value) => Some(value.sequence),
8842 Event::ButtonRelease(value) => Some(value.sequence),
8843 Event::CirculateNotify(value) => Some(value.sequence),
8844 Event::CirculateRequest(value) => Some(value.sequence),
8845 Event::ClientMessage(value) => Some(value.sequence),
8846 Event::ColormapNotify(value) => Some(value.sequence),
8847 Event::ConfigureNotify(value) => Some(value.sequence),
8848 Event::ConfigureRequest(value) => Some(value.sequence),
8849 Event::CreateNotify(value) => Some(value.sequence),
8850 Event::DestroyNotify(value) => Some(value.sequence),
8851 Event::EnterNotify(value) => Some(value.sequence),
8852 Event::Expose(value) => Some(value.sequence),
8853 Event::FocusIn(value) => Some(value.sequence),
8854 Event::FocusOut(value) => Some(value.sequence),
8855 Event::GeGeneric(value) => Some(value.sequence),
8856 Event::GraphicsExposure(value) => Some(value.sequence),
8857 Event::GravityNotify(value) => Some(value.sequence),
8858 Event::KeyPress(value) => Some(value.sequence),
8859 Event::KeyRelease(value) => Some(value.sequence),
8860 Event::KeymapNotify(_) => None,
8861 Event::LeaveNotify(value) => Some(value.sequence),
8862 Event::MapNotify(value) => Some(value.sequence),
8863 Event::MapRequest(value) => Some(value.sequence),
8864 Event::MappingNotify(value) => Some(value.sequence),
8865 Event::MotionNotify(value) => Some(value.sequence),
8866 Event::NoExposure(value) => Some(value.sequence),
8867 Event::PropertyNotify(value) => Some(value.sequence),
8868 Event::ReparentNotify(value) => Some(value.sequence),
8869 Event::ResizeRequest(value) => Some(value.sequence),
8870 Event::SelectionClear(value) => Some(value.sequence),
8871 Event::SelectionNotify(value) => Some(value.sequence),
8872 Event::SelectionRequest(value) => Some(value.sequence),
8873 Event::UnmapNotify(value) => Some(value.sequence),
8874 Event::VisibilityNotify(value) => Some(value.sequence),
8875 #[cfg(feature = "damage")]
8876 Event::DamageNotify(value) => Some(value.sequence),
8877 #[cfg(feature = "dpms")]
8878 Event::DpmsInfoNotify(value) => Some(value.sequence),
8879 #[cfg(feature = "dri2")]
8880 Event::Dri2BufferSwapComplete(value) => Some(value.sequence),
8881 #[cfg(feature = "dri2")]
8882 Event::Dri2InvalidateBuffers(value) => Some(value.sequence),
8883 #[cfg(feature = "glx")]
8884 Event::GlxBufferSwapComplete(value) => Some(value.sequence),
8885 #[cfg(feature = "glx")]
8886 Event::GlxPbufferClobber(value) => Some(value.sequence),
8887 #[cfg(feature = "present")]
8888 Event::PresentCompleteNotify(value) => Some(value.sequence),
8889 #[cfg(feature = "present")]
8890 Event::PresentConfigureNotify(value) => Some(value.sequence),
8891 #[cfg(feature = "present")]
8892 Event::PresentGeneric(value) => Some(value.sequence),
8893 #[cfg(feature = "present")]
8894 Event::PresentIdleNotify(value) => Some(value.sequence),
8895 #[cfg(feature = "present")]
8896 Event::PresentRedirectNotify(value) => Some(value.sequence),
8897 #[cfg(feature = "randr")]
8898 Event::RandrNotify(value) => Some(value.sequence),
8899 #[cfg(feature = "randr")]
8900 Event::RandrScreenChangeNotify(value) => Some(value.sequence),
8901 #[cfg(feature = "screensaver")]
8902 Event::ScreensaverNotify(value) => Some(value.sequence),
8903 #[cfg(feature = "shape")]
8904 Event::ShapeNotify(value) => Some(value.sequence),
8905 #[cfg(feature = "shm")]
8906 Event::ShmCompletion(value) => Some(value.sequence),
8907 #[cfg(feature = "sync")]
8908 Event::SyncAlarmNotify(value) => Some(value.sequence),
8909 #[cfg(feature = "sync")]
8910 Event::SyncCounterNotify(value) => Some(value.sequence),
8911 #[cfg(feature = "xfixes")]
8912 Event::XfixesCursorNotify(value) => Some(value.sequence),
8913 #[cfg(feature = "xfixes")]
8914 Event::XfixesSelectionNotify(value) => Some(value.sequence),
8915 #[cfg(feature = "xinput")]
8916 Event::XinputBarrierHit(value) => Some(value.sequence),
8917 #[cfg(feature = "xinput")]
8918 Event::XinputBarrierLeave(value) => Some(value.sequence),
8919 #[cfg(feature = "xinput")]
8920 Event::XinputButtonPress(value) => Some(value.sequence),
8921 #[cfg(feature = "xinput")]
8922 Event::XinputButtonRelease(value) => Some(value.sequence),
8923 #[cfg(feature = "xinput")]
8924 Event::XinputChangeDeviceNotify(value) => Some(value.sequence),
8925 #[cfg(feature = "xinput")]
8926 Event::XinputDeviceButtonPress(value) => Some(value.sequence),
8927 #[cfg(feature = "xinput")]
8928 Event::XinputDeviceButtonRelease(value) => Some(value.sequence),
8929 #[cfg(feature = "xinput")]
8930 Event::XinputDeviceButtonStateNotify(value) => Some(value.sequence),
8931 #[cfg(feature = "xinput")]
8932 Event::XinputDeviceChanged(value) => Some(value.sequence),
8933 #[cfg(feature = "xinput")]
8934 Event::XinputDeviceFocusIn(value) => Some(value.sequence),
8935 #[cfg(feature = "xinput")]
8936 Event::XinputDeviceFocusOut(value) => Some(value.sequence),
8937 #[cfg(feature = "xinput")]
8938 Event::XinputDeviceKeyPress(value) => Some(value.sequence),
8939 #[cfg(feature = "xinput")]
8940 Event::XinputDeviceKeyRelease(value) => Some(value.sequence),
8941 #[cfg(feature = "xinput")]
8942 Event::XinputDeviceKeyStateNotify(value) => Some(value.sequence),
8943 #[cfg(feature = "xinput")]
8944 Event::XinputDeviceMappingNotify(value) => Some(value.sequence),
8945 #[cfg(feature = "xinput")]
8946 Event::XinputDeviceMotionNotify(value) => Some(value.sequence),
8947 #[cfg(feature = "xinput")]
8948 Event::XinputDevicePresenceNotify(value) => Some(value.sequence),
8949 #[cfg(feature = "xinput")]
8950 Event::XinputDevicePropertyNotify(value) => Some(value.sequence),
8951 #[cfg(feature = "xinput")]
8952 Event::XinputDeviceStateNotify(value) => Some(value.sequence),
8953 #[cfg(feature = "xinput")]
8954 Event::XinputDeviceValuator(value) => Some(value.sequence),
8955 #[cfg(feature = "xinput")]
8956 Event::XinputEnter(value) => Some(value.sequence),
8957 #[cfg(feature = "xinput")]
8958 Event::XinputFocusIn(value) => Some(value.sequence),
8959 #[cfg(feature = "xinput")]
8960 Event::XinputFocusOut(value) => Some(value.sequence),
8961 #[cfg(feature = "xinput")]
8962 Event::XinputGesturePinchBegin(value) => Some(value.sequence),
8963 #[cfg(feature = "xinput")]
8964 Event::XinputGesturePinchEnd(value) => Some(value.sequence),
8965 #[cfg(feature = "xinput")]
8966 Event::XinputGesturePinchUpdate(value) => Some(value.sequence),
8967 #[cfg(feature = "xinput")]
8968 Event::XinputGestureSwipeBegin(value) => Some(value.sequence),
8969 #[cfg(feature = "xinput")]
8970 Event::XinputGestureSwipeEnd(value) => Some(value.sequence),
8971 #[cfg(feature = "xinput")]
8972 Event::XinputGestureSwipeUpdate(value) => Some(value.sequence),
8973 #[cfg(feature = "xinput")]
8974 Event::XinputHierarchy(value) => Some(value.sequence),
8975 #[cfg(feature = "xinput")]
8976 Event::XinputKeyPress(value) => Some(value.sequence),
8977 #[cfg(feature = "xinput")]
8978 Event::XinputKeyRelease(value) => Some(value.sequence),
8979 #[cfg(feature = "xinput")]
8980 Event::XinputLeave(value) => Some(value.sequence),
8981 #[cfg(feature = "xinput")]
8982 Event::XinputMotion(value) => Some(value.sequence),
8983 #[cfg(feature = "xinput")]
8984 Event::XinputProperty(value) => Some(value.sequence),
8985 #[cfg(feature = "xinput")]
8986 Event::XinputProximityIn(value) => Some(value.sequence),
8987 #[cfg(feature = "xinput")]
8988 Event::XinputProximityOut(value) => Some(value.sequence),
8989 #[cfg(feature = "xinput")]
8990 Event::XinputRawButtonPress(value) => Some(value.sequence),
8991 #[cfg(feature = "xinput")]
8992 Event::XinputRawButtonRelease(value) => Some(value.sequence),
8993 #[cfg(feature = "xinput")]
8994 Event::XinputRawKeyPress(value) => Some(value.sequence),
8995 #[cfg(feature = "xinput")]
8996 Event::XinputRawKeyRelease(value) => Some(value.sequence),
8997 #[cfg(feature = "xinput")]
8998 Event::XinputRawMotion(value) => Some(value.sequence),
8999 #[cfg(feature = "xinput")]
9000 Event::XinputRawTouchBegin(value) => Some(value.sequence),
9001 #[cfg(feature = "xinput")]
9002 Event::XinputRawTouchEnd(value) => Some(value.sequence),
9003 #[cfg(feature = "xinput")]
9004 Event::XinputRawTouchUpdate(value) => Some(value.sequence),
9005 #[cfg(feature = "xinput")]
9006 Event::XinputTouchBegin(value) => Some(value.sequence),
9007 #[cfg(feature = "xinput")]
9008 Event::XinputTouchEnd(value) => Some(value.sequence),
9009 #[cfg(feature = "xinput")]
9010 Event::XinputTouchOwnership(value) => Some(value.sequence),
9011 #[cfg(feature = "xinput")]
9012 Event::XinputTouchUpdate(value) => Some(value.sequence),
9013 #[cfg(feature = "xkb")]
9014 Event::XkbAccessXNotify(value) => Some(value.sequence),
9015 #[cfg(feature = "xkb")]
9016 Event::XkbActionMessage(value) => Some(value.sequence),
9017 #[cfg(feature = "xkb")]
9018 Event::XkbBellNotify(value) => Some(value.sequence),
9019 #[cfg(feature = "xkb")]
9020 Event::XkbCompatMapNotify(value) => Some(value.sequence),
9021 #[cfg(feature = "xkb")]
9022 Event::XkbControlsNotify(value) => Some(value.sequence),
9023 #[cfg(feature = "xkb")]
9024 Event::XkbExtensionDeviceNotify(value) => Some(value.sequence),
9025 #[cfg(feature = "xkb")]
9026 Event::XkbIndicatorMapNotify(value) => Some(value.sequence),
9027 #[cfg(feature = "xkb")]
9028 Event::XkbIndicatorStateNotify(value) => Some(value.sequence),
9029 #[cfg(feature = "xkb")]
9030 Event::XkbMapNotify(value) => Some(value.sequence),
9031 #[cfg(feature = "xkb")]
9032 Event::XkbNamesNotify(value) => Some(value.sequence),
9033 #[cfg(feature = "xkb")]
9034 Event::XkbNewKeyboardNotify(value) => Some(value.sequence),
9035 #[cfg(feature = "xkb")]
9036 Event::XkbStateNotify(value) => Some(value.sequence),
9037 #[cfg(feature = "xprint")]
9038 Event::XprintAttributNotify(value) => Some(value.sequence),
9039 #[cfg(feature = "xprint")]
9040 Event::XprintNotify(value) => Some(value.sequence),
9041 #[cfg(feature = "xv")]
9042 Event::XvPortNotify(value) => Some(value.sequence),
9043 #[cfg(feature = "xv")]
9044 Event::XvVideoNotify(value) => Some(value.sequence),
9045 }
9046 }
9047
9048 pub fn raw_response_type(&self) -> u8 {
9056 match self {
9057 Event::Unknown(value) => response_type(value).unwrap(),
9058 Event::Error(_) => 0,
9059 Event::ButtonPress(value) => value.response_type,
9060 Event::ButtonRelease(value) => value.response_type,
9061 Event::CirculateNotify(value) => value.response_type,
9062 Event::CirculateRequest(value) => value.response_type,
9063 Event::ClientMessage(value) => value.response_type,
9064 Event::ColormapNotify(value) => value.response_type,
9065 Event::ConfigureNotify(value) => value.response_type,
9066 Event::ConfigureRequest(value) => value.response_type,
9067 Event::CreateNotify(value) => value.response_type,
9068 Event::DestroyNotify(value) => value.response_type,
9069 Event::EnterNotify(value) => value.response_type,
9070 Event::Expose(value) => value.response_type,
9071 Event::FocusIn(value) => value.response_type,
9072 Event::FocusOut(value) => value.response_type,
9073 Event::GeGeneric(value) => value.response_type,
9074 Event::GraphicsExposure(value) => value.response_type,
9075 Event::GravityNotify(value) => value.response_type,
9076 Event::KeyPress(value) => value.response_type,
9077 Event::KeyRelease(value) => value.response_type,
9078 Event::KeymapNotify(value) => value.response_type,
9079 Event::LeaveNotify(value) => value.response_type,
9080 Event::MapNotify(value) => value.response_type,
9081 Event::MapRequest(value) => value.response_type,
9082 Event::MappingNotify(value) => value.response_type,
9083 Event::MotionNotify(value) => value.response_type,
9084 Event::NoExposure(value) => value.response_type,
9085 Event::PropertyNotify(value) => value.response_type,
9086 Event::ReparentNotify(value) => value.response_type,
9087 Event::ResizeRequest(value) => value.response_type,
9088 Event::SelectionClear(value) => value.response_type,
9089 Event::SelectionNotify(value) => value.response_type,
9090 Event::SelectionRequest(value) => value.response_type,
9091 Event::UnmapNotify(value) => value.response_type,
9092 Event::VisibilityNotify(value) => value.response_type,
9093 #[cfg(feature = "damage")]
9094 Event::DamageNotify(value) => value.response_type,
9095 #[cfg(feature = "dpms")]
9096 Event::DpmsInfoNotify(value) => value.response_type,
9097 #[cfg(feature = "dri2")]
9098 Event::Dri2BufferSwapComplete(value) => value.response_type,
9099 #[cfg(feature = "dri2")]
9100 Event::Dri2InvalidateBuffers(value) => value.response_type,
9101 #[cfg(feature = "glx")]
9102 Event::GlxBufferSwapComplete(value) => value.response_type,
9103 #[cfg(feature = "glx")]
9104 Event::GlxPbufferClobber(value) => value.response_type,
9105 #[cfg(feature = "present")]
9106 Event::PresentCompleteNotify(value) => value.response_type,
9107 #[cfg(feature = "present")]
9108 Event::PresentConfigureNotify(value) => value.response_type,
9109 #[cfg(feature = "present")]
9110 Event::PresentGeneric(value) => value.response_type,
9111 #[cfg(feature = "present")]
9112 Event::PresentIdleNotify(value) => value.response_type,
9113 #[cfg(feature = "present")]
9114 Event::PresentRedirectNotify(value) => value.response_type,
9115 #[cfg(feature = "randr")]
9116 Event::RandrNotify(value) => value.response_type,
9117 #[cfg(feature = "randr")]
9118 Event::RandrScreenChangeNotify(value) => value.response_type,
9119 #[cfg(feature = "screensaver")]
9120 Event::ScreensaverNotify(value) => value.response_type,
9121 #[cfg(feature = "shape")]
9122 Event::ShapeNotify(value) => value.response_type,
9123 #[cfg(feature = "shm")]
9124 Event::ShmCompletion(value) => value.response_type,
9125 #[cfg(feature = "sync")]
9126 Event::SyncAlarmNotify(value) => value.response_type,
9127 #[cfg(feature = "sync")]
9128 Event::SyncCounterNotify(value) => value.response_type,
9129 #[cfg(feature = "xfixes")]
9130 Event::XfixesCursorNotify(value) => value.response_type,
9131 #[cfg(feature = "xfixes")]
9132 Event::XfixesSelectionNotify(value) => value.response_type,
9133 #[cfg(feature = "xinput")]
9134 Event::XinputBarrierHit(value) => value.response_type,
9135 #[cfg(feature = "xinput")]
9136 Event::XinputBarrierLeave(value) => value.response_type,
9137 #[cfg(feature = "xinput")]
9138 Event::XinputButtonPress(value) => value.response_type,
9139 #[cfg(feature = "xinput")]
9140 Event::XinputButtonRelease(value) => value.response_type,
9141 #[cfg(feature = "xinput")]
9142 Event::XinputChangeDeviceNotify(value) => value.response_type,
9143 #[cfg(feature = "xinput")]
9144 Event::XinputDeviceButtonPress(value) => value.response_type,
9145 #[cfg(feature = "xinput")]
9146 Event::XinputDeviceButtonRelease(value) => value.response_type,
9147 #[cfg(feature = "xinput")]
9148 Event::XinputDeviceButtonStateNotify(value) => value.response_type,
9149 #[cfg(feature = "xinput")]
9150 Event::XinputDeviceChanged(value) => value.response_type,
9151 #[cfg(feature = "xinput")]
9152 Event::XinputDeviceFocusIn(value) => value.response_type,
9153 #[cfg(feature = "xinput")]
9154 Event::XinputDeviceFocusOut(value) => value.response_type,
9155 #[cfg(feature = "xinput")]
9156 Event::XinputDeviceKeyPress(value) => value.response_type,
9157 #[cfg(feature = "xinput")]
9158 Event::XinputDeviceKeyRelease(value) => value.response_type,
9159 #[cfg(feature = "xinput")]
9160 Event::XinputDeviceKeyStateNotify(value) => value.response_type,
9161 #[cfg(feature = "xinput")]
9162 Event::XinputDeviceMappingNotify(value) => value.response_type,
9163 #[cfg(feature = "xinput")]
9164 Event::XinputDeviceMotionNotify(value) => value.response_type,
9165 #[cfg(feature = "xinput")]
9166 Event::XinputDevicePresenceNotify(value) => value.response_type,
9167 #[cfg(feature = "xinput")]
9168 Event::XinputDevicePropertyNotify(value) => value.response_type,
9169 #[cfg(feature = "xinput")]
9170 Event::XinputDeviceStateNotify(value) => value.response_type,
9171 #[cfg(feature = "xinput")]
9172 Event::XinputDeviceValuator(value) => value.response_type,
9173 #[cfg(feature = "xinput")]
9174 Event::XinputEnter(value) => value.response_type,
9175 #[cfg(feature = "xinput")]
9176 Event::XinputFocusIn(value) => value.response_type,
9177 #[cfg(feature = "xinput")]
9178 Event::XinputFocusOut(value) => value.response_type,
9179 #[cfg(feature = "xinput")]
9180 Event::XinputGesturePinchBegin(value) => value.response_type,
9181 #[cfg(feature = "xinput")]
9182 Event::XinputGesturePinchEnd(value) => value.response_type,
9183 #[cfg(feature = "xinput")]
9184 Event::XinputGesturePinchUpdate(value) => value.response_type,
9185 #[cfg(feature = "xinput")]
9186 Event::XinputGestureSwipeBegin(value) => value.response_type,
9187 #[cfg(feature = "xinput")]
9188 Event::XinputGestureSwipeEnd(value) => value.response_type,
9189 #[cfg(feature = "xinput")]
9190 Event::XinputGestureSwipeUpdate(value) => value.response_type,
9191 #[cfg(feature = "xinput")]
9192 Event::XinputHierarchy(value) => value.response_type,
9193 #[cfg(feature = "xinput")]
9194 Event::XinputKeyPress(value) => value.response_type,
9195 #[cfg(feature = "xinput")]
9196 Event::XinputKeyRelease(value) => value.response_type,
9197 #[cfg(feature = "xinput")]
9198 Event::XinputLeave(value) => value.response_type,
9199 #[cfg(feature = "xinput")]
9200 Event::XinputMotion(value) => value.response_type,
9201 #[cfg(feature = "xinput")]
9202 Event::XinputProperty(value) => value.response_type,
9203 #[cfg(feature = "xinput")]
9204 Event::XinputProximityIn(value) => value.response_type,
9205 #[cfg(feature = "xinput")]
9206 Event::XinputProximityOut(value) => value.response_type,
9207 #[cfg(feature = "xinput")]
9208 Event::XinputRawButtonPress(value) => value.response_type,
9209 #[cfg(feature = "xinput")]
9210 Event::XinputRawButtonRelease(value) => value.response_type,
9211 #[cfg(feature = "xinput")]
9212 Event::XinputRawKeyPress(value) => value.response_type,
9213 #[cfg(feature = "xinput")]
9214 Event::XinputRawKeyRelease(value) => value.response_type,
9215 #[cfg(feature = "xinput")]
9216 Event::XinputRawMotion(value) => value.response_type,
9217 #[cfg(feature = "xinput")]
9218 Event::XinputRawTouchBegin(value) => value.response_type,
9219 #[cfg(feature = "xinput")]
9220 Event::XinputRawTouchEnd(value) => value.response_type,
9221 #[cfg(feature = "xinput")]
9222 Event::XinputRawTouchUpdate(value) => value.response_type,
9223 #[cfg(feature = "xinput")]
9224 Event::XinputTouchBegin(value) => value.response_type,
9225 #[cfg(feature = "xinput")]
9226 Event::XinputTouchEnd(value) => value.response_type,
9227 #[cfg(feature = "xinput")]
9228 Event::XinputTouchOwnership(value) => value.response_type,
9229 #[cfg(feature = "xinput")]
9230 Event::XinputTouchUpdate(value) => value.response_type,
9231 #[cfg(feature = "xkb")]
9232 Event::XkbAccessXNotify(value) => value.response_type,
9233 #[cfg(feature = "xkb")]
9234 Event::XkbActionMessage(value) => value.response_type,
9235 #[cfg(feature = "xkb")]
9236 Event::XkbBellNotify(value) => value.response_type,
9237 #[cfg(feature = "xkb")]
9238 Event::XkbCompatMapNotify(value) => value.response_type,
9239 #[cfg(feature = "xkb")]
9240 Event::XkbControlsNotify(value) => value.response_type,
9241 #[cfg(feature = "xkb")]
9242 Event::XkbExtensionDeviceNotify(value) => value.response_type,
9243 #[cfg(feature = "xkb")]
9244 Event::XkbIndicatorMapNotify(value) => value.response_type,
9245 #[cfg(feature = "xkb")]
9246 Event::XkbIndicatorStateNotify(value) => value.response_type,
9247 #[cfg(feature = "xkb")]
9248 Event::XkbMapNotify(value) => value.response_type,
9249 #[cfg(feature = "xkb")]
9250 Event::XkbNamesNotify(value) => value.response_type,
9251 #[cfg(feature = "xkb")]
9252 Event::XkbNewKeyboardNotify(value) => value.response_type,
9253 #[cfg(feature = "xkb")]
9254 Event::XkbStateNotify(value) => value.response_type,
9255 #[cfg(feature = "xprint")]
9256 Event::XprintAttributNotify(value) => value.response_type,
9257 #[cfg(feature = "xprint")]
9258 Event::XprintNotify(value) => value.response_type,
9259 #[cfg(feature = "xv")]
9260 Event::XvPortNotify(value) => value.response_type,
9261 #[cfg(feature = "xv")]
9262 Event::XvVideoNotify(value) => value.response_type,
9263 }
9264 }
9265
9266 pub fn response_type(&self) -> u8 {
9268 self.raw_response_type() & 0x7f
9269 }
9270
9271 pub fn server_generated(&self) -> bool {
9276 self.raw_response_type() & 0x80 == 0
9277 }
9278
9279 pub fn sent_event(&self) -> bool {
9284 self.raw_response_type() & 0x80 != 0
9285 }
9286}
9287
9288fn response_type(raw_bytes: &[u8]) -> Result<u8, ParseError> {
9290 raw_bytes.first()
9291 .map(|x| x & 0x7f)
9292 .ok_or(ParseError::InsufficientData)
9293}
9294
9295fn sequence_number(raw_bytes: &[u8]) -> Result<u16, ParseError> {
9297 raw_bytes.get(2..4)
9298 .map(|b| u16::from_ne_bytes(b.try_into().unwrap()))
9299 .ok_or(ParseError::InsufficientData)
9300}