1 // This file contains generated code. Do not edit directly.
2 // To regenerate this, run 'make'.
3
4 //! Bindings to the X11 protocol.
5 //!
6 //! Each sub-module of this module corresponds to one X11 extension. It contains all the
7 //! definitions from that extension. The core X11 protocol is in [`xproto`](xproto/index.html).
8
9 use std::borrow::Cow;
10 use std::convert::TryInto;
11 use crate::errors::ParseError;
12 use crate::utils::RawFdContainer;
13 use crate::x11_utils::{TryParse, X11Error};
14 use crate::x11_utils::{ExtInfoProvider, ReplyParsingFunction, Request as RequestTrait, RequestHeader};
15
16 pub mod xproto;
17 pub mod bigreq;
18 #[cfg(feature = "composite")]
19 pub mod composite;
20 #[cfg(feature = "damage")]
21 pub mod damage;
22 #[cfg(feature = "dpms")]
23 pub mod dpms;
24 #[cfg(feature = "dri2")]
25 pub mod dri2;
26 #[cfg(feature = "dri3")]
27 pub mod dri3;
28 pub mod ge;
29 #[cfg(feature = "glx")]
30 pub mod glx;
31 #[cfg(feature = "present")]
32 pub mod present;
33 #[cfg(feature = "randr")]
34 pub mod randr;
35 #[cfg(feature = "record")]
36 pub mod record;
37 #[cfg(feature = "render")]
38 pub mod render;
39 #[cfg(feature = "res")]
40 pub mod res;
41 #[cfg(feature = "screensaver")]
42 pub mod screensaver;
43 #[cfg(feature = "shape")]
44 pub mod shape;
45 #[cfg(feature = "shm")]
46 pub mod shm;
47 #[cfg(feature = "sync")]
48 pub mod sync;
49 pub mod xc_misc;
50 #[cfg(feature = "xevie")]
51 pub mod xevie;
52 #[cfg(feature = "xf86dri")]
53 pub mod xf86dri;
54 #[cfg(feature = "xf86vidmode")]
55 pub mod xf86vidmode;
56 #[cfg(feature = "xfixes")]
57 pub mod xfixes;
58 #[cfg(feature = "xinerama")]
59 pub mod xinerama;
60 #[cfg(feature = "xinput")]
61 pub mod xinput;
62 #[cfg(feature = "xkb")]
63 pub mod xkb;
64 #[cfg(feature = "xprint")]
65 pub mod xprint;
66 #[cfg(feature = "xselinux")]
67 pub mod xselinux;
68 #[cfg(feature = "xtest")]
69 pub mod xtest;
70 #[cfg(feature = "xv")]
71 pub mod xv;
72 #[cfg(feature = "xvmc")]
73 pub mod xvmc;
74
75 /// Enumeration of all possible X11 requests.
76 #[derive(Debug)]
77 #[allow(clippy::large_enum_variant)]
78 #[non_exhaustive]
79 pub enum Request<'input> {
80 Unknown(RequestHeader, Cow<'input, [u8]>),
81 CreateWindow(xproto::CreateWindowRequest<'input>),
82 ChangeWindowAttributes(xproto::ChangeWindowAttributesRequest<'input>),
83 GetWindowAttributes(xproto::GetWindowAttributesRequest),
84 DestroyWindow(xproto::DestroyWindowRequest),
85 DestroySubwindows(xproto::DestroySubwindowsRequest),
86 ChangeSaveSet(xproto::ChangeSaveSetRequest),
87 ReparentWindow(xproto::ReparentWindowRequest),
88 MapWindow(xproto::MapWindowRequest),
89 MapSubwindows(xproto::MapSubwindowsRequest),
90 UnmapWindow(xproto::UnmapWindowRequest),
91 UnmapSubwindows(xproto::UnmapSubwindowsRequest),
92 ConfigureWindow(xproto::ConfigureWindowRequest<'input>),
93 CirculateWindow(xproto::CirculateWindowRequest),
94 GetGeometry(xproto::GetGeometryRequest),
95 QueryTree(xproto::QueryTreeRequest),
96 InternAtom(xproto::InternAtomRequest<'input>),
97 GetAtomName(xproto::GetAtomNameRequest),
98 ChangeProperty(xproto::ChangePropertyRequest<'input>),
99 DeleteProperty(xproto::DeletePropertyRequest),
100 GetProperty(xproto::GetPropertyRequest),
101 ListProperties(xproto::ListPropertiesRequest),
102 SetSelectionOwner(xproto::SetSelectionOwnerRequest),
103 GetSelectionOwner(xproto::GetSelectionOwnerRequest),
104 ConvertSelection(xproto::ConvertSelectionRequest),
105 SendEvent(xproto::SendEventRequest<'input>),
106 GrabPointer(xproto::GrabPointerRequest),
107 UngrabPointer(xproto::UngrabPointerRequest),
108 GrabButton(xproto::GrabButtonRequest),
109 UngrabButton(xproto::UngrabButtonRequest),
110 ChangeActivePointerGrab(xproto::ChangeActivePointerGrabRequest),
111 GrabKeyboard(xproto::GrabKeyboardRequest),
112 UngrabKeyboard(xproto::UngrabKeyboardRequest),
113 GrabKey(xproto::GrabKeyRequest),
114 UngrabKey(xproto::UngrabKeyRequest),
115 AllowEvents(xproto::AllowEventsRequest),
116 GrabServer(xproto::GrabServerRequest),
117 UngrabServer(xproto::UngrabServerRequest),
118 QueryPointer(xproto::QueryPointerRequest),
119 GetMotionEvents(xproto::GetMotionEventsRequest),
120 TranslateCoordinates(xproto::TranslateCoordinatesRequest),
121 WarpPointer(xproto::WarpPointerRequest),
122 SetInputFocus(xproto::SetInputFocusRequest),
123 GetInputFocus(xproto::GetInputFocusRequest),
124 QueryKeymap(xproto::QueryKeymapRequest),
125 OpenFont(xproto::OpenFontRequest<'input>),
126 CloseFont(xproto::CloseFontRequest),
127 QueryFont(xproto::QueryFontRequest),
128 QueryTextExtents(xproto::QueryTextExtentsRequest<'input>),
129 ListFonts(xproto::ListFontsRequest<'input>),
130 ListFontsWithInfo(xproto::ListFontsWithInfoRequest<'input>),
131 SetFontPath(xproto::SetFontPathRequest<'input>),
132 GetFontPath(xproto::GetFontPathRequest),
133 CreatePixmap(xproto::CreatePixmapRequest),
134 FreePixmap(xproto::FreePixmapRequest),
135 CreateGC(xproto::CreateGCRequest<'input>),
136 ChangeGC(xproto::ChangeGCRequest<'input>),
137 CopyGC(xproto::CopyGCRequest),
138 SetDashes(xproto::SetDashesRequest<'input>),
139 SetClipRectangles(xproto::SetClipRectanglesRequest<'input>),
140 FreeGC(xproto::FreeGCRequest),
141 ClearArea(xproto::ClearAreaRequest),
142 CopyArea(xproto::CopyAreaRequest),
143 CopyPlane(xproto::CopyPlaneRequest),
144 PolyPoint(xproto::PolyPointRequest<'input>),
145 PolyLine(xproto::PolyLineRequest<'input>),
146 PolySegment(xproto::PolySegmentRequest<'input>),
147 PolyRectangle(xproto::PolyRectangleRequest<'input>),
148 PolyArc(xproto::PolyArcRequest<'input>),
149 FillPoly(xproto::FillPolyRequest<'input>),
150 PolyFillRectangle(xproto::PolyFillRectangleRequest<'input>),
151 PolyFillArc(xproto::PolyFillArcRequest<'input>),
152 PutImage(xproto::PutImageRequest<'input>),
153 GetImage(xproto::GetImageRequest),
154 PolyText8(xproto::PolyText8Request<'input>),
155 PolyText16(xproto::PolyText16Request<'input>),
156 ImageText8(xproto::ImageText8Request<'input>),
157 ImageText16(xproto::ImageText16Request<'input>),
158 CreateColormap(xproto::CreateColormapRequest),
159 FreeColormap(xproto::FreeColormapRequest),
160 CopyColormapAndFree(xproto::CopyColormapAndFreeRequest),
161 InstallColormap(xproto::InstallColormapRequest),
162 UninstallColormap(xproto::UninstallColormapRequest),
163 ListInstalledColormaps(xproto::ListInstalledColormapsRequest),
164 AllocColor(xproto::AllocColorRequest),
165 AllocNamedColor(xproto::AllocNamedColorRequest<'input>),
166 AllocColorCells(xproto::AllocColorCellsRequest),
167 AllocColorPlanes(xproto::AllocColorPlanesRequest),
168 FreeColors(xproto::FreeColorsRequest<'input>),
169 StoreColors(xproto::StoreColorsRequest<'input>),
170 StoreNamedColor(xproto::StoreNamedColorRequest<'input>),
171 QueryColors(xproto::QueryColorsRequest<'input>),
172 LookupColor(xproto::LookupColorRequest<'input>),
173 CreateCursor(xproto::CreateCursorRequest),
174 CreateGlyphCursor(xproto::CreateGlyphCursorRequest),
175 FreeCursor(xproto::FreeCursorRequest),
176 RecolorCursor(xproto::RecolorCursorRequest),
177 QueryBestSize(xproto::QueryBestSizeRequest),
178 QueryExtension(xproto::QueryExtensionRequest<'input>),
179 ListExtensions(xproto::ListExtensionsRequest),
180 ChangeKeyboardMapping(xproto::ChangeKeyboardMappingRequest<'input>),
181 GetKeyboardMapping(xproto::GetKeyboardMappingRequest),
182 ChangeKeyboardControl(xproto::ChangeKeyboardControlRequest<'input>),
183 GetKeyboardControl(xproto::GetKeyboardControlRequest),
184 Bell(xproto::BellRequest),
185 ChangePointerControl(xproto::ChangePointerControlRequest),
186 GetPointerControl(xproto::GetPointerControlRequest),
187 SetScreenSaver(xproto::SetScreenSaverRequest),
188 GetScreenSaver(xproto::GetScreenSaverRequest),
189 ChangeHosts(xproto::ChangeHostsRequest<'input>),
190 ListHosts(xproto::ListHostsRequest),
191 SetAccessControl(xproto::SetAccessControlRequest),
192 SetCloseDownMode(xproto::SetCloseDownModeRequest),
193 KillClient(xproto::KillClientRequest),
194 RotateProperties(xproto::RotatePropertiesRequest<'input>),
195 ForceScreenSaver(xproto::ForceScreenSaverRequest),
196 SetPointerMapping(xproto::SetPointerMappingRequest<'input>),
197 GetPointerMapping(xproto::GetPointerMappingRequest),
198 SetModifierMapping(xproto::SetModifierMappingRequest<'input>),
199 GetModifierMapping(xproto::GetModifierMappingRequest),
200 NoOperation(xproto::NoOperationRequest),
201 BigreqEnable(bigreq::EnableRequest),
202 #[cfg(feature = "composite")]
203 CompositeQueryVersion(composite::QueryVersionRequest),
204 #[cfg(feature = "composite")]
205 CompositeRedirectWindow(composite::RedirectWindowRequest),
206 #[cfg(feature = "composite")]
207 CompositeRedirectSubwindows(composite::RedirectSubwindowsRequest),
208 #[cfg(feature = "composite")]
209 CompositeUnredirectWindow(composite::UnredirectWindowRequest),
210 #[cfg(feature = "composite")]
211 CompositeUnredirectSubwindows(composite::UnredirectSubwindowsRequest),
212 #[cfg(feature = "composite")]
213 CompositeCreateRegionFromBorderClip(composite::CreateRegionFromBorderClipRequest),
214 #[cfg(feature = "composite")]
215 CompositeNameWindowPixmap(composite::NameWindowPixmapRequest),
216 #[cfg(feature = "composite")]
217 CompositeGetOverlayWindow(composite::GetOverlayWindowRequest),
218 #[cfg(feature = "composite")]
219 CompositeReleaseOverlayWindow(composite::ReleaseOverlayWindowRequest),
220 #[cfg(feature = "damage")]
221 DamageQueryVersion(damage::QueryVersionRequest),
222 #[cfg(feature = "damage")]
223 DamageCreate(damage::CreateRequest),
224 #[cfg(feature = "damage")]
225 DamageDestroy(damage::DestroyRequest),
226 #[cfg(feature = "damage")]
227 DamageSubtract(damage::SubtractRequest),
228 #[cfg(feature = "damage")]
229 DamageAdd(damage::AddRequest),
230 #[cfg(feature = "dpms")]
231 DpmsGetVersion(dpms::GetVersionRequest),
232 #[cfg(feature = "dpms")]
233 DpmsCapable(dpms::CapableRequest),
234 #[cfg(feature = "dpms")]
235 DpmsGetTimeouts(dpms::GetTimeoutsRequest),
236 #[cfg(feature = "dpms")]
237 DpmsSetTimeouts(dpms::SetTimeoutsRequest),
238 #[cfg(feature = "dpms")]
239 DpmsEnable(dpms::EnableRequest),
240 #[cfg(feature = "dpms")]
241 DpmsDisable(dpms::DisableRequest),
242 #[cfg(feature = "dpms")]
243 DpmsForceLevel(dpms::ForceLevelRequest),
244 #[cfg(feature = "dpms")]
245 DpmsInfo(dpms::InfoRequest),
246 #[cfg(feature = "dri2")]
247 Dri2QueryVersion(dri2::QueryVersionRequest),
248 #[cfg(feature = "dri2")]
249 Dri2Connect(dri2::ConnectRequest),
250 #[cfg(feature = "dri2")]
251 Dri2Authenticate(dri2::AuthenticateRequest),
252 #[cfg(feature = "dri2")]
253 Dri2CreateDrawable(dri2::CreateDrawableRequest),
254 #[cfg(feature = "dri2")]
255 Dri2DestroyDrawable(dri2::DestroyDrawableRequest),
256 #[cfg(feature = "dri2")]
257 Dri2GetBuffers(dri2::GetBuffersRequest<'input>),
258 #[cfg(feature = "dri2")]
259 Dri2CopyRegion(dri2::CopyRegionRequest),
260 #[cfg(feature = "dri2")]
261 Dri2GetBuffersWithFormat(dri2::GetBuffersWithFormatRequest<'input>),
262 #[cfg(feature = "dri2")]
263 Dri2SwapBuffers(dri2::SwapBuffersRequest),
264 #[cfg(feature = "dri2")]
265 Dri2GetMSC(dri2::GetMSCRequest),
266 #[cfg(feature = "dri2")]
267 Dri2WaitMSC(dri2::WaitMSCRequest),
268 #[cfg(feature = "dri2")]
269 Dri2WaitSBC(dri2::WaitSBCRequest),
270 #[cfg(feature = "dri2")]
271 Dri2SwapInterval(dri2::SwapIntervalRequest),
272 #[cfg(feature = "dri2")]
273 Dri2GetParam(dri2::GetParamRequest),
274 #[cfg(feature = "dri3")]
275 Dri3QueryVersion(dri3::QueryVersionRequest),
276 #[cfg(feature = "dri3")]
277 Dri3Open(dri3::OpenRequest),
278 #[cfg(feature = "dri3")]
279 Dri3PixmapFromBuffer(dri3::PixmapFromBufferRequest),
280 #[cfg(feature = "dri3")]
281 Dri3BufferFromPixmap(dri3::BufferFromPixmapRequest),
282 #[cfg(feature = "dri3")]
283 Dri3FenceFromFD(dri3::FenceFromFDRequest),
284 #[cfg(feature = "dri3")]
285 Dri3FDFromFence(dri3::FDFromFenceRequest),
286 #[cfg(feature = "dri3")]
287 Dri3GetSupportedModifiers(dri3::GetSupportedModifiersRequest),
288 #[cfg(feature = "dri3")]
289 Dri3PixmapFromBuffers(dri3::PixmapFromBuffersRequest),
290 #[cfg(feature = "dri3")]
291 Dri3BuffersFromPixmap(dri3::BuffersFromPixmapRequest),
292 GeQueryVersion(ge::QueryVersionRequest),
293 #[cfg(feature = "glx")]
294 GlxRender(glx::RenderRequest<'input>),
295 #[cfg(feature = "glx")]
296 GlxRenderLarge(glx::RenderLargeRequest<'input>),
297 #[cfg(feature = "glx")]
298 GlxCreateContext(glx::CreateContextRequest),
299 #[cfg(feature = "glx")]
300 GlxDestroyContext(glx::DestroyContextRequest),
301 #[cfg(feature = "glx")]
302 GlxMakeCurrent(glx::MakeCurrentRequest),
303 #[cfg(feature = "glx")]
304 GlxIsDirect(glx::IsDirectRequest),
305 #[cfg(feature = "glx")]
306 GlxQueryVersion(glx::QueryVersionRequest),
307 #[cfg(feature = "glx")]
308 GlxWaitGL(glx::WaitGLRequest),
309 #[cfg(feature = "glx")]
310 GlxWaitX(glx::WaitXRequest),
311 #[cfg(feature = "glx")]
312 GlxCopyContext(glx::CopyContextRequest),
313 #[cfg(feature = "glx")]
314 GlxSwapBuffers(glx::SwapBuffersRequest),
315 #[cfg(feature = "glx")]
316 GlxUseXFont(glx::UseXFontRequest),
317 #[cfg(feature = "glx")]
318 GlxCreateGLXPixmap(glx::CreateGLXPixmapRequest),
319 #[cfg(feature = "glx")]
320 GlxGetVisualConfigs(glx::GetVisualConfigsRequest),
321 #[cfg(feature = "glx")]
322 GlxDestroyGLXPixmap(glx::DestroyGLXPixmapRequest),
323 #[cfg(feature = "glx")]
324 GlxVendorPrivate(glx::VendorPrivateRequest<'input>),
325 #[cfg(feature = "glx")]
326 GlxVendorPrivateWithReply(glx::VendorPrivateWithReplyRequest<'input>),
327 #[cfg(feature = "glx")]
328 GlxQueryExtensionsString(glx::QueryExtensionsStringRequest),
329 #[cfg(feature = "glx")]
330 GlxQueryServerString(glx::QueryServerStringRequest),
331 #[cfg(feature = "glx")]
332 GlxClientInfo(glx::ClientInfoRequest<'input>),
333 #[cfg(feature = "glx")]
334 GlxGetFBConfigs(glx::GetFBConfigsRequest),
335 #[cfg(feature = "glx")]
336 GlxCreatePixmap(glx::CreatePixmapRequest<'input>),
337 #[cfg(feature = "glx")]
338 GlxDestroyPixmap(glx::DestroyPixmapRequest),
339 #[cfg(feature = "glx")]
340 GlxCreateNewContext(glx::CreateNewContextRequest),
341 #[cfg(feature = "glx")]
342 GlxQueryContext(glx::QueryContextRequest),
343 #[cfg(feature = "glx")]
344 GlxMakeContextCurrent(glx::MakeContextCurrentRequest),
345 #[cfg(feature = "glx")]
346 GlxCreatePbuffer(glx::CreatePbufferRequest<'input>),
347 #[cfg(feature = "glx")]
348 GlxDestroyPbuffer(glx::DestroyPbufferRequest),
349 #[cfg(feature = "glx")]
350 GlxGetDrawableAttributes(glx::GetDrawableAttributesRequest),
351 #[cfg(feature = "glx")]
352 GlxChangeDrawableAttributes(glx::ChangeDrawableAttributesRequest<'input>),
353 #[cfg(feature = "glx")]
354 GlxCreateWindow(glx::CreateWindowRequest<'input>),
355 #[cfg(feature = "glx")]
356 GlxDeleteWindow(glx::DeleteWindowRequest),
357 #[cfg(feature = "glx")]
358 GlxSetClientInfoARB(glx::SetClientInfoARBRequest<'input>),
359 #[cfg(feature = "glx")]
360 GlxCreateContextAttribsARB(glx::CreateContextAttribsARBRequest<'input>),
361 #[cfg(feature = "glx")]
362 GlxSetClientInfo2ARB(glx::SetClientInfo2ARBRequest<'input>),
363 #[cfg(feature = "glx")]
364 GlxNewList(glx::NewListRequest),
365 #[cfg(feature = "glx")]
366 GlxEndList(glx::EndListRequest),
367 #[cfg(feature = "glx")]
368 GlxDeleteLists(glx::DeleteListsRequest),
369 #[cfg(feature = "glx")]
370 GlxGenLists(glx::GenListsRequest),
371 #[cfg(feature = "glx")]
372 GlxFeedbackBuffer(glx::FeedbackBufferRequest),
373 #[cfg(feature = "glx")]
374 GlxSelectBuffer(glx::SelectBufferRequest),
375 #[cfg(feature = "glx")]
376 GlxRenderMode(glx::RenderModeRequest),
377 #[cfg(feature = "glx")]
378 GlxFinish(glx::FinishRequest),
379 #[cfg(feature = "glx")]
380 GlxPixelStoref(glx::PixelStorefRequest),
381 #[cfg(feature = "glx")]
382 GlxPixelStorei(glx::PixelStoreiRequest),
383 #[cfg(feature = "glx")]
384 GlxReadPixels(glx::ReadPixelsRequest),
385 #[cfg(feature = "glx")]
386 GlxGetBooleanv(glx::GetBooleanvRequest),
387 #[cfg(feature = "glx")]
388 GlxGetClipPlane(glx::GetClipPlaneRequest),
389 #[cfg(feature = "glx")]
390 GlxGetDoublev(glx::GetDoublevRequest),
391 #[cfg(feature = "glx")]
392 GlxGetError(glx::GetErrorRequest),
393 #[cfg(feature = "glx")]
394 GlxGetFloatv(glx::GetFloatvRequest),
395 #[cfg(feature = "glx")]
396 GlxGetIntegerv(glx::GetIntegervRequest),
397 #[cfg(feature = "glx")]
398 GlxGetLightfv(glx::GetLightfvRequest),
399 #[cfg(feature = "glx")]
400 GlxGetLightiv(glx::GetLightivRequest),
401 #[cfg(feature = "glx")]
402 GlxGetMapdv(glx::GetMapdvRequest),
403 #[cfg(feature = "glx")]
404 GlxGetMapfv(glx::GetMapfvRequest),
405 #[cfg(feature = "glx")]
406 GlxGetMapiv(glx::GetMapivRequest),
407 #[cfg(feature = "glx")]
408 GlxGetMaterialfv(glx::GetMaterialfvRequest),
409 #[cfg(feature = "glx")]
410 GlxGetMaterialiv(glx::GetMaterialivRequest),
411 #[cfg(feature = "glx")]
412 GlxGetPixelMapfv(glx::GetPixelMapfvRequest),
413 #[cfg(feature = "glx")]
414 GlxGetPixelMapuiv(glx::GetPixelMapuivRequest),
415 #[cfg(feature = "glx")]
416 GlxGetPixelMapusv(glx::GetPixelMapusvRequest),
417 #[cfg(feature = "glx")]
418 GlxGetPolygonStipple(glx::GetPolygonStippleRequest),
419 #[cfg(feature = "glx")]
420 GlxGetString(glx::GetStringRequest),
421 #[cfg(feature = "glx")]
422 GlxGetTexEnvfv(glx::GetTexEnvfvRequest),
423 #[cfg(feature = "glx")]
424 GlxGetTexEnviv(glx::GetTexEnvivRequest),
425 #[cfg(feature = "glx")]
426 GlxGetTexGendv(glx::GetTexGendvRequest),
427 #[cfg(feature = "glx")]
428 GlxGetTexGenfv(glx::GetTexGenfvRequest),
429 #[cfg(feature = "glx")]
430 GlxGetTexGeniv(glx::GetTexGenivRequest),
431 #[cfg(feature = "glx")]
432 GlxGetTexImage(glx::GetTexImageRequest),
433 #[cfg(feature = "glx")]
434 GlxGetTexParameterfv(glx::GetTexParameterfvRequest),
435 #[cfg(feature = "glx")]
436 GlxGetTexParameteriv(glx::GetTexParameterivRequest),
437 #[cfg(feature = "glx")]
438 GlxGetTexLevelParameterfv(glx::GetTexLevelParameterfvRequest),
439 #[cfg(feature = "glx")]
440 GlxGetTexLevelParameteriv(glx::GetTexLevelParameterivRequest),
441 #[cfg(feature = "glx")]
442 GlxIsEnabled(glx::IsEnabledRequest),
443 #[cfg(feature = "glx")]
444 GlxIsList(glx::IsListRequest),
445 #[cfg(feature = "glx")]
446 GlxFlush(glx::FlushRequest),
447 #[cfg(feature = "glx")]
448 GlxAreTexturesResident(glx::AreTexturesResidentRequest<'input>),
449 #[cfg(feature = "glx")]
450 GlxDeleteTextures(glx::DeleteTexturesRequest<'input>),
451 #[cfg(feature = "glx")]
452 GlxGenTextures(glx::GenTexturesRequest),
453 #[cfg(feature = "glx")]
454 GlxIsTexture(glx::IsTextureRequest),
455 #[cfg(feature = "glx")]
456 GlxGetColorTable(glx::GetColorTableRequest),
457 #[cfg(feature = "glx")]
458 GlxGetColorTableParameterfv(glx::GetColorTableParameterfvRequest),
459 #[cfg(feature = "glx")]
460 GlxGetColorTableParameteriv(glx::GetColorTableParameterivRequest),
461 #[cfg(feature = "glx")]
462 GlxGetConvolutionFilter(glx::GetConvolutionFilterRequest),
463 #[cfg(feature = "glx")]
464 GlxGetConvolutionParameterfv(glx::GetConvolutionParameterfvRequest),
465 #[cfg(feature = "glx")]
466 GlxGetConvolutionParameteriv(glx::GetConvolutionParameterivRequest),
467 #[cfg(feature = "glx")]
468 GlxGetSeparableFilter(glx::GetSeparableFilterRequest),
469 #[cfg(feature = "glx")]
470 GlxGetHistogram(glx::GetHistogramRequest),
471 #[cfg(feature = "glx")]
472 GlxGetHistogramParameterfv(glx::GetHistogramParameterfvRequest),
473 #[cfg(feature = "glx")]
474 GlxGetHistogramParameteriv(glx::GetHistogramParameterivRequest),
475 #[cfg(feature = "glx")]
476 GlxGetMinmax(glx::GetMinmaxRequest),
477 #[cfg(feature = "glx")]
478 GlxGetMinmaxParameterfv(glx::GetMinmaxParameterfvRequest),
479 #[cfg(feature = "glx")]
480 GlxGetMinmaxParameteriv(glx::GetMinmaxParameterivRequest),
481 #[cfg(feature = "glx")]
482 GlxGetCompressedTexImageARB(glx::GetCompressedTexImageARBRequest),
483 #[cfg(feature = "glx")]
484 GlxDeleteQueriesARB(glx::DeleteQueriesARBRequest<'input>),
485 #[cfg(feature = "glx")]
486 GlxGenQueriesARB(glx::GenQueriesARBRequest),
487 #[cfg(feature = "glx")]
488 GlxIsQueryARB(glx::IsQueryARBRequest),
489 #[cfg(feature = "glx")]
490 GlxGetQueryivARB(glx::GetQueryivARBRequest),
491 #[cfg(feature = "glx")]
492 GlxGetQueryObjectivARB(glx::GetQueryObjectivARBRequest),
493 #[cfg(feature = "glx")]
494 GlxGetQueryObjectuivARB(glx::GetQueryObjectuivARBRequest),
495 #[cfg(feature = "present")]
496 PresentQueryVersion(present::QueryVersionRequest),
497 #[cfg(feature = "present")]
498 PresentPixmap(present::PixmapRequest<'input>),
499 #[cfg(feature = "present")]
500 PresentNotifyMSC(present::NotifyMSCRequest),
501 #[cfg(feature = "present")]
502 PresentSelectInput(present::SelectInputRequest),
503 #[cfg(feature = "present")]
504 PresentQueryCapabilities(present::QueryCapabilitiesRequest),
505 #[cfg(feature = "randr")]
506 RandrQueryVersion(randr::QueryVersionRequest),
507 #[cfg(feature = "randr")]
508 RandrSetScreenConfig(randr::SetScreenConfigRequest),
509 #[cfg(feature = "randr")]
510 RandrSelectInput(randr::SelectInputRequest),
511 #[cfg(feature = "randr")]
512 RandrGetScreenInfo(randr::GetScreenInfoRequest),
513 #[cfg(feature = "randr")]
514 RandrGetScreenSizeRange(randr::GetScreenSizeRangeRequest),
515 #[cfg(feature = "randr")]
516 RandrSetScreenSize(randr::SetScreenSizeRequest),
517 #[cfg(feature = "randr")]
518 RandrGetScreenResources(randr::GetScreenResourcesRequest),
519 #[cfg(feature = "randr")]
520 RandrGetOutputInfo(randr::GetOutputInfoRequest),
521 #[cfg(feature = "randr")]
522 RandrListOutputProperties(randr::ListOutputPropertiesRequest),
523 #[cfg(feature = "randr")]
524 RandrQueryOutputProperty(randr::QueryOutputPropertyRequest),
525 #[cfg(feature = "randr")]
526 RandrConfigureOutputProperty(randr::ConfigureOutputPropertyRequest<'input>),
527 #[cfg(feature = "randr")]
528 RandrChangeOutputProperty(randr::ChangeOutputPropertyRequest<'input>),
529 #[cfg(feature = "randr")]
530 RandrDeleteOutputProperty(randr::DeleteOutputPropertyRequest),
531 #[cfg(feature = "randr")]
532 RandrGetOutputProperty(randr::GetOutputPropertyRequest),
533 #[cfg(feature = "randr")]
534 RandrCreateMode(randr::CreateModeRequest<'input>),
535 #[cfg(feature = "randr")]
536 RandrDestroyMode(randr::DestroyModeRequest),
537 #[cfg(feature = "randr")]
538 RandrAddOutputMode(randr::AddOutputModeRequest),
539 #[cfg(feature = "randr")]
540 RandrDeleteOutputMode(randr::DeleteOutputModeRequest),
541 #[cfg(feature = "randr")]
542 RandrGetCrtcInfo(randr::GetCrtcInfoRequest),
543 #[cfg(feature = "randr")]
544 RandrSetCrtcConfig(randr::SetCrtcConfigRequest<'input>),
545 #[cfg(feature = "randr")]
546 RandrGetCrtcGammaSize(randr::GetCrtcGammaSizeRequest),
547 #[cfg(feature = "randr")]
548 RandrGetCrtcGamma(randr::GetCrtcGammaRequest),
549 #[cfg(feature = "randr")]
550 RandrSetCrtcGamma(randr::SetCrtcGammaRequest<'input>),
551 #[cfg(feature = "randr")]
552 RandrGetScreenResourcesCurrent(randr::GetScreenResourcesCurrentRequest),
553 #[cfg(feature = "randr")]
554 RandrSetCrtcTransform(randr::SetCrtcTransformRequest<'input>),
555 #[cfg(feature = "randr")]
556 RandrGetCrtcTransform(randr::GetCrtcTransformRequest),
557 #[cfg(feature = "randr")]
558 RandrGetPanning(randr::GetPanningRequest),
559 #[cfg(feature = "randr")]
560 RandrSetPanning(randr::SetPanningRequest),
561 #[cfg(feature = "randr")]
562 RandrSetOutputPrimary(randr::SetOutputPrimaryRequest),
563 #[cfg(feature = "randr")]
564 RandrGetOutputPrimary(randr::GetOutputPrimaryRequest),
565 #[cfg(feature = "randr")]
566 RandrGetProviders(randr::GetProvidersRequest),
567 #[cfg(feature = "randr")]
568 RandrGetProviderInfo(randr::GetProviderInfoRequest),
569 #[cfg(feature = "randr")]
570 RandrSetProviderOffloadSink(randr::SetProviderOffloadSinkRequest),
571 #[cfg(feature = "randr")]
572 RandrSetProviderOutputSource(randr::SetProviderOutputSourceRequest),
573 #[cfg(feature = "randr")]
574 RandrListProviderProperties(randr::ListProviderPropertiesRequest),
575 #[cfg(feature = "randr")]
576 RandrQueryProviderProperty(randr::QueryProviderPropertyRequest),
577 #[cfg(feature = "randr")]
578 RandrConfigureProviderProperty(randr::ConfigureProviderPropertyRequest<'input>),
579 #[cfg(feature = "randr")]
580 RandrChangeProviderProperty(randr::ChangeProviderPropertyRequest<'input>),
581 #[cfg(feature = "randr")]
582 RandrDeleteProviderProperty(randr::DeleteProviderPropertyRequest),
583 #[cfg(feature = "randr")]
584 RandrGetProviderProperty(randr::GetProviderPropertyRequest),
585 #[cfg(feature = "randr")]
586 RandrGetMonitors(randr::GetMonitorsRequest),
587 #[cfg(feature = "randr")]
588 RandrSetMonitor(randr::SetMonitorRequest),
589 #[cfg(feature = "randr")]
590 RandrDeleteMonitor(randr::DeleteMonitorRequest),
591 #[cfg(feature = "randr")]
592 RandrCreateLease(randr::CreateLeaseRequest<'input>),
593 #[cfg(feature = "randr")]
594 RandrFreeLease(randr::FreeLeaseRequest),
595 #[cfg(feature = "record")]
596 RecordQueryVersion(record::QueryVersionRequest),
597 #[cfg(feature = "record")]
598 RecordCreateContext(record::CreateContextRequest<'input>),
599 #[cfg(feature = "record")]
600 RecordRegisterClients(record::RegisterClientsRequest<'input>),
601 #[cfg(feature = "record")]
602 RecordUnregisterClients(record::UnregisterClientsRequest<'input>),
603 #[cfg(feature = "record")]
604 RecordGetContext(record::GetContextRequest),
605 #[cfg(feature = "record")]
606 RecordEnableContext(record::EnableContextRequest),
607 #[cfg(feature = "record")]
608 RecordDisableContext(record::DisableContextRequest),
609 #[cfg(feature = "record")]
610 RecordFreeContext(record::FreeContextRequest),
611 #[cfg(feature = "render")]
612 RenderQueryVersion(render::QueryVersionRequest),
613 #[cfg(feature = "render")]
614 RenderQueryPictFormats(render::QueryPictFormatsRequest),
615 #[cfg(feature = "render")]
616 RenderQueryPictIndexValues(render::QueryPictIndexValuesRequest),
617 #[cfg(feature = "render")]
618 RenderCreatePicture(render::CreatePictureRequest<'input>),
619 #[cfg(feature = "render")]
620 RenderChangePicture(render::ChangePictureRequest<'input>),
621 #[cfg(feature = "render")]
622 RenderSetPictureClipRectangles(render::SetPictureClipRectanglesRequest<'input>),
623 #[cfg(feature = "render")]
624 RenderFreePicture(render::FreePictureRequest),
625 #[cfg(feature = "render")]
626 RenderComposite(render::CompositeRequest),
627 #[cfg(feature = "render")]
628 RenderTrapezoids(render::TrapezoidsRequest<'input>),
629 #[cfg(feature = "render")]
630 RenderTriangles(render::TrianglesRequest<'input>),
631 #[cfg(feature = "render")]
632 RenderTriStrip(render::TriStripRequest<'input>),
633 #[cfg(feature = "render")]
634 RenderTriFan(render::TriFanRequest<'input>),
635 #[cfg(feature = "render")]
636 RenderCreateGlyphSet(render::CreateGlyphSetRequest),
637 #[cfg(feature = "render")]
638 RenderReferenceGlyphSet(render::ReferenceGlyphSetRequest),
639 #[cfg(feature = "render")]
640 RenderFreeGlyphSet(render::FreeGlyphSetRequest),
641 #[cfg(feature = "render")]
642 RenderAddGlyphs(render::AddGlyphsRequest<'input>),
643 #[cfg(feature = "render")]
644 RenderFreeGlyphs(render::FreeGlyphsRequest<'input>),
645 #[cfg(feature = "render")]
646 RenderCompositeGlyphs8(render::CompositeGlyphs8Request<'input>),
647 #[cfg(feature = "render")]
648 RenderCompositeGlyphs16(render::CompositeGlyphs16Request<'input>),
649 #[cfg(feature = "render")]
650 RenderCompositeGlyphs32(render::CompositeGlyphs32Request<'input>),
651 #[cfg(feature = "render")]
652 RenderFillRectangles(render::FillRectanglesRequest<'input>),
653 #[cfg(feature = "render")]
654 RenderCreateCursor(render::CreateCursorRequest),
655 #[cfg(feature = "render")]
656 RenderSetPictureTransform(render::SetPictureTransformRequest),
657 #[cfg(feature = "render")]
658 RenderQueryFilters(render::QueryFiltersRequest),
659 #[cfg(feature = "render")]
660 RenderSetPictureFilter(render::SetPictureFilterRequest<'input>),
661 #[cfg(feature = "render")]
662 RenderCreateAnimCursor(render::CreateAnimCursorRequest<'input>),
663 #[cfg(feature = "render")]
664 RenderAddTraps(render::AddTrapsRequest<'input>),
665 #[cfg(feature = "render")]
666 RenderCreateSolidFill(render::CreateSolidFillRequest),
667 #[cfg(feature = "render")]
668 RenderCreateLinearGradient(render::CreateLinearGradientRequest<'input>),
669 #[cfg(feature = "render")]
670 RenderCreateRadialGradient(render::CreateRadialGradientRequest<'input>),
671 #[cfg(feature = "render")]
672 RenderCreateConicalGradient(render::CreateConicalGradientRequest<'input>),
673 #[cfg(feature = "res")]
674 ResQueryVersion(res::QueryVersionRequest),
675 #[cfg(feature = "res")]
676 ResQueryClients(res::QueryClientsRequest),
677 #[cfg(feature = "res")]
678 ResQueryClientResources(res::QueryClientResourcesRequest),
679 #[cfg(feature = "res")]
680 ResQueryClientPixmapBytes(res::QueryClientPixmapBytesRequest),
681 #[cfg(feature = "res")]
682 ResQueryClientIds(res::QueryClientIdsRequest<'input>),
683 #[cfg(feature = "res")]
684 ResQueryResourceBytes(res::QueryResourceBytesRequest<'input>),
685 #[cfg(feature = "screensaver")]
686 ScreensaverQueryVersion(screensaver::QueryVersionRequest),
687 #[cfg(feature = "screensaver")]
688 ScreensaverQueryInfo(screensaver::QueryInfoRequest),
689 #[cfg(feature = "screensaver")]
690 ScreensaverSelectInput(screensaver::SelectInputRequest),
691 #[cfg(feature = "screensaver")]
692 ScreensaverSetAttributes(screensaver::SetAttributesRequest<'input>),
693 #[cfg(feature = "screensaver")]
694 ScreensaverUnsetAttributes(screensaver::UnsetAttributesRequest),
695 #[cfg(feature = "screensaver")]
696 ScreensaverSuspend(screensaver::SuspendRequest),
697 #[cfg(feature = "shape")]
698 ShapeQueryVersion(shape::QueryVersionRequest),
699 #[cfg(feature = "shape")]
700 ShapeRectangles(shape::RectanglesRequest<'input>),
701 #[cfg(feature = "shape")]
702 ShapeMask(shape::MaskRequest),
703 #[cfg(feature = "shape")]
704 ShapeCombine(shape::CombineRequest),
705 #[cfg(feature = "shape")]
706 ShapeOffset(shape::OffsetRequest),
707 #[cfg(feature = "shape")]
708 ShapeQueryExtents(shape::QueryExtentsRequest),
709 #[cfg(feature = "shape")]
710 ShapeSelectInput(shape::SelectInputRequest),
711 #[cfg(feature = "shape")]
712 ShapeInputSelected(shape::InputSelectedRequest),
713 #[cfg(feature = "shape")]
714 ShapeGetRectangles(shape::GetRectanglesRequest),
715 #[cfg(feature = "shm")]
716 ShmQueryVersion(shm::QueryVersionRequest),
717 #[cfg(feature = "shm")]
718 ShmAttach(shm::AttachRequest),
719 #[cfg(feature = "shm")]
720 ShmDetach(shm::DetachRequest),
721 #[cfg(feature = "shm")]
722 ShmPutImage(shm::PutImageRequest),
723 #[cfg(feature = "shm")]
724 ShmGetImage(shm::GetImageRequest),
725 #[cfg(feature = "shm")]
726 ShmCreatePixmap(shm::CreatePixmapRequest),
727 #[cfg(feature = "shm")]
728 ShmAttachFd(shm::AttachFdRequest),
729 #[cfg(feature = "shm")]
730 ShmCreateSegment(shm::CreateSegmentRequest),
731 #[cfg(feature = "sync")]
732 SyncInitialize(sync::InitializeRequest),
733 #[cfg(feature = "sync")]
734 SyncListSystemCounters(sync::ListSystemCountersRequest),
735 #[cfg(feature = "sync")]
736 SyncCreateCounter(sync::CreateCounterRequest),
737 #[cfg(feature = "sync")]
738 SyncDestroyCounter(sync::DestroyCounterRequest),
739 #[cfg(feature = "sync")]
740 SyncQueryCounter(sync::QueryCounterRequest),
741 #[cfg(feature = "sync")]
742 SyncAwait(sync::AwaitRequest<'input>),
743 #[cfg(feature = "sync")]
744 SyncChangeCounter(sync::ChangeCounterRequest),
745 #[cfg(feature = "sync")]
746 SyncSetCounter(sync::SetCounterRequest),
747 #[cfg(feature = "sync")]
748 SyncCreateAlarm(sync::CreateAlarmRequest<'input>),
749 #[cfg(feature = "sync")]
750 SyncChangeAlarm(sync::ChangeAlarmRequest<'input>),
751 #[cfg(feature = "sync")]
752 SyncDestroyAlarm(sync::DestroyAlarmRequest),
753 #[cfg(feature = "sync")]
754 SyncQueryAlarm(sync::QueryAlarmRequest),
755 #[cfg(feature = "sync")]
756 SyncSetPriority(sync::SetPriorityRequest),
757 #[cfg(feature = "sync")]
758 SyncGetPriority(sync::GetPriorityRequest),
759 #[cfg(feature = "sync")]
760 SyncCreateFence(sync::CreateFenceRequest),
761 #[cfg(feature = "sync")]
762 SyncTriggerFence(sync::TriggerFenceRequest),
763 #[cfg(feature = "sync")]
764 SyncResetFence(sync::ResetFenceRequest),
765 #[cfg(feature = "sync")]
766 SyncDestroyFence(sync::DestroyFenceRequest),
767 #[cfg(feature = "sync")]
768 SyncQueryFence(sync::QueryFenceRequest),
769 #[cfg(feature = "sync")]
770 SyncAwaitFence(sync::AwaitFenceRequest<'input>),
771 XcMiscGetVersion(xc_misc::GetVersionRequest),
772 XcMiscGetXIDRange(xc_misc::GetXIDRangeRequest),
773 XcMiscGetXIDList(xc_misc::GetXIDListRequest),
774 #[cfg(feature = "xevie")]
775 XevieQueryVersion(xevie::QueryVersionRequest),
776 #[cfg(feature = "xevie")]
777 XevieStart(xevie::StartRequest),
778 #[cfg(feature = "xevie")]
779 XevieEnd(xevie::EndRequest),
780 #[cfg(feature = "xevie")]
781 XevieSend(xevie::SendRequest),
782 #[cfg(feature = "xevie")]
783 XevieSelectInput(xevie::SelectInputRequest),
784 #[cfg(feature = "xf86dri")]
785 Xf86driQueryVersion(xf86dri::QueryVersionRequest),
786 #[cfg(feature = "xf86dri")]
787 Xf86driQueryDirectRenderingCapable(xf86dri::QueryDirectRenderingCapableRequest),
788 #[cfg(feature = "xf86dri")]
789 Xf86driOpenConnection(xf86dri::OpenConnectionRequest),
790 #[cfg(feature = "xf86dri")]
791 Xf86driCloseConnection(xf86dri::CloseConnectionRequest),
792 #[cfg(feature = "xf86dri")]
793 Xf86driGetClientDriverName(xf86dri::GetClientDriverNameRequest),
794 #[cfg(feature = "xf86dri")]
795 Xf86driCreateContext(xf86dri::CreateContextRequest),
796 #[cfg(feature = "xf86dri")]
797 Xf86driDestroyContext(xf86dri::DestroyContextRequest),
798 #[cfg(feature = "xf86dri")]
799 Xf86driCreateDrawable(xf86dri::CreateDrawableRequest),
800 #[cfg(feature = "xf86dri")]
801 Xf86driDestroyDrawable(xf86dri::DestroyDrawableRequest),
802 #[cfg(feature = "xf86dri")]
803 Xf86driGetDrawableInfo(xf86dri::GetDrawableInfoRequest),
804 #[cfg(feature = "xf86dri")]
805 Xf86driGetDeviceInfo(xf86dri::GetDeviceInfoRequest),
806 #[cfg(feature = "xf86dri")]
807 Xf86driAuthConnection(xf86dri::AuthConnectionRequest),
808 #[cfg(feature = "xf86vidmode")]
809 Xf86vidmodeQueryVersion(xf86vidmode::QueryVersionRequest),
810 #[cfg(feature = "xf86vidmode")]
811 Xf86vidmodeGetModeLine(xf86vidmode::GetModeLineRequest),
812 #[cfg(feature = "xf86vidmode")]
813 Xf86vidmodeModModeLine(xf86vidmode::ModModeLineRequest<'input>),
814 #[cfg(feature = "xf86vidmode")]
815 Xf86vidmodeSwitchMode(xf86vidmode::SwitchModeRequest),
816 #[cfg(feature = "xf86vidmode")]
817 Xf86vidmodeGetMonitor(xf86vidmode::GetMonitorRequest),
818 #[cfg(feature = "xf86vidmode")]
819 Xf86vidmodeLockModeSwitch(xf86vidmode::LockModeSwitchRequest),
820 #[cfg(feature = "xf86vidmode")]
821 Xf86vidmodeGetAllModeLines(xf86vidmode::GetAllModeLinesRequest),
822 #[cfg(feature = "xf86vidmode")]
823 Xf86vidmodeAddModeLine(xf86vidmode::AddModeLineRequest<'input>),
824 #[cfg(feature = "xf86vidmode")]
825 Xf86vidmodeDeleteModeLine(xf86vidmode::DeleteModeLineRequest<'input>),
826 #[cfg(feature = "xf86vidmode")]
827 Xf86vidmodeValidateModeLine(xf86vidmode::ValidateModeLineRequest<'input>),
828 #[cfg(feature = "xf86vidmode")]
829 Xf86vidmodeSwitchToMode(xf86vidmode::SwitchToModeRequest<'input>),
830 #[cfg(feature = "xf86vidmode")]
831 Xf86vidmodeGetViewPort(xf86vidmode::GetViewPortRequest),
832 #[cfg(feature = "xf86vidmode")]
833 Xf86vidmodeSetViewPort(xf86vidmode::SetViewPortRequest),
834 #[cfg(feature = "xf86vidmode")]
835 Xf86vidmodeGetDotClocks(xf86vidmode::GetDotClocksRequest),
836 #[cfg(feature = "xf86vidmode")]
837 Xf86vidmodeSetClientVersion(xf86vidmode::SetClientVersionRequest),
838 #[cfg(feature = "xf86vidmode")]
839 Xf86vidmodeSetGamma(xf86vidmode::SetGammaRequest),
840 #[cfg(feature = "xf86vidmode")]
841 Xf86vidmodeGetGamma(xf86vidmode::GetGammaRequest),
842 #[cfg(feature = "xf86vidmode")]
843 Xf86vidmodeGetGammaRamp(xf86vidmode::GetGammaRampRequest),
844 #[cfg(feature = "xf86vidmode")]
845 Xf86vidmodeSetGammaRamp(xf86vidmode::SetGammaRampRequest<'input>),
846 #[cfg(feature = "xf86vidmode")]
847 Xf86vidmodeGetGammaRampSize(xf86vidmode::GetGammaRampSizeRequest),
848 #[cfg(feature = "xf86vidmode")]
849 Xf86vidmodeGetPermissions(xf86vidmode::GetPermissionsRequest),
850 #[cfg(feature = "xfixes")]
851 XfixesQueryVersion(xfixes::QueryVersionRequest),
852 #[cfg(feature = "xfixes")]
853 XfixesChangeSaveSet(xfixes::ChangeSaveSetRequest),
854 #[cfg(feature = "xfixes")]
855 XfixesSelectSelectionInput(xfixes::SelectSelectionInputRequest),
856 #[cfg(feature = "xfixes")]
857 XfixesSelectCursorInput(xfixes::SelectCursorInputRequest),
858 #[cfg(feature = "xfixes")]
859 XfixesGetCursorImage(xfixes::GetCursorImageRequest),
860 #[cfg(feature = "xfixes")]
861 XfixesCreateRegion(xfixes::CreateRegionRequest<'input>),
862 #[cfg(feature = "xfixes")]
863 XfixesCreateRegionFromBitmap(xfixes::CreateRegionFromBitmapRequest),
864 #[cfg(feature = "xfixes")]
865 XfixesCreateRegionFromWindow(xfixes::CreateRegionFromWindowRequest),
866 #[cfg(feature = "xfixes")]
867 XfixesCreateRegionFromGC(xfixes::CreateRegionFromGCRequest),
868 #[cfg(feature = "xfixes")]
869 XfixesCreateRegionFromPicture(xfixes::CreateRegionFromPictureRequest),
870 #[cfg(feature = "xfixes")]
871 XfixesDestroyRegion(xfixes::DestroyRegionRequest),
872 #[cfg(feature = "xfixes")]
873 XfixesSetRegion(xfixes::SetRegionRequest<'input>),
874 #[cfg(feature = "xfixes")]
875 XfixesCopyRegion(xfixes::CopyRegionRequest),
876 #[cfg(feature = "xfixes")]
877 XfixesUnionRegion(xfixes::UnionRegionRequest),
878 #[cfg(feature = "xfixes")]
879 XfixesIntersectRegion(xfixes::IntersectRegionRequest),
880 #[cfg(feature = "xfixes")]
881 XfixesSubtractRegion(xfixes::SubtractRegionRequest),
882 #[cfg(feature = "xfixes")]
883 XfixesInvertRegion(xfixes::InvertRegionRequest),
884 #[cfg(feature = "xfixes")]
885 XfixesTranslateRegion(xfixes::TranslateRegionRequest),
886 #[cfg(feature = "xfixes")]
887 XfixesRegionExtents(xfixes::RegionExtentsRequest),
888 #[cfg(feature = "xfixes")]
889 XfixesFetchRegion(xfixes::FetchRegionRequest),
890 #[cfg(feature = "xfixes")]
891 XfixesSetGCClipRegion(xfixes::SetGCClipRegionRequest),
892 #[cfg(feature = "xfixes")]
893 XfixesSetWindowShapeRegion(xfixes::SetWindowShapeRegionRequest),
894 #[cfg(feature = "xfixes")]
895 XfixesSetPictureClipRegion(xfixes::SetPictureClipRegionRequest),
896 #[cfg(feature = "xfixes")]
897 XfixesSetCursorName(xfixes::SetCursorNameRequest<'input>),
898 #[cfg(feature = "xfixes")]
899 XfixesGetCursorName(xfixes::GetCursorNameRequest),
900 #[cfg(feature = "xfixes")]
901 XfixesGetCursorImageAndName(xfixes::GetCursorImageAndNameRequest),
902 #[cfg(feature = "xfixes")]
903 XfixesChangeCursor(xfixes::ChangeCursorRequest),
904 #[cfg(feature = "xfixes")]
905 XfixesChangeCursorByName(xfixes::ChangeCursorByNameRequest<'input>),
906 #[cfg(feature = "xfixes")]
907 XfixesExpandRegion(xfixes::ExpandRegionRequest),
908 #[cfg(feature = "xfixes")]
909 XfixesHideCursor(xfixes::HideCursorRequest),
910 #[cfg(feature = "xfixes")]
911 XfixesShowCursor(xfixes::ShowCursorRequest),
912 #[cfg(feature = "xfixes")]
913 XfixesCreatePointerBarrier(xfixes::CreatePointerBarrierRequest<'input>),
914 #[cfg(feature = "xfixes")]
915 XfixesDeletePointerBarrier(xfixes::DeletePointerBarrierRequest),
916 #[cfg(feature = "xinerama")]
917 XineramaQueryVersion(xinerama::QueryVersionRequest),
918 #[cfg(feature = "xinerama")]
919 XineramaGetState(xinerama::GetStateRequest),
920 #[cfg(feature = "xinerama")]
921 XineramaGetScreenCount(xinerama::GetScreenCountRequest),
922 #[cfg(feature = "xinerama")]
923 XineramaGetScreenSize(xinerama::GetScreenSizeRequest),
924 #[cfg(feature = "xinerama")]
925 XineramaIsActive(xinerama::IsActiveRequest),
926 #[cfg(feature = "xinerama")]
927 XineramaQueryScreens(xinerama::QueryScreensRequest),
928 #[cfg(feature = "xinput")]
929 XinputGetExtensionVersion(xinput::GetExtensionVersionRequest<'input>),
930 #[cfg(feature = "xinput")]
931 XinputListInputDevices(xinput::ListInputDevicesRequest),
932 #[cfg(feature = "xinput")]
933 XinputOpenDevice(xinput::OpenDeviceRequest),
934 #[cfg(feature = "xinput")]
935 XinputCloseDevice(xinput::CloseDeviceRequest),
936 #[cfg(feature = "xinput")]
937 XinputSetDeviceMode(xinput::SetDeviceModeRequest),
938 #[cfg(feature = "xinput")]
939 XinputSelectExtensionEvent(xinput::SelectExtensionEventRequest<'input>),
940 #[cfg(feature = "xinput")]
941 XinputGetSelectedExtensionEvents(xinput::GetSelectedExtensionEventsRequest),
942 #[cfg(feature = "xinput")]
943 XinputChangeDeviceDontPropagateList(xinput::ChangeDeviceDontPropagateListRequest<'input>),
944 #[cfg(feature = "xinput")]
945 XinputGetDeviceDontPropagateList(xinput::GetDeviceDontPropagateListRequest),
946 #[cfg(feature = "xinput")]
947 XinputGetDeviceMotionEvents(xinput::GetDeviceMotionEventsRequest),
948 #[cfg(feature = "xinput")]
949 XinputChangeKeyboardDevice(xinput::ChangeKeyboardDeviceRequest),
950 #[cfg(feature = "xinput")]
951 XinputChangePointerDevice(xinput::ChangePointerDeviceRequest),
952 #[cfg(feature = "xinput")]
953 XinputGrabDevice(xinput::GrabDeviceRequest<'input>),
954 #[cfg(feature = "xinput")]
955 XinputUngrabDevice(xinput::UngrabDeviceRequest),
956 #[cfg(feature = "xinput")]
957 XinputGrabDeviceKey(xinput::GrabDeviceKeyRequest<'input>),
958 #[cfg(feature = "xinput")]
959 XinputUngrabDeviceKey(xinput::UngrabDeviceKeyRequest),
960 #[cfg(feature = "xinput")]
961 XinputGrabDeviceButton(xinput::GrabDeviceButtonRequest<'input>),
962 #[cfg(feature = "xinput")]
963 XinputUngrabDeviceButton(xinput::UngrabDeviceButtonRequest),
964 #[cfg(feature = "xinput")]
965 XinputAllowDeviceEvents(xinput::AllowDeviceEventsRequest),
966 #[cfg(feature = "xinput")]
967 XinputGetDeviceFocus(xinput::GetDeviceFocusRequest),
968 #[cfg(feature = "xinput")]
969 XinputSetDeviceFocus(xinput::SetDeviceFocusRequest),
970 #[cfg(feature = "xinput")]
971 XinputGetFeedbackControl(xinput::GetFeedbackControlRequest),
972 #[cfg(feature = "xinput")]
973 XinputChangeFeedbackControl(xinput::ChangeFeedbackControlRequest),
974 #[cfg(feature = "xinput")]
975 XinputGetDeviceKeyMapping(xinput::GetDeviceKeyMappingRequest),
976 #[cfg(feature = "xinput")]
977 XinputChangeDeviceKeyMapping(xinput::ChangeDeviceKeyMappingRequest<'input>),
978 #[cfg(feature = "xinput")]
979 XinputGetDeviceModifierMapping(xinput::GetDeviceModifierMappingRequest),
980 #[cfg(feature = "xinput")]
981 XinputSetDeviceModifierMapping(xinput::SetDeviceModifierMappingRequest<'input>),
982 #[cfg(feature = "xinput")]
983 XinputGetDeviceButtonMapping(xinput::GetDeviceButtonMappingRequest),
984 #[cfg(feature = "xinput")]
985 XinputSetDeviceButtonMapping(xinput::SetDeviceButtonMappingRequest<'input>),
986 #[cfg(feature = "xinput")]
987 XinputQueryDeviceState(xinput::QueryDeviceStateRequest),
988 #[cfg(feature = "xinput")]
989 XinputDeviceBell(xinput::DeviceBellRequest),
990 #[cfg(feature = "xinput")]
991 XinputSetDeviceValuators(xinput::SetDeviceValuatorsRequest<'input>),
992 #[cfg(feature = "xinput")]
993 XinputGetDeviceControl(xinput::GetDeviceControlRequest),
994 #[cfg(feature = "xinput")]
995 XinputChangeDeviceControl(xinput::ChangeDeviceControlRequest),
996 #[cfg(feature = "xinput")]
997 XinputListDeviceProperties(xinput::ListDevicePropertiesRequest),
998 #[cfg(feature = "xinput")]
999 XinputChangeDeviceProperty(xinput::ChangeDevicePropertyRequest<'input>),
1000 #[cfg(feature = "xinput")]
1001 XinputDeleteDeviceProperty(xinput::DeleteDevicePropertyRequest),
1002 #[cfg(feature = "xinput")]
1003 XinputGetDeviceProperty(xinput::GetDevicePropertyRequest),
1004 #[cfg(feature = "xinput")]
1005 XinputXIQueryPointer(xinput::XIQueryPointerRequest),
1006 #[cfg(feature = "xinput")]
1007 XinputXIWarpPointer(xinput::XIWarpPointerRequest),
1008 #[cfg(feature = "xinput")]
1009 XinputXIChangeCursor(xinput::XIChangeCursorRequest),
1010 #[cfg(feature = "xinput")]
1011 XinputXIChangeHierarchy(xinput::XIChangeHierarchyRequest<'input>),
1012 #[cfg(feature = "xinput")]
1013 XinputXISetClientPointer(xinput::XISetClientPointerRequest),
1014 #[cfg(feature = "xinput")]
1015 XinputXIGetClientPointer(xinput::XIGetClientPointerRequest),
1016 #[cfg(feature = "xinput")]
1017 XinputXISelectEvents(xinput::XISelectEventsRequest<'input>),
1018 #[cfg(feature = "xinput")]
1019 XinputXIQueryVersion(xinput::XIQueryVersionRequest),
1020 #[cfg(feature = "xinput")]
1021 XinputXIQueryDevice(xinput::XIQueryDeviceRequest),
1022 #[cfg(feature = "xinput")]
1023 XinputXISetFocus(xinput::XISetFocusRequest),
1024 #[cfg(feature = "xinput")]
1025 XinputXIGetFocus(xinput::XIGetFocusRequest),
1026 #[cfg(feature = "xinput")]
1027 XinputXIGrabDevice(xinput::XIGrabDeviceRequest<'input>),
1028 #[cfg(feature = "xinput")]
1029 XinputXIUngrabDevice(xinput::XIUngrabDeviceRequest),
1030 #[cfg(feature = "xinput")]
1031 XinputXIAllowEvents(xinput::XIAllowEventsRequest),
1032 #[cfg(feature = "xinput")]
1033 XinputXIPassiveGrabDevice(xinput::XIPassiveGrabDeviceRequest<'input>),
1034 #[cfg(feature = "xinput")]
1035 XinputXIPassiveUngrabDevice(xinput::XIPassiveUngrabDeviceRequest<'input>),
1036 #[cfg(feature = "xinput")]
1037 XinputXIListProperties(xinput::XIListPropertiesRequest),
1038 #[cfg(feature = "xinput")]
1039 XinputXIChangeProperty(xinput::XIChangePropertyRequest<'input>),
1040 #[cfg(feature = "xinput")]
1041 XinputXIDeleteProperty(xinput::XIDeletePropertyRequest),
1042 #[cfg(feature = "xinput")]
1043 XinputXIGetProperty(xinput::XIGetPropertyRequest),
1044 #[cfg(feature = "xinput")]
1045 XinputXIGetSelectedEvents(xinput::XIGetSelectedEventsRequest),
1046 #[cfg(feature = "xinput")]
1047 XinputXIBarrierReleasePointer(xinput::XIBarrierReleasePointerRequest<'input>),
1048 #[cfg(feature = "xinput")]
1049 XinputSendExtensionEvent(xinput::SendExtensionEventRequest<'input>),
1050 #[cfg(feature = "xkb")]
1051 XkbUseExtension(xkb::UseExtensionRequest),
1052 #[cfg(feature = "xkb")]
1053 XkbSelectEvents(xkb::SelectEventsRequest<'input>),
1054 #[cfg(feature = "xkb")]
1055 XkbBell(xkb::BellRequest),
1056 #[cfg(feature = "xkb")]
1057 XkbGetState(xkb::GetStateRequest),
1058 #[cfg(feature = "xkb")]
1059 XkbLatchLockState(xkb::LatchLockStateRequest),
1060 #[cfg(feature = "xkb")]
1061 XkbGetControls(xkb::GetControlsRequest),
1062 #[cfg(feature = "xkb")]
1063 XkbSetControls(xkb::SetControlsRequest<'input>),
1064 #[cfg(feature = "xkb")]
1065 XkbGetMap(xkb::GetMapRequest),
1066 #[cfg(feature = "xkb")]
1067 XkbSetMap(xkb::SetMapRequest<'input>),
1068 #[cfg(feature = "xkb")]
1069 XkbGetCompatMap(xkb::GetCompatMapRequest),
1070 #[cfg(feature = "xkb")]
1071 XkbSetCompatMap(xkb::SetCompatMapRequest<'input>),
1072 #[cfg(feature = "xkb")]
1073 XkbGetIndicatorState(xkb::GetIndicatorStateRequest),
1074 #[cfg(feature = "xkb")]
1075 XkbGetIndicatorMap(xkb::GetIndicatorMapRequest),
1076 #[cfg(feature = "xkb")]
1077 XkbSetIndicatorMap(xkb::SetIndicatorMapRequest<'input>),
1078 #[cfg(feature = "xkb")]
1079 XkbGetNamedIndicator(xkb::GetNamedIndicatorRequest),
1080 #[cfg(feature = "xkb")]
1081 XkbSetNamedIndicator(xkb::SetNamedIndicatorRequest),
1082 #[cfg(feature = "xkb")]
1083 XkbGetNames(xkb::GetNamesRequest),
1084 #[cfg(feature = "xkb")]
1085 XkbSetNames(xkb::SetNamesRequest<'input>),
1086 #[cfg(feature = "xkb")]
1087 XkbPerClientFlags(xkb::PerClientFlagsRequest),
1088 #[cfg(feature = "xkb")]
1089 XkbListComponents(xkb::ListComponentsRequest),
1090 #[cfg(feature = "xkb")]
1091 XkbGetKbdByName(xkb::GetKbdByNameRequest),
1092 #[cfg(feature = "xkb")]
1093 XkbGetDeviceInfo(xkb::GetDeviceInfoRequest),
1094 #[cfg(feature = "xkb")]
1095 XkbSetDeviceInfo(xkb::SetDeviceInfoRequest<'input>),
1096 #[cfg(feature = "xkb")]
1097 XkbSetDebuggingFlags(xkb::SetDebuggingFlagsRequest<'input>),
1098 #[cfg(feature = "xprint")]
1099 XprintPrintQueryVersion(xprint::PrintQueryVersionRequest),
1100 #[cfg(feature = "xprint")]
1101 XprintPrintGetPrinterList(xprint::PrintGetPrinterListRequest<'input>),
1102 #[cfg(feature = "xprint")]
1103 XprintPrintRehashPrinterList(xprint::PrintRehashPrinterListRequest),
1104 #[cfg(feature = "xprint")]
1105 XprintCreateContext(xprint::CreateContextRequest<'input>),
1106 #[cfg(feature = "xprint")]
1107 XprintPrintSetContext(xprint::PrintSetContextRequest),
1108 #[cfg(feature = "xprint")]
1109 XprintPrintGetContext(xprint::PrintGetContextRequest),
1110 #[cfg(feature = "xprint")]
1111 XprintPrintDestroyContext(xprint::PrintDestroyContextRequest),
1112 #[cfg(feature = "xprint")]
1113 XprintPrintGetScreenOfContext(xprint::PrintGetScreenOfContextRequest),
1114 #[cfg(feature = "xprint")]
1115 XprintPrintStartJob(xprint::PrintStartJobRequest),
1116 #[cfg(feature = "xprint")]
1117 XprintPrintEndJob(xprint::PrintEndJobRequest),
1118 #[cfg(feature = "xprint")]
1119 XprintPrintStartDoc(xprint::PrintStartDocRequest),
1120 #[cfg(feature = "xprint")]
1121 XprintPrintEndDoc(xprint::PrintEndDocRequest),
1122 #[cfg(feature = "xprint")]
1123 XprintPrintPutDocumentData(xprint::PrintPutDocumentDataRequest<'input>),
1124 #[cfg(feature = "xprint")]
1125 XprintPrintGetDocumentData(xprint::PrintGetDocumentDataRequest),
1126 #[cfg(feature = "xprint")]
1127 XprintPrintStartPage(xprint::PrintStartPageRequest),
1128 #[cfg(feature = "xprint")]
1129 XprintPrintEndPage(xprint::PrintEndPageRequest),
1130 #[cfg(feature = "xprint")]
1131 XprintPrintSelectInput(xprint::PrintSelectInputRequest),
1132 #[cfg(feature = "xprint")]
1133 XprintPrintInputSelected(xprint::PrintInputSelectedRequest),
1134 #[cfg(feature = "xprint")]
1135 XprintPrintGetAttributes(xprint::PrintGetAttributesRequest),
1136 #[cfg(feature = "xprint")]
1137 XprintPrintGetOneAttributes(xprint::PrintGetOneAttributesRequest<'input>),
1138 #[cfg(feature = "xprint")]
1139 XprintPrintSetAttributes(xprint::PrintSetAttributesRequest<'input>),
1140 #[cfg(feature = "xprint")]
1141 XprintPrintGetPageDimensions(xprint::PrintGetPageDimensionsRequest),
1142 #[cfg(feature = "xprint")]
1143 XprintPrintQueryScreens(xprint::PrintQueryScreensRequest),
1144 #[cfg(feature = "xprint")]
1145 XprintPrintSetImageResolution(xprint::PrintSetImageResolutionRequest),
1146 #[cfg(feature = "xprint")]
1147 XprintPrintGetImageResolution(xprint::PrintGetImageResolutionRequest),
1148 #[cfg(feature = "xselinux")]
1149 XselinuxQueryVersion(xselinux::QueryVersionRequest),
1150 #[cfg(feature = "xselinux")]
1151 XselinuxSetDeviceCreateContext(xselinux::SetDeviceCreateContextRequest<'input>),
1152 #[cfg(feature = "xselinux")]
1153 XselinuxGetDeviceCreateContext(xselinux::GetDeviceCreateContextRequest),
1154 #[cfg(feature = "xselinux")]
1155 XselinuxSetDeviceContext(xselinux::SetDeviceContextRequest<'input>),
1156 #[cfg(feature = "xselinux")]
1157 XselinuxGetDeviceContext(xselinux::GetDeviceContextRequest),
1158 #[cfg(feature = "xselinux")]
1159 XselinuxSetWindowCreateContext(xselinux::SetWindowCreateContextRequest<'input>),
1160 #[cfg(feature = "xselinux")]
1161 XselinuxGetWindowCreateContext(xselinux::GetWindowCreateContextRequest),
1162 #[cfg(feature = "xselinux")]
1163 XselinuxGetWindowContext(xselinux::GetWindowContextRequest),
1164 #[cfg(feature = "xselinux")]
1165 XselinuxSetPropertyCreateContext(xselinux::SetPropertyCreateContextRequest<'input>),
1166 #[cfg(feature = "xselinux")]
1167 XselinuxGetPropertyCreateContext(xselinux::GetPropertyCreateContextRequest),
1168 #[cfg(feature = "xselinux")]
1169 XselinuxSetPropertyUseContext(xselinux::SetPropertyUseContextRequest<'input>),
1170 #[cfg(feature = "xselinux")]
1171 XselinuxGetPropertyUseContext(xselinux::GetPropertyUseContextRequest),
1172 #[cfg(feature = "xselinux")]
1173 XselinuxGetPropertyContext(xselinux::GetPropertyContextRequest),
1174 #[cfg(feature = "xselinux")]
1175 XselinuxGetPropertyDataContext(xselinux::GetPropertyDataContextRequest),
1176 #[cfg(feature = "xselinux")]
1177 XselinuxListProperties(xselinux::ListPropertiesRequest),
1178 #[cfg(feature = "xselinux")]
1179 XselinuxSetSelectionCreateContext(xselinux::SetSelectionCreateContextRequest<'input>),
1180 #[cfg(feature = "xselinux")]
1181 XselinuxGetSelectionCreateContext(xselinux::GetSelectionCreateContextRequest),
1182 #[cfg(feature = "xselinux")]
1183 XselinuxSetSelectionUseContext(xselinux::SetSelectionUseContextRequest<'input>),
1184 #[cfg(feature = "xselinux")]
1185 XselinuxGetSelectionUseContext(xselinux::GetSelectionUseContextRequest),
1186 #[cfg(feature = "xselinux")]
1187 XselinuxGetSelectionContext(xselinux::GetSelectionContextRequest),
1188 #[cfg(feature = "xselinux")]
1189 XselinuxGetSelectionDataContext(xselinux::GetSelectionDataContextRequest),
1190 #[cfg(feature = "xselinux")]
1191 XselinuxListSelections(xselinux::ListSelectionsRequest),
1192 #[cfg(feature = "xselinux")]
1193 XselinuxGetClientContext(xselinux::GetClientContextRequest),
1194 #[cfg(feature = "xtest")]
1195 XtestGetVersion(xtest::GetVersionRequest),
1196 #[cfg(feature = "xtest")]
1197 XtestCompareCursor(xtest::CompareCursorRequest),
1198 #[cfg(feature = "xtest")]
1199 XtestFakeInput(xtest::FakeInputRequest),
1200 #[cfg(feature = "xtest")]
1201 XtestGrabControl(xtest::GrabControlRequest),
1202 #[cfg(feature = "xv")]
1203 XvQueryExtension(xv::QueryExtensionRequest),
1204 #[cfg(feature = "xv")]
1205 XvQueryAdaptors(xv::QueryAdaptorsRequest),
1206 #[cfg(feature = "xv")]
1207 XvQueryEncodings(xv::QueryEncodingsRequest),
1208 #[cfg(feature = "xv")]
1209 XvGrabPort(xv::GrabPortRequest),
1210 #[cfg(feature = "xv")]
1211 XvUngrabPort(xv::UngrabPortRequest),
1212 #[cfg(feature = "xv")]
1213 XvPutVideo(xv::PutVideoRequest),
1214 #[cfg(feature = "xv")]
1215 XvPutStill(xv::PutStillRequest),
1216 #[cfg(feature = "xv")]
1217 XvGetVideo(xv::GetVideoRequest),
1218 #[cfg(feature = "xv")]
1219 XvGetStill(xv::GetStillRequest),
1220 #[cfg(feature = "xv")]
1221 XvStopVideo(xv::StopVideoRequest),
1222 #[cfg(feature = "xv")]
1223 XvSelectVideoNotify(xv::SelectVideoNotifyRequest),
1224 #[cfg(feature = "xv")]
1225 XvSelectPortNotify(xv::SelectPortNotifyRequest),
1226 #[cfg(feature = "xv")]
1227 XvQueryBestSize(xv::QueryBestSizeRequest),
1228 #[cfg(feature = "xv")]
1229 XvSetPortAttribute(xv::SetPortAttributeRequest),
1230 #[cfg(feature = "xv")]
1231 XvGetPortAttribute(xv::GetPortAttributeRequest),
1232 #[cfg(feature = "xv")]
1233 XvQueryPortAttributes(xv::QueryPortAttributesRequest),
1234 #[cfg(feature = "xv")]
1235 XvListImageFormats(xv::ListImageFormatsRequest),
1236 #[cfg(feature = "xv")]
1237 XvQueryImageAttributes(xv::QueryImageAttributesRequest),
1238 #[cfg(feature = "xv")]
1239 XvPutImage(xv::PutImageRequest<'input>),
1240 #[cfg(feature = "xv")]
1241 XvShmPutImage(xv::ShmPutImageRequest),
1242 #[cfg(feature = "xvmc")]
1243 XvmcQueryVersion(xvmc::QueryVersionRequest),
1244 #[cfg(feature = "xvmc")]
1245 XvmcListSurfaceTypes(xvmc::ListSurfaceTypesRequest),
1246 #[cfg(feature = "xvmc")]
1247 XvmcCreateContext(xvmc::CreateContextRequest),
1248 #[cfg(feature = "xvmc")]
1249 XvmcDestroyContext(xvmc::DestroyContextRequest),
1250 #[cfg(feature = "xvmc")]
1251 XvmcCreateSurface(xvmc::CreateSurfaceRequest),
1252 #[cfg(feature = "xvmc")]
1253 XvmcDestroySurface(xvmc::DestroySurfaceRequest),
1254 #[cfg(feature = "xvmc")]
1255 XvmcCreateSubpicture(xvmc::CreateSubpictureRequest),
1256 #[cfg(feature = "xvmc")]
1257 XvmcDestroySubpicture(xvmc::DestroySubpictureRequest),
1258 #[cfg(feature = "xvmc")]
1259 XvmcListSubpictureTypes(xvmc::ListSubpictureTypesRequest),
1260 }
1261
1262 impl<'input> Request<'input> {
1263 // Parse a X11 request into a concrete type
1264 #[allow(clippy::cognitive_complexity, clippy::single_match)]
parse( header: RequestHeader, body: &'input [u8], #[allow(unused_variables)] fds: &mut Vec<RawFdContainer>, ext_info_provider: &dyn ExtInfoProvider, ) -> Result<Self, ParseError>1265 pub fn parse(
1266 header: RequestHeader,
1267 body: &'input [u8],
1268 // Might not be used if none of the extensions that use FD passing is enabled
1269 #[allow(unused_variables)]
1270 fds: &mut Vec<RawFdContainer>,
1271 ext_info_provider: &dyn ExtInfoProvider,
1272 ) -> Result<Self, ParseError> {
1273 let remaining = body;
1274 // Check if this is a core protocol request.
1275 match header.major_opcode {
1276 xproto::CREATE_WINDOW_REQUEST => return Ok(Request::CreateWindow(xproto::CreateWindowRequest::try_parse_request(header, remaining)?)),
1277 xproto::CHANGE_WINDOW_ATTRIBUTES_REQUEST => return Ok(Request::ChangeWindowAttributes(xproto::ChangeWindowAttributesRequest::try_parse_request(header, remaining)?)),
1278 xproto::GET_WINDOW_ATTRIBUTES_REQUEST => return Ok(Request::GetWindowAttributes(xproto::GetWindowAttributesRequest::try_parse_request(header, remaining)?)),
1279 xproto::DESTROY_WINDOW_REQUEST => return Ok(Request::DestroyWindow(xproto::DestroyWindowRequest::try_parse_request(header, remaining)?)),
1280 xproto::DESTROY_SUBWINDOWS_REQUEST => return Ok(Request::DestroySubwindows(xproto::DestroySubwindowsRequest::try_parse_request(header, remaining)?)),
1281 xproto::CHANGE_SAVE_SET_REQUEST => return Ok(Request::ChangeSaveSet(xproto::ChangeSaveSetRequest::try_parse_request(header, remaining)?)),
1282 xproto::REPARENT_WINDOW_REQUEST => return Ok(Request::ReparentWindow(xproto::ReparentWindowRequest::try_parse_request(header, remaining)?)),
1283 xproto::MAP_WINDOW_REQUEST => return Ok(Request::MapWindow(xproto::MapWindowRequest::try_parse_request(header, remaining)?)),
1284 xproto::MAP_SUBWINDOWS_REQUEST => return Ok(Request::MapSubwindows(xproto::MapSubwindowsRequest::try_parse_request(header, remaining)?)),
1285 xproto::UNMAP_WINDOW_REQUEST => return Ok(Request::UnmapWindow(xproto::UnmapWindowRequest::try_parse_request(header, remaining)?)),
1286 xproto::UNMAP_SUBWINDOWS_REQUEST => return Ok(Request::UnmapSubwindows(xproto::UnmapSubwindowsRequest::try_parse_request(header, remaining)?)),
1287 xproto::CONFIGURE_WINDOW_REQUEST => return Ok(Request::ConfigureWindow(xproto::ConfigureWindowRequest::try_parse_request(header, remaining)?)),
1288 xproto::CIRCULATE_WINDOW_REQUEST => return Ok(Request::CirculateWindow(xproto::CirculateWindowRequest::try_parse_request(header, remaining)?)),
1289 xproto::GET_GEOMETRY_REQUEST => return Ok(Request::GetGeometry(xproto::GetGeometryRequest::try_parse_request(header, remaining)?)),
1290 xproto::QUERY_TREE_REQUEST => return Ok(Request::QueryTree(xproto::QueryTreeRequest::try_parse_request(header, remaining)?)),
1291 xproto::INTERN_ATOM_REQUEST => return Ok(Request::InternAtom(xproto::InternAtomRequest::try_parse_request(header, remaining)?)),
1292 xproto::GET_ATOM_NAME_REQUEST => return Ok(Request::GetAtomName(xproto::GetAtomNameRequest::try_parse_request(header, remaining)?)),
1293 xproto::CHANGE_PROPERTY_REQUEST => return Ok(Request::ChangeProperty(xproto::ChangePropertyRequest::try_parse_request(header, remaining)?)),
1294 xproto::DELETE_PROPERTY_REQUEST => return Ok(Request::DeleteProperty(xproto::DeletePropertyRequest::try_parse_request(header, remaining)?)),
1295 xproto::GET_PROPERTY_REQUEST => return Ok(Request::GetProperty(xproto::GetPropertyRequest::try_parse_request(header, remaining)?)),
1296 xproto::LIST_PROPERTIES_REQUEST => return Ok(Request::ListProperties(xproto::ListPropertiesRequest::try_parse_request(header, remaining)?)),
1297 xproto::SET_SELECTION_OWNER_REQUEST => return Ok(Request::SetSelectionOwner(xproto::SetSelectionOwnerRequest::try_parse_request(header, remaining)?)),
1298 xproto::GET_SELECTION_OWNER_REQUEST => return Ok(Request::GetSelectionOwner(xproto::GetSelectionOwnerRequest::try_parse_request(header, remaining)?)),
1299 xproto::CONVERT_SELECTION_REQUEST => return Ok(Request::ConvertSelection(xproto::ConvertSelectionRequest::try_parse_request(header, remaining)?)),
1300 xproto::SEND_EVENT_REQUEST => return Ok(Request::SendEvent(xproto::SendEventRequest::try_parse_request(header, remaining)?)),
1301 xproto::GRAB_POINTER_REQUEST => return Ok(Request::GrabPointer(xproto::GrabPointerRequest::try_parse_request(header, remaining)?)),
1302 xproto::UNGRAB_POINTER_REQUEST => return Ok(Request::UngrabPointer(xproto::UngrabPointerRequest::try_parse_request(header, remaining)?)),
1303 xproto::GRAB_BUTTON_REQUEST => return Ok(Request::GrabButton(xproto::GrabButtonRequest::try_parse_request(header, remaining)?)),
1304 xproto::UNGRAB_BUTTON_REQUEST => return Ok(Request::UngrabButton(xproto::UngrabButtonRequest::try_parse_request(header, remaining)?)),
1305 xproto::CHANGE_ACTIVE_POINTER_GRAB_REQUEST => return Ok(Request::ChangeActivePointerGrab(xproto::ChangeActivePointerGrabRequest::try_parse_request(header, remaining)?)),
1306 xproto::GRAB_KEYBOARD_REQUEST => return Ok(Request::GrabKeyboard(xproto::GrabKeyboardRequest::try_parse_request(header, remaining)?)),
1307 xproto::UNGRAB_KEYBOARD_REQUEST => return Ok(Request::UngrabKeyboard(xproto::UngrabKeyboardRequest::try_parse_request(header, remaining)?)),
1308 xproto::GRAB_KEY_REQUEST => return Ok(Request::GrabKey(xproto::GrabKeyRequest::try_parse_request(header, remaining)?)),
1309 xproto::UNGRAB_KEY_REQUEST => return Ok(Request::UngrabKey(xproto::UngrabKeyRequest::try_parse_request(header, remaining)?)),
1310 xproto::ALLOW_EVENTS_REQUEST => return Ok(Request::AllowEvents(xproto::AllowEventsRequest::try_parse_request(header, remaining)?)),
1311 xproto::GRAB_SERVER_REQUEST => return Ok(Request::GrabServer(xproto::GrabServerRequest::try_parse_request(header, remaining)?)),
1312 xproto::UNGRAB_SERVER_REQUEST => return Ok(Request::UngrabServer(xproto::UngrabServerRequest::try_parse_request(header, remaining)?)),
1313 xproto::QUERY_POINTER_REQUEST => return Ok(Request::QueryPointer(xproto::QueryPointerRequest::try_parse_request(header, remaining)?)),
1314 xproto::GET_MOTION_EVENTS_REQUEST => return Ok(Request::GetMotionEvents(xproto::GetMotionEventsRequest::try_parse_request(header, remaining)?)),
1315 xproto::TRANSLATE_COORDINATES_REQUEST => return Ok(Request::TranslateCoordinates(xproto::TranslateCoordinatesRequest::try_parse_request(header, remaining)?)),
1316 xproto::WARP_POINTER_REQUEST => return Ok(Request::WarpPointer(xproto::WarpPointerRequest::try_parse_request(header, remaining)?)),
1317 xproto::SET_INPUT_FOCUS_REQUEST => return Ok(Request::SetInputFocus(xproto::SetInputFocusRequest::try_parse_request(header, remaining)?)),
1318 xproto::GET_INPUT_FOCUS_REQUEST => return Ok(Request::GetInputFocus(xproto::GetInputFocusRequest::try_parse_request(header, remaining)?)),
1319 xproto::QUERY_KEYMAP_REQUEST => return Ok(Request::QueryKeymap(xproto::QueryKeymapRequest::try_parse_request(header, remaining)?)),
1320 xproto::OPEN_FONT_REQUEST => return Ok(Request::OpenFont(xproto::OpenFontRequest::try_parse_request(header, remaining)?)),
1321 xproto::CLOSE_FONT_REQUEST => return Ok(Request::CloseFont(xproto::CloseFontRequest::try_parse_request(header, remaining)?)),
1322 xproto::QUERY_FONT_REQUEST => return Ok(Request::QueryFont(xproto::QueryFontRequest::try_parse_request(header, remaining)?)),
1323 xproto::QUERY_TEXT_EXTENTS_REQUEST => return Ok(Request::QueryTextExtents(xproto::QueryTextExtentsRequest::try_parse_request(header, remaining)?)),
1324 xproto::LIST_FONTS_REQUEST => return Ok(Request::ListFonts(xproto::ListFontsRequest::try_parse_request(header, remaining)?)),
1325 xproto::LIST_FONTS_WITH_INFO_REQUEST => return Ok(Request::ListFontsWithInfo(xproto::ListFontsWithInfoRequest::try_parse_request(header, remaining)?)),
1326 xproto::SET_FONT_PATH_REQUEST => return Ok(Request::SetFontPath(xproto::SetFontPathRequest::try_parse_request(header, remaining)?)),
1327 xproto::GET_FONT_PATH_REQUEST => return Ok(Request::GetFontPath(xproto::GetFontPathRequest::try_parse_request(header, remaining)?)),
1328 xproto::CREATE_PIXMAP_REQUEST => return Ok(Request::CreatePixmap(xproto::CreatePixmapRequest::try_parse_request(header, remaining)?)),
1329 xproto::FREE_PIXMAP_REQUEST => return Ok(Request::FreePixmap(xproto::FreePixmapRequest::try_parse_request(header, remaining)?)),
1330 xproto::CREATE_GC_REQUEST => return Ok(Request::CreateGC(xproto::CreateGCRequest::try_parse_request(header, remaining)?)),
1331 xproto::CHANGE_GC_REQUEST => return Ok(Request::ChangeGC(xproto::ChangeGCRequest::try_parse_request(header, remaining)?)),
1332 xproto::COPY_GC_REQUEST => return Ok(Request::CopyGC(xproto::CopyGCRequest::try_parse_request(header, remaining)?)),
1333 xproto::SET_DASHES_REQUEST => return Ok(Request::SetDashes(xproto::SetDashesRequest::try_parse_request(header, remaining)?)),
1334 xproto::SET_CLIP_RECTANGLES_REQUEST => return Ok(Request::SetClipRectangles(xproto::SetClipRectanglesRequest::try_parse_request(header, remaining)?)),
1335 xproto::FREE_GC_REQUEST => return Ok(Request::FreeGC(xproto::FreeGCRequest::try_parse_request(header, remaining)?)),
1336 xproto::CLEAR_AREA_REQUEST => return Ok(Request::ClearArea(xproto::ClearAreaRequest::try_parse_request(header, remaining)?)),
1337 xproto::COPY_AREA_REQUEST => return Ok(Request::CopyArea(xproto::CopyAreaRequest::try_parse_request(header, remaining)?)),
1338 xproto::COPY_PLANE_REQUEST => return Ok(Request::CopyPlane(xproto::CopyPlaneRequest::try_parse_request(header, remaining)?)),
1339 xproto::POLY_POINT_REQUEST => return Ok(Request::PolyPoint(xproto::PolyPointRequest::try_parse_request(header, remaining)?)),
1340 xproto::POLY_LINE_REQUEST => return Ok(Request::PolyLine(xproto::PolyLineRequest::try_parse_request(header, remaining)?)),
1341 xproto::POLY_SEGMENT_REQUEST => return Ok(Request::PolySegment(xproto::PolySegmentRequest::try_parse_request(header, remaining)?)),
1342 xproto::POLY_RECTANGLE_REQUEST => return Ok(Request::PolyRectangle(xproto::PolyRectangleRequest::try_parse_request(header, remaining)?)),
1343 xproto::POLY_ARC_REQUEST => return Ok(Request::PolyArc(xproto::PolyArcRequest::try_parse_request(header, remaining)?)),
1344 xproto::FILL_POLY_REQUEST => return Ok(Request::FillPoly(xproto::FillPolyRequest::try_parse_request(header, remaining)?)),
1345 xproto::POLY_FILL_RECTANGLE_REQUEST => return Ok(Request::PolyFillRectangle(xproto::PolyFillRectangleRequest::try_parse_request(header, remaining)?)),
1346 xproto::POLY_FILL_ARC_REQUEST => return Ok(Request::PolyFillArc(xproto::PolyFillArcRequest::try_parse_request(header, remaining)?)),
1347 xproto::PUT_IMAGE_REQUEST => return Ok(Request::PutImage(xproto::PutImageRequest::try_parse_request(header, remaining)?)),
1348 xproto::GET_IMAGE_REQUEST => return Ok(Request::GetImage(xproto::GetImageRequest::try_parse_request(header, remaining)?)),
1349 xproto::POLY_TEXT8_REQUEST => return Ok(Request::PolyText8(xproto::PolyText8Request::try_parse_request(header, remaining)?)),
1350 xproto::POLY_TEXT16_REQUEST => return Ok(Request::PolyText16(xproto::PolyText16Request::try_parse_request(header, remaining)?)),
1351 xproto::IMAGE_TEXT8_REQUEST => return Ok(Request::ImageText8(xproto::ImageText8Request::try_parse_request(header, remaining)?)),
1352 xproto::IMAGE_TEXT16_REQUEST => return Ok(Request::ImageText16(xproto::ImageText16Request::try_parse_request(header, remaining)?)),
1353 xproto::CREATE_COLORMAP_REQUEST => return Ok(Request::CreateColormap(xproto::CreateColormapRequest::try_parse_request(header, remaining)?)),
1354 xproto::FREE_COLORMAP_REQUEST => return Ok(Request::FreeColormap(xproto::FreeColormapRequest::try_parse_request(header, remaining)?)),
1355 xproto::COPY_COLORMAP_AND_FREE_REQUEST => return Ok(Request::CopyColormapAndFree(xproto::CopyColormapAndFreeRequest::try_parse_request(header, remaining)?)),
1356 xproto::INSTALL_COLORMAP_REQUEST => return Ok(Request::InstallColormap(xproto::InstallColormapRequest::try_parse_request(header, remaining)?)),
1357 xproto::UNINSTALL_COLORMAP_REQUEST => return Ok(Request::UninstallColormap(xproto::UninstallColormapRequest::try_parse_request(header, remaining)?)),
1358 xproto::LIST_INSTALLED_COLORMAPS_REQUEST => return Ok(Request::ListInstalledColormaps(xproto::ListInstalledColormapsRequest::try_parse_request(header, remaining)?)),
1359 xproto::ALLOC_COLOR_REQUEST => return Ok(Request::AllocColor(xproto::AllocColorRequest::try_parse_request(header, remaining)?)),
1360 xproto::ALLOC_NAMED_COLOR_REQUEST => return Ok(Request::AllocNamedColor(xproto::AllocNamedColorRequest::try_parse_request(header, remaining)?)),
1361 xproto::ALLOC_COLOR_CELLS_REQUEST => return Ok(Request::AllocColorCells(xproto::AllocColorCellsRequest::try_parse_request(header, remaining)?)),
1362 xproto::ALLOC_COLOR_PLANES_REQUEST => return Ok(Request::AllocColorPlanes(xproto::AllocColorPlanesRequest::try_parse_request(header, remaining)?)),
1363 xproto::FREE_COLORS_REQUEST => return Ok(Request::FreeColors(xproto::FreeColorsRequest::try_parse_request(header, remaining)?)),
1364 xproto::STORE_COLORS_REQUEST => return Ok(Request::StoreColors(xproto::StoreColorsRequest::try_parse_request(header, remaining)?)),
1365 xproto::STORE_NAMED_COLOR_REQUEST => return Ok(Request::StoreNamedColor(xproto::StoreNamedColorRequest::try_parse_request(header, remaining)?)),
1366 xproto::QUERY_COLORS_REQUEST => return Ok(Request::QueryColors(xproto::QueryColorsRequest::try_parse_request(header, remaining)?)),
1367 xproto::LOOKUP_COLOR_REQUEST => return Ok(Request::LookupColor(xproto::LookupColorRequest::try_parse_request(header, remaining)?)),
1368 xproto::CREATE_CURSOR_REQUEST => return Ok(Request::CreateCursor(xproto::CreateCursorRequest::try_parse_request(header, remaining)?)),
1369 xproto::CREATE_GLYPH_CURSOR_REQUEST => return Ok(Request::CreateGlyphCursor(xproto::CreateGlyphCursorRequest::try_parse_request(header, remaining)?)),
1370 xproto::FREE_CURSOR_REQUEST => return Ok(Request::FreeCursor(xproto::FreeCursorRequest::try_parse_request(header, remaining)?)),
1371 xproto::RECOLOR_CURSOR_REQUEST => return Ok(Request::RecolorCursor(xproto::RecolorCursorRequest::try_parse_request(header, remaining)?)),
1372 xproto::QUERY_BEST_SIZE_REQUEST => return Ok(Request::QueryBestSize(xproto::QueryBestSizeRequest::try_parse_request(header, remaining)?)),
1373 xproto::QUERY_EXTENSION_REQUEST => return Ok(Request::QueryExtension(xproto::QueryExtensionRequest::try_parse_request(header, remaining)?)),
1374 xproto::LIST_EXTENSIONS_REQUEST => return Ok(Request::ListExtensions(xproto::ListExtensionsRequest::try_parse_request(header, remaining)?)),
1375 xproto::CHANGE_KEYBOARD_MAPPING_REQUEST => return Ok(Request::ChangeKeyboardMapping(xproto::ChangeKeyboardMappingRequest::try_parse_request(header, remaining)?)),
1376 xproto::GET_KEYBOARD_MAPPING_REQUEST => return Ok(Request::GetKeyboardMapping(xproto::GetKeyboardMappingRequest::try_parse_request(header, remaining)?)),
1377 xproto::CHANGE_KEYBOARD_CONTROL_REQUEST => return Ok(Request::ChangeKeyboardControl(xproto::ChangeKeyboardControlRequest::try_parse_request(header, remaining)?)),
1378 xproto::GET_KEYBOARD_CONTROL_REQUEST => return Ok(Request::GetKeyboardControl(xproto::GetKeyboardControlRequest::try_parse_request(header, remaining)?)),
1379 xproto::BELL_REQUEST => return Ok(Request::Bell(xproto::BellRequest::try_parse_request(header, remaining)?)),
1380 xproto::CHANGE_POINTER_CONTROL_REQUEST => return Ok(Request::ChangePointerControl(xproto::ChangePointerControlRequest::try_parse_request(header, remaining)?)),
1381 xproto::GET_POINTER_CONTROL_REQUEST => return Ok(Request::GetPointerControl(xproto::GetPointerControlRequest::try_parse_request(header, remaining)?)),
1382 xproto::SET_SCREEN_SAVER_REQUEST => return Ok(Request::SetScreenSaver(xproto::SetScreenSaverRequest::try_parse_request(header, remaining)?)),
1383 xproto::GET_SCREEN_SAVER_REQUEST => return Ok(Request::GetScreenSaver(xproto::GetScreenSaverRequest::try_parse_request(header, remaining)?)),
1384 xproto::CHANGE_HOSTS_REQUEST => return Ok(Request::ChangeHosts(xproto::ChangeHostsRequest::try_parse_request(header, remaining)?)),
1385 xproto::LIST_HOSTS_REQUEST => return Ok(Request::ListHosts(xproto::ListHostsRequest::try_parse_request(header, remaining)?)),
1386 xproto::SET_ACCESS_CONTROL_REQUEST => return Ok(Request::SetAccessControl(xproto::SetAccessControlRequest::try_parse_request(header, remaining)?)),
1387 xproto::SET_CLOSE_DOWN_MODE_REQUEST => return Ok(Request::SetCloseDownMode(xproto::SetCloseDownModeRequest::try_parse_request(header, remaining)?)),
1388 xproto::KILL_CLIENT_REQUEST => return Ok(Request::KillClient(xproto::KillClientRequest::try_parse_request(header, remaining)?)),
1389 xproto::ROTATE_PROPERTIES_REQUEST => return Ok(Request::RotateProperties(xproto::RotatePropertiesRequest::try_parse_request(header, remaining)?)),
1390 xproto::FORCE_SCREEN_SAVER_REQUEST => return Ok(Request::ForceScreenSaver(xproto::ForceScreenSaverRequest::try_parse_request(header, remaining)?)),
1391 xproto::SET_POINTER_MAPPING_REQUEST => return Ok(Request::SetPointerMapping(xproto::SetPointerMappingRequest::try_parse_request(header, remaining)?)),
1392 xproto::GET_POINTER_MAPPING_REQUEST => return Ok(Request::GetPointerMapping(xproto::GetPointerMappingRequest::try_parse_request(header, remaining)?)),
1393 xproto::SET_MODIFIER_MAPPING_REQUEST => return Ok(Request::SetModifierMapping(xproto::SetModifierMappingRequest::try_parse_request(header, remaining)?)),
1394 xproto::GET_MODIFIER_MAPPING_REQUEST => return Ok(Request::GetModifierMapping(xproto::GetModifierMappingRequest::try_parse_request(header, remaining)?)),
1395 xproto::NO_OPERATION_REQUEST => return Ok(Request::NoOperation(xproto::NoOperationRequest::try_parse_request(header, remaining)?)),
1396 _ => (),
1397 }
1398 // Find the extension that this request could belong to
1399 let ext_info = ext_info_provider.get_from_major_opcode(header.major_opcode);
1400 match ext_info {
1401 Some((bigreq::X11_EXTENSION_NAME, _)) => {
1402 match header.minor_opcode {
1403 bigreq::ENABLE_REQUEST => return Ok(Request::BigreqEnable(bigreq::EnableRequest::try_parse_request(header, remaining)?)),
1404 _ => (),
1405 }
1406 }
1407 #[cfg(feature = "composite")]
1408 Some((composite::X11_EXTENSION_NAME, _)) => {
1409 match header.minor_opcode {
1410 composite::QUERY_VERSION_REQUEST => return Ok(Request::CompositeQueryVersion(composite::QueryVersionRequest::try_parse_request(header, remaining)?)),
1411 composite::REDIRECT_WINDOW_REQUEST => return Ok(Request::CompositeRedirectWindow(composite::RedirectWindowRequest::try_parse_request(header, remaining)?)),
1412 composite::REDIRECT_SUBWINDOWS_REQUEST => return Ok(Request::CompositeRedirectSubwindows(composite::RedirectSubwindowsRequest::try_parse_request(header, remaining)?)),
1413 composite::UNREDIRECT_WINDOW_REQUEST => return Ok(Request::CompositeUnredirectWindow(composite::UnredirectWindowRequest::try_parse_request(header, remaining)?)),
1414 composite::UNREDIRECT_SUBWINDOWS_REQUEST => return Ok(Request::CompositeUnredirectSubwindows(composite::UnredirectSubwindowsRequest::try_parse_request(header, remaining)?)),
1415 composite::CREATE_REGION_FROM_BORDER_CLIP_REQUEST => return Ok(Request::CompositeCreateRegionFromBorderClip(composite::CreateRegionFromBorderClipRequest::try_parse_request(header, remaining)?)),
1416 composite::NAME_WINDOW_PIXMAP_REQUEST => return Ok(Request::CompositeNameWindowPixmap(composite::NameWindowPixmapRequest::try_parse_request(header, remaining)?)),
1417 composite::GET_OVERLAY_WINDOW_REQUEST => return Ok(Request::CompositeGetOverlayWindow(composite::GetOverlayWindowRequest::try_parse_request(header, remaining)?)),
1418 composite::RELEASE_OVERLAY_WINDOW_REQUEST => return Ok(Request::CompositeReleaseOverlayWindow(composite::ReleaseOverlayWindowRequest::try_parse_request(header, remaining)?)),
1419 _ => (),
1420 }
1421 }
1422 #[cfg(feature = "damage")]
1423 Some((damage::X11_EXTENSION_NAME, _)) => {
1424 match header.minor_opcode {
1425 damage::QUERY_VERSION_REQUEST => return Ok(Request::DamageQueryVersion(damage::QueryVersionRequest::try_parse_request(header, remaining)?)),
1426 damage::CREATE_REQUEST => return Ok(Request::DamageCreate(damage::CreateRequest::try_parse_request(header, remaining)?)),
1427 damage::DESTROY_REQUEST => return Ok(Request::DamageDestroy(damage::DestroyRequest::try_parse_request(header, remaining)?)),
1428 damage::SUBTRACT_REQUEST => return Ok(Request::DamageSubtract(damage::SubtractRequest::try_parse_request(header, remaining)?)),
1429 damage::ADD_REQUEST => return Ok(Request::DamageAdd(damage::AddRequest::try_parse_request(header, remaining)?)),
1430 _ => (),
1431 }
1432 }
1433 #[cfg(feature = "dpms")]
1434 Some((dpms::X11_EXTENSION_NAME, _)) => {
1435 match header.minor_opcode {
1436 dpms::GET_VERSION_REQUEST => return Ok(Request::DpmsGetVersion(dpms::GetVersionRequest::try_parse_request(header, remaining)?)),
1437 dpms::CAPABLE_REQUEST => return Ok(Request::DpmsCapable(dpms::CapableRequest::try_parse_request(header, remaining)?)),
1438 dpms::GET_TIMEOUTS_REQUEST => return Ok(Request::DpmsGetTimeouts(dpms::GetTimeoutsRequest::try_parse_request(header, remaining)?)),
1439 dpms::SET_TIMEOUTS_REQUEST => return Ok(Request::DpmsSetTimeouts(dpms::SetTimeoutsRequest::try_parse_request(header, remaining)?)),
1440 dpms::ENABLE_REQUEST => return Ok(Request::DpmsEnable(dpms::EnableRequest::try_parse_request(header, remaining)?)),
1441 dpms::DISABLE_REQUEST => return Ok(Request::DpmsDisable(dpms::DisableRequest::try_parse_request(header, remaining)?)),
1442 dpms::FORCE_LEVEL_REQUEST => return Ok(Request::DpmsForceLevel(dpms::ForceLevelRequest::try_parse_request(header, remaining)?)),
1443 dpms::INFO_REQUEST => return Ok(Request::DpmsInfo(dpms::InfoRequest::try_parse_request(header, remaining)?)),
1444 _ => (),
1445 }
1446 }
1447 #[cfg(feature = "dri2")]
1448 Some((dri2::X11_EXTENSION_NAME, _)) => {
1449 match header.minor_opcode {
1450 dri2::QUERY_VERSION_REQUEST => return Ok(Request::Dri2QueryVersion(dri2::QueryVersionRequest::try_parse_request(header, remaining)?)),
1451 dri2::CONNECT_REQUEST => return Ok(Request::Dri2Connect(dri2::ConnectRequest::try_parse_request(header, remaining)?)),
1452 dri2::AUTHENTICATE_REQUEST => return Ok(Request::Dri2Authenticate(dri2::AuthenticateRequest::try_parse_request(header, remaining)?)),
1453 dri2::CREATE_DRAWABLE_REQUEST => return Ok(Request::Dri2CreateDrawable(dri2::CreateDrawableRequest::try_parse_request(header, remaining)?)),
1454 dri2::DESTROY_DRAWABLE_REQUEST => return Ok(Request::Dri2DestroyDrawable(dri2::DestroyDrawableRequest::try_parse_request(header, remaining)?)),
1455 dri2::GET_BUFFERS_REQUEST => return Ok(Request::Dri2GetBuffers(dri2::GetBuffersRequest::try_parse_request(header, remaining)?)),
1456 dri2::COPY_REGION_REQUEST => return Ok(Request::Dri2CopyRegion(dri2::CopyRegionRequest::try_parse_request(header, remaining)?)),
1457 dri2::GET_BUFFERS_WITH_FORMAT_REQUEST => return Ok(Request::Dri2GetBuffersWithFormat(dri2::GetBuffersWithFormatRequest::try_parse_request(header, remaining)?)),
1458 dri2::SWAP_BUFFERS_REQUEST => return Ok(Request::Dri2SwapBuffers(dri2::SwapBuffersRequest::try_parse_request(header, remaining)?)),
1459 dri2::GET_MSC_REQUEST => return Ok(Request::Dri2GetMSC(dri2::GetMSCRequest::try_parse_request(header, remaining)?)),
1460 dri2::WAIT_MSC_REQUEST => return Ok(Request::Dri2WaitMSC(dri2::WaitMSCRequest::try_parse_request(header, remaining)?)),
1461 dri2::WAIT_SBC_REQUEST => return Ok(Request::Dri2WaitSBC(dri2::WaitSBCRequest::try_parse_request(header, remaining)?)),
1462 dri2::SWAP_INTERVAL_REQUEST => return Ok(Request::Dri2SwapInterval(dri2::SwapIntervalRequest::try_parse_request(header, remaining)?)),
1463 dri2::GET_PARAM_REQUEST => return Ok(Request::Dri2GetParam(dri2::GetParamRequest::try_parse_request(header, remaining)?)),
1464 _ => (),
1465 }
1466 }
1467 #[cfg(feature = "dri3")]
1468 Some((dri3::X11_EXTENSION_NAME, _)) => {
1469 match header.minor_opcode {
1470 dri3::QUERY_VERSION_REQUEST => return Ok(Request::Dri3QueryVersion(dri3::QueryVersionRequest::try_parse_request(header, remaining)?)),
1471 dri3::OPEN_REQUEST => return Ok(Request::Dri3Open(dri3::OpenRequest::try_parse_request(header, remaining)?)),
1472 dri3::PIXMAP_FROM_BUFFER_REQUEST => return Ok(Request::Dri3PixmapFromBuffer(dri3::PixmapFromBufferRequest::try_parse_request_fd(header, remaining, fds)?)),
1473 dri3::BUFFER_FROM_PIXMAP_REQUEST => return Ok(Request::Dri3BufferFromPixmap(dri3::BufferFromPixmapRequest::try_parse_request(header, remaining)?)),
1474 dri3::FENCE_FROM_FD_REQUEST => return Ok(Request::Dri3FenceFromFD(dri3::FenceFromFDRequest::try_parse_request_fd(header, remaining, fds)?)),
1475 dri3::FD_FROM_FENCE_REQUEST => return Ok(Request::Dri3FDFromFence(dri3::FDFromFenceRequest::try_parse_request(header, remaining)?)),
1476 dri3::GET_SUPPORTED_MODIFIERS_REQUEST => return Ok(Request::Dri3GetSupportedModifiers(dri3::GetSupportedModifiersRequest::try_parse_request(header, remaining)?)),
1477 dri3::PIXMAP_FROM_BUFFERS_REQUEST => return Ok(Request::Dri3PixmapFromBuffers(dri3::PixmapFromBuffersRequest::try_parse_request_fd(header, remaining, fds)?)),
1478 dri3::BUFFERS_FROM_PIXMAP_REQUEST => return Ok(Request::Dri3BuffersFromPixmap(dri3::BuffersFromPixmapRequest::try_parse_request(header, remaining)?)),
1479 _ => (),
1480 }
1481 }
1482 Some((ge::X11_EXTENSION_NAME, _)) => {
1483 match header.minor_opcode {
1484 ge::QUERY_VERSION_REQUEST => return Ok(Request::GeQueryVersion(ge::QueryVersionRequest::try_parse_request(header, remaining)?)),
1485 _ => (),
1486 }
1487 }
1488 #[cfg(feature = "glx")]
1489 Some((glx::X11_EXTENSION_NAME, _)) => {
1490 match header.minor_opcode {
1491 glx::RENDER_REQUEST => return Ok(Request::GlxRender(glx::RenderRequest::try_parse_request(header, remaining)?)),
1492 glx::RENDER_LARGE_REQUEST => return Ok(Request::GlxRenderLarge(glx::RenderLargeRequest::try_parse_request(header, remaining)?)),
1493 glx::CREATE_CONTEXT_REQUEST => return Ok(Request::GlxCreateContext(glx::CreateContextRequest::try_parse_request(header, remaining)?)),
1494 glx::DESTROY_CONTEXT_REQUEST => return Ok(Request::GlxDestroyContext(glx::DestroyContextRequest::try_parse_request(header, remaining)?)),
1495 glx::MAKE_CURRENT_REQUEST => return Ok(Request::GlxMakeCurrent(glx::MakeCurrentRequest::try_parse_request(header, remaining)?)),
1496 glx::IS_DIRECT_REQUEST => return Ok(Request::GlxIsDirect(glx::IsDirectRequest::try_parse_request(header, remaining)?)),
1497 glx::QUERY_VERSION_REQUEST => return Ok(Request::GlxQueryVersion(glx::QueryVersionRequest::try_parse_request(header, remaining)?)),
1498 glx::WAIT_GL_REQUEST => return Ok(Request::GlxWaitGL(glx::WaitGLRequest::try_parse_request(header, remaining)?)),
1499 glx::WAIT_X_REQUEST => return Ok(Request::GlxWaitX(glx::WaitXRequest::try_parse_request(header, remaining)?)),
1500 glx::COPY_CONTEXT_REQUEST => return Ok(Request::GlxCopyContext(glx::CopyContextRequest::try_parse_request(header, remaining)?)),
1501 glx::SWAP_BUFFERS_REQUEST => return Ok(Request::GlxSwapBuffers(glx::SwapBuffersRequest::try_parse_request(header, remaining)?)),
1502 glx::USE_X_FONT_REQUEST => return Ok(Request::GlxUseXFont(glx::UseXFontRequest::try_parse_request(header, remaining)?)),
1503 glx::CREATE_GLX_PIXMAP_REQUEST => return Ok(Request::GlxCreateGLXPixmap(glx::CreateGLXPixmapRequest::try_parse_request(header, remaining)?)),
1504 glx::GET_VISUAL_CONFIGS_REQUEST => return Ok(Request::GlxGetVisualConfigs(glx::GetVisualConfigsRequest::try_parse_request(header, remaining)?)),
1505 glx::DESTROY_GLX_PIXMAP_REQUEST => return Ok(Request::GlxDestroyGLXPixmap(glx::DestroyGLXPixmapRequest::try_parse_request(header, remaining)?)),
1506 glx::VENDOR_PRIVATE_REQUEST => return Ok(Request::GlxVendorPrivate(glx::VendorPrivateRequest::try_parse_request(header, remaining)?)),
1507 glx::VENDOR_PRIVATE_WITH_REPLY_REQUEST => return Ok(Request::GlxVendorPrivateWithReply(glx::VendorPrivateWithReplyRequest::try_parse_request(header, remaining)?)),
1508 glx::QUERY_EXTENSIONS_STRING_REQUEST => return Ok(Request::GlxQueryExtensionsString(glx::QueryExtensionsStringRequest::try_parse_request(header, remaining)?)),
1509 glx::QUERY_SERVER_STRING_REQUEST => return Ok(Request::GlxQueryServerString(glx::QueryServerStringRequest::try_parse_request(header, remaining)?)),
1510 glx::CLIENT_INFO_REQUEST => return Ok(Request::GlxClientInfo(glx::ClientInfoRequest::try_parse_request(header, remaining)?)),
1511 glx::GET_FB_CONFIGS_REQUEST => return Ok(Request::GlxGetFBConfigs(glx::GetFBConfigsRequest::try_parse_request(header, remaining)?)),
1512 glx::CREATE_PIXMAP_REQUEST => return Ok(Request::GlxCreatePixmap(glx::CreatePixmapRequest::try_parse_request(header, remaining)?)),
1513 glx::DESTROY_PIXMAP_REQUEST => return Ok(Request::GlxDestroyPixmap(glx::DestroyPixmapRequest::try_parse_request(header, remaining)?)),
1514 glx::CREATE_NEW_CONTEXT_REQUEST => return Ok(Request::GlxCreateNewContext(glx::CreateNewContextRequest::try_parse_request(header, remaining)?)),
1515 glx::QUERY_CONTEXT_REQUEST => return Ok(Request::GlxQueryContext(glx::QueryContextRequest::try_parse_request(header, remaining)?)),
1516 glx::MAKE_CONTEXT_CURRENT_REQUEST => return Ok(Request::GlxMakeContextCurrent(glx::MakeContextCurrentRequest::try_parse_request(header, remaining)?)),
1517 glx::CREATE_PBUFFER_REQUEST => return Ok(Request::GlxCreatePbuffer(glx::CreatePbufferRequest::try_parse_request(header, remaining)?)),
1518 glx::DESTROY_PBUFFER_REQUEST => return Ok(Request::GlxDestroyPbuffer(glx::DestroyPbufferRequest::try_parse_request(header, remaining)?)),
1519 glx::GET_DRAWABLE_ATTRIBUTES_REQUEST => return Ok(Request::GlxGetDrawableAttributes(glx::GetDrawableAttributesRequest::try_parse_request(header, remaining)?)),
1520 glx::CHANGE_DRAWABLE_ATTRIBUTES_REQUEST => return Ok(Request::GlxChangeDrawableAttributes(glx::ChangeDrawableAttributesRequest::try_parse_request(header, remaining)?)),
1521 glx::CREATE_WINDOW_REQUEST => return Ok(Request::GlxCreateWindow(glx::CreateWindowRequest::try_parse_request(header, remaining)?)),
1522 glx::DELETE_WINDOW_REQUEST => return Ok(Request::GlxDeleteWindow(glx::DeleteWindowRequest::try_parse_request(header, remaining)?)),
1523 glx::SET_CLIENT_INFO_ARB_REQUEST => return Ok(Request::GlxSetClientInfoARB(glx::SetClientInfoARBRequest::try_parse_request(header, remaining)?)),
1524 glx::CREATE_CONTEXT_ATTRIBS_ARB_REQUEST => return Ok(Request::GlxCreateContextAttribsARB(glx::CreateContextAttribsARBRequest::try_parse_request(header, remaining)?)),
1525 glx::SET_CLIENT_INFO2_ARB_REQUEST => return Ok(Request::GlxSetClientInfo2ARB(glx::SetClientInfo2ARBRequest::try_parse_request(header, remaining)?)),
1526 glx::NEW_LIST_REQUEST => return Ok(Request::GlxNewList(glx::NewListRequest::try_parse_request(header, remaining)?)),
1527 glx::END_LIST_REQUEST => return Ok(Request::GlxEndList(glx::EndListRequest::try_parse_request(header, remaining)?)),
1528 glx::DELETE_LISTS_REQUEST => return Ok(Request::GlxDeleteLists(glx::DeleteListsRequest::try_parse_request(header, remaining)?)),
1529 glx::GEN_LISTS_REQUEST => return Ok(Request::GlxGenLists(glx::GenListsRequest::try_parse_request(header, remaining)?)),
1530 glx::FEEDBACK_BUFFER_REQUEST => return Ok(Request::GlxFeedbackBuffer(glx::FeedbackBufferRequest::try_parse_request(header, remaining)?)),
1531 glx::SELECT_BUFFER_REQUEST => return Ok(Request::GlxSelectBuffer(glx::SelectBufferRequest::try_parse_request(header, remaining)?)),
1532 glx::RENDER_MODE_REQUEST => return Ok(Request::GlxRenderMode(glx::RenderModeRequest::try_parse_request(header, remaining)?)),
1533 glx::FINISH_REQUEST => return Ok(Request::GlxFinish(glx::FinishRequest::try_parse_request(header, remaining)?)),
1534 glx::PIXEL_STOREF_REQUEST => return Ok(Request::GlxPixelStoref(glx::PixelStorefRequest::try_parse_request(header, remaining)?)),
1535 glx::PIXEL_STOREI_REQUEST => return Ok(Request::GlxPixelStorei(glx::PixelStoreiRequest::try_parse_request(header, remaining)?)),
1536 glx::READ_PIXELS_REQUEST => return Ok(Request::GlxReadPixels(glx::ReadPixelsRequest::try_parse_request(header, remaining)?)),
1537 glx::GET_BOOLEANV_REQUEST => return Ok(Request::GlxGetBooleanv(glx::GetBooleanvRequest::try_parse_request(header, remaining)?)),
1538 glx::GET_CLIP_PLANE_REQUEST => return Ok(Request::GlxGetClipPlane(glx::GetClipPlaneRequest::try_parse_request(header, remaining)?)),
1539 glx::GET_DOUBLEV_REQUEST => return Ok(Request::GlxGetDoublev(glx::GetDoublevRequest::try_parse_request(header, remaining)?)),
1540 glx::GET_ERROR_REQUEST => return Ok(Request::GlxGetError(glx::GetErrorRequest::try_parse_request(header, remaining)?)),
1541 glx::GET_FLOATV_REQUEST => return Ok(Request::GlxGetFloatv(glx::GetFloatvRequest::try_parse_request(header, remaining)?)),
1542 glx::GET_INTEGERV_REQUEST => return Ok(Request::GlxGetIntegerv(glx::GetIntegervRequest::try_parse_request(header, remaining)?)),
1543 glx::GET_LIGHTFV_REQUEST => return Ok(Request::GlxGetLightfv(glx::GetLightfvRequest::try_parse_request(header, remaining)?)),
1544 glx::GET_LIGHTIV_REQUEST => return Ok(Request::GlxGetLightiv(glx::GetLightivRequest::try_parse_request(header, remaining)?)),
1545 glx::GET_MAPDV_REQUEST => return Ok(Request::GlxGetMapdv(glx::GetMapdvRequest::try_parse_request(header, remaining)?)),
1546 glx::GET_MAPFV_REQUEST => return Ok(Request::GlxGetMapfv(glx::GetMapfvRequest::try_parse_request(header, remaining)?)),
1547 glx::GET_MAPIV_REQUEST => return Ok(Request::GlxGetMapiv(glx::GetMapivRequest::try_parse_request(header, remaining)?)),
1548 glx::GET_MATERIALFV_REQUEST => return Ok(Request::GlxGetMaterialfv(glx::GetMaterialfvRequest::try_parse_request(header, remaining)?)),
1549 glx::GET_MATERIALIV_REQUEST => return Ok(Request::GlxGetMaterialiv(glx::GetMaterialivRequest::try_parse_request(header, remaining)?)),
1550 glx::GET_PIXEL_MAPFV_REQUEST => return Ok(Request::GlxGetPixelMapfv(glx::GetPixelMapfvRequest::try_parse_request(header, remaining)?)),
1551 glx::GET_PIXEL_MAPUIV_REQUEST => return Ok(Request::GlxGetPixelMapuiv(glx::GetPixelMapuivRequest::try_parse_request(header, remaining)?)),
1552 glx::GET_PIXEL_MAPUSV_REQUEST => return Ok(Request::GlxGetPixelMapusv(glx::GetPixelMapusvRequest::try_parse_request(header, remaining)?)),
1553 glx::GET_POLYGON_STIPPLE_REQUEST => return Ok(Request::GlxGetPolygonStipple(glx::GetPolygonStippleRequest::try_parse_request(header, remaining)?)),
1554 glx::GET_STRING_REQUEST => return Ok(Request::GlxGetString(glx::GetStringRequest::try_parse_request(header, remaining)?)),
1555 glx::GET_TEX_ENVFV_REQUEST => return Ok(Request::GlxGetTexEnvfv(glx::GetTexEnvfvRequest::try_parse_request(header, remaining)?)),
1556 glx::GET_TEX_ENVIV_REQUEST => return Ok(Request::GlxGetTexEnviv(glx::GetTexEnvivRequest::try_parse_request(header, remaining)?)),
1557 glx::GET_TEX_GENDV_REQUEST => return Ok(Request::GlxGetTexGendv(glx::GetTexGendvRequest::try_parse_request(header, remaining)?)),
1558 glx::GET_TEX_GENFV_REQUEST => return Ok(Request::GlxGetTexGenfv(glx::GetTexGenfvRequest::try_parse_request(header, remaining)?)),
1559 glx::GET_TEX_GENIV_REQUEST => return Ok(Request::GlxGetTexGeniv(glx::GetTexGenivRequest::try_parse_request(header, remaining)?)),
1560 glx::GET_TEX_IMAGE_REQUEST => return Ok(Request::GlxGetTexImage(glx::GetTexImageRequest::try_parse_request(header, remaining)?)),
1561 glx::GET_TEX_PARAMETERFV_REQUEST => return Ok(Request::GlxGetTexParameterfv(glx::GetTexParameterfvRequest::try_parse_request(header, remaining)?)),
1562 glx::GET_TEX_PARAMETERIV_REQUEST => return Ok(Request::GlxGetTexParameteriv(glx::GetTexParameterivRequest::try_parse_request(header, remaining)?)),
1563 glx::GET_TEX_LEVEL_PARAMETERFV_REQUEST => return Ok(Request::GlxGetTexLevelParameterfv(glx::GetTexLevelParameterfvRequest::try_parse_request(header, remaining)?)),
1564 glx::GET_TEX_LEVEL_PARAMETERIV_REQUEST => return Ok(Request::GlxGetTexLevelParameteriv(glx::GetTexLevelParameterivRequest::try_parse_request(header, remaining)?)),
1565 glx::IS_ENABLED_REQUEST => return Ok(Request::GlxIsEnabled(glx::IsEnabledRequest::try_parse_request(header, remaining)?)),
1566 glx::IS_LIST_REQUEST => return Ok(Request::GlxIsList(glx::IsListRequest::try_parse_request(header, remaining)?)),
1567 glx::FLUSH_REQUEST => return Ok(Request::GlxFlush(glx::FlushRequest::try_parse_request(header, remaining)?)),
1568 glx::ARE_TEXTURES_RESIDENT_REQUEST => return Ok(Request::GlxAreTexturesResident(glx::AreTexturesResidentRequest::try_parse_request(header, remaining)?)),
1569 glx::DELETE_TEXTURES_REQUEST => return Ok(Request::GlxDeleteTextures(glx::DeleteTexturesRequest::try_parse_request(header, remaining)?)),
1570 glx::GEN_TEXTURES_REQUEST => return Ok(Request::GlxGenTextures(glx::GenTexturesRequest::try_parse_request(header, remaining)?)),
1571 glx::IS_TEXTURE_REQUEST => return Ok(Request::GlxIsTexture(glx::IsTextureRequest::try_parse_request(header, remaining)?)),
1572 glx::GET_COLOR_TABLE_REQUEST => return Ok(Request::GlxGetColorTable(glx::GetColorTableRequest::try_parse_request(header, remaining)?)),
1573 glx::GET_COLOR_TABLE_PARAMETERFV_REQUEST => return Ok(Request::GlxGetColorTableParameterfv(glx::GetColorTableParameterfvRequest::try_parse_request(header, remaining)?)),
1574 glx::GET_COLOR_TABLE_PARAMETERIV_REQUEST => return Ok(Request::GlxGetColorTableParameteriv(glx::GetColorTableParameterivRequest::try_parse_request(header, remaining)?)),
1575 glx::GET_CONVOLUTION_FILTER_REQUEST => return Ok(Request::GlxGetConvolutionFilter(glx::GetConvolutionFilterRequest::try_parse_request(header, remaining)?)),
1576 glx::GET_CONVOLUTION_PARAMETERFV_REQUEST => return Ok(Request::GlxGetConvolutionParameterfv(glx::GetConvolutionParameterfvRequest::try_parse_request(header, remaining)?)),
1577 glx::GET_CONVOLUTION_PARAMETERIV_REQUEST => return Ok(Request::GlxGetConvolutionParameteriv(glx::GetConvolutionParameterivRequest::try_parse_request(header, remaining)?)),
1578 glx::GET_SEPARABLE_FILTER_REQUEST => return Ok(Request::GlxGetSeparableFilter(glx::GetSeparableFilterRequest::try_parse_request(header, remaining)?)),
1579 glx::GET_HISTOGRAM_REQUEST => return Ok(Request::GlxGetHistogram(glx::GetHistogramRequest::try_parse_request(header, remaining)?)),
1580 glx::GET_HISTOGRAM_PARAMETERFV_REQUEST => return Ok(Request::GlxGetHistogramParameterfv(glx::GetHistogramParameterfvRequest::try_parse_request(header, remaining)?)),
1581 glx::GET_HISTOGRAM_PARAMETERIV_REQUEST => return Ok(Request::GlxGetHistogramParameteriv(glx::GetHistogramParameterivRequest::try_parse_request(header, remaining)?)),
1582 glx::GET_MINMAX_REQUEST => return Ok(Request::GlxGetMinmax(glx::GetMinmaxRequest::try_parse_request(header, remaining)?)),
1583 glx::GET_MINMAX_PARAMETERFV_REQUEST => return Ok(Request::GlxGetMinmaxParameterfv(glx::GetMinmaxParameterfvRequest::try_parse_request(header, remaining)?)),
1584 glx::GET_MINMAX_PARAMETERIV_REQUEST => return Ok(Request::GlxGetMinmaxParameteriv(glx::GetMinmaxParameterivRequest::try_parse_request(header, remaining)?)),
1585 glx::GET_COMPRESSED_TEX_IMAGE_ARB_REQUEST => return Ok(Request::GlxGetCompressedTexImageARB(glx::GetCompressedTexImageARBRequest::try_parse_request(header, remaining)?)),
1586 glx::DELETE_QUERIES_ARB_REQUEST => return Ok(Request::GlxDeleteQueriesARB(glx::DeleteQueriesARBRequest::try_parse_request(header, remaining)?)),
1587 glx::GEN_QUERIES_ARB_REQUEST => return Ok(Request::GlxGenQueriesARB(glx::GenQueriesARBRequest::try_parse_request(header, remaining)?)),
1588 glx::IS_QUERY_ARB_REQUEST => return Ok(Request::GlxIsQueryARB(glx::IsQueryARBRequest::try_parse_request(header, remaining)?)),
1589 glx::GET_QUERYIV_ARB_REQUEST => return Ok(Request::GlxGetQueryivARB(glx::GetQueryivARBRequest::try_parse_request(header, remaining)?)),
1590 glx::GET_QUERY_OBJECTIV_ARB_REQUEST => return Ok(Request::GlxGetQueryObjectivARB(glx::GetQueryObjectivARBRequest::try_parse_request(header, remaining)?)),
1591 glx::GET_QUERY_OBJECTUIV_ARB_REQUEST => return Ok(Request::GlxGetQueryObjectuivARB(glx::GetQueryObjectuivARBRequest::try_parse_request(header, remaining)?)),
1592 _ => (),
1593 }
1594 }
1595 #[cfg(feature = "present")]
1596 Some((present::X11_EXTENSION_NAME, _)) => {
1597 match header.minor_opcode {
1598 present::QUERY_VERSION_REQUEST => return Ok(Request::PresentQueryVersion(present::QueryVersionRequest::try_parse_request(header, remaining)?)),
1599 present::PIXMAP_REQUEST => return Ok(Request::PresentPixmap(present::PixmapRequest::try_parse_request(header, remaining)?)),
1600 present::NOTIFY_MSC_REQUEST => return Ok(Request::PresentNotifyMSC(present::NotifyMSCRequest::try_parse_request(header, remaining)?)),
1601 present::SELECT_INPUT_REQUEST => return Ok(Request::PresentSelectInput(present::SelectInputRequest::try_parse_request(header, remaining)?)),
1602 present::QUERY_CAPABILITIES_REQUEST => return Ok(Request::PresentQueryCapabilities(present::QueryCapabilitiesRequest::try_parse_request(header, remaining)?)),
1603 _ => (),
1604 }
1605 }
1606 #[cfg(feature = "randr")]
1607 Some((randr::X11_EXTENSION_NAME, _)) => {
1608 match header.minor_opcode {
1609 randr::QUERY_VERSION_REQUEST => return Ok(Request::RandrQueryVersion(randr::QueryVersionRequest::try_parse_request(header, remaining)?)),
1610 randr::SET_SCREEN_CONFIG_REQUEST => return Ok(Request::RandrSetScreenConfig(randr::SetScreenConfigRequest::try_parse_request(header, remaining)?)),
1611 randr::SELECT_INPUT_REQUEST => return Ok(Request::RandrSelectInput(randr::SelectInputRequest::try_parse_request(header, remaining)?)),
1612 randr::GET_SCREEN_INFO_REQUEST => return Ok(Request::RandrGetScreenInfo(randr::GetScreenInfoRequest::try_parse_request(header, remaining)?)),
1613 randr::GET_SCREEN_SIZE_RANGE_REQUEST => return Ok(Request::RandrGetScreenSizeRange(randr::GetScreenSizeRangeRequest::try_parse_request(header, remaining)?)),
1614 randr::SET_SCREEN_SIZE_REQUEST => return Ok(Request::RandrSetScreenSize(randr::SetScreenSizeRequest::try_parse_request(header, remaining)?)),
1615 randr::GET_SCREEN_RESOURCES_REQUEST => return Ok(Request::RandrGetScreenResources(randr::GetScreenResourcesRequest::try_parse_request(header, remaining)?)),
1616 randr::GET_OUTPUT_INFO_REQUEST => return Ok(Request::RandrGetOutputInfo(randr::GetOutputInfoRequest::try_parse_request(header, remaining)?)),
1617 randr::LIST_OUTPUT_PROPERTIES_REQUEST => return Ok(Request::RandrListOutputProperties(randr::ListOutputPropertiesRequest::try_parse_request(header, remaining)?)),
1618 randr::QUERY_OUTPUT_PROPERTY_REQUEST => return Ok(Request::RandrQueryOutputProperty(randr::QueryOutputPropertyRequest::try_parse_request(header, remaining)?)),
1619 randr::CONFIGURE_OUTPUT_PROPERTY_REQUEST => return Ok(Request::RandrConfigureOutputProperty(randr::ConfigureOutputPropertyRequest::try_parse_request(header, remaining)?)),
1620 randr::CHANGE_OUTPUT_PROPERTY_REQUEST => return Ok(Request::RandrChangeOutputProperty(randr::ChangeOutputPropertyRequest::try_parse_request(header, remaining)?)),
1621 randr::DELETE_OUTPUT_PROPERTY_REQUEST => return Ok(Request::RandrDeleteOutputProperty(randr::DeleteOutputPropertyRequest::try_parse_request(header, remaining)?)),
1622 randr::GET_OUTPUT_PROPERTY_REQUEST => return Ok(Request::RandrGetOutputProperty(randr::GetOutputPropertyRequest::try_parse_request(header, remaining)?)),
1623 randr::CREATE_MODE_REQUEST => return Ok(Request::RandrCreateMode(randr::CreateModeRequest::try_parse_request(header, remaining)?)),
1624 randr::DESTROY_MODE_REQUEST => return Ok(Request::RandrDestroyMode(randr::DestroyModeRequest::try_parse_request(header, remaining)?)),
1625 randr::ADD_OUTPUT_MODE_REQUEST => return Ok(Request::RandrAddOutputMode(randr::AddOutputModeRequest::try_parse_request(header, remaining)?)),
1626 randr::DELETE_OUTPUT_MODE_REQUEST => return Ok(Request::RandrDeleteOutputMode(randr::DeleteOutputModeRequest::try_parse_request(header, remaining)?)),
1627 randr::GET_CRTC_INFO_REQUEST => return Ok(Request::RandrGetCrtcInfo(randr::GetCrtcInfoRequest::try_parse_request(header, remaining)?)),
1628 randr::SET_CRTC_CONFIG_REQUEST => return Ok(Request::RandrSetCrtcConfig(randr::SetCrtcConfigRequest::try_parse_request(header, remaining)?)),
1629 randr::GET_CRTC_GAMMA_SIZE_REQUEST => return Ok(Request::RandrGetCrtcGammaSize(randr::GetCrtcGammaSizeRequest::try_parse_request(header, remaining)?)),
1630 randr::GET_CRTC_GAMMA_REQUEST => return Ok(Request::RandrGetCrtcGamma(randr::GetCrtcGammaRequest::try_parse_request(header, remaining)?)),
1631 randr::SET_CRTC_GAMMA_REQUEST => return Ok(Request::RandrSetCrtcGamma(randr::SetCrtcGammaRequest::try_parse_request(header, remaining)?)),
1632 randr::GET_SCREEN_RESOURCES_CURRENT_REQUEST => return Ok(Request::RandrGetScreenResourcesCurrent(randr::GetScreenResourcesCurrentRequest::try_parse_request(header, remaining)?)),
1633 randr::SET_CRTC_TRANSFORM_REQUEST => return Ok(Request::RandrSetCrtcTransform(randr::SetCrtcTransformRequest::try_parse_request(header, remaining)?)),
1634 randr::GET_CRTC_TRANSFORM_REQUEST => return Ok(Request::RandrGetCrtcTransform(randr::GetCrtcTransformRequest::try_parse_request(header, remaining)?)),
1635 randr::GET_PANNING_REQUEST => return Ok(Request::RandrGetPanning(randr::GetPanningRequest::try_parse_request(header, remaining)?)),
1636 randr::SET_PANNING_REQUEST => return Ok(Request::RandrSetPanning(randr::SetPanningRequest::try_parse_request(header, remaining)?)),
1637 randr::SET_OUTPUT_PRIMARY_REQUEST => return Ok(Request::RandrSetOutputPrimary(randr::SetOutputPrimaryRequest::try_parse_request(header, remaining)?)),
1638 randr::GET_OUTPUT_PRIMARY_REQUEST => return Ok(Request::RandrGetOutputPrimary(randr::GetOutputPrimaryRequest::try_parse_request(header, remaining)?)),
1639 randr::GET_PROVIDERS_REQUEST => return Ok(Request::RandrGetProviders(randr::GetProvidersRequest::try_parse_request(header, remaining)?)),
1640 randr::GET_PROVIDER_INFO_REQUEST => return Ok(Request::RandrGetProviderInfo(randr::GetProviderInfoRequest::try_parse_request(header, remaining)?)),
1641 randr::SET_PROVIDER_OFFLOAD_SINK_REQUEST => return Ok(Request::RandrSetProviderOffloadSink(randr::SetProviderOffloadSinkRequest::try_parse_request(header, remaining)?)),
1642 randr::SET_PROVIDER_OUTPUT_SOURCE_REQUEST => return Ok(Request::RandrSetProviderOutputSource(randr::SetProviderOutputSourceRequest::try_parse_request(header, remaining)?)),
1643 randr::LIST_PROVIDER_PROPERTIES_REQUEST => return Ok(Request::RandrListProviderProperties(randr::ListProviderPropertiesRequest::try_parse_request(header, remaining)?)),
1644 randr::QUERY_PROVIDER_PROPERTY_REQUEST => return Ok(Request::RandrQueryProviderProperty(randr::QueryProviderPropertyRequest::try_parse_request(header, remaining)?)),
1645 randr::CONFIGURE_PROVIDER_PROPERTY_REQUEST => return Ok(Request::RandrConfigureProviderProperty(randr::ConfigureProviderPropertyRequest::try_parse_request(header, remaining)?)),
1646 randr::CHANGE_PROVIDER_PROPERTY_REQUEST => return Ok(Request::RandrChangeProviderProperty(randr::ChangeProviderPropertyRequest::try_parse_request(header, remaining)?)),
1647 randr::DELETE_PROVIDER_PROPERTY_REQUEST => return Ok(Request::RandrDeleteProviderProperty(randr::DeleteProviderPropertyRequest::try_parse_request(header, remaining)?)),
1648 randr::GET_PROVIDER_PROPERTY_REQUEST => return Ok(Request::RandrGetProviderProperty(randr::GetProviderPropertyRequest::try_parse_request(header, remaining)?)),
1649 randr::GET_MONITORS_REQUEST => return Ok(Request::RandrGetMonitors(randr::GetMonitorsRequest::try_parse_request(header, remaining)?)),
1650 randr::SET_MONITOR_REQUEST => return Ok(Request::RandrSetMonitor(randr::SetMonitorRequest::try_parse_request(header, remaining)?)),
1651 randr::DELETE_MONITOR_REQUEST => return Ok(Request::RandrDeleteMonitor(randr::DeleteMonitorRequest::try_parse_request(header, remaining)?)),
1652 randr::CREATE_LEASE_REQUEST => return Ok(Request::RandrCreateLease(randr::CreateLeaseRequest::try_parse_request(header, remaining)?)),
1653 randr::FREE_LEASE_REQUEST => return Ok(Request::RandrFreeLease(randr::FreeLeaseRequest::try_parse_request(header, remaining)?)),
1654 _ => (),
1655 }
1656 }
1657 #[cfg(feature = "record")]
1658 Some((record::X11_EXTENSION_NAME, _)) => {
1659 match header.minor_opcode {
1660 record::QUERY_VERSION_REQUEST => return Ok(Request::RecordQueryVersion(record::QueryVersionRequest::try_parse_request(header, remaining)?)),
1661 record::CREATE_CONTEXT_REQUEST => return Ok(Request::RecordCreateContext(record::CreateContextRequest::try_parse_request(header, remaining)?)),
1662 record::REGISTER_CLIENTS_REQUEST => return Ok(Request::RecordRegisterClients(record::RegisterClientsRequest::try_parse_request(header, remaining)?)),
1663 record::UNREGISTER_CLIENTS_REQUEST => return Ok(Request::RecordUnregisterClients(record::UnregisterClientsRequest::try_parse_request(header, remaining)?)),
1664 record::GET_CONTEXT_REQUEST => return Ok(Request::RecordGetContext(record::GetContextRequest::try_parse_request(header, remaining)?)),
1665 record::ENABLE_CONTEXT_REQUEST => return Ok(Request::RecordEnableContext(record::EnableContextRequest::try_parse_request(header, remaining)?)),
1666 record::DISABLE_CONTEXT_REQUEST => return Ok(Request::RecordDisableContext(record::DisableContextRequest::try_parse_request(header, remaining)?)),
1667 record::FREE_CONTEXT_REQUEST => return Ok(Request::RecordFreeContext(record::FreeContextRequest::try_parse_request(header, remaining)?)),
1668 _ => (),
1669 }
1670 }
1671 #[cfg(feature = "render")]
1672 Some((render::X11_EXTENSION_NAME, _)) => {
1673 match header.minor_opcode {
1674 render::QUERY_VERSION_REQUEST => return Ok(Request::RenderQueryVersion(render::QueryVersionRequest::try_parse_request(header, remaining)?)),
1675 render::QUERY_PICT_FORMATS_REQUEST => return Ok(Request::RenderQueryPictFormats(render::QueryPictFormatsRequest::try_parse_request(header, remaining)?)),
1676 render::QUERY_PICT_INDEX_VALUES_REQUEST => return Ok(Request::RenderQueryPictIndexValues(render::QueryPictIndexValuesRequest::try_parse_request(header, remaining)?)),
1677 render::CREATE_PICTURE_REQUEST => return Ok(Request::RenderCreatePicture(render::CreatePictureRequest::try_parse_request(header, remaining)?)),
1678 render::CHANGE_PICTURE_REQUEST => return Ok(Request::RenderChangePicture(render::ChangePictureRequest::try_parse_request(header, remaining)?)),
1679 render::SET_PICTURE_CLIP_RECTANGLES_REQUEST => return Ok(Request::RenderSetPictureClipRectangles(render::SetPictureClipRectanglesRequest::try_parse_request(header, remaining)?)),
1680 render::FREE_PICTURE_REQUEST => return Ok(Request::RenderFreePicture(render::FreePictureRequest::try_parse_request(header, remaining)?)),
1681 render::COMPOSITE_REQUEST => return Ok(Request::RenderComposite(render::CompositeRequest::try_parse_request(header, remaining)?)),
1682 render::TRAPEZOIDS_REQUEST => return Ok(Request::RenderTrapezoids(render::TrapezoidsRequest::try_parse_request(header, remaining)?)),
1683 render::TRIANGLES_REQUEST => return Ok(Request::RenderTriangles(render::TrianglesRequest::try_parse_request(header, remaining)?)),
1684 render::TRI_STRIP_REQUEST => return Ok(Request::RenderTriStrip(render::TriStripRequest::try_parse_request(header, remaining)?)),
1685 render::TRI_FAN_REQUEST => return Ok(Request::RenderTriFan(render::TriFanRequest::try_parse_request(header, remaining)?)),
1686 render::CREATE_GLYPH_SET_REQUEST => return Ok(Request::RenderCreateGlyphSet(render::CreateGlyphSetRequest::try_parse_request(header, remaining)?)),
1687 render::REFERENCE_GLYPH_SET_REQUEST => return Ok(Request::RenderReferenceGlyphSet(render::ReferenceGlyphSetRequest::try_parse_request(header, remaining)?)),
1688 render::FREE_GLYPH_SET_REQUEST => return Ok(Request::RenderFreeGlyphSet(render::FreeGlyphSetRequest::try_parse_request(header, remaining)?)),
1689 render::ADD_GLYPHS_REQUEST => return Ok(Request::RenderAddGlyphs(render::AddGlyphsRequest::try_parse_request(header, remaining)?)),
1690 render::FREE_GLYPHS_REQUEST => return Ok(Request::RenderFreeGlyphs(render::FreeGlyphsRequest::try_parse_request(header, remaining)?)),
1691 render::COMPOSITE_GLYPHS8_REQUEST => return Ok(Request::RenderCompositeGlyphs8(render::CompositeGlyphs8Request::try_parse_request(header, remaining)?)),
1692 render::COMPOSITE_GLYPHS16_REQUEST => return Ok(Request::RenderCompositeGlyphs16(render::CompositeGlyphs16Request::try_parse_request(header, remaining)?)),
1693 render::COMPOSITE_GLYPHS32_REQUEST => return Ok(Request::RenderCompositeGlyphs32(render::CompositeGlyphs32Request::try_parse_request(header, remaining)?)),
1694 render::FILL_RECTANGLES_REQUEST => return Ok(Request::RenderFillRectangles(render::FillRectanglesRequest::try_parse_request(header, remaining)?)),
1695 render::CREATE_CURSOR_REQUEST => return Ok(Request::RenderCreateCursor(render::CreateCursorRequest::try_parse_request(header, remaining)?)),
1696 render::SET_PICTURE_TRANSFORM_REQUEST => return Ok(Request::RenderSetPictureTransform(render::SetPictureTransformRequest::try_parse_request(header, remaining)?)),
1697 render::QUERY_FILTERS_REQUEST => return Ok(Request::RenderQueryFilters(render::QueryFiltersRequest::try_parse_request(header, remaining)?)),
1698 render::SET_PICTURE_FILTER_REQUEST => return Ok(Request::RenderSetPictureFilter(render::SetPictureFilterRequest::try_parse_request(header, remaining)?)),
1699 render::CREATE_ANIM_CURSOR_REQUEST => return Ok(Request::RenderCreateAnimCursor(render::CreateAnimCursorRequest::try_parse_request(header, remaining)?)),
1700 render::ADD_TRAPS_REQUEST => return Ok(Request::RenderAddTraps(render::AddTrapsRequest::try_parse_request(header, remaining)?)),
1701 render::CREATE_SOLID_FILL_REQUEST => return Ok(Request::RenderCreateSolidFill(render::CreateSolidFillRequest::try_parse_request(header, remaining)?)),
1702 render::CREATE_LINEAR_GRADIENT_REQUEST => return Ok(Request::RenderCreateLinearGradient(render::CreateLinearGradientRequest::try_parse_request(header, remaining)?)),
1703 render::CREATE_RADIAL_GRADIENT_REQUEST => return Ok(Request::RenderCreateRadialGradient(render::CreateRadialGradientRequest::try_parse_request(header, remaining)?)),
1704 render::CREATE_CONICAL_GRADIENT_REQUEST => return Ok(Request::RenderCreateConicalGradient(render::CreateConicalGradientRequest::try_parse_request(header, remaining)?)),
1705 _ => (),
1706 }
1707 }
1708 #[cfg(feature = "res")]
1709 Some((res::X11_EXTENSION_NAME, _)) => {
1710 match header.minor_opcode {
1711 res::QUERY_VERSION_REQUEST => return Ok(Request::ResQueryVersion(res::QueryVersionRequest::try_parse_request(header, remaining)?)),
1712 res::QUERY_CLIENTS_REQUEST => return Ok(Request::ResQueryClients(res::QueryClientsRequest::try_parse_request(header, remaining)?)),
1713 res::QUERY_CLIENT_RESOURCES_REQUEST => return Ok(Request::ResQueryClientResources(res::QueryClientResourcesRequest::try_parse_request(header, remaining)?)),
1714 res::QUERY_CLIENT_PIXMAP_BYTES_REQUEST => return Ok(Request::ResQueryClientPixmapBytes(res::QueryClientPixmapBytesRequest::try_parse_request(header, remaining)?)),
1715 res::QUERY_CLIENT_IDS_REQUEST => return Ok(Request::ResQueryClientIds(res::QueryClientIdsRequest::try_parse_request(header, remaining)?)),
1716 res::QUERY_RESOURCE_BYTES_REQUEST => return Ok(Request::ResQueryResourceBytes(res::QueryResourceBytesRequest::try_parse_request(header, remaining)?)),
1717 _ => (),
1718 }
1719 }
1720 #[cfg(feature = "screensaver")]
1721 Some((screensaver::X11_EXTENSION_NAME, _)) => {
1722 match header.minor_opcode {
1723 screensaver::QUERY_VERSION_REQUEST => return Ok(Request::ScreensaverQueryVersion(screensaver::QueryVersionRequest::try_parse_request(header, remaining)?)),
1724 screensaver::QUERY_INFO_REQUEST => return Ok(Request::ScreensaverQueryInfo(screensaver::QueryInfoRequest::try_parse_request(header, remaining)?)),
1725 screensaver::SELECT_INPUT_REQUEST => return Ok(Request::ScreensaverSelectInput(screensaver::SelectInputRequest::try_parse_request(header, remaining)?)),
1726 screensaver::SET_ATTRIBUTES_REQUEST => return Ok(Request::ScreensaverSetAttributes(screensaver::SetAttributesRequest::try_parse_request(header, remaining)?)),
1727 screensaver::UNSET_ATTRIBUTES_REQUEST => return Ok(Request::ScreensaverUnsetAttributes(screensaver::UnsetAttributesRequest::try_parse_request(header, remaining)?)),
1728 screensaver::SUSPEND_REQUEST => return Ok(Request::ScreensaverSuspend(screensaver::SuspendRequest::try_parse_request(header, remaining)?)),
1729 _ => (),
1730 }
1731 }
1732 #[cfg(feature = "shape")]
1733 Some((shape::X11_EXTENSION_NAME, _)) => {
1734 match header.minor_opcode {
1735 shape::QUERY_VERSION_REQUEST => return Ok(Request::ShapeQueryVersion(shape::QueryVersionRequest::try_parse_request(header, remaining)?)),
1736 shape::RECTANGLES_REQUEST => return Ok(Request::ShapeRectangles(shape::RectanglesRequest::try_parse_request(header, remaining)?)),
1737 shape::MASK_REQUEST => return Ok(Request::ShapeMask(shape::MaskRequest::try_parse_request(header, remaining)?)),
1738 shape::COMBINE_REQUEST => return Ok(Request::ShapeCombine(shape::CombineRequest::try_parse_request(header, remaining)?)),
1739 shape::OFFSET_REQUEST => return Ok(Request::ShapeOffset(shape::OffsetRequest::try_parse_request(header, remaining)?)),
1740 shape::QUERY_EXTENTS_REQUEST => return Ok(Request::ShapeQueryExtents(shape::QueryExtentsRequest::try_parse_request(header, remaining)?)),
1741 shape::SELECT_INPUT_REQUEST => return Ok(Request::ShapeSelectInput(shape::SelectInputRequest::try_parse_request(header, remaining)?)),
1742 shape::INPUT_SELECTED_REQUEST => return Ok(Request::ShapeInputSelected(shape::InputSelectedRequest::try_parse_request(header, remaining)?)),
1743 shape::GET_RECTANGLES_REQUEST => return Ok(Request::ShapeGetRectangles(shape::GetRectanglesRequest::try_parse_request(header, remaining)?)),
1744 _ => (),
1745 }
1746 }
1747 #[cfg(feature = "shm")]
1748 Some((shm::X11_EXTENSION_NAME, _)) => {
1749 match header.minor_opcode {
1750 shm::QUERY_VERSION_REQUEST => return Ok(Request::ShmQueryVersion(shm::QueryVersionRequest::try_parse_request(header, remaining)?)),
1751 shm::ATTACH_REQUEST => return Ok(Request::ShmAttach(shm::AttachRequest::try_parse_request(header, remaining)?)),
1752 shm::DETACH_REQUEST => return Ok(Request::ShmDetach(shm::DetachRequest::try_parse_request(header, remaining)?)),
1753 shm::PUT_IMAGE_REQUEST => return Ok(Request::ShmPutImage(shm::PutImageRequest::try_parse_request(header, remaining)?)),
1754 shm::GET_IMAGE_REQUEST => return Ok(Request::ShmGetImage(shm::GetImageRequest::try_parse_request(header, remaining)?)),
1755 shm::CREATE_PIXMAP_REQUEST => return Ok(Request::ShmCreatePixmap(shm::CreatePixmapRequest::try_parse_request(header, remaining)?)),
1756 shm::ATTACH_FD_REQUEST => return Ok(Request::ShmAttachFd(shm::AttachFdRequest::try_parse_request_fd(header, remaining, fds)?)),
1757 shm::CREATE_SEGMENT_REQUEST => return Ok(Request::ShmCreateSegment(shm::CreateSegmentRequest::try_parse_request(header, remaining)?)),
1758 _ => (),
1759 }
1760 }
1761 #[cfg(feature = "sync")]
1762 Some((sync::X11_EXTENSION_NAME, _)) => {
1763 match header.minor_opcode {
1764 sync::INITIALIZE_REQUEST => return Ok(Request::SyncInitialize(sync::InitializeRequest::try_parse_request(header, remaining)?)),
1765 sync::LIST_SYSTEM_COUNTERS_REQUEST => return Ok(Request::SyncListSystemCounters(sync::ListSystemCountersRequest::try_parse_request(header, remaining)?)),
1766 sync::CREATE_COUNTER_REQUEST => return Ok(Request::SyncCreateCounter(sync::CreateCounterRequest::try_parse_request(header, remaining)?)),
1767 sync::DESTROY_COUNTER_REQUEST => return Ok(Request::SyncDestroyCounter(sync::DestroyCounterRequest::try_parse_request(header, remaining)?)),
1768 sync::QUERY_COUNTER_REQUEST => return Ok(Request::SyncQueryCounter(sync::QueryCounterRequest::try_parse_request(header, remaining)?)),
1769 sync::AWAIT_REQUEST => return Ok(Request::SyncAwait(sync::AwaitRequest::try_parse_request(header, remaining)?)),
1770 sync::CHANGE_COUNTER_REQUEST => return Ok(Request::SyncChangeCounter(sync::ChangeCounterRequest::try_parse_request(header, remaining)?)),
1771 sync::SET_COUNTER_REQUEST => return Ok(Request::SyncSetCounter(sync::SetCounterRequest::try_parse_request(header, remaining)?)),
1772 sync::CREATE_ALARM_REQUEST => return Ok(Request::SyncCreateAlarm(sync::CreateAlarmRequest::try_parse_request(header, remaining)?)),
1773 sync::CHANGE_ALARM_REQUEST => return Ok(Request::SyncChangeAlarm(sync::ChangeAlarmRequest::try_parse_request(header, remaining)?)),
1774 sync::DESTROY_ALARM_REQUEST => return Ok(Request::SyncDestroyAlarm(sync::DestroyAlarmRequest::try_parse_request(header, remaining)?)),
1775 sync::QUERY_ALARM_REQUEST => return Ok(Request::SyncQueryAlarm(sync::QueryAlarmRequest::try_parse_request(header, remaining)?)),
1776 sync::SET_PRIORITY_REQUEST => return Ok(Request::SyncSetPriority(sync::SetPriorityRequest::try_parse_request(header, remaining)?)),
1777 sync::GET_PRIORITY_REQUEST => return Ok(Request::SyncGetPriority(sync::GetPriorityRequest::try_parse_request(header, remaining)?)),
1778 sync::CREATE_FENCE_REQUEST => return Ok(Request::SyncCreateFence(sync::CreateFenceRequest::try_parse_request(header, remaining)?)),
1779 sync::TRIGGER_FENCE_REQUEST => return Ok(Request::SyncTriggerFence(sync::TriggerFenceRequest::try_parse_request(header, remaining)?)),
1780 sync::RESET_FENCE_REQUEST => return Ok(Request::SyncResetFence(sync::ResetFenceRequest::try_parse_request(header, remaining)?)),
1781 sync::DESTROY_FENCE_REQUEST => return Ok(Request::SyncDestroyFence(sync::DestroyFenceRequest::try_parse_request(header, remaining)?)),
1782 sync::QUERY_FENCE_REQUEST => return Ok(Request::SyncQueryFence(sync::QueryFenceRequest::try_parse_request(header, remaining)?)),
1783 sync::AWAIT_FENCE_REQUEST => return Ok(Request::SyncAwaitFence(sync::AwaitFenceRequest::try_parse_request(header, remaining)?)),
1784 _ => (),
1785 }
1786 }
1787 Some((xc_misc::X11_EXTENSION_NAME, _)) => {
1788 match header.minor_opcode {
1789 xc_misc::GET_VERSION_REQUEST => return Ok(Request::XcMiscGetVersion(xc_misc::GetVersionRequest::try_parse_request(header, remaining)?)),
1790 xc_misc::GET_XID_RANGE_REQUEST => return Ok(Request::XcMiscGetXIDRange(xc_misc::GetXIDRangeRequest::try_parse_request(header, remaining)?)),
1791 xc_misc::GET_XID_LIST_REQUEST => return Ok(Request::XcMiscGetXIDList(xc_misc::GetXIDListRequest::try_parse_request(header, remaining)?)),
1792 _ => (),
1793 }
1794 }
1795 #[cfg(feature = "xevie")]
1796 Some((xevie::X11_EXTENSION_NAME, _)) => {
1797 match header.minor_opcode {
1798 xevie::QUERY_VERSION_REQUEST => return Ok(Request::XevieQueryVersion(xevie::QueryVersionRequest::try_parse_request(header, remaining)?)),
1799 xevie::START_REQUEST => return Ok(Request::XevieStart(xevie::StartRequest::try_parse_request(header, remaining)?)),
1800 xevie::END_REQUEST => return Ok(Request::XevieEnd(xevie::EndRequest::try_parse_request(header, remaining)?)),
1801 xevie::SEND_REQUEST => return Ok(Request::XevieSend(xevie::SendRequest::try_parse_request(header, remaining)?)),
1802 xevie::SELECT_INPUT_REQUEST => return Ok(Request::XevieSelectInput(xevie::SelectInputRequest::try_parse_request(header, remaining)?)),
1803 _ => (),
1804 }
1805 }
1806 #[cfg(feature = "xf86dri")]
1807 Some((xf86dri::X11_EXTENSION_NAME, _)) => {
1808 match header.minor_opcode {
1809 xf86dri::QUERY_VERSION_REQUEST => return Ok(Request::Xf86driQueryVersion(xf86dri::QueryVersionRequest::try_parse_request(header, remaining)?)),
1810 xf86dri::QUERY_DIRECT_RENDERING_CAPABLE_REQUEST => return Ok(Request::Xf86driQueryDirectRenderingCapable(xf86dri::QueryDirectRenderingCapableRequest::try_parse_request(header, remaining)?)),
1811 xf86dri::OPEN_CONNECTION_REQUEST => return Ok(Request::Xf86driOpenConnection(xf86dri::OpenConnectionRequest::try_parse_request(header, remaining)?)),
1812 xf86dri::CLOSE_CONNECTION_REQUEST => return Ok(Request::Xf86driCloseConnection(xf86dri::CloseConnectionRequest::try_parse_request(header, remaining)?)),
1813 xf86dri::GET_CLIENT_DRIVER_NAME_REQUEST => return Ok(Request::Xf86driGetClientDriverName(xf86dri::GetClientDriverNameRequest::try_parse_request(header, remaining)?)),
1814 xf86dri::CREATE_CONTEXT_REQUEST => return Ok(Request::Xf86driCreateContext(xf86dri::CreateContextRequest::try_parse_request(header, remaining)?)),
1815 xf86dri::DESTROY_CONTEXT_REQUEST => return Ok(Request::Xf86driDestroyContext(xf86dri::DestroyContextRequest::try_parse_request(header, remaining)?)),
1816 xf86dri::CREATE_DRAWABLE_REQUEST => return Ok(Request::Xf86driCreateDrawable(xf86dri::CreateDrawableRequest::try_parse_request(header, remaining)?)),
1817 xf86dri::DESTROY_DRAWABLE_REQUEST => return Ok(Request::Xf86driDestroyDrawable(xf86dri::DestroyDrawableRequest::try_parse_request(header, remaining)?)),
1818 xf86dri::GET_DRAWABLE_INFO_REQUEST => return Ok(Request::Xf86driGetDrawableInfo(xf86dri::GetDrawableInfoRequest::try_parse_request(header, remaining)?)),
1819 xf86dri::GET_DEVICE_INFO_REQUEST => return Ok(Request::Xf86driGetDeviceInfo(xf86dri::GetDeviceInfoRequest::try_parse_request(header, remaining)?)),
1820 xf86dri::AUTH_CONNECTION_REQUEST => return Ok(Request::Xf86driAuthConnection(xf86dri::AuthConnectionRequest::try_parse_request(header, remaining)?)),
1821 _ => (),
1822 }
1823 }
1824 #[cfg(feature = "xf86vidmode")]
1825 Some((xf86vidmode::X11_EXTENSION_NAME, _)) => {
1826 match header.minor_opcode {
1827 xf86vidmode::QUERY_VERSION_REQUEST => return Ok(Request::Xf86vidmodeQueryVersion(xf86vidmode::QueryVersionRequest::try_parse_request(header, remaining)?)),
1828 xf86vidmode::GET_MODE_LINE_REQUEST => return Ok(Request::Xf86vidmodeGetModeLine(xf86vidmode::GetModeLineRequest::try_parse_request(header, remaining)?)),
1829 xf86vidmode::MOD_MODE_LINE_REQUEST => return Ok(Request::Xf86vidmodeModModeLine(xf86vidmode::ModModeLineRequest::try_parse_request(header, remaining)?)),
1830 xf86vidmode::SWITCH_MODE_REQUEST => return Ok(Request::Xf86vidmodeSwitchMode(xf86vidmode::SwitchModeRequest::try_parse_request(header, remaining)?)),
1831 xf86vidmode::GET_MONITOR_REQUEST => return Ok(Request::Xf86vidmodeGetMonitor(xf86vidmode::GetMonitorRequest::try_parse_request(header, remaining)?)),
1832 xf86vidmode::LOCK_MODE_SWITCH_REQUEST => return Ok(Request::Xf86vidmodeLockModeSwitch(xf86vidmode::LockModeSwitchRequest::try_parse_request(header, remaining)?)),
1833 xf86vidmode::GET_ALL_MODE_LINES_REQUEST => return Ok(Request::Xf86vidmodeGetAllModeLines(xf86vidmode::GetAllModeLinesRequest::try_parse_request(header, remaining)?)),
1834 xf86vidmode::ADD_MODE_LINE_REQUEST => return Ok(Request::Xf86vidmodeAddModeLine(xf86vidmode::AddModeLineRequest::try_parse_request(header, remaining)?)),
1835 xf86vidmode::DELETE_MODE_LINE_REQUEST => return Ok(Request::Xf86vidmodeDeleteModeLine(xf86vidmode::DeleteModeLineRequest::try_parse_request(header, remaining)?)),
1836 xf86vidmode::VALIDATE_MODE_LINE_REQUEST => return Ok(Request::Xf86vidmodeValidateModeLine(xf86vidmode::ValidateModeLineRequest::try_parse_request(header, remaining)?)),
1837 xf86vidmode::SWITCH_TO_MODE_REQUEST => return Ok(Request::Xf86vidmodeSwitchToMode(xf86vidmode::SwitchToModeRequest::try_parse_request(header, remaining)?)),
1838 xf86vidmode::GET_VIEW_PORT_REQUEST => return Ok(Request::Xf86vidmodeGetViewPort(xf86vidmode::GetViewPortRequest::try_parse_request(header, remaining)?)),
1839 xf86vidmode::SET_VIEW_PORT_REQUEST => return Ok(Request::Xf86vidmodeSetViewPort(xf86vidmode::SetViewPortRequest::try_parse_request(header, remaining)?)),
1840 xf86vidmode::GET_DOT_CLOCKS_REQUEST => return Ok(Request::Xf86vidmodeGetDotClocks(xf86vidmode::GetDotClocksRequest::try_parse_request(header, remaining)?)),
1841 xf86vidmode::SET_CLIENT_VERSION_REQUEST => return Ok(Request::Xf86vidmodeSetClientVersion(xf86vidmode::SetClientVersionRequest::try_parse_request(header, remaining)?)),
1842 xf86vidmode::SET_GAMMA_REQUEST => return Ok(Request::Xf86vidmodeSetGamma(xf86vidmode::SetGammaRequest::try_parse_request(header, remaining)?)),
1843 xf86vidmode::GET_GAMMA_REQUEST => return Ok(Request::Xf86vidmodeGetGamma(xf86vidmode::GetGammaRequest::try_parse_request(header, remaining)?)),
1844 xf86vidmode::GET_GAMMA_RAMP_REQUEST => return Ok(Request::Xf86vidmodeGetGammaRamp(xf86vidmode::GetGammaRampRequest::try_parse_request(header, remaining)?)),
1845 xf86vidmode::SET_GAMMA_RAMP_REQUEST => return Ok(Request::Xf86vidmodeSetGammaRamp(xf86vidmode::SetGammaRampRequest::try_parse_request(header, remaining)?)),
1846 xf86vidmode::GET_GAMMA_RAMP_SIZE_REQUEST => return Ok(Request::Xf86vidmodeGetGammaRampSize(xf86vidmode::GetGammaRampSizeRequest::try_parse_request(header, remaining)?)),
1847 xf86vidmode::GET_PERMISSIONS_REQUEST => return Ok(Request::Xf86vidmodeGetPermissions(xf86vidmode::GetPermissionsRequest::try_parse_request(header, remaining)?)),
1848 _ => (),
1849 }
1850 }
1851 #[cfg(feature = "xfixes")]
1852 Some((xfixes::X11_EXTENSION_NAME, _)) => {
1853 match header.minor_opcode {
1854 xfixes::QUERY_VERSION_REQUEST => return Ok(Request::XfixesQueryVersion(xfixes::QueryVersionRequest::try_parse_request(header, remaining)?)),
1855 xfixes::CHANGE_SAVE_SET_REQUEST => return Ok(Request::XfixesChangeSaveSet(xfixes::ChangeSaveSetRequest::try_parse_request(header, remaining)?)),
1856 xfixes::SELECT_SELECTION_INPUT_REQUEST => return Ok(Request::XfixesSelectSelectionInput(xfixes::SelectSelectionInputRequest::try_parse_request(header, remaining)?)),
1857 xfixes::SELECT_CURSOR_INPUT_REQUEST => return Ok(Request::XfixesSelectCursorInput(xfixes::SelectCursorInputRequest::try_parse_request(header, remaining)?)),
1858 xfixes::GET_CURSOR_IMAGE_REQUEST => return Ok(Request::XfixesGetCursorImage(xfixes::GetCursorImageRequest::try_parse_request(header, remaining)?)),
1859 xfixes::CREATE_REGION_REQUEST => return Ok(Request::XfixesCreateRegion(xfixes::CreateRegionRequest::try_parse_request(header, remaining)?)),
1860 xfixes::CREATE_REGION_FROM_BITMAP_REQUEST => return Ok(Request::XfixesCreateRegionFromBitmap(xfixes::CreateRegionFromBitmapRequest::try_parse_request(header, remaining)?)),
1861 xfixes::CREATE_REGION_FROM_WINDOW_REQUEST => return Ok(Request::XfixesCreateRegionFromWindow(xfixes::CreateRegionFromWindowRequest::try_parse_request(header, remaining)?)),
1862 xfixes::CREATE_REGION_FROM_GC_REQUEST => return Ok(Request::XfixesCreateRegionFromGC(xfixes::CreateRegionFromGCRequest::try_parse_request(header, remaining)?)),
1863 xfixes::CREATE_REGION_FROM_PICTURE_REQUEST => return Ok(Request::XfixesCreateRegionFromPicture(xfixes::CreateRegionFromPictureRequest::try_parse_request(header, remaining)?)),
1864 xfixes::DESTROY_REGION_REQUEST => return Ok(Request::XfixesDestroyRegion(xfixes::DestroyRegionRequest::try_parse_request(header, remaining)?)),
1865 xfixes::SET_REGION_REQUEST => return Ok(Request::XfixesSetRegion(xfixes::SetRegionRequest::try_parse_request(header, remaining)?)),
1866 xfixes::COPY_REGION_REQUEST => return Ok(Request::XfixesCopyRegion(xfixes::CopyRegionRequest::try_parse_request(header, remaining)?)),
1867 xfixes::UNION_REGION_REQUEST => return Ok(Request::XfixesUnionRegion(xfixes::UnionRegionRequest::try_parse_request(header, remaining)?)),
1868 xfixes::INTERSECT_REGION_REQUEST => return Ok(Request::XfixesIntersectRegion(xfixes::IntersectRegionRequest::try_parse_request(header, remaining)?)),
1869 xfixes::SUBTRACT_REGION_REQUEST => return Ok(Request::XfixesSubtractRegion(xfixes::SubtractRegionRequest::try_parse_request(header, remaining)?)),
1870 xfixes::INVERT_REGION_REQUEST => return Ok(Request::XfixesInvertRegion(xfixes::InvertRegionRequest::try_parse_request(header, remaining)?)),
1871 xfixes::TRANSLATE_REGION_REQUEST => return Ok(Request::XfixesTranslateRegion(xfixes::TranslateRegionRequest::try_parse_request(header, remaining)?)),
1872 xfixes::REGION_EXTENTS_REQUEST => return Ok(Request::XfixesRegionExtents(xfixes::RegionExtentsRequest::try_parse_request(header, remaining)?)),
1873 xfixes::FETCH_REGION_REQUEST => return Ok(Request::XfixesFetchRegion(xfixes::FetchRegionRequest::try_parse_request(header, remaining)?)),
1874 xfixes::SET_GC_CLIP_REGION_REQUEST => return Ok(Request::XfixesSetGCClipRegion(xfixes::SetGCClipRegionRequest::try_parse_request(header, remaining)?)),
1875 xfixes::SET_WINDOW_SHAPE_REGION_REQUEST => return Ok(Request::XfixesSetWindowShapeRegion(xfixes::SetWindowShapeRegionRequest::try_parse_request(header, remaining)?)),
1876 xfixes::SET_PICTURE_CLIP_REGION_REQUEST => return Ok(Request::XfixesSetPictureClipRegion(xfixes::SetPictureClipRegionRequest::try_parse_request(header, remaining)?)),
1877 xfixes::SET_CURSOR_NAME_REQUEST => return Ok(Request::XfixesSetCursorName(xfixes::SetCursorNameRequest::try_parse_request(header, remaining)?)),
1878 xfixes::GET_CURSOR_NAME_REQUEST => return Ok(Request::XfixesGetCursorName(xfixes::GetCursorNameRequest::try_parse_request(header, remaining)?)),
1879 xfixes::GET_CURSOR_IMAGE_AND_NAME_REQUEST => return Ok(Request::XfixesGetCursorImageAndName(xfixes::GetCursorImageAndNameRequest::try_parse_request(header, remaining)?)),
1880 xfixes::CHANGE_CURSOR_REQUEST => return Ok(Request::XfixesChangeCursor(xfixes::ChangeCursorRequest::try_parse_request(header, remaining)?)),
1881 xfixes::CHANGE_CURSOR_BY_NAME_REQUEST => return Ok(Request::XfixesChangeCursorByName(xfixes::ChangeCursorByNameRequest::try_parse_request(header, remaining)?)),
1882 xfixes::EXPAND_REGION_REQUEST => return Ok(Request::XfixesExpandRegion(xfixes::ExpandRegionRequest::try_parse_request(header, remaining)?)),
1883 xfixes::HIDE_CURSOR_REQUEST => return Ok(Request::XfixesHideCursor(xfixes::HideCursorRequest::try_parse_request(header, remaining)?)),
1884 xfixes::SHOW_CURSOR_REQUEST => return Ok(Request::XfixesShowCursor(xfixes::ShowCursorRequest::try_parse_request(header, remaining)?)),
1885 xfixes::CREATE_POINTER_BARRIER_REQUEST => return Ok(Request::XfixesCreatePointerBarrier(xfixes::CreatePointerBarrierRequest::try_parse_request(header, remaining)?)),
1886 xfixes::DELETE_POINTER_BARRIER_REQUEST => return Ok(Request::XfixesDeletePointerBarrier(xfixes::DeletePointerBarrierRequest::try_parse_request(header, remaining)?)),
1887 _ => (),
1888 }
1889 }
1890 #[cfg(feature = "xinerama")]
1891 Some((xinerama::X11_EXTENSION_NAME, _)) => {
1892 match header.minor_opcode {
1893 xinerama::QUERY_VERSION_REQUEST => return Ok(Request::XineramaQueryVersion(xinerama::QueryVersionRequest::try_parse_request(header, remaining)?)),
1894 xinerama::GET_STATE_REQUEST => return Ok(Request::XineramaGetState(xinerama::GetStateRequest::try_parse_request(header, remaining)?)),
1895 xinerama::GET_SCREEN_COUNT_REQUEST => return Ok(Request::XineramaGetScreenCount(xinerama::GetScreenCountRequest::try_parse_request(header, remaining)?)),
1896 xinerama::GET_SCREEN_SIZE_REQUEST => return Ok(Request::XineramaGetScreenSize(xinerama::GetScreenSizeRequest::try_parse_request(header, remaining)?)),
1897 xinerama::IS_ACTIVE_REQUEST => return Ok(Request::XineramaIsActive(xinerama::IsActiveRequest::try_parse_request(header, remaining)?)),
1898 xinerama::QUERY_SCREENS_REQUEST => return Ok(Request::XineramaQueryScreens(xinerama::QueryScreensRequest::try_parse_request(header, remaining)?)),
1899 _ => (),
1900 }
1901 }
1902 #[cfg(feature = "xinput")]
1903 Some((xinput::X11_EXTENSION_NAME, _)) => {
1904 match header.minor_opcode {
1905 xinput::GET_EXTENSION_VERSION_REQUEST => return Ok(Request::XinputGetExtensionVersion(xinput::GetExtensionVersionRequest::try_parse_request(header, remaining)?)),
1906 xinput::LIST_INPUT_DEVICES_REQUEST => return Ok(Request::XinputListInputDevices(xinput::ListInputDevicesRequest::try_parse_request(header, remaining)?)),
1907 xinput::OPEN_DEVICE_REQUEST => return Ok(Request::XinputOpenDevice(xinput::OpenDeviceRequest::try_parse_request(header, remaining)?)),
1908 xinput::CLOSE_DEVICE_REQUEST => return Ok(Request::XinputCloseDevice(xinput::CloseDeviceRequest::try_parse_request(header, remaining)?)),
1909 xinput::SET_DEVICE_MODE_REQUEST => return Ok(Request::XinputSetDeviceMode(xinput::SetDeviceModeRequest::try_parse_request(header, remaining)?)),
1910 xinput::SELECT_EXTENSION_EVENT_REQUEST => return Ok(Request::XinputSelectExtensionEvent(xinput::SelectExtensionEventRequest::try_parse_request(header, remaining)?)),
1911 xinput::GET_SELECTED_EXTENSION_EVENTS_REQUEST => return Ok(Request::XinputGetSelectedExtensionEvents(xinput::GetSelectedExtensionEventsRequest::try_parse_request(header, remaining)?)),
1912 xinput::CHANGE_DEVICE_DONT_PROPAGATE_LIST_REQUEST => return Ok(Request::XinputChangeDeviceDontPropagateList(xinput::ChangeDeviceDontPropagateListRequest::try_parse_request(header, remaining)?)),
1913 xinput::GET_DEVICE_DONT_PROPAGATE_LIST_REQUEST => return Ok(Request::XinputGetDeviceDontPropagateList(xinput::GetDeviceDontPropagateListRequest::try_parse_request(header, remaining)?)),
1914 xinput::GET_DEVICE_MOTION_EVENTS_REQUEST => return Ok(Request::XinputGetDeviceMotionEvents(xinput::GetDeviceMotionEventsRequest::try_parse_request(header, remaining)?)),
1915 xinput::CHANGE_KEYBOARD_DEVICE_REQUEST => return Ok(Request::XinputChangeKeyboardDevice(xinput::ChangeKeyboardDeviceRequest::try_parse_request(header, remaining)?)),
1916 xinput::CHANGE_POINTER_DEVICE_REQUEST => return Ok(Request::XinputChangePointerDevice(xinput::ChangePointerDeviceRequest::try_parse_request(header, remaining)?)),
1917 xinput::GRAB_DEVICE_REQUEST => return Ok(Request::XinputGrabDevice(xinput::GrabDeviceRequest::try_parse_request(header, remaining)?)),
1918 xinput::UNGRAB_DEVICE_REQUEST => return Ok(Request::XinputUngrabDevice(xinput::UngrabDeviceRequest::try_parse_request(header, remaining)?)),
1919 xinput::GRAB_DEVICE_KEY_REQUEST => return Ok(Request::XinputGrabDeviceKey(xinput::GrabDeviceKeyRequest::try_parse_request(header, remaining)?)),
1920 xinput::UNGRAB_DEVICE_KEY_REQUEST => return Ok(Request::XinputUngrabDeviceKey(xinput::UngrabDeviceKeyRequest::try_parse_request(header, remaining)?)),
1921 xinput::GRAB_DEVICE_BUTTON_REQUEST => return Ok(Request::XinputGrabDeviceButton(xinput::GrabDeviceButtonRequest::try_parse_request(header, remaining)?)),
1922 xinput::UNGRAB_DEVICE_BUTTON_REQUEST => return Ok(Request::XinputUngrabDeviceButton(xinput::UngrabDeviceButtonRequest::try_parse_request(header, remaining)?)),
1923 xinput::ALLOW_DEVICE_EVENTS_REQUEST => return Ok(Request::XinputAllowDeviceEvents(xinput::AllowDeviceEventsRequest::try_parse_request(header, remaining)?)),
1924 xinput::GET_DEVICE_FOCUS_REQUEST => return Ok(Request::XinputGetDeviceFocus(xinput::GetDeviceFocusRequest::try_parse_request(header, remaining)?)),
1925 xinput::SET_DEVICE_FOCUS_REQUEST => return Ok(Request::XinputSetDeviceFocus(xinput::SetDeviceFocusRequest::try_parse_request(header, remaining)?)),
1926 xinput::GET_FEEDBACK_CONTROL_REQUEST => return Ok(Request::XinputGetFeedbackControl(xinput::GetFeedbackControlRequest::try_parse_request(header, remaining)?)),
1927 xinput::CHANGE_FEEDBACK_CONTROL_REQUEST => return Ok(Request::XinputChangeFeedbackControl(xinput::ChangeFeedbackControlRequest::try_parse_request(header, remaining)?)),
1928 xinput::GET_DEVICE_KEY_MAPPING_REQUEST => return Ok(Request::XinputGetDeviceKeyMapping(xinput::GetDeviceKeyMappingRequest::try_parse_request(header, remaining)?)),
1929 xinput::CHANGE_DEVICE_KEY_MAPPING_REQUEST => return Ok(Request::XinputChangeDeviceKeyMapping(xinput::ChangeDeviceKeyMappingRequest::try_parse_request(header, remaining)?)),
1930 xinput::GET_DEVICE_MODIFIER_MAPPING_REQUEST => return Ok(Request::XinputGetDeviceModifierMapping(xinput::GetDeviceModifierMappingRequest::try_parse_request(header, remaining)?)),
1931 xinput::SET_DEVICE_MODIFIER_MAPPING_REQUEST => return Ok(Request::XinputSetDeviceModifierMapping(xinput::SetDeviceModifierMappingRequest::try_parse_request(header, remaining)?)),
1932 xinput::GET_DEVICE_BUTTON_MAPPING_REQUEST => return Ok(Request::XinputGetDeviceButtonMapping(xinput::GetDeviceButtonMappingRequest::try_parse_request(header, remaining)?)),
1933 xinput::SET_DEVICE_BUTTON_MAPPING_REQUEST => return Ok(Request::XinputSetDeviceButtonMapping(xinput::SetDeviceButtonMappingRequest::try_parse_request(header, remaining)?)),
1934 xinput::QUERY_DEVICE_STATE_REQUEST => return Ok(Request::XinputQueryDeviceState(xinput::QueryDeviceStateRequest::try_parse_request(header, remaining)?)),
1935 xinput::DEVICE_BELL_REQUEST => return Ok(Request::XinputDeviceBell(xinput::DeviceBellRequest::try_parse_request(header, remaining)?)),
1936 xinput::SET_DEVICE_VALUATORS_REQUEST => return Ok(Request::XinputSetDeviceValuators(xinput::SetDeviceValuatorsRequest::try_parse_request(header, remaining)?)),
1937 xinput::GET_DEVICE_CONTROL_REQUEST => return Ok(Request::XinputGetDeviceControl(xinput::GetDeviceControlRequest::try_parse_request(header, remaining)?)),
1938 xinput::CHANGE_DEVICE_CONTROL_REQUEST => return Ok(Request::XinputChangeDeviceControl(xinput::ChangeDeviceControlRequest::try_parse_request(header, remaining)?)),
1939 xinput::LIST_DEVICE_PROPERTIES_REQUEST => return Ok(Request::XinputListDeviceProperties(xinput::ListDevicePropertiesRequest::try_parse_request(header, remaining)?)),
1940 xinput::CHANGE_DEVICE_PROPERTY_REQUEST => return Ok(Request::XinputChangeDeviceProperty(xinput::ChangeDevicePropertyRequest::try_parse_request(header, remaining)?)),
1941 xinput::DELETE_DEVICE_PROPERTY_REQUEST => return Ok(Request::XinputDeleteDeviceProperty(xinput::DeleteDevicePropertyRequest::try_parse_request(header, remaining)?)),
1942 xinput::GET_DEVICE_PROPERTY_REQUEST => return Ok(Request::XinputGetDeviceProperty(xinput::GetDevicePropertyRequest::try_parse_request(header, remaining)?)),
1943 xinput::XI_QUERY_POINTER_REQUEST => return Ok(Request::XinputXIQueryPointer(xinput::XIQueryPointerRequest::try_parse_request(header, remaining)?)),
1944 xinput::XI_WARP_POINTER_REQUEST => return Ok(Request::XinputXIWarpPointer(xinput::XIWarpPointerRequest::try_parse_request(header, remaining)?)),
1945 xinput::XI_CHANGE_CURSOR_REQUEST => return Ok(Request::XinputXIChangeCursor(xinput::XIChangeCursorRequest::try_parse_request(header, remaining)?)),
1946 xinput::XI_CHANGE_HIERARCHY_REQUEST => return Ok(Request::XinputXIChangeHierarchy(xinput::XIChangeHierarchyRequest::try_parse_request(header, remaining)?)),
1947 xinput::XI_SET_CLIENT_POINTER_REQUEST => return Ok(Request::XinputXISetClientPointer(xinput::XISetClientPointerRequest::try_parse_request(header, remaining)?)),
1948 xinput::XI_GET_CLIENT_POINTER_REQUEST => return Ok(Request::XinputXIGetClientPointer(xinput::XIGetClientPointerRequest::try_parse_request(header, remaining)?)),
1949 xinput::XI_SELECT_EVENTS_REQUEST => return Ok(Request::XinputXISelectEvents(xinput::XISelectEventsRequest::try_parse_request(header, remaining)?)),
1950 xinput::XI_QUERY_VERSION_REQUEST => return Ok(Request::XinputXIQueryVersion(xinput::XIQueryVersionRequest::try_parse_request(header, remaining)?)),
1951 xinput::XI_QUERY_DEVICE_REQUEST => return Ok(Request::XinputXIQueryDevice(xinput::XIQueryDeviceRequest::try_parse_request(header, remaining)?)),
1952 xinput::XI_SET_FOCUS_REQUEST => return Ok(Request::XinputXISetFocus(xinput::XISetFocusRequest::try_parse_request(header, remaining)?)),
1953 xinput::XI_GET_FOCUS_REQUEST => return Ok(Request::XinputXIGetFocus(xinput::XIGetFocusRequest::try_parse_request(header, remaining)?)),
1954 xinput::XI_GRAB_DEVICE_REQUEST => return Ok(Request::XinputXIGrabDevice(xinput::XIGrabDeviceRequest::try_parse_request(header, remaining)?)),
1955 xinput::XI_UNGRAB_DEVICE_REQUEST => return Ok(Request::XinputXIUngrabDevice(xinput::XIUngrabDeviceRequest::try_parse_request(header, remaining)?)),
1956 xinput::XI_ALLOW_EVENTS_REQUEST => return Ok(Request::XinputXIAllowEvents(xinput::XIAllowEventsRequest::try_parse_request(header, remaining)?)),
1957 xinput::XI_PASSIVE_GRAB_DEVICE_REQUEST => return Ok(Request::XinputXIPassiveGrabDevice(xinput::XIPassiveGrabDeviceRequest::try_parse_request(header, remaining)?)),
1958 xinput::XI_PASSIVE_UNGRAB_DEVICE_REQUEST => return Ok(Request::XinputXIPassiveUngrabDevice(xinput::XIPassiveUngrabDeviceRequest::try_parse_request(header, remaining)?)),
1959 xinput::XI_LIST_PROPERTIES_REQUEST => return Ok(Request::XinputXIListProperties(xinput::XIListPropertiesRequest::try_parse_request(header, remaining)?)),
1960 xinput::XI_CHANGE_PROPERTY_REQUEST => return Ok(Request::XinputXIChangeProperty(xinput::XIChangePropertyRequest::try_parse_request(header, remaining)?)),
1961 xinput::XI_DELETE_PROPERTY_REQUEST => return Ok(Request::XinputXIDeleteProperty(xinput::XIDeletePropertyRequest::try_parse_request(header, remaining)?)),
1962 xinput::XI_GET_PROPERTY_REQUEST => return Ok(Request::XinputXIGetProperty(xinput::XIGetPropertyRequest::try_parse_request(header, remaining)?)),
1963 xinput::XI_GET_SELECTED_EVENTS_REQUEST => return Ok(Request::XinputXIGetSelectedEvents(xinput::XIGetSelectedEventsRequest::try_parse_request(header, remaining)?)),
1964 xinput::XI_BARRIER_RELEASE_POINTER_REQUEST => return Ok(Request::XinputXIBarrierReleasePointer(xinput::XIBarrierReleasePointerRequest::try_parse_request(header, remaining)?)),
1965 xinput::SEND_EXTENSION_EVENT_REQUEST => return Ok(Request::XinputSendExtensionEvent(xinput::SendExtensionEventRequest::try_parse_request(header, remaining)?)),
1966 _ => (),
1967 }
1968 }
1969 #[cfg(feature = "xkb")]
1970 Some((xkb::X11_EXTENSION_NAME, _)) => {
1971 match header.minor_opcode {
1972 xkb::USE_EXTENSION_REQUEST => return Ok(Request::XkbUseExtension(xkb::UseExtensionRequest::try_parse_request(header, remaining)?)),
1973 xkb::SELECT_EVENTS_REQUEST => return Ok(Request::XkbSelectEvents(xkb::SelectEventsRequest::try_parse_request(header, remaining)?)),
1974 xkb::BELL_REQUEST => return Ok(Request::XkbBell(xkb::BellRequest::try_parse_request(header, remaining)?)),
1975 xkb::GET_STATE_REQUEST => return Ok(Request::XkbGetState(xkb::GetStateRequest::try_parse_request(header, remaining)?)),
1976 xkb::LATCH_LOCK_STATE_REQUEST => return Ok(Request::XkbLatchLockState(xkb::LatchLockStateRequest::try_parse_request(header, remaining)?)),
1977 xkb::GET_CONTROLS_REQUEST => return Ok(Request::XkbGetControls(xkb::GetControlsRequest::try_parse_request(header, remaining)?)),
1978 xkb::SET_CONTROLS_REQUEST => return Ok(Request::XkbSetControls(xkb::SetControlsRequest::try_parse_request(header, remaining)?)),
1979 xkb::GET_MAP_REQUEST => return Ok(Request::XkbGetMap(xkb::GetMapRequest::try_parse_request(header, remaining)?)),
1980 xkb::SET_MAP_REQUEST => return Ok(Request::XkbSetMap(xkb::SetMapRequest::try_parse_request(header, remaining)?)),
1981 xkb::GET_COMPAT_MAP_REQUEST => return Ok(Request::XkbGetCompatMap(xkb::GetCompatMapRequest::try_parse_request(header, remaining)?)),
1982 xkb::SET_COMPAT_MAP_REQUEST => return Ok(Request::XkbSetCompatMap(xkb::SetCompatMapRequest::try_parse_request(header, remaining)?)),
1983 xkb::GET_INDICATOR_STATE_REQUEST => return Ok(Request::XkbGetIndicatorState(xkb::GetIndicatorStateRequest::try_parse_request(header, remaining)?)),
1984 xkb::GET_INDICATOR_MAP_REQUEST => return Ok(Request::XkbGetIndicatorMap(xkb::GetIndicatorMapRequest::try_parse_request(header, remaining)?)),
1985 xkb::SET_INDICATOR_MAP_REQUEST => return Ok(Request::XkbSetIndicatorMap(xkb::SetIndicatorMapRequest::try_parse_request(header, remaining)?)),
1986 xkb::GET_NAMED_INDICATOR_REQUEST => return Ok(Request::XkbGetNamedIndicator(xkb::GetNamedIndicatorRequest::try_parse_request(header, remaining)?)),
1987 xkb::SET_NAMED_INDICATOR_REQUEST => return Ok(Request::XkbSetNamedIndicator(xkb::SetNamedIndicatorRequest::try_parse_request(header, remaining)?)),
1988 xkb::GET_NAMES_REQUEST => return Ok(Request::XkbGetNames(xkb::GetNamesRequest::try_parse_request(header, remaining)?)),
1989 xkb::SET_NAMES_REQUEST => return Ok(Request::XkbSetNames(xkb::SetNamesRequest::try_parse_request(header, remaining)?)),
1990 xkb::PER_CLIENT_FLAGS_REQUEST => return Ok(Request::XkbPerClientFlags(xkb::PerClientFlagsRequest::try_parse_request(header, remaining)?)),
1991 xkb::LIST_COMPONENTS_REQUEST => return Ok(Request::XkbListComponents(xkb::ListComponentsRequest::try_parse_request(header, remaining)?)),
1992 xkb::GET_KBD_BY_NAME_REQUEST => return Ok(Request::XkbGetKbdByName(xkb::GetKbdByNameRequest::try_parse_request(header, remaining)?)),
1993 xkb::GET_DEVICE_INFO_REQUEST => return Ok(Request::XkbGetDeviceInfo(xkb::GetDeviceInfoRequest::try_parse_request(header, remaining)?)),
1994 xkb::SET_DEVICE_INFO_REQUEST => return Ok(Request::XkbSetDeviceInfo(xkb::SetDeviceInfoRequest::try_parse_request(header, remaining)?)),
1995 xkb::SET_DEBUGGING_FLAGS_REQUEST => return Ok(Request::XkbSetDebuggingFlags(xkb::SetDebuggingFlagsRequest::try_parse_request(header, remaining)?)),
1996 _ => (),
1997 }
1998 }
1999 #[cfg(feature = "xprint")]
2000 Some((xprint::X11_EXTENSION_NAME, _)) => {
2001 match header.minor_opcode {
2002 xprint::PRINT_QUERY_VERSION_REQUEST => return Ok(Request::XprintPrintQueryVersion(xprint::PrintQueryVersionRequest::try_parse_request(header, remaining)?)),
2003 xprint::PRINT_GET_PRINTER_LIST_REQUEST => return Ok(Request::XprintPrintGetPrinterList(xprint::PrintGetPrinterListRequest::try_parse_request(header, remaining)?)),
2004 xprint::PRINT_REHASH_PRINTER_LIST_REQUEST => return Ok(Request::XprintPrintRehashPrinterList(xprint::PrintRehashPrinterListRequest::try_parse_request(header, remaining)?)),
2005 xprint::CREATE_CONTEXT_REQUEST => return Ok(Request::XprintCreateContext(xprint::CreateContextRequest::try_parse_request(header, remaining)?)),
2006 xprint::PRINT_SET_CONTEXT_REQUEST => return Ok(Request::XprintPrintSetContext(xprint::PrintSetContextRequest::try_parse_request(header, remaining)?)),
2007 xprint::PRINT_GET_CONTEXT_REQUEST => return Ok(Request::XprintPrintGetContext(xprint::PrintGetContextRequest::try_parse_request(header, remaining)?)),
2008 xprint::PRINT_DESTROY_CONTEXT_REQUEST => return Ok(Request::XprintPrintDestroyContext(xprint::PrintDestroyContextRequest::try_parse_request(header, remaining)?)),
2009 xprint::PRINT_GET_SCREEN_OF_CONTEXT_REQUEST => return Ok(Request::XprintPrintGetScreenOfContext(xprint::PrintGetScreenOfContextRequest::try_parse_request(header, remaining)?)),
2010 xprint::PRINT_START_JOB_REQUEST => return Ok(Request::XprintPrintStartJob(xprint::PrintStartJobRequest::try_parse_request(header, remaining)?)),
2011 xprint::PRINT_END_JOB_REQUEST => return Ok(Request::XprintPrintEndJob(xprint::PrintEndJobRequest::try_parse_request(header, remaining)?)),
2012 xprint::PRINT_START_DOC_REQUEST => return Ok(Request::XprintPrintStartDoc(xprint::PrintStartDocRequest::try_parse_request(header, remaining)?)),
2013 xprint::PRINT_END_DOC_REQUEST => return Ok(Request::XprintPrintEndDoc(xprint::PrintEndDocRequest::try_parse_request(header, remaining)?)),
2014 xprint::PRINT_PUT_DOCUMENT_DATA_REQUEST => return Ok(Request::XprintPrintPutDocumentData(xprint::PrintPutDocumentDataRequest::try_parse_request(header, remaining)?)),
2015 xprint::PRINT_GET_DOCUMENT_DATA_REQUEST => return Ok(Request::XprintPrintGetDocumentData(xprint::PrintGetDocumentDataRequest::try_parse_request(header, remaining)?)),
2016 xprint::PRINT_START_PAGE_REQUEST => return Ok(Request::XprintPrintStartPage(xprint::PrintStartPageRequest::try_parse_request(header, remaining)?)),
2017 xprint::PRINT_END_PAGE_REQUEST => return Ok(Request::XprintPrintEndPage(xprint::PrintEndPageRequest::try_parse_request(header, remaining)?)),
2018 xprint::PRINT_SELECT_INPUT_REQUEST => return Ok(Request::XprintPrintSelectInput(xprint::PrintSelectInputRequest::try_parse_request(header, remaining)?)),
2019 xprint::PRINT_INPUT_SELECTED_REQUEST => return Ok(Request::XprintPrintInputSelected(xprint::PrintInputSelectedRequest::try_parse_request(header, remaining)?)),
2020 xprint::PRINT_GET_ATTRIBUTES_REQUEST => return Ok(Request::XprintPrintGetAttributes(xprint::PrintGetAttributesRequest::try_parse_request(header, remaining)?)),
2021 xprint::PRINT_GET_ONE_ATTRIBUTES_REQUEST => return Ok(Request::XprintPrintGetOneAttributes(xprint::PrintGetOneAttributesRequest::try_parse_request(header, remaining)?)),
2022 xprint::PRINT_SET_ATTRIBUTES_REQUEST => return Ok(Request::XprintPrintSetAttributes(xprint::PrintSetAttributesRequest::try_parse_request(header, remaining)?)),
2023 xprint::PRINT_GET_PAGE_DIMENSIONS_REQUEST => return Ok(Request::XprintPrintGetPageDimensions(xprint::PrintGetPageDimensionsRequest::try_parse_request(header, remaining)?)),
2024 xprint::PRINT_QUERY_SCREENS_REQUEST => return Ok(Request::XprintPrintQueryScreens(xprint::PrintQueryScreensRequest::try_parse_request(header, remaining)?)),
2025 xprint::PRINT_SET_IMAGE_RESOLUTION_REQUEST => return Ok(Request::XprintPrintSetImageResolution(xprint::PrintSetImageResolutionRequest::try_parse_request(header, remaining)?)),
2026 xprint::PRINT_GET_IMAGE_RESOLUTION_REQUEST => return Ok(Request::XprintPrintGetImageResolution(xprint::PrintGetImageResolutionRequest::try_parse_request(header, remaining)?)),
2027 _ => (),
2028 }
2029 }
2030 #[cfg(feature = "xselinux")]
2031 Some((xselinux::X11_EXTENSION_NAME, _)) => {
2032 match header.minor_opcode {
2033 xselinux::QUERY_VERSION_REQUEST => return Ok(Request::XselinuxQueryVersion(xselinux::QueryVersionRequest::try_parse_request(header, remaining)?)),
2034 xselinux::SET_DEVICE_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetDeviceCreateContext(xselinux::SetDeviceCreateContextRequest::try_parse_request(header, remaining)?)),
2035 xselinux::GET_DEVICE_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetDeviceCreateContext(xselinux::GetDeviceCreateContextRequest::try_parse_request(header, remaining)?)),
2036 xselinux::SET_DEVICE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetDeviceContext(xselinux::SetDeviceContextRequest::try_parse_request(header, remaining)?)),
2037 xselinux::GET_DEVICE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetDeviceContext(xselinux::GetDeviceContextRequest::try_parse_request(header, remaining)?)),
2038 xselinux::SET_WINDOW_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetWindowCreateContext(xselinux::SetWindowCreateContextRequest::try_parse_request(header, remaining)?)),
2039 xselinux::GET_WINDOW_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetWindowCreateContext(xselinux::GetWindowCreateContextRequest::try_parse_request(header, remaining)?)),
2040 xselinux::GET_WINDOW_CONTEXT_REQUEST => return Ok(Request::XselinuxGetWindowContext(xselinux::GetWindowContextRequest::try_parse_request(header, remaining)?)),
2041 xselinux::SET_PROPERTY_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetPropertyCreateContext(xselinux::SetPropertyCreateContextRequest::try_parse_request(header, remaining)?)),
2042 xselinux::GET_PROPERTY_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetPropertyCreateContext(xselinux::GetPropertyCreateContextRequest::try_parse_request(header, remaining)?)),
2043 xselinux::SET_PROPERTY_USE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetPropertyUseContext(xselinux::SetPropertyUseContextRequest::try_parse_request(header, remaining)?)),
2044 xselinux::GET_PROPERTY_USE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetPropertyUseContext(xselinux::GetPropertyUseContextRequest::try_parse_request(header, remaining)?)),
2045 xselinux::GET_PROPERTY_CONTEXT_REQUEST => return Ok(Request::XselinuxGetPropertyContext(xselinux::GetPropertyContextRequest::try_parse_request(header, remaining)?)),
2046 xselinux::GET_PROPERTY_DATA_CONTEXT_REQUEST => return Ok(Request::XselinuxGetPropertyDataContext(xselinux::GetPropertyDataContextRequest::try_parse_request(header, remaining)?)),
2047 xselinux::LIST_PROPERTIES_REQUEST => return Ok(Request::XselinuxListProperties(xselinux::ListPropertiesRequest::try_parse_request(header, remaining)?)),
2048 xselinux::SET_SELECTION_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetSelectionCreateContext(xselinux::SetSelectionCreateContextRequest::try_parse_request(header, remaining)?)),
2049 xselinux::GET_SELECTION_CREATE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetSelectionCreateContext(xselinux::GetSelectionCreateContextRequest::try_parse_request(header, remaining)?)),
2050 xselinux::SET_SELECTION_USE_CONTEXT_REQUEST => return Ok(Request::XselinuxSetSelectionUseContext(xselinux::SetSelectionUseContextRequest::try_parse_request(header, remaining)?)),
2051 xselinux::GET_SELECTION_USE_CONTEXT_REQUEST => return Ok(Request::XselinuxGetSelectionUseContext(xselinux::GetSelectionUseContextRequest::try_parse_request(header, remaining)?)),
2052 xselinux::GET_SELECTION_CONTEXT_REQUEST => return Ok(Request::XselinuxGetSelectionContext(xselinux::GetSelectionContextRequest::try_parse_request(header, remaining)?)),
2053 xselinux::GET_SELECTION_DATA_CONTEXT_REQUEST => return Ok(Request::XselinuxGetSelectionDataContext(xselinux::GetSelectionDataContextRequest::try_parse_request(header, remaining)?)),
2054 xselinux::LIST_SELECTIONS_REQUEST => return Ok(Request::XselinuxListSelections(xselinux::ListSelectionsRequest::try_parse_request(header, remaining)?)),
2055 xselinux::GET_CLIENT_CONTEXT_REQUEST => return Ok(Request::XselinuxGetClientContext(xselinux::GetClientContextRequest::try_parse_request(header, remaining)?)),
2056 _ => (),
2057 }
2058 }
2059 #[cfg(feature = "xtest")]
2060 Some((xtest::X11_EXTENSION_NAME, _)) => {
2061 match header.minor_opcode {
2062 xtest::GET_VERSION_REQUEST => return Ok(Request::XtestGetVersion(xtest::GetVersionRequest::try_parse_request(header, remaining)?)),
2063 xtest::COMPARE_CURSOR_REQUEST => return Ok(Request::XtestCompareCursor(xtest::CompareCursorRequest::try_parse_request(header, remaining)?)),
2064 xtest::FAKE_INPUT_REQUEST => return Ok(Request::XtestFakeInput(xtest::FakeInputRequest::try_parse_request(header, remaining)?)),
2065 xtest::GRAB_CONTROL_REQUEST => return Ok(Request::XtestGrabControl(xtest::GrabControlRequest::try_parse_request(header, remaining)?)),
2066 _ => (),
2067 }
2068 }
2069 #[cfg(feature = "xv")]
2070 Some((xv::X11_EXTENSION_NAME, _)) => {
2071 match header.minor_opcode {
2072 xv::QUERY_EXTENSION_REQUEST => return Ok(Request::XvQueryExtension(xv::QueryExtensionRequest::try_parse_request(header, remaining)?)),
2073 xv::QUERY_ADAPTORS_REQUEST => return Ok(Request::XvQueryAdaptors(xv::QueryAdaptorsRequest::try_parse_request(header, remaining)?)),
2074 xv::QUERY_ENCODINGS_REQUEST => return Ok(Request::XvQueryEncodings(xv::QueryEncodingsRequest::try_parse_request(header, remaining)?)),
2075 xv::GRAB_PORT_REQUEST => return Ok(Request::XvGrabPort(xv::GrabPortRequest::try_parse_request(header, remaining)?)),
2076 xv::UNGRAB_PORT_REQUEST => return Ok(Request::XvUngrabPort(xv::UngrabPortRequest::try_parse_request(header, remaining)?)),
2077 xv::PUT_VIDEO_REQUEST => return Ok(Request::XvPutVideo(xv::PutVideoRequest::try_parse_request(header, remaining)?)),
2078 xv::PUT_STILL_REQUEST => return Ok(Request::XvPutStill(xv::PutStillRequest::try_parse_request(header, remaining)?)),
2079 xv::GET_VIDEO_REQUEST => return Ok(Request::XvGetVideo(xv::GetVideoRequest::try_parse_request(header, remaining)?)),
2080 xv::GET_STILL_REQUEST => return Ok(Request::XvGetStill(xv::GetStillRequest::try_parse_request(header, remaining)?)),
2081 xv::STOP_VIDEO_REQUEST => return Ok(Request::XvStopVideo(xv::StopVideoRequest::try_parse_request(header, remaining)?)),
2082 xv::SELECT_VIDEO_NOTIFY_REQUEST => return Ok(Request::XvSelectVideoNotify(xv::SelectVideoNotifyRequest::try_parse_request(header, remaining)?)),
2083 xv::SELECT_PORT_NOTIFY_REQUEST => return Ok(Request::XvSelectPortNotify(xv::SelectPortNotifyRequest::try_parse_request(header, remaining)?)),
2084 xv::QUERY_BEST_SIZE_REQUEST => return Ok(Request::XvQueryBestSize(xv::QueryBestSizeRequest::try_parse_request(header, remaining)?)),
2085 xv::SET_PORT_ATTRIBUTE_REQUEST => return Ok(Request::XvSetPortAttribute(xv::SetPortAttributeRequest::try_parse_request(header, remaining)?)),
2086 xv::GET_PORT_ATTRIBUTE_REQUEST => return Ok(Request::XvGetPortAttribute(xv::GetPortAttributeRequest::try_parse_request(header, remaining)?)),
2087 xv::QUERY_PORT_ATTRIBUTES_REQUEST => return Ok(Request::XvQueryPortAttributes(xv::QueryPortAttributesRequest::try_parse_request(header, remaining)?)),
2088 xv::LIST_IMAGE_FORMATS_REQUEST => return Ok(Request::XvListImageFormats(xv::ListImageFormatsRequest::try_parse_request(header, remaining)?)),
2089 xv::QUERY_IMAGE_ATTRIBUTES_REQUEST => return Ok(Request::XvQueryImageAttributes(xv::QueryImageAttributesRequest::try_parse_request(header, remaining)?)),
2090 xv::PUT_IMAGE_REQUEST => return Ok(Request::XvPutImage(xv::PutImageRequest::try_parse_request(header, remaining)?)),
2091 xv::SHM_PUT_IMAGE_REQUEST => return Ok(Request::XvShmPutImage(xv::ShmPutImageRequest::try_parse_request(header, remaining)?)),
2092 _ => (),
2093 }
2094 }
2095 #[cfg(feature = "xvmc")]
2096 Some((xvmc::X11_EXTENSION_NAME, _)) => {
2097 match header.minor_opcode {
2098 xvmc::QUERY_VERSION_REQUEST => return Ok(Request::XvmcQueryVersion(xvmc::QueryVersionRequest::try_parse_request(header, remaining)?)),
2099 xvmc::LIST_SURFACE_TYPES_REQUEST => return Ok(Request::XvmcListSurfaceTypes(xvmc::ListSurfaceTypesRequest::try_parse_request(header, remaining)?)),
2100 xvmc::CREATE_CONTEXT_REQUEST => return Ok(Request::XvmcCreateContext(xvmc::CreateContextRequest::try_parse_request(header, remaining)?)),
2101 xvmc::DESTROY_CONTEXT_REQUEST => return Ok(Request::XvmcDestroyContext(xvmc::DestroyContextRequest::try_parse_request(header, remaining)?)),
2102 xvmc::CREATE_SURFACE_REQUEST => return Ok(Request::XvmcCreateSurface(xvmc::CreateSurfaceRequest::try_parse_request(header, remaining)?)),
2103 xvmc::DESTROY_SURFACE_REQUEST => return Ok(Request::XvmcDestroySurface(xvmc::DestroySurfaceRequest::try_parse_request(header, remaining)?)),
2104 xvmc::CREATE_SUBPICTURE_REQUEST => return Ok(Request::XvmcCreateSubpicture(xvmc::CreateSubpictureRequest::try_parse_request(header, remaining)?)),
2105 xvmc::DESTROY_SUBPICTURE_REQUEST => return Ok(Request::XvmcDestroySubpicture(xvmc::DestroySubpictureRequest::try_parse_request(header, remaining)?)),
2106 xvmc::LIST_SUBPICTURE_TYPES_REQUEST => return Ok(Request::XvmcListSubpictureTypes(xvmc::ListSubpictureTypesRequest::try_parse_request(header, remaining)?)),
2107 _ => (),
2108 }
2109 }
2110 _ => (),
2111 }
2112 Ok(Request::Unknown(header, Cow::Borrowed(remaining)))
2113 }
2114 /// Get the matching reply parser (if any) for this request.
2115 /// For `Request::Unknown`, `None` is also returned.
reply_parser(&self) -> Option<ReplyParsingFunction>2116 pub fn reply_parser(&self) -> Option<ReplyParsingFunction> {
2117 match self {
2118 Request::Unknown(_, _) => None,
2119 Request::CreateWindow(_) => None,
2120 Request::ChangeWindowAttributes(_) => None,
2121 Request::GetWindowAttributes(_) => Some(xproto::GetWindowAttributesRequest::parse_reply),
2122 Request::DestroyWindow(_) => None,
2123 Request::DestroySubwindows(_) => None,
2124 Request::ChangeSaveSet(_) => None,
2125 Request::ReparentWindow(_) => None,
2126 Request::MapWindow(_) => None,
2127 Request::MapSubwindows(_) => None,
2128 Request::UnmapWindow(_) => None,
2129 Request::UnmapSubwindows(_) => None,
2130 Request::ConfigureWindow(_) => None,
2131 Request::CirculateWindow(_) => None,
2132 Request::GetGeometry(_) => Some(xproto::GetGeometryRequest::parse_reply),
2133 Request::QueryTree(_) => Some(xproto::QueryTreeRequest::parse_reply),
2134 Request::InternAtom(_) => Some(xproto::InternAtomRequest::parse_reply),
2135 Request::GetAtomName(_) => Some(xproto::GetAtomNameRequest::parse_reply),
2136 Request::ChangeProperty(_) => None,
2137 Request::DeleteProperty(_) => None,
2138 Request::GetProperty(_) => Some(xproto::GetPropertyRequest::parse_reply),
2139 Request::ListProperties(_) => Some(xproto::ListPropertiesRequest::parse_reply),
2140 Request::SetSelectionOwner(_) => None,
2141 Request::GetSelectionOwner(_) => Some(xproto::GetSelectionOwnerRequest::parse_reply),
2142 Request::ConvertSelection(_) => None,
2143 Request::SendEvent(_) => None,
2144 Request::GrabPointer(_) => Some(xproto::GrabPointerRequest::parse_reply),
2145 Request::UngrabPointer(_) => None,
2146 Request::GrabButton(_) => None,
2147 Request::UngrabButton(_) => None,
2148 Request::ChangeActivePointerGrab(_) => None,
2149 Request::GrabKeyboard(_) => Some(xproto::GrabKeyboardRequest::parse_reply),
2150 Request::UngrabKeyboard(_) => None,
2151 Request::GrabKey(_) => None,
2152 Request::UngrabKey(_) => None,
2153 Request::AllowEvents(_) => None,
2154 Request::GrabServer(_) => None,
2155 Request::UngrabServer(_) => None,
2156 Request::QueryPointer(_) => Some(xproto::QueryPointerRequest::parse_reply),
2157 Request::GetMotionEvents(_) => Some(xproto::GetMotionEventsRequest::parse_reply),
2158 Request::TranslateCoordinates(_) => Some(xproto::TranslateCoordinatesRequest::parse_reply),
2159 Request::WarpPointer(_) => None,
2160 Request::SetInputFocus(_) => None,
2161 Request::GetInputFocus(_) => Some(xproto::GetInputFocusRequest::parse_reply),
2162 Request::QueryKeymap(_) => Some(xproto::QueryKeymapRequest::parse_reply),
2163 Request::OpenFont(_) => None,
2164 Request::CloseFont(_) => None,
2165 Request::QueryFont(_) => Some(xproto::QueryFontRequest::parse_reply),
2166 Request::QueryTextExtents(_) => Some(xproto::QueryTextExtentsRequest::parse_reply),
2167 Request::ListFonts(_) => Some(xproto::ListFontsRequest::parse_reply),
2168 Request::ListFontsWithInfo(_) => Some(xproto::ListFontsWithInfoRequest::parse_reply),
2169 Request::SetFontPath(_) => None,
2170 Request::GetFontPath(_) => Some(xproto::GetFontPathRequest::parse_reply),
2171 Request::CreatePixmap(_) => None,
2172 Request::FreePixmap(_) => None,
2173 Request::CreateGC(_) => None,
2174 Request::ChangeGC(_) => None,
2175 Request::CopyGC(_) => None,
2176 Request::SetDashes(_) => None,
2177 Request::SetClipRectangles(_) => None,
2178 Request::FreeGC(_) => None,
2179 Request::ClearArea(_) => None,
2180 Request::CopyArea(_) => None,
2181 Request::CopyPlane(_) => None,
2182 Request::PolyPoint(_) => None,
2183 Request::PolyLine(_) => None,
2184 Request::PolySegment(_) => None,
2185 Request::PolyRectangle(_) => None,
2186 Request::PolyArc(_) => None,
2187 Request::FillPoly(_) => None,
2188 Request::PolyFillRectangle(_) => None,
2189 Request::PolyFillArc(_) => None,
2190 Request::PutImage(_) => None,
2191 Request::GetImage(_) => Some(xproto::GetImageRequest::parse_reply),
2192 Request::PolyText8(_) => None,
2193 Request::PolyText16(_) => None,
2194 Request::ImageText8(_) => None,
2195 Request::ImageText16(_) => None,
2196 Request::CreateColormap(_) => None,
2197 Request::FreeColormap(_) => None,
2198 Request::CopyColormapAndFree(_) => None,
2199 Request::InstallColormap(_) => None,
2200 Request::UninstallColormap(_) => None,
2201 Request::ListInstalledColormaps(_) => Some(xproto::ListInstalledColormapsRequest::parse_reply),
2202 Request::AllocColor(_) => Some(xproto::AllocColorRequest::parse_reply),
2203 Request::AllocNamedColor(_) => Some(xproto::AllocNamedColorRequest::parse_reply),
2204 Request::AllocColorCells(_) => Some(xproto::AllocColorCellsRequest::parse_reply),
2205 Request::AllocColorPlanes(_) => Some(xproto::AllocColorPlanesRequest::parse_reply),
2206 Request::FreeColors(_) => None,
2207 Request::StoreColors(_) => None,
2208 Request::StoreNamedColor(_) => None,
2209 Request::QueryColors(_) => Some(xproto::QueryColorsRequest::parse_reply),
2210 Request::LookupColor(_) => Some(xproto::LookupColorRequest::parse_reply),
2211 Request::CreateCursor(_) => None,
2212 Request::CreateGlyphCursor(_) => None,
2213 Request::FreeCursor(_) => None,
2214 Request::RecolorCursor(_) => None,
2215 Request::QueryBestSize(_) => Some(xproto::QueryBestSizeRequest::parse_reply),
2216 Request::QueryExtension(_) => Some(xproto::QueryExtensionRequest::parse_reply),
2217 Request::ListExtensions(_) => Some(xproto::ListExtensionsRequest::parse_reply),
2218 Request::ChangeKeyboardMapping(_) => None,
2219 Request::GetKeyboardMapping(_) => Some(xproto::GetKeyboardMappingRequest::parse_reply),
2220 Request::ChangeKeyboardControl(_) => None,
2221 Request::GetKeyboardControl(_) => Some(xproto::GetKeyboardControlRequest::parse_reply),
2222 Request::Bell(_) => None,
2223 Request::ChangePointerControl(_) => None,
2224 Request::GetPointerControl(_) => Some(xproto::GetPointerControlRequest::parse_reply),
2225 Request::SetScreenSaver(_) => None,
2226 Request::GetScreenSaver(_) => Some(xproto::GetScreenSaverRequest::parse_reply),
2227 Request::ChangeHosts(_) => None,
2228 Request::ListHosts(_) => Some(xproto::ListHostsRequest::parse_reply),
2229 Request::SetAccessControl(_) => None,
2230 Request::SetCloseDownMode(_) => None,
2231 Request::KillClient(_) => None,
2232 Request::RotateProperties(_) => None,
2233 Request::ForceScreenSaver(_) => None,
2234 Request::SetPointerMapping(_) => Some(xproto::SetPointerMappingRequest::parse_reply),
2235 Request::GetPointerMapping(_) => Some(xproto::GetPointerMappingRequest::parse_reply),
2236 Request::SetModifierMapping(_) => Some(xproto::SetModifierMappingRequest::parse_reply),
2237 Request::GetModifierMapping(_) => Some(xproto::GetModifierMappingRequest::parse_reply),
2238 Request::NoOperation(_) => None,
2239 Request::BigreqEnable(_) => Some(bigreq::EnableRequest::parse_reply),
2240 #[cfg(feature = "composite")]
2241 Request::CompositeQueryVersion(_) => Some(composite::QueryVersionRequest::parse_reply),
2242 #[cfg(feature = "composite")]
2243 Request::CompositeRedirectWindow(_) => None,
2244 #[cfg(feature = "composite")]
2245 Request::CompositeRedirectSubwindows(_) => None,
2246 #[cfg(feature = "composite")]
2247 Request::CompositeUnredirectWindow(_) => None,
2248 #[cfg(feature = "composite")]
2249 Request::CompositeUnredirectSubwindows(_) => None,
2250 #[cfg(feature = "composite")]
2251 Request::CompositeCreateRegionFromBorderClip(_) => None,
2252 #[cfg(feature = "composite")]
2253 Request::CompositeNameWindowPixmap(_) => None,
2254 #[cfg(feature = "composite")]
2255 Request::CompositeGetOverlayWindow(_) => Some(composite::GetOverlayWindowRequest::parse_reply),
2256 #[cfg(feature = "composite")]
2257 Request::CompositeReleaseOverlayWindow(_) => None,
2258 #[cfg(feature = "damage")]
2259 Request::DamageQueryVersion(_) => Some(damage::QueryVersionRequest::parse_reply),
2260 #[cfg(feature = "damage")]
2261 Request::DamageCreate(_) => None,
2262 #[cfg(feature = "damage")]
2263 Request::DamageDestroy(_) => None,
2264 #[cfg(feature = "damage")]
2265 Request::DamageSubtract(_) => None,
2266 #[cfg(feature = "damage")]
2267 Request::DamageAdd(_) => None,
2268 #[cfg(feature = "dpms")]
2269 Request::DpmsGetVersion(_) => Some(dpms::GetVersionRequest::parse_reply),
2270 #[cfg(feature = "dpms")]
2271 Request::DpmsCapable(_) => Some(dpms::CapableRequest::parse_reply),
2272 #[cfg(feature = "dpms")]
2273 Request::DpmsGetTimeouts(_) => Some(dpms::GetTimeoutsRequest::parse_reply),
2274 #[cfg(feature = "dpms")]
2275 Request::DpmsSetTimeouts(_) => None,
2276 #[cfg(feature = "dpms")]
2277 Request::DpmsEnable(_) => None,
2278 #[cfg(feature = "dpms")]
2279 Request::DpmsDisable(_) => None,
2280 #[cfg(feature = "dpms")]
2281 Request::DpmsForceLevel(_) => None,
2282 #[cfg(feature = "dpms")]
2283 Request::DpmsInfo(_) => Some(dpms::InfoRequest::parse_reply),
2284 #[cfg(feature = "dri2")]
2285 Request::Dri2QueryVersion(_) => Some(dri2::QueryVersionRequest::parse_reply),
2286 #[cfg(feature = "dri2")]
2287 Request::Dri2Connect(_) => Some(dri2::ConnectRequest::parse_reply),
2288 #[cfg(feature = "dri2")]
2289 Request::Dri2Authenticate(_) => Some(dri2::AuthenticateRequest::parse_reply),
2290 #[cfg(feature = "dri2")]
2291 Request::Dri2CreateDrawable(_) => None,
2292 #[cfg(feature = "dri2")]
2293 Request::Dri2DestroyDrawable(_) => None,
2294 #[cfg(feature = "dri2")]
2295 Request::Dri2GetBuffers(_) => Some(dri2::GetBuffersRequest::parse_reply),
2296 #[cfg(feature = "dri2")]
2297 Request::Dri2CopyRegion(_) => Some(dri2::CopyRegionRequest::parse_reply),
2298 #[cfg(feature = "dri2")]
2299 Request::Dri2GetBuffersWithFormat(_) => Some(dri2::GetBuffersWithFormatRequest::parse_reply),
2300 #[cfg(feature = "dri2")]
2301 Request::Dri2SwapBuffers(_) => Some(dri2::SwapBuffersRequest::parse_reply),
2302 #[cfg(feature = "dri2")]
2303 Request::Dri2GetMSC(_) => Some(dri2::GetMSCRequest::parse_reply),
2304 #[cfg(feature = "dri2")]
2305 Request::Dri2WaitMSC(_) => Some(dri2::WaitMSCRequest::parse_reply),
2306 #[cfg(feature = "dri2")]
2307 Request::Dri2WaitSBC(_) => Some(dri2::WaitSBCRequest::parse_reply),
2308 #[cfg(feature = "dri2")]
2309 Request::Dri2SwapInterval(_) => None,
2310 #[cfg(feature = "dri2")]
2311 Request::Dri2GetParam(_) => Some(dri2::GetParamRequest::parse_reply),
2312 #[cfg(feature = "dri3")]
2313 Request::Dri3QueryVersion(_) => Some(dri3::QueryVersionRequest::parse_reply),
2314 #[cfg(feature = "dri3")]
2315 Request::Dri3Open(_) => Some(dri3::OpenRequest::parse_reply),
2316 #[cfg(feature = "dri3")]
2317 Request::Dri3PixmapFromBuffer(_) => None,
2318 #[cfg(feature = "dri3")]
2319 Request::Dri3BufferFromPixmap(_) => Some(dri3::BufferFromPixmapRequest::parse_reply),
2320 #[cfg(feature = "dri3")]
2321 Request::Dri3FenceFromFD(_) => None,
2322 #[cfg(feature = "dri3")]
2323 Request::Dri3FDFromFence(_) => Some(dri3::FDFromFenceRequest::parse_reply),
2324 #[cfg(feature = "dri3")]
2325 Request::Dri3GetSupportedModifiers(_) => Some(dri3::GetSupportedModifiersRequest::parse_reply),
2326 #[cfg(feature = "dri3")]
2327 Request::Dri3PixmapFromBuffers(_) => None,
2328 #[cfg(feature = "dri3")]
2329 Request::Dri3BuffersFromPixmap(_) => Some(dri3::BuffersFromPixmapRequest::parse_reply),
2330 Request::GeQueryVersion(_) => Some(ge::QueryVersionRequest::parse_reply),
2331 #[cfg(feature = "glx")]
2332 Request::GlxRender(_) => None,
2333 #[cfg(feature = "glx")]
2334 Request::GlxRenderLarge(_) => None,
2335 #[cfg(feature = "glx")]
2336 Request::GlxCreateContext(_) => None,
2337 #[cfg(feature = "glx")]
2338 Request::GlxDestroyContext(_) => None,
2339 #[cfg(feature = "glx")]
2340 Request::GlxMakeCurrent(_) => Some(glx::MakeCurrentRequest::parse_reply),
2341 #[cfg(feature = "glx")]
2342 Request::GlxIsDirect(_) => Some(glx::IsDirectRequest::parse_reply),
2343 #[cfg(feature = "glx")]
2344 Request::GlxQueryVersion(_) => Some(glx::QueryVersionRequest::parse_reply),
2345 #[cfg(feature = "glx")]
2346 Request::GlxWaitGL(_) => None,
2347 #[cfg(feature = "glx")]
2348 Request::GlxWaitX(_) => None,
2349 #[cfg(feature = "glx")]
2350 Request::GlxCopyContext(_) => None,
2351 #[cfg(feature = "glx")]
2352 Request::GlxSwapBuffers(_) => None,
2353 #[cfg(feature = "glx")]
2354 Request::GlxUseXFont(_) => None,
2355 #[cfg(feature = "glx")]
2356 Request::GlxCreateGLXPixmap(_) => None,
2357 #[cfg(feature = "glx")]
2358 Request::GlxGetVisualConfigs(_) => Some(glx::GetVisualConfigsRequest::parse_reply),
2359 #[cfg(feature = "glx")]
2360 Request::GlxDestroyGLXPixmap(_) => None,
2361 #[cfg(feature = "glx")]
2362 Request::GlxVendorPrivate(_) => None,
2363 #[cfg(feature = "glx")]
2364 Request::GlxVendorPrivateWithReply(_) => Some(glx::VendorPrivateWithReplyRequest::parse_reply),
2365 #[cfg(feature = "glx")]
2366 Request::GlxQueryExtensionsString(_) => Some(glx::QueryExtensionsStringRequest::parse_reply),
2367 #[cfg(feature = "glx")]
2368 Request::GlxQueryServerString(_) => Some(glx::QueryServerStringRequest::parse_reply),
2369 #[cfg(feature = "glx")]
2370 Request::GlxClientInfo(_) => None,
2371 #[cfg(feature = "glx")]
2372 Request::GlxGetFBConfigs(_) => Some(glx::GetFBConfigsRequest::parse_reply),
2373 #[cfg(feature = "glx")]
2374 Request::GlxCreatePixmap(_) => None,
2375 #[cfg(feature = "glx")]
2376 Request::GlxDestroyPixmap(_) => None,
2377 #[cfg(feature = "glx")]
2378 Request::GlxCreateNewContext(_) => None,
2379 #[cfg(feature = "glx")]
2380 Request::GlxQueryContext(_) => Some(glx::QueryContextRequest::parse_reply),
2381 #[cfg(feature = "glx")]
2382 Request::GlxMakeContextCurrent(_) => Some(glx::MakeContextCurrentRequest::parse_reply),
2383 #[cfg(feature = "glx")]
2384 Request::GlxCreatePbuffer(_) => None,
2385 #[cfg(feature = "glx")]
2386 Request::GlxDestroyPbuffer(_) => None,
2387 #[cfg(feature = "glx")]
2388 Request::GlxGetDrawableAttributes(_) => Some(glx::GetDrawableAttributesRequest::parse_reply),
2389 #[cfg(feature = "glx")]
2390 Request::GlxChangeDrawableAttributes(_) => None,
2391 #[cfg(feature = "glx")]
2392 Request::GlxCreateWindow(_) => None,
2393 #[cfg(feature = "glx")]
2394 Request::GlxDeleteWindow(_) => None,
2395 #[cfg(feature = "glx")]
2396 Request::GlxSetClientInfoARB(_) => None,
2397 #[cfg(feature = "glx")]
2398 Request::GlxCreateContextAttribsARB(_) => None,
2399 #[cfg(feature = "glx")]
2400 Request::GlxSetClientInfo2ARB(_) => None,
2401 #[cfg(feature = "glx")]
2402 Request::GlxNewList(_) => None,
2403 #[cfg(feature = "glx")]
2404 Request::GlxEndList(_) => None,
2405 #[cfg(feature = "glx")]
2406 Request::GlxDeleteLists(_) => None,
2407 #[cfg(feature = "glx")]
2408 Request::GlxGenLists(_) => Some(glx::GenListsRequest::parse_reply),
2409 #[cfg(feature = "glx")]
2410 Request::GlxFeedbackBuffer(_) => None,
2411 #[cfg(feature = "glx")]
2412 Request::GlxSelectBuffer(_) => None,
2413 #[cfg(feature = "glx")]
2414 Request::GlxRenderMode(_) => Some(glx::RenderModeRequest::parse_reply),
2415 #[cfg(feature = "glx")]
2416 Request::GlxFinish(_) => Some(glx::FinishRequest::parse_reply),
2417 #[cfg(feature = "glx")]
2418 Request::GlxPixelStoref(_) => None,
2419 #[cfg(feature = "glx")]
2420 Request::GlxPixelStorei(_) => None,
2421 #[cfg(feature = "glx")]
2422 Request::GlxReadPixels(_) => Some(glx::ReadPixelsRequest::parse_reply),
2423 #[cfg(feature = "glx")]
2424 Request::GlxGetBooleanv(_) => Some(glx::GetBooleanvRequest::parse_reply),
2425 #[cfg(feature = "glx")]
2426 Request::GlxGetClipPlane(_) => Some(glx::GetClipPlaneRequest::parse_reply),
2427 #[cfg(feature = "glx")]
2428 Request::GlxGetDoublev(_) => Some(glx::GetDoublevRequest::parse_reply),
2429 #[cfg(feature = "glx")]
2430 Request::GlxGetError(_) => Some(glx::GetErrorRequest::parse_reply),
2431 #[cfg(feature = "glx")]
2432 Request::GlxGetFloatv(_) => Some(glx::GetFloatvRequest::parse_reply),
2433 #[cfg(feature = "glx")]
2434 Request::GlxGetIntegerv(_) => Some(glx::GetIntegervRequest::parse_reply),
2435 #[cfg(feature = "glx")]
2436 Request::GlxGetLightfv(_) => Some(glx::GetLightfvRequest::parse_reply),
2437 #[cfg(feature = "glx")]
2438 Request::GlxGetLightiv(_) => Some(glx::GetLightivRequest::parse_reply),
2439 #[cfg(feature = "glx")]
2440 Request::GlxGetMapdv(_) => Some(glx::GetMapdvRequest::parse_reply),
2441 #[cfg(feature = "glx")]
2442 Request::GlxGetMapfv(_) => Some(glx::GetMapfvRequest::parse_reply),
2443 #[cfg(feature = "glx")]
2444 Request::GlxGetMapiv(_) => Some(glx::GetMapivRequest::parse_reply),
2445 #[cfg(feature = "glx")]
2446 Request::GlxGetMaterialfv(_) => Some(glx::GetMaterialfvRequest::parse_reply),
2447 #[cfg(feature = "glx")]
2448 Request::GlxGetMaterialiv(_) => Some(glx::GetMaterialivRequest::parse_reply),
2449 #[cfg(feature = "glx")]
2450 Request::GlxGetPixelMapfv(_) => Some(glx::GetPixelMapfvRequest::parse_reply),
2451 #[cfg(feature = "glx")]
2452 Request::GlxGetPixelMapuiv(_) => Some(glx::GetPixelMapuivRequest::parse_reply),
2453 #[cfg(feature = "glx")]
2454 Request::GlxGetPixelMapusv(_) => Some(glx::GetPixelMapusvRequest::parse_reply),
2455 #[cfg(feature = "glx")]
2456 Request::GlxGetPolygonStipple(_) => Some(glx::GetPolygonStippleRequest::parse_reply),
2457 #[cfg(feature = "glx")]
2458 Request::GlxGetString(_) => Some(glx::GetStringRequest::parse_reply),
2459 #[cfg(feature = "glx")]
2460 Request::GlxGetTexEnvfv(_) => Some(glx::GetTexEnvfvRequest::parse_reply),
2461 #[cfg(feature = "glx")]
2462 Request::GlxGetTexEnviv(_) => Some(glx::GetTexEnvivRequest::parse_reply),
2463 #[cfg(feature = "glx")]
2464 Request::GlxGetTexGendv(_) => Some(glx::GetTexGendvRequest::parse_reply),
2465 #[cfg(feature = "glx")]
2466 Request::GlxGetTexGenfv(_) => Some(glx::GetTexGenfvRequest::parse_reply),
2467 #[cfg(feature = "glx")]
2468 Request::GlxGetTexGeniv(_) => Some(glx::GetTexGenivRequest::parse_reply),
2469 #[cfg(feature = "glx")]
2470 Request::GlxGetTexImage(_) => Some(glx::GetTexImageRequest::parse_reply),
2471 #[cfg(feature = "glx")]
2472 Request::GlxGetTexParameterfv(_) => Some(glx::GetTexParameterfvRequest::parse_reply),
2473 #[cfg(feature = "glx")]
2474 Request::GlxGetTexParameteriv(_) => Some(glx::GetTexParameterivRequest::parse_reply),
2475 #[cfg(feature = "glx")]
2476 Request::GlxGetTexLevelParameterfv(_) => Some(glx::GetTexLevelParameterfvRequest::parse_reply),
2477 #[cfg(feature = "glx")]
2478 Request::GlxGetTexLevelParameteriv(_) => Some(glx::GetTexLevelParameterivRequest::parse_reply),
2479 #[cfg(feature = "glx")]
2480 Request::GlxIsEnabled(_) => Some(glx::IsEnabledRequest::parse_reply),
2481 #[cfg(feature = "glx")]
2482 Request::GlxIsList(_) => Some(glx::IsListRequest::parse_reply),
2483 #[cfg(feature = "glx")]
2484 Request::GlxFlush(_) => None,
2485 #[cfg(feature = "glx")]
2486 Request::GlxAreTexturesResident(_) => Some(glx::AreTexturesResidentRequest::parse_reply),
2487 #[cfg(feature = "glx")]
2488 Request::GlxDeleteTextures(_) => None,
2489 #[cfg(feature = "glx")]
2490 Request::GlxGenTextures(_) => Some(glx::GenTexturesRequest::parse_reply),
2491 #[cfg(feature = "glx")]
2492 Request::GlxIsTexture(_) => Some(glx::IsTextureRequest::parse_reply),
2493 #[cfg(feature = "glx")]
2494 Request::GlxGetColorTable(_) => Some(glx::GetColorTableRequest::parse_reply),
2495 #[cfg(feature = "glx")]
2496 Request::GlxGetColorTableParameterfv(_) => Some(glx::GetColorTableParameterfvRequest::parse_reply),
2497 #[cfg(feature = "glx")]
2498 Request::GlxGetColorTableParameteriv(_) => Some(glx::GetColorTableParameterivRequest::parse_reply),
2499 #[cfg(feature = "glx")]
2500 Request::GlxGetConvolutionFilter(_) => Some(glx::GetConvolutionFilterRequest::parse_reply),
2501 #[cfg(feature = "glx")]
2502 Request::GlxGetConvolutionParameterfv(_) => Some(glx::GetConvolutionParameterfvRequest::parse_reply),
2503 #[cfg(feature = "glx")]
2504 Request::GlxGetConvolutionParameteriv(_) => Some(glx::GetConvolutionParameterivRequest::parse_reply),
2505 #[cfg(feature = "glx")]
2506 Request::GlxGetSeparableFilter(_) => Some(glx::GetSeparableFilterRequest::parse_reply),
2507 #[cfg(feature = "glx")]
2508 Request::GlxGetHistogram(_) => Some(glx::GetHistogramRequest::parse_reply),
2509 #[cfg(feature = "glx")]
2510 Request::GlxGetHistogramParameterfv(_) => Some(glx::GetHistogramParameterfvRequest::parse_reply),
2511 #[cfg(feature = "glx")]
2512 Request::GlxGetHistogramParameteriv(_) => Some(glx::GetHistogramParameterivRequest::parse_reply),
2513 #[cfg(feature = "glx")]
2514 Request::GlxGetMinmax(_) => Some(glx::GetMinmaxRequest::parse_reply),
2515 #[cfg(feature = "glx")]
2516 Request::GlxGetMinmaxParameterfv(_) => Some(glx::GetMinmaxParameterfvRequest::parse_reply),
2517 #[cfg(feature = "glx")]
2518 Request::GlxGetMinmaxParameteriv(_) => Some(glx::GetMinmaxParameterivRequest::parse_reply),
2519 #[cfg(feature = "glx")]
2520 Request::GlxGetCompressedTexImageARB(_) => Some(glx::GetCompressedTexImageARBRequest::parse_reply),
2521 #[cfg(feature = "glx")]
2522 Request::GlxDeleteQueriesARB(_) => None,
2523 #[cfg(feature = "glx")]
2524 Request::GlxGenQueriesARB(_) => Some(glx::GenQueriesARBRequest::parse_reply),
2525 #[cfg(feature = "glx")]
2526 Request::GlxIsQueryARB(_) => Some(glx::IsQueryARBRequest::parse_reply),
2527 #[cfg(feature = "glx")]
2528 Request::GlxGetQueryivARB(_) => Some(glx::GetQueryivARBRequest::parse_reply),
2529 #[cfg(feature = "glx")]
2530 Request::GlxGetQueryObjectivARB(_) => Some(glx::GetQueryObjectivARBRequest::parse_reply),
2531 #[cfg(feature = "glx")]
2532 Request::GlxGetQueryObjectuivARB(_) => Some(glx::GetQueryObjectuivARBRequest::parse_reply),
2533 #[cfg(feature = "present")]
2534 Request::PresentQueryVersion(_) => Some(present::QueryVersionRequest::parse_reply),
2535 #[cfg(feature = "present")]
2536 Request::PresentPixmap(_) => None,
2537 #[cfg(feature = "present")]
2538 Request::PresentNotifyMSC(_) => None,
2539 #[cfg(feature = "present")]
2540 Request::PresentSelectInput(_) => None,
2541 #[cfg(feature = "present")]
2542 Request::PresentQueryCapabilities(_) => Some(present::QueryCapabilitiesRequest::parse_reply),
2543 #[cfg(feature = "randr")]
2544 Request::RandrQueryVersion(_) => Some(randr::QueryVersionRequest::parse_reply),
2545 #[cfg(feature = "randr")]
2546 Request::RandrSetScreenConfig(_) => Some(randr::SetScreenConfigRequest::parse_reply),
2547 #[cfg(feature = "randr")]
2548 Request::RandrSelectInput(_) => None,
2549 #[cfg(feature = "randr")]
2550 Request::RandrGetScreenInfo(_) => Some(randr::GetScreenInfoRequest::parse_reply),
2551 #[cfg(feature = "randr")]
2552 Request::RandrGetScreenSizeRange(_) => Some(randr::GetScreenSizeRangeRequest::parse_reply),
2553 #[cfg(feature = "randr")]
2554 Request::RandrSetScreenSize(_) => None,
2555 #[cfg(feature = "randr")]
2556 Request::RandrGetScreenResources(_) => Some(randr::GetScreenResourcesRequest::parse_reply),
2557 #[cfg(feature = "randr")]
2558 Request::RandrGetOutputInfo(_) => Some(randr::GetOutputInfoRequest::parse_reply),
2559 #[cfg(feature = "randr")]
2560 Request::RandrListOutputProperties(_) => Some(randr::ListOutputPropertiesRequest::parse_reply),
2561 #[cfg(feature = "randr")]
2562 Request::RandrQueryOutputProperty(_) => Some(randr::QueryOutputPropertyRequest::parse_reply),
2563 #[cfg(feature = "randr")]
2564 Request::RandrConfigureOutputProperty(_) => None,
2565 #[cfg(feature = "randr")]
2566 Request::RandrChangeOutputProperty(_) => None,
2567 #[cfg(feature = "randr")]
2568 Request::RandrDeleteOutputProperty(_) => None,
2569 #[cfg(feature = "randr")]
2570 Request::RandrGetOutputProperty(_) => Some(randr::GetOutputPropertyRequest::parse_reply),
2571 #[cfg(feature = "randr")]
2572 Request::RandrCreateMode(_) => Some(randr::CreateModeRequest::parse_reply),
2573 #[cfg(feature = "randr")]
2574 Request::RandrDestroyMode(_) => None,
2575 #[cfg(feature = "randr")]
2576 Request::RandrAddOutputMode(_) => None,
2577 #[cfg(feature = "randr")]
2578 Request::RandrDeleteOutputMode(_) => None,
2579 #[cfg(feature = "randr")]
2580 Request::RandrGetCrtcInfo(_) => Some(randr::GetCrtcInfoRequest::parse_reply),
2581 #[cfg(feature = "randr")]
2582 Request::RandrSetCrtcConfig(_) => Some(randr::SetCrtcConfigRequest::parse_reply),
2583 #[cfg(feature = "randr")]
2584 Request::RandrGetCrtcGammaSize(_) => Some(randr::GetCrtcGammaSizeRequest::parse_reply),
2585 #[cfg(feature = "randr")]
2586 Request::RandrGetCrtcGamma(_) => Some(randr::GetCrtcGammaRequest::parse_reply),
2587 #[cfg(feature = "randr")]
2588 Request::RandrSetCrtcGamma(_) => None,
2589 #[cfg(feature = "randr")]
2590 Request::RandrGetScreenResourcesCurrent(_) => Some(randr::GetScreenResourcesCurrentRequest::parse_reply),
2591 #[cfg(feature = "randr")]
2592 Request::RandrSetCrtcTransform(_) => None,
2593 #[cfg(feature = "randr")]
2594 Request::RandrGetCrtcTransform(_) => Some(randr::GetCrtcTransformRequest::parse_reply),
2595 #[cfg(feature = "randr")]
2596 Request::RandrGetPanning(_) => Some(randr::GetPanningRequest::parse_reply),
2597 #[cfg(feature = "randr")]
2598 Request::RandrSetPanning(_) => Some(randr::SetPanningRequest::parse_reply),
2599 #[cfg(feature = "randr")]
2600 Request::RandrSetOutputPrimary(_) => None,
2601 #[cfg(feature = "randr")]
2602 Request::RandrGetOutputPrimary(_) => Some(randr::GetOutputPrimaryRequest::parse_reply),
2603 #[cfg(feature = "randr")]
2604 Request::RandrGetProviders(_) => Some(randr::GetProvidersRequest::parse_reply),
2605 #[cfg(feature = "randr")]
2606 Request::RandrGetProviderInfo(_) => Some(randr::GetProviderInfoRequest::parse_reply),
2607 #[cfg(feature = "randr")]
2608 Request::RandrSetProviderOffloadSink(_) => None,
2609 #[cfg(feature = "randr")]
2610 Request::RandrSetProviderOutputSource(_) => None,
2611 #[cfg(feature = "randr")]
2612 Request::RandrListProviderProperties(_) => Some(randr::ListProviderPropertiesRequest::parse_reply),
2613 #[cfg(feature = "randr")]
2614 Request::RandrQueryProviderProperty(_) => Some(randr::QueryProviderPropertyRequest::parse_reply),
2615 #[cfg(feature = "randr")]
2616 Request::RandrConfigureProviderProperty(_) => None,
2617 #[cfg(feature = "randr")]
2618 Request::RandrChangeProviderProperty(_) => None,
2619 #[cfg(feature = "randr")]
2620 Request::RandrDeleteProviderProperty(_) => None,
2621 #[cfg(feature = "randr")]
2622 Request::RandrGetProviderProperty(_) => Some(randr::GetProviderPropertyRequest::parse_reply),
2623 #[cfg(feature = "randr")]
2624 Request::RandrGetMonitors(_) => Some(randr::GetMonitorsRequest::parse_reply),
2625 #[cfg(feature = "randr")]
2626 Request::RandrSetMonitor(_) => None,
2627 #[cfg(feature = "randr")]
2628 Request::RandrDeleteMonitor(_) => None,
2629 #[cfg(feature = "randr")]
2630 Request::RandrCreateLease(_) => Some(randr::CreateLeaseRequest::parse_reply),
2631 #[cfg(feature = "randr")]
2632 Request::RandrFreeLease(_) => None,
2633 #[cfg(feature = "record")]
2634 Request::RecordQueryVersion(_) => Some(record::QueryVersionRequest::parse_reply),
2635 #[cfg(feature = "record")]
2636 Request::RecordCreateContext(_) => None,
2637 #[cfg(feature = "record")]
2638 Request::RecordRegisterClients(_) => None,
2639 #[cfg(feature = "record")]
2640 Request::RecordUnregisterClients(_) => None,
2641 #[cfg(feature = "record")]
2642 Request::RecordGetContext(_) => Some(record::GetContextRequest::parse_reply),
2643 #[cfg(feature = "record")]
2644 Request::RecordEnableContext(_) => Some(record::EnableContextRequest::parse_reply),
2645 #[cfg(feature = "record")]
2646 Request::RecordDisableContext(_) => None,
2647 #[cfg(feature = "record")]
2648 Request::RecordFreeContext(_) => None,
2649 #[cfg(feature = "render")]
2650 Request::RenderQueryVersion(_) => Some(render::QueryVersionRequest::parse_reply),
2651 #[cfg(feature = "render")]
2652 Request::RenderQueryPictFormats(_) => Some(render::QueryPictFormatsRequest::parse_reply),
2653 #[cfg(feature = "render")]
2654 Request::RenderQueryPictIndexValues(_) => Some(render::QueryPictIndexValuesRequest::parse_reply),
2655 #[cfg(feature = "render")]
2656 Request::RenderCreatePicture(_) => None,
2657 #[cfg(feature = "render")]
2658 Request::RenderChangePicture(_) => None,
2659 #[cfg(feature = "render")]
2660 Request::RenderSetPictureClipRectangles(_) => None,
2661 #[cfg(feature = "render")]
2662 Request::RenderFreePicture(_) => None,
2663 #[cfg(feature = "render")]
2664 Request::RenderComposite(_) => None,
2665 #[cfg(feature = "render")]
2666 Request::RenderTrapezoids(_) => None,
2667 #[cfg(feature = "render")]
2668 Request::RenderTriangles(_) => None,
2669 #[cfg(feature = "render")]
2670 Request::RenderTriStrip(_) => None,
2671 #[cfg(feature = "render")]
2672 Request::RenderTriFan(_) => None,
2673 #[cfg(feature = "render")]
2674 Request::RenderCreateGlyphSet(_) => None,
2675 #[cfg(feature = "render")]
2676 Request::RenderReferenceGlyphSet(_) => None,
2677 #[cfg(feature = "render")]
2678 Request::RenderFreeGlyphSet(_) => None,
2679 #[cfg(feature = "render")]
2680 Request::RenderAddGlyphs(_) => None,
2681 #[cfg(feature = "render")]
2682 Request::RenderFreeGlyphs(_) => None,
2683 #[cfg(feature = "render")]
2684 Request::RenderCompositeGlyphs8(_) => None,
2685 #[cfg(feature = "render")]
2686 Request::RenderCompositeGlyphs16(_) => None,
2687 #[cfg(feature = "render")]
2688 Request::RenderCompositeGlyphs32(_) => None,
2689 #[cfg(feature = "render")]
2690 Request::RenderFillRectangles(_) => None,
2691 #[cfg(feature = "render")]
2692 Request::RenderCreateCursor(_) => None,
2693 #[cfg(feature = "render")]
2694 Request::RenderSetPictureTransform(_) => None,
2695 #[cfg(feature = "render")]
2696 Request::RenderQueryFilters(_) => Some(render::QueryFiltersRequest::parse_reply),
2697 #[cfg(feature = "render")]
2698 Request::RenderSetPictureFilter(_) => None,
2699 #[cfg(feature = "render")]
2700 Request::RenderCreateAnimCursor(_) => None,
2701 #[cfg(feature = "render")]
2702 Request::RenderAddTraps(_) => None,
2703 #[cfg(feature = "render")]
2704 Request::RenderCreateSolidFill(_) => None,
2705 #[cfg(feature = "render")]
2706 Request::RenderCreateLinearGradient(_) => None,
2707 #[cfg(feature = "render")]
2708 Request::RenderCreateRadialGradient(_) => None,
2709 #[cfg(feature = "render")]
2710 Request::RenderCreateConicalGradient(_) => None,
2711 #[cfg(feature = "res")]
2712 Request::ResQueryVersion(_) => Some(res::QueryVersionRequest::parse_reply),
2713 #[cfg(feature = "res")]
2714 Request::ResQueryClients(_) => Some(res::QueryClientsRequest::parse_reply),
2715 #[cfg(feature = "res")]
2716 Request::ResQueryClientResources(_) => Some(res::QueryClientResourcesRequest::parse_reply),
2717 #[cfg(feature = "res")]
2718 Request::ResQueryClientPixmapBytes(_) => Some(res::QueryClientPixmapBytesRequest::parse_reply),
2719 #[cfg(feature = "res")]
2720 Request::ResQueryClientIds(_) => Some(res::QueryClientIdsRequest::parse_reply),
2721 #[cfg(feature = "res")]
2722 Request::ResQueryResourceBytes(_) => Some(res::QueryResourceBytesRequest::parse_reply),
2723 #[cfg(feature = "screensaver")]
2724 Request::ScreensaverQueryVersion(_) => Some(screensaver::QueryVersionRequest::parse_reply),
2725 #[cfg(feature = "screensaver")]
2726 Request::ScreensaverQueryInfo(_) => Some(screensaver::QueryInfoRequest::parse_reply),
2727 #[cfg(feature = "screensaver")]
2728 Request::ScreensaverSelectInput(_) => None,
2729 #[cfg(feature = "screensaver")]
2730 Request::ScreensaverSetAttributes(_) => None,
2731 #[cfg(feature = "screensaver")]
2732 Request::ScreensaverUnsetAttributes(_) => None,
2733 #[cfg(feature = "screensaver")]
2734 Request::ScreensaverSuspend(_) => None,
2735 #[cfg(feature = "shape")]
2736 Request::ShapeQueryVersion(_) => Some(shape::QueryVersionRequest::parse_reply),
2737 #[cfg(feature = "shape")]
2738 Request::ShapeRectangles(_) => None,
2739 #[cfg(feature = "shape")]
2740 Request::ShapeMask(_) => None,
2741 #[cfg(feature = "shape")]
2742 Request::ShapeCombine(_) => None,
2743 #[cfg(feature = "shape")]
2744 Request::ShapeOffset(_) => None,
2745 #[cfg(feature = "shape")]
2746 Request::ShapeQueryExtents(_) => Some(shape::QueryExtentsRequest::parse_reply),
2747 #[cfg(feature = "shape")]
2748 Request::ShapeSelectInput(_) => None,
2749 #[cfg(feature = "shape")]
2750 Request::ShapeInputSelected(_) => Some(shape::InputSelectedRequest::parse_reply),
2751 #[cfg(feature = "shape")]
2752 Request::ShapeGetRectangles(_) => Some(shape::GetRectanglesRequest::parse_reply),
2753 #[cfg(feature = "shm")]
2754 Request::ShmQueryVersion(_) => Some(shm::QueryVersionRequest::parse_reply),
2755 #[cfg(feature = "shm")]
2756 Request::ShmAttach(_) => None,
2757 #[cfg(feature = "shm")]
2758 Request::ShmDetach(_) => None,
2759 #[cfg(feature = "shm")]
2760 Request::ShmPutImage(_) => None,
2761 #[cfg(feature = "shm")]
2762 Request::ShmGetImage(_) => Some(shm::GetImageRequest::parse_reply),
2763 #[cfg(feature = "shm")]
2764 Request::ShmCreatePixmap(_) => None,
2765 #[cfg(feature = "shm")]
2766 Request::ShmAttachFd(_) => None,
2767 #[cfg(feature = "shm")]
2768 Request::ShmCreateSegment(_) => Some(shm::CreateSegmentRequest::parse_reply),
2769 #[cfg(feature = "sync")]
2770 Request::SyncInitialize(_) => Some(sync::InitializeRequest::parse_reply),
2771 #[cfg(feature = "sync")]
2772 Request::SyncListSystemCounters(_) => Some(sync::ListSystemCountersRequest::parse_reply),
2773 #[cfg(feature = "sync")]
2774 Request::SyncCreateCounter(_) => None,
2775 #[cfg(feature = "sync")]
2776 Request::SyncDestroyCounter(_) => None,
2777 #[cfg(feature = "sync")]
2778 Request::SyncQueryCounter(_) => Some(sync::QueryCounterRequest::parse_reply),
2779 #[cfg(feature = "sync")]
2780 Request::SyncAwait(_) => None,
2781 #[cfg(feature = "sync")]
2782 Request::SyncChangeCounter(_) => None,
2783 #[cfg(feature = "sync")]
2784 Request::SyncSetCounter(_) => None,
2785 #[cfg(feature = "sync")]
2786 Request::SyncCreateAlarm(_) => None,
2787 #[cfg(feature = "sync")]
2788 Request::SyncChangeAlarm(_) => None,
2789 #[cfg(feature = "sync")]
2790 Request::SyncDestroyAlarm(_) => None,
2791 #[cfg(feature = "sync")]
2792 Request::SyncQueryAlarm(_) => Some(sync::QueryAlarmRequest::parse_reply),
2793 #[cfg(feature = "sync")]
2794 Request::SyncSetPriority(_) => None,
2795 #[cfg(feature = "sync")]
2796 Request::SyncGetPriority(_) => Some(sync::GetPriorityRequest::parse_reply),
2797 #[cfg(feature = "sync")]
2798 Request::SyncCreateFence(_) => None,
2799 #[cfg(feature = "sync")]
2800 Request::SyncTriggerFence(_) => None,
2801 #[cfg(feature = "sync")]
2802 Request::SyncResetFence(_) => None,
2803 #[cfg(feature = "sync")]
2804 Request::SyncDestroyFence(_) => None,
2805 #[cfg(feature = "sync")]
2806 Request::SyncQueryFence(_) => Some(sync::QueryFenceRequest::parse_reply),
2807 #[cfg(feature = "sync")]
2808 Request::SyncAwaitFence(_) => None,
2809 Request::XcMiscGetVersion(_) => Some(xc_misc::GetVersionRequest::parse_reply),
2810 Request::XcMiscGetXIDRange(_) => Some(xc_misc::GetXIDRangeRequest::parse_reply),
2811 Request::XcMiscGetXIDList(_) => Some(xc_misc::GetXIDListRequest::parse_reply),
2812 #[cfg(feature = "xevie")]
2813 Request::XevieQueryVersion(_) => Some(xevie::QueryVersionRequest::parse_reply),
2814 #[cfg(feature = "xevie")]
2815 Request::XevieStart(_) => Some(xevie::StartRequest::parse_reply),
2816 #[cfg(feature = "xevie")]
2817 Request::XevieEnd(_) => Some(xevie::EndRequest::parse_reply),
2818 #[cfg(feature = "xevie")]
2819 Request::XevieSend(_) => Some(xevie::SendRequest::parse_reply),
2820 #[cfg(feature = "xevie")]
2821 Request::XevieSelectInput(_) => Some(xevie::SelectInputRequest::parse_reply),
2822 #[cfg(feature = "xf86dri")]
2823 Request::Xf86driQueryVersion(_) => Some(xf86dri::QueryVersionRequest::parse_reply),
2824 #[cfg(feature = "xf86dri")]
2825 Request::Xf86driQueryDirectRenderingCapable(_) => Some(xf86dri::QueryDirectRenderingCapableRequest::parse_reply),
2826 #[cfg(feature = "xf86dri")]
2827 Request::Xf86driOpenConnection(_) => Some(xf86dri::OpenConnectionRequest::parse_reply),
2828 #[cfg(feature = "xf86dri")]
2829 Request::Xf86driCloseConnection(_) => None,
2830 #[cfg(feature = "xf86dri")]
2831 Request::Xf86driGetClientDriverName(_) => Some(xf86dri::GetClientDriverNameRequest::parse_reply),
2832 #[cfg(feature = "xf86dri")]
2833 Request::Xf86driCreateContext(_) => Some(xf86dri::CreateContextRequest::parse_reply),
2834 #[cfg(feature = "xf86dri")]
2835 Request::Xf86driDestroyContext(_) => None,
2836 #[cfg(feature = "xf86dri")]
2837 Request::Xf86driCreateDrawable(_) => Some(xf86dri::CreateDrawableRequest::parse_reply),
2838 #[cfg(feature = "xf86dri")]
2839 Request::Xf86driDestroyDrawable(_) => None,
2840 #[cfg(feature = "xf86dri")]
2841 Request::Xf86driGetDrawableInfo(_) => Some(xf86dri::GetDrawableInfoRequest::parse_reply),
2842 #[cfg(feature = "xf86dri")]
2843 Request::Xf86driGetDeviceInfo(_) => Some(xf86dri::GetDeviceInfoRequest::parse_reply),
2844 #[cfg(feature = "xf86dri")]
2845 Request::Xf86driAuthConnection(_) => Some(xf86dri::AuthConnectionRequest::parse_reply),
2846 #[cfg(feature = "xf86vidmode")]
2847 Request::Xf86vidmodeQueryVersion(_) => Some(xf86vidmode::QueryVersionRequest::parse_reply),
2848 #[cfg(feature = "xf86vidmode")]
2849 Request::Xf86vidmodeGetModeLine(_) => Some(xf86vidmode::GetModeLineRequest::parse_reply),
2850 #[cfg(feature = "xf86vidmode")]
2851 Request::Xf86vidmodeModModeLine(_) => None,
2852 #[cfg(feature = "xf86vidmode")]
2853 Request::Xf86vidmodeSwitchMode(_) => None,
2854 #[cfg(feature = "xf86vidmode")]
2855 Request::Xf86vidmodeGetMonitor(_) => Some(xf86vidmode::GetMonitorRequest::parse_reply),
2856 #[cfg(feature = "xf86vidmode")]
2857 Request::Xf86vidmodeLockModeSwitch(_) => None,
2858 #[cfg(feature = "xf86vidmode")]
2859 Request::Xf86vidmodeGetAllModeLines(_) => Some(xf86vidmode::GetAllModeLinesRequest::parse_reply),
2860 #[cfg(feature = "xf86vidmode")]
2861 Request::Xf86vidmodeAddModeLine(_) => None,
2862 #[cfg(feature = "xf86vidmode")]
2863 Request::Xf86vidmodeDeleteModeLine(_) => None,
2864 #[cfg(feature = "xf86vidmode")]
2865 Request::Xf86vidmodeValidateModeLine(_) => Some(xf86vidmode::ValidateModeLineRequest::parse_reply),
2866 #[cfg(feature = "xf86vidmode")]
2867 Request::Xf86vidmodeSwitchToMode(_) => None,
2868 #[cfg(feature = "xf86vidmode")]
2869 Request::Xf86vidmodeGetViewPort(_) => Some(xf86vidmode::GetViewPortRequest::parse_reply),
2870 #[cfg(feature = "xf86vidmode")]
2871 Request::Xf86vidmodeSetViewPort(_) => None,
2872 #[cfg(feature = "xf86vidmode")]
2873 Request::Xf86vidmodeGetDotClocks(_) => Some(xf86vidmode::GetDotClocksRequest::parse_reply),
2874 #[cfg(feature = "xf86vidmode")]
2875 Request::Xf86vidmodeSetClientVersion(_) => None,
2876 #[cfg(feature = "xf86vidmode")]
2877 Request::Xf86vidmodeSetGamma(_) => None,
2878 #[cfg(feature = "xf86vidmode")]
2879 Request::Xf86vidmodeGetGamma(_) => Some(xf86vidmode::GetGammaRequest::parse_reply),
2880 #[cfg(feature = "xf86vidmode")]
2881 Request::Xf86vidmodeGetGammaRamp(_) => Some(xf86vidmode::GetGammaRampRequest::parse_reply),
2882 #[cfg(feature = "xf86vidmode")]
2883 Request::Xf86vidmodeSetGammaRamp(_) => None,
2884 #[cfg(feature = "xf86vidmode")]
2885 Request::Xf86vidmodeGetGammaRampSize(_) => Some(xf86vidmode::GetGammaRampSizeRequest::parse_reply),
2886 #[cfg(feature = "xf86vidmode")]
2887 Request::Xf86vidmodeGetPermissions(_) => Some(xf86vidmode::GetPermissionsRequest::parse_reply),
2888 #[cfg(feature = "xfixes")]
2889 Request::XfixesQueryVersion(_) => Some(xfixes::QueryVersionRequest::parse_reply),
2890 #[cfg(feature = "xfixes")]
2891 Request::XfixesChangeSaveSet(_) => None,
2892 #[cfg(feature = "xfixes")]
2893 Request::XfixesSelectSelectionInput(_) => None,
2894 #[cfg(feature = "xfixes")]
2895 Request::XfixesSelectCursorInput(_) => None,
2896 #[cfg(feature = "xfixes")]
2897 Request::XfixesGetCursorImage(_) => Some(xfixes::GetCursorImageRequest::parse_reply),
2898 #[cfg(feature = "xfixes")]
2899 Request::XfixesCreateRegion(_) => None,
2900 #[cfg(feature = "xfixes")]
2901 Request::XfixesCreateRegionFromBitmap(_) => None,
2902 #[cfg(feature = "xfixes")]
2903 Request::XfixesCreateRegionFromWindow(_) => None,
2904 #[cfg(feature = "xfixes")]
2905 Request::XfixesCreateRegionFromGC(_) => None,
2906 #[cfg(feature = "xfixes")]
2907 Request::XfixesCreateRegionFromPicture(_) => None,
2908 #[cfg(feature = "xfixes")]
2909 Request::XfixesDestroyRegion(_) => None,
2910 #[cfg(feature = "xfixes")]
2911 Request::XfixesSetRegion(_) => None,
2912 #[cfg(feature = "xfixes")]
2913 Request::XfixesCopyRegion(_) => None,
2914 #[cfg(feature = "xfixes")]
2915 Request::XfixesUnionRegion(_) => None,
2916 #[cfg(feature = "xfixes")]
2917 Request::XfixesIntersectRegion(_) => None,
2918 #[cfg(feature = "xfixes")]
2919 Request::XfixesSubtractRegion(_) => None,
2920 #[cfg(feature = "xfixes")]
2921 Request::XfixesInvertRegion(_) => None,
2922 #[cfg(feature = "xfixes")]
2923 Request::XfixesTranslateRegion(_) => None,
2924 #[cfg(feature = "xfixes")]
2925 Request::XfixesRegionExtents(_) => None,
2926 #[cfg(feature = "xfixes")]
2927 Request::XfixesFetchRegion(_) => Some(xfixes::FetchRegionRequest::parse_reply),
2928 #[cfg(feature = "xfixes")]
2929 Request::XfixesSetGCClipRegion(_) => None,
2930 #[cfg(feature = "xfixes")]
2931 Request::XfixesSetWindowShapeRegion(_) => None,
2932 #[cfg(feature = "xfixes")]
2933 Request::XfixesSetPictureClipRegion(_) => None,
2934 #[cfg(feature = "xfixes")]
2935 Request::XfixesSetCursorName(_) => None,
2936 #[cfg(feature = "xfixes")]
2937 Request::XfixesGetCursorName(_) => Some(xfixes::GetCursorNameRequest::parse_reply),
2938 #[cfg(feature = "xfixes")]
2939 Request::XfixesGetCursorImageAndName(_) => Some(xfixes::GetCursorImageAndNameRequest::parse_reply),
2940 #[cfg(feature = "xfixes")]
2941 Request::XfixesChangeCursor(_) => None,
2942 #[cfg(feature = "xfixes")]
2943 Request::XfixesChangeCursorByName(_) => None,
2944 #[cfg(feature = "xfixes")]
2945 Request::XfixesExpandRegion(_) => None,
2946 #[cfg(feature = "xfixes")]
2947 Request::XfixesHideCursor(_) => None,
2948 #[cfg(feature = "xfixes")]
2949 Request::XfixesShowCursor(_) => None,
2950 #[cfg(feature = "xfixes")]
2951 Request::XfixesCreatePointerBarrier(_) => None,
2952 #[cfg(feature = "xfixes")]
2953 Request::XfixesDeletePointerBarrier(_) => None,
2954 #[cfg(feature = "xinerama")]
2955 Request::XineramaQueryVersion(_) => Some(xinerama::QueryVersionRequest::parse_reply),
2956 #[cfg(feature = "xinerama")]
2957 Request::XineramaGetState(_) => Some(xinerama::GetStateRequest::parse_reply),
2958 #[cfg(feature = "xinerama")]
2959 Request::XineramaGetScreenCount(_) => Some(xinerama::GetScreenCountRequest::parse_reply),
2960 #[cfg(feature = "xinerama")]
2961 Request::XineramaGetScreenSize(_) => Some(xinerama::GetScreenSizeRequest::parse_reply),
2962 #[cfg(feature = "xinerama")]
2963 Request::XineramaIsActive(_) => Some(xinerama::IsActiveRequest::parse_reply),
2964 #[cfg(feature = "xinerama")]
2965 Request::XineramaQueryScreens(_) => Some(xinerama::QueryScreensRequest::parse_reply),
2966 #[cfg(feature = "xinput")]
2967 Request::XinputGetExtensionVersion(_) => Some(xinput::GetExtensionVersionRequest::parse_reply),
2968 #[cfg(feature = "xinput")]
2969 Request::XinputListInputDevices(_) => Some(xinput::ListInputDevicesRequest::parse_reply),
2970 #[cfg(feature = "xinput")]
2971 Request::XinputOpenDevice(_) => Some(xinput::OpenDeviceRequest::parse_reply),
2972 #[cfg(feature = "xinput")]
2973 Request::XinputCloseDevice(_) => None,
2974 #[cfg(feature = "xinput")]
2975 Request::XinputSetDeviceMode(_) => Some(xinput::SetDeviceModeRequest::parse_reply),
2976 #[cfg(feature = "xinput")]
2977 Request::XinputSelectExtensionEvent(_) => None,
2978 #[cfg(feature = "xinput")]
2979 Request::XinputGetSelectedExtensionEvents(_) => Some(xinput::GetSelectedExtensionEventsRequest::parse_reply),
2980 #[cfg(feature = "xinput")]
2981 Request::XinputChangeDeviceDontPropagateList(_) => None,
2982 #[cfg(feature = "xinput")]
2983 Request::XinputGetDeviceDontPropagateList(_) => Some(xinput::GetDeviceDontPropagateListRequest::parse_reply),
2984 #[cfg(feature = "xinput")]
2985 Request::XinputGetDeviceMotionEvents(_) => Some(xinput::GetDeviceMotionEventsRequest::parse_reply),
2986 #[cfg(feature = "xinput")]
2987 Request::XinputChangeKeyboardDevice(_) => Some(xinput::ChangeKeyboardDeviceRequest::parse_reply),
2988 #[cfg(feature = "xinput")]
2989 Request::XinputChangePointerDevice(_) => Some(xinput::ChangePointerDeviceRequest::parse_reply),
2990 #[cfg(feature = "xinput")]
2991 Request::XinputGrabDevice(_) => Some(xinput::GrabDeviceRequest::parse_reply),
2992 #[cfg(feature = "xinput")]
2993 Request::XinputUngrabDevice(_) => None,
2994 #[cfg(feature = "xinput")]
2995 Request::XinputGrabDeviceKey(_) => None,
2996 #[cfg(feature = "xinput")]
2997 Request::XinputUngrabDeviceKey(_) => None,
2998 #[cfg(feature = "xinput")]
2999 Request::XinputGrabDeviceButton(_) => None,
3000 #[cfg(feature = "xinput")]
3001 Request::XinputUngrabDeviceButton(_) => None,
3002 #[cfg(feature = "xinput")]
3003 Request::XinputAllowDeviceEvents(_) => None,
3004 #[cfg(feature = "xinput")]
3005 Request::XinputGetDeviceFocus(_) => Some(xinput::GetDeviceFocusRequest::parse_reply),
3006 #[cfg(feature = "xinput")]
3007 Request::XinputSetDeviceFocus(_) => None,
3008 #[cfg(feature = "xinput")]
3009 Request::XinputGetFeedbackControl(_) => Some(xinput::GetFeedbackControlRequest::parse_reply),
3010 #[cfg(feature = "xinput")]
3011 Request::XinputChangeFeedbackControl(_) => None,
3012 #[cfg(feature = "xinput")]
3013 Request::XinputGetDeviceKeyMapping(_) => Some(xinput::GetDeviceKeyMappingRequest::parse_reply),
3014 #[cfg(feature = "xinput")]
3015 Request::XinputChangeDeviceKeyMapping(_) => None,
3016 #[cfg(feature = "xinput")]
3017 Request::XinputGetDeviceModifierMapping(_) => Some(xinput::GetDeviceModifierMappingRequest::parse_reply),
3018 #[cfg(feature = "xinput")]
3019 Request::XinputSetDeviceModifierMapping(_) => Some(xinput::SetDeviceModifierMappingRequest::parse_reply),
3020 #[cfg(feature = "xinput")]
3021 Request::XinputGetDeviceButtonMapping(_) => Some(xinput::GetDeviceButtonMappingRequest::parse_reply),
3022 #[cfg(feature = "xinput")]
3023 Request::XinputSetDeviceButtonMapping(_) => Some(xinput::SetDeviceButtonMappingRequest::parse_reply),
3024 #[cfg(feature = "xinput")]
3025 Request::XinputQueryDeviceState(_) => Some(xinput::QueryDeviceStateRequest::parse_reply),
3026 #[cfg(feature = "xinput")]
3027 Request::XinputDeviceBell(_) => None,
3028 #[cfg(feature = "xinput")]
3029 Request::XinputSetDeviceValuators(_) => Some(xinput::SetDeviceValuatorsRequest::parse_reply),
3030 #[cfg(feature = "xinput")]
3031 Request::XinputGetDeviceControl(_) => Some(xinput::GetDeviceControlRequest::parse_reply),
3032 #[cfg(feature = "xinput")]
3033 Request::XinputChangeDeviceControl(_) => Some(xinput::ChangeDeviceControlRequest::parse_reply),
3034 #[cfg(feature = "xinput")]
3035 Request::XinputListDeviceProperties(_) => Some(xinput::ListDevicePropertiesRequest::parse_reply),
3036 #[cfg(feature = "xinput")]
3037 Request::XinputChangeDeviceProperty(_) => None,
3038 #[cfg(feature = "xinput")]
3039 Request::XinputDeleteDeviceProperty(_) => None,
3040 #[cfg(feature = "xinput")]
3041 Request::XinputGetDeviceProperty(_) => Some(xinput::GetDevicePropertyRequest::parse_reply),
3042 #[cfg(feature = "xinput")]
3043 Request::XinputXIQueryPointer(_) => Some(xinput::XIQueryPointerRequest::parse_reply),
3044 #[cfg(feature = "xinput")]
3045 Request::XinputXIWarpPointer(_) => None,
3046 #[cfg(feature = "xinput")]
3047 Request::XinputXIChangeCursor(_) => None,
3048 #[cfg(feature = "xinput")]
3049 Request::XinputXIChangeHierarchy(_) => None,
3050 #[cfg(feature = "xinput")]
3051 Request::XinputXISetClientPointer(_) => None,
3052 #[cfg(feature = "xinput")]
3053 Request::XinputXIGetClientPointer(_) => Some(xinput::XIGetClientPointerRequest::parse_reply),
3054 #[cfg(feature = "xinput")]
3055 Request::XinputXISelectEvents(_) => None,
3056 #[cfg(feature = "xinput")]
3057 Request::XinputXIQueryVersion(_) => Some(xinput::XIQueryVersionRequest::parse_reply),
3058 #[cfg(feature = "xinput")]
3059 Request::XinputXIQueryDevice(_) => Some(xinput::XIQueryDeviceRequest::parse_reply),
3060 #[cfg(feature = "xinput")]
3061 Request::XinputXISetFocus(_) => None,
3062 #[cfg(feature = "xinput")]
3063 Request::XinputXIGetFocus(_) => Some(xinput::XIGetFocusRequest::parse_reply),
3064 #[cfg(feature = "xinput")]
3065 Request::XinputXIGrabDevice(_) => Some(xinput::XIGrabDeviceRequest::parse_reply),
3066 #[cfg(feature = "xinput")]
3067 Request::XinputXIUngrabDevice(_) => None,
3068 #[cfg(feature = "xinput")]
3069 Request::XinputXIAllowEvents(_) => None,
3070 #[cfg(feature = "xinput")]
3071 Request::XinputXIPassiveGrabDevice(_) => Some(xinput::XIPassiveGrabDeviceRequest::parse_reply),
3072 #[cfg(feature = "xinput")]
3073 Request::XinputXIPassiveUngrabDevice(_) => None,
3074 #[cfg(feature = "xinput")]
3075 Request::XinputXIListProperties(_) => Some(xinput::XIListPropertiesRequest::parse_reply),
3076 #[cfg(feature = "xinput")]
3077 Request::XinputXIChangeProperty(_) => None,
3078 #[cfg(feature = "xinput")]
3079 Request::XinputXIDeleteProperty(_) => None,
3080 #[cfg(feature = "xinput")]
3081 Request::XinputXIGetProperty(_) => Some(xinput::XIGetPropertyRequest::parse_reply),
3082 #[cfg(feature = "xinput")]
3083 Request::XinputXIGetSelectedEvents(_) => Some(xinput::XIGetSelectedEventsRequest::parse_reply),
3084 #[cfg(feature = "xinput")]
3085 Request::XinputXIBarrierReleasePointer(_) => None,
3086 #[cfg(feature = "xinput")]
3087 Request::XinputSendExtensionEvent(_) => None,
3088 #[cfg(feature = "xkb")]
3089 Request::XkbUseExtension(_) => Some(xkb::UseExtensionRequest::parse_reply),
3090 #[cfg(feature = "xkb")]
3091 Request::XkbSelectEvents(_) => None,
3092 #[cfg(feature = "xkb")]
3093 Request::XkbBell(_) => None,
3094 #[cfg(feature = "xkb")]
3095 Request::XkbGetState(_) => Some(xkb::GetStateRequest::parse_reply),
3096 #[cfg(feature = "xkb")]
3097 Request::XkbLatchLockState(_) => None,
3098 #[cfg(feature = "xkb")]
3099 Request::XkbGetControls(_) => Some(xkb::GetControlsRequest::parse_reply),
3100 #[cfg(feature = "xkb")]
3101 Request::XkbSetControls(_) => None,
3102 #[cfg(feature = "xkb")]
3103 Request::XkbGetMap(_) => Some(xkb::GetMapRequest::parse_reply),
3104 #[cfg(feature = "xkb")]
3105 Request::XkbSetMap(_) => None,
3106 #[cfg(feature = "xkb")]
3107 Request::XkbGetCompatMap(_) => Some(xkb::GetCompatMapRequest::parse_reply),
3108 #[cfg(feature = "xkb")]
3109 Request::XkbSetCompatMap(_) => None,
3110 #[cfg(feature = "xkb")]
3111 Request::XkbGetIndicatorState(_) => Some(xkb::GetIndicatorStateRequest::parse_reply),
3112 #[cfg(feature = "xkb")]
3113 Request::XkbGetIndicatorMap(_) => Some(xkb::GetIndicatorMapRequest::parse_reply),
3114 #[cfg(feature = "xkb")]
3115 Request::XkbSetIndicatorMap(_) => None,
3116 #[cfg(feature = "xkb")]
3117 Request::XkbGetNamedIndicator(_) => Some(xkb::GetNamedIndicatorRequest::parse_reply),
3118 #[cfg(feature = "xkb")]
3119 Request::XkbSetNamedIndicator(_) => None,
3120 #[cfg(feature = "xkb")]
3121 Request::XkbGetNames(_) => Some(xkb::GetNamesRequest::parse_reply),
3122 #[cfg(feature = "xkb")]
3123 Request::XkbSetNames(_) => None,
3124 #[cfg(feature = "xkb")]
3125 Request::XkbPerClientFlags(_) => Some(xkb::PerClientFlagsRequest::parse_reply),
3126 #[cfg(feature = "xkb")]
3127 Request::XkbListComponents(_) => Some(xkb::ListComponentsRequest::parse_reply),
3128 #[cfg(feature = "xkb")]
3129 Request::XkbGetKbdByName(_) => Some(xkb::GetKbdByNameRequest::parse_reply),
3130 #[cfg(feature = "xkb")]
3131 Request::XkbGetDeviceInfo(_) => Some(xkb::GetDeviceInfoRequest::parse_reply),
3132 #[cfg(feature = "xkb")]
3133 Request::XkbSetDeviceInfo(_) => None,
3134 #[cfg(feature = "xkb")]
3135 Request::XkbSetDebuggingFlags(_) => Some(xkb::SetDebuggingFlagsRequest::parse_reply),
3136 #[cfg(feature = "xprint")]
3137 Request::XprintPrintQueryVersion(_) => Some(xprint::PrintQueryVersionRequest::parse_reply),
3138 #[cfg(feature = "xprint")]
3139 Request::XprintPrintGetPrinterList(_) => Some(xprint::PrintGetPrinterListRequest::parse_reply),
3140 #[cfg(feature = "xprint")]
3141 Request::XprintPrintRehashPrinterList(_) => None,
3142 #[cfg(feature = "xprint")]
3143 Request::XprintCreateContext(_) => None,
3144 #[cfg(feature = "xprint")]
3145 Request::XprintPrintSetContext(_) => None,
3146 #[cfg(feature = "xprint")]
3147 Request::XprintPrintGetContext(_) => Some(xprint::PrintGetContextRequest::parse_reply),
3148 #[cfg(feature = "xprint")]
3149 Request::XprintPrintDestroyContext(_) => None,
3150 #[cfg(feature = "xprint")]
3151 Request::XprintPrintGetScreenOfContext(_) => Some(xprint::PrintGetScreenOfContextRequest::parse_reply),
3152 #[cfg(feature = "xprint")]
3153 Request::XprintPrintStartJob(_) => None,
3154 #[cfg(feature = "xprint")]
3155 Request::XprintPrintEndJob(_) => None,
3156 #[cfg(feature = "xprint")]
3157 Request::XprintPrintStartDoc(_) => None,
3158 #[cfg(feature = "xprint")]
3159 Request::XprintPrintEndDoc(_) => None,
3160 #[cfg(feature = "xprint")]
3161 Request::XprintPrintPutDocumentData(_) => None,
3162 #[cfg(feature = "xprint")]
3163 Request::XprintPrintGetDocumentData(_) => Some(xprint::PrintGetDocumentDataRequest::parse_reply),
3164 #[cfg(feature = "xprint")]
3165 Request::XprintPrintStartPage(_) => None,
3166 #[cfg(feature = "xprint")]
3167 Request::XprintPrintEndPage(_) => None,
3168 #[cfg(feature = "xprint")]
3169 Request::XprintPrintSelectInput(_) => None,
3170 #[cfg(feature = "xprint")]
3171 Request::XprintPrintInputSelected(_) => Some(xprint::PrintInputSelectedRequest::parse_reply),
3172 #[cfg(feature = "xprint")]
3173 Request::XprintPrintGetAttributes(_) => Some(xprint::PrintGetAttributesRequest::parse_reply),
3174 #[cfg(feature = "xprint")]
3175 Request::XprintPrintGetOneAttributes(_) => Some(xprint::PrintGetOneAttributesRequest::parse_reply),
3176 #[cfg(feature = "xprint")]
3177 Request::XprintPrintSetAttributes(_) => None,
3178 #[cfg(feature = "xprint")]
3179 Request::XprintPrintGetPageDimensions(_) => Some(xprint::PrintGetPageDimensionsRequest::parse_reply),
3180 #[cfg(feature = "xprint")]
3181 Request::XprintPrintQueryScreens(_) => Some(xprint::PrintQueryScreensRequest::parse_reply),
3182 #[cfg(feature = "xprint")]
3183 Request::XprintPrintSetImageResolution(_) => Some(xprint::PrintSetImageResolutionRequest::parse_reply),
3184 #[cfg(feature = "xprint")]
3185 Request::XprintPrintGetImageResolution(_) => Some(xprint::PrintGetImageResolutionRequest::parse_reply),
3186 #[cfg(feature = "xselinux")]
3187 Request::XselinuxQueryVersion(_) => Some(xselinux::QueryVersionRequest::parse_reply),
3188 #[cfg(feature = "xselinux")]
3189 Request::XselinuxSetDeviceCreateContext(_) => None,
3190 #[cfg(feature = "xselinux")]
3191 Request::XselinuxGetDeviceCreateContext(_) => Some(xselinux::GetDeviceCreateContextRequest::parse_reply),
3192 #[cfg(feature = "xselinux")]
3193 Request::XselinuxSetDeviceContext(_) => None,
3194 #[cfg(feature = "xselinux")]
3195 Request::XselinuxGetDeviceContext(_) => Some(xselinux::GetDeviceContextRequest::parse_reply),
3196 #[cfg(feature = "xselinux")]
3197 Request::XselinuxSetWindowCreateContext(_) => None,
3198 #[cfg(feature = "xselinux")]
3199 Request::XselinuxGetWindowCreateContext(_) => Some(xselinux::GetWindowCreateContextRequest::parse_reply),
3200 #[cfg(feature = "xselinux")]
3201 Request::XselinuxGetWindowContext(_) => Some(xselinux::GetWindowContextRequest::parse_reply),
3202 #[cfg(feature = "xselinux")]
3203 Request::XselinuxSetPropertyCreateContext(_) => None,
3204 #[cfg(feature = "xselinux")]
3205 Request::XselinuxGetPropertyCreateContext(_) => Some(xselinux::GetPropertyCreateContextRequest::parse_reply),
3206 #[cfg(feature = "xselinux")]
3207 Request::XselinuxSetPropertyUseContext(_) => None,
3208 #[cfg(feature = "xselinux")]
3209 Request::XselinuxGetPropertyUseContext(_) => Some(xselinux::GetPropertyUseContextRequest::parse_reply),
3210 #[cfg(feature = "xselinux")]
3211 Request::XselinuxGetPropertyContext(_) => Some(xselinux::GetPropertyContextRequest::parse_reply),
3212 #[cfg(feature = "xselinux")]
3213 Request::XselinuxGetPropertyDataContext(_) => Some(xselinux::GetPropertyDataContextRequest::parse_reply),
3214 #[cfg(feature = "xselinux")]
3215 Request::XselinuxListProperties(_) => Some(xselinux::ListPropertiesRequest::parse_reply),
3216 #[cfg(feature = "xselinux")]
3217 Request::XselinuxSetSelectionCreateContext(_) => None,
3218 #[cfg(feature = "xselinux")]
3219 Request::XselinuxGetSelectionCreateContext(_) => Some(xselinux::GetSelectionCreateContextRequest::parse_reply),
3220 #[cfg(feature = "xselinux")]
3221 Request::XselinuxSetSelectionUseContext(_) => None,
3222 #[cfg(feature = "xselinux")]
3223 Request::XselinuxGetSelectionUseContext(_) => Some(xselinux::GetSelectionUseContextRequest::parse_reply),
3224 #[cfg(feature = "xselinux")]
3225 Request::XselinuxGetSelectionContext(_) => Some(xselinux::GetSelectionContextRequest::parse_reply),
3226 #[cfg(feature = "xselinux")]
3227 Request::XselinuxGetSelectionDataContext(_) => Some(xselinux::GetSelectionDataContextRequest::parse_reply),
3228 #[cfg(feature = "xselinux")]
3229 Request::XselinuxListSelections(_) => Some(xselinux::ListSelectionsRequest::parse_reply),
3230 #[cfg(feature = "xselinux")]
3231 Request::XselinuxGetClientContext(_) => Some(xselinux::GetClientContextRequest::parse_reply),
3232 #[cfg(feature = "xtest")]
3233 Request::XtestGetVersion(_) => Some(xtest::GetVersionRequest::parse_reply),
3234 #[cfg(feature = "xtest")]
3235 Request::XtestCompareCursor(_) => Some(xtest::CompareCursorRequest::parse_reply),
3236 #[cfg(feature = "xtest")]
3237 Request::XtestFakeInput(_) => None,
3238 #[cfg(feature = "xtest")]
3239 Request::XtestGrabControl(_) => None,
3240 #[cfg(feature = "xv")]
3241 Request::XvQueryExtension(_) => Some(xv::QueryExtensionRequest::parse_reply),
3242 #[cfg(feature = "xv")]
3243 Request::XvQueryAdaptors(_) => Some(xv::QueryAdaptorsRequest::parse_reply),
3244 #[cfg(feature = "xv")]
3245 Request::XvQueryEncodings(_) => Some(xv::QueryEncodingsRequest::parse_reply),
3246 #[cfg(feature = "xv")]
3247 Request::XvGrabPort(_) => Some(xv::GrabPortRequest::parse_reply),
3248 #[cfg(feature = "xv")]
3249 Request::XvUngrabPort(_) => None,
3250 #[cfg(feature = "xv")]
3251 Request::XvPutVideo(_) => None,
3252 #[cfg(feature = "xv")]
3253 Request::XvPutStill(_) => None,
3254 #[cfg(feature = "xv")]
3255 Request::XvGetVideo(_) => None,
3256 #[cfg(feature = "xv")]
3257 Request::XvGetStill(_) => None,
3258 #[cfg(feature = "xv")]
3259 Request::XvStopVideo(_) => None,
3260 #[cfg(feature = "xv")]
3261 Request::XvSelectVideoNotify(_) => None,
3262 #[cfg(feature = "xv")]
3263 Request::XvSelectPortNotify(_) => None,
3264 #[cfg(feature = "xv")]
3265 Request::XvQueryBestSize(_) => Some(xv::QueryBestSizeRequest::parse_reply),
3266 #[cfg(feature = "xv")]
3267 Request::XvSetPortAttribute(_) => None,
3268 #[cfg(feature = "xv")]
3269 Request::XvGetPortAttribute(_) => Some(xv::GetPortAttributeRequest::parse_reply),
3270 #[cfg(feature = "xv")]
3271 Request::XvQueryPortAttributes(_) => Some(xv::QueryPortAttributesRequest::parse_reply),
3272 #[cfg(feature = "xv")]
3273 Request::XvListImageFormats(_) => Some(xv::ListImageFormatsRequest::parse_reply),
3274 #[cfg(feature = "xv")]
3275 Request::XvQueryImageAttributes(_) => Some(xv::QueryImageAttributesRequest::parse_reply),
3276 #[cfg(feature = "xv")]
3277 Request::XvPutImage(_) => None,
3278 #[cfg(feature = "xv")]
3279 Request::XvShmPutImage(_) => None,
3280 #[cfg(feature = "xvmc")]
3281 Request::XvmcQueryVersion(_) => Some(xvmc::QueryVersionRequest::parse_reply),
3282 #[cfg(feature = "xvmc")]
3283 Request::XvmcListSurfaceTypes(_) => Some(xvmc::ListSurfaceTypesRequest::parse_reply),
3284 #[cfg(feature = "xvmc")]
3285 Request::XvmcCreateContext(_) => Some(xvmc::CreateContextRequest::parse_reply),
3286 #[cfg(feature = "xvmc")]
3287 Request::XvmcDestroyContext(_) => None,
3288 #[cfg(feature = "xvmc")]
3289 Request::XvmcCreateSurface(_) => Some(xvmc::CreateSurfaceRequest::parse_reply),
3290 #[cfg(feature = "xvmc")]
3291 Request::XvmcDestroySurface(_) => None,
3292 #[cfg(feature = "xvmc")]
3293 Request::XvmcCreateSubpicture(_) => Some(xvmc::CreateSubpictureRequest::parse_reply),
3294 #[cfg(feature = "xvmc")]
3295 Request::XvmcDestroySubpicture(_) => None,
3296 #[cfg(feature = "xvmc")]
3297 Request::XvmcListSubpictureTypes(_) => Some(xvmc::ListSubpictureTypesRequest::parse_reply),
3298 }
3299 }
3300 /// Convert this Request into an owned version with no borrows.
into_owned(self) -> Request<'static>3301 pub fn into_owned(self) -> Request<'static> {
3302 match self {
3303 Request::Unknown(header, body) => Request::Unknown(header, Cow::Owned(body.into_owned())),
3304 Request::CreateWindow(req) => Request::CreateWindow(req.into_owned()),
3305 Request::ChangeWindowAttributes(req) => Request::ChangeWindowAttributes(req.into_owned()),
3306 Request::GetWindowAttributes(req) => Request::GetWindowAttributes(req),
3307 Request::DestroyWindow(req) => Request::DestroyWindow(req),
3308 Request::DestroySubwindows(req) => Request::DestroySubwindows(req),
3309 Request::ChangeSaveSet(req) => Request::ChangeSaveSet(req),
3310 Request::ReparentWindow(req) => Request::ReparentWindow(req),
3311 Request::MapWindow(req) => Request::MapWindow(req),
3312 Request::MapSubwindows(req) => Request::MapSubwindows(req),
3313 Request::UnmapWindow(req) => Request::UnmapWindow(req),
3314 Request::UnmapSubwindows(req) => Request::UnmapSubwindows(req),
3315 Request::ConfigureWindow(req) => Request::ConfigureWindow(req.into_owned()),
3316 Request::CirculateWindow(req) => Request::CirculateWindow(req),
3317 Request::GetGeometry(req) => Request::GetGeometry(req),
3318 Request::QueryTree(req) => Request::QueryTree(req),
3319 Request::InternAtom(req) => Request::InternAtom(req.into_owned()),
3320 Request::GetAtomName(req) => Request::GetAtomName(req),
3321 Request::ChangeProperty(req) => Request::ChangeProperty(req.into_owned()),
3322 Request::DeleteProperty(req) => Request::DeleteProperty(req),
3323 Request::GetProperty(req) => Request::GetProperty(req),
3324 Request::ListProperties(req) => Request::ListProperties(req),
3325 Request::SetSelectionOwner(req) => Request::SetSelectionOwner(req),
3326 Request::GetSelectionOwner(req) => Request::GetSelectionOwner(req),
3327 Request::ConvertSelection(req) => Request::ConvertSelection(req),
3328 Request::SendEvent(req) => Request::SendEvent(req.into_owned()),
3329 Request::GrabPointer(req) => Request::GrabPointer(req),
3330 Request::UngrabPointer(req) => Request::UngrabPointer(req),
3331 Request::GrabButton(req) => Request::GrabButton(req),
3332 Request::UngrabButton(req) => Request::UngrabButton(req),
3333 Request::ChangeActivePointerGrab(req) => Request::ChangeActivePointerGrab(req),
3334 Request::GrabKeyboard(req) => Request::GrabKeyboard(req),
3335 Request::UngrabKeyboard(req) => Request::UngrabKeyboard(req),
3336 Request::GrabKey(req) => Request::GrabKey(req),
3337 Request::UngrabKey(req) => Request::UngrabKey(req),
3338 Request::AllowEvents(req) => Request::AllowEvents(req),
3339 Request::GrabServer(req) => Request::GrabServer(req),
3340 Request::UngrabServer(req) => Request::UngrabServer(req),
3341 Request::QueryPointer(req) => Request::QueryPointer(req),
3342 Request::GetMotionEvents(req) => Request::GetMotionEvents(req),
3343 Request::TranslateCoordinates(req) => Request::TranslateCoordinates(req),
3344 Request::WarpPointer(req) => Request::WarpPointer(req),
3345 Request::SetInputFocus(req) => Request::SetInputFocus(req),
3346 Request::GetInputFocus(req) => Request::GetInputFocus(req),
3347 Request::QueryKeymap(req) => Request::QueryKeymap(req),
3348 Request::OpenFont(req) => Request::OpenFont(req.into_owned()),
3349 Request::CloseFont(req) => Request::CloseFont(req),
3350 Request::QueryFont(req) => Request::QueryFont(req),
3351 Request::QueryTextExtents(req) => Request::QueryTextExtents(req.into_owned()),
3352 Request::ListFonts(req) => Request::ListFonts(req.into_owned()),
3353 Request::ListFontsWithInfo(req) => Request::ListFontsWithInfo(req.into_owned()),
3354 Request::SetFontPath(req) => Request::SetFontPath(req.into_owned()),
3355 Request::GetFontPath(req) => Request::GetFontPath(req),
3356 Request::CreatePixmap(req) => Request::CreatePixmap(req),
3357 Request::FreePixmap(req) => Request::FreePixmap(req),
3358 Request::CreateGC(req) => Request::CreateGC(req.into_owned()),
3359 Request::ChangeGC(req) => Request::ChangeGC(req.into_owned()),
3360 Request::CopyGC(req) => Request::CopyGC(req),
3361 Request::SetDashes(req) => Request::SetDashes(req.into_owned()),
3362 Request::SetClipRectangles(req) => Request::SetClipRectangles(req.into_owned()),
3363 Request::FreeGC(req) => Request::FreeGC(req),
3364 Request::ClearArea(req) => Request::ClearArea(req),
3365 Request::CopyArea(req) => Request::CopyArea(req),
3366 Request::CopyPlane(req) => Request::CopyPlane(req),
3367 Request::PolyPoint(req) => Request::PolyPoint(req.into_owned()),
3368 Request::PolyLine(req) => Request::PolyLine(req.into_owned()),
3369 Request::PolySegment(req) => Request::PolySegment(req.into_owned()),
3370 Request::PolyRectangle(req) => Request::PolyRectangle(req.into_owned()),
3371 Request::PolyArc(req) => Request::PolyArc(req.into_owned()),
3372 Request::FillPoly(req) => Request::FillPoly(req.into_owned()),
3373 Request::PolyFillRectangle(req) => Request::PolyFillRectangle(req.into_owned()),
3374 Request::PolyFillArc(req) => Request::PolyFillArc(req.into_owned()),
3375 Request::PutImage(req) => Request::PutImage(req.into_owned()),
3376 Request::GetImage(req) => Request::GetImage(req),
3377 Request::PolyText8(req) => Request::PolyText8(req.into_owned()),
3378 Request::PolyText16(req) => Request::PolyText16(req.into_owned()),
3379 Request::ImageText8(req) => Request::ImageText8(req.into_owned()),
3380 Request::ImageText16(req) => Request::ImageText16(req.into_owned()),
3381 Request::CreateColormap(req) => Request::CreateColormap(req),
3382 Request::FreeColormap(req) => Request::FreeColormap(req),
3383 Request::CopyColormapAndFree(req) => Request::CopyColormapAndFree(req),
3384 Request::InstallColormap(req) => Request::InstallColormap(req),
3385 Request::UninstallColormap(req) => Request::UninstallColormap(req),
3386 Request::ListInstalledColormaps(req) => Request::ListInstalledColormaps(req),
3387 Request::AllocColor(req) => Request::AllocColor(req),
3388 Request::AllocNamedColor(req) => Request::AllocNamedColor(req.into_owned()),
3389 Request::AllocColorCells(req) => Request::AllocColorCells(req),
3390 Request::AllocColorPlanes(req) => Request::AllocColorPlanes(req),
3391 Request::FreeColors(req) => Request::FreeColors(req.into_owned()),
3392 Request::StoreColors(req) => Request::StoreColors(req.into_owned()),
3393 Request::StoreNamedColor(req) => Request::StoreNamedColor(req.into_owned()),
3394 Request::QueryColors(req) => Request::QueryColors(req.into_owned()),
3395 Request::LookupColor(req) => Request::LookupColor(req.into_owned()),
3396 Request::CreateCursor(req) => Request::CreateCursor(req),
3397 Request::CreateGlyphCursor(req) => Request::CreateGlyphCursor(req),
3398 Request::FreeCursor(req) => Request::FreeCursor(req),
3399 Request::RecolorCursor(req) => Request::RecolorCursor(req),
3400 Request::QueryBestSize(req) => Request::QueryBestSize(req),
3401 Request::QueryExtension(req) => Request::QueryExtension(req.into_owned()),
3402 Request::ListExtensions(req) => Request::ListExtensions(req),
3403 Request::ChangeKeyboardMapping(req) => Request::ChangeKeyboardMapping(req.into_owned()),
3404 Request::GetKeyboardMapping(req) => Request::GetKeyboardMapping(req),
3405 Request::ChangeKeyboardControl(req) => Request::ChangeKeyboardControl(req.into_owned()),
3406 Request::GetKeyboardControl(req) => Request::GetKeyboardControl(req),
3407 Request::Bell(req) => Request::Bell(req),
3408 Request::ChangePointerControl(req) => Request::ChangePointerControl(req),
3409 Request::GetPointerControl(req) => Request::GetPointerControl(req),
3410 Request::SetScreenSaver(req) => Request::SetScreenSaver(req),
3411 Request::GetScreenSaver(req) => Request::GetScreenSaver(req),
3412 Request::ChangeHosts(req) => Request::ChangeHosts(req.into_owned()),
3413 Request::ListHosts(req) => Request::ListHosts(req),
3414 Request::SetAccessControl(req) => Request::SetAccessControl(req),
3415 Request::SetCloseDownMode(req) => Request::SetCloseDownMode(req),
3416 Request::KillClient(req) => Request::KillClient(req),
3417 Request::RotateProperties(req) => Request::RotateProperties(req.into_owned()),
3418 Request::ForceScreenSaver(req) => Request::ForceScreenSaver(req),
3419 Request::SetPointerMapping(req) => Request::SetPointerMapping(req.into_owned()),
3420 Request::GetPointerMapping(req) => Request::GetPointerMapping(req),
3421 Request::SetModifierMapping(req) => Request::SetModifierMapping(req.into_owned()),
3422 Request::GetModifierMapping(req) => Request::GetModifierMapping(req),
3423 Request::NoOperation(req) => Request::NoOperation(req),
3424 Request::BigreqEnable(req) => Request::BigreqEnable(req),
3425 #[cfg(feature = "composite")]
3426 Request::CompositeQueryVersion(req) => Request::CompositeQueryVersion(req),
3427 #[cfg(feature = "composite")]
3428 Request::CompositeRedirectWindow(req) => Request::CompositeRedirectWindow(req),
3429 #[cfg(feature = "composite")]
3430 Request::CompositeRedirectSubwindows(req) => Request::CompositeRedirectSubwindows(req),
3431 #[cfg(feature = "composite")]
3432 Request::CompositeUnredirectWindow(req) => Request::CompositeUnredirectWindow(req),
3433 #[cfg(feature = "composite")]
3434 Request::CompositeUnredirectSubwindows(req) => Request::CompositeUnredirectSubwindows(req),
3435 #[cfg(feature = "composite")]
3436 Request::CompositeCreateRegionFromBorderClip(req) => Request::CompositeCreateRegionFromBorderClip(req),
3437 #[cfg(feature = "composite")]
3438 Request::CompositeNameWindowPixmap(req) => Request::CompositeNameWindowPixmap(req),
3439 #[cfg(feature = "composite")]
3440 Request::CompositeGetOverlayWindow(req) => Request::CompositeGetOverlayWindow(req),
3441 #[cfg(feature = "composite")]
3442 Request::CompositeReleaseOverlayWindow(req) => Request::CompositeReleaseOverlayWindow(req),
3443 #[cfg(feature = "damage")]
3444 Request::DamageQueryVersion(req) => Request::DamageQueryVersion(req),
3445 #[cfg(feature = "damage")]
3446 Request::DamageCreate(req) => Request::DamageCreate(req),
3447 #[cfg(feature = "damage")]
3448 Request::DamageDestroy(req) => Request::DamageDestroy(req),
3449 #[cfg(feature = "damage")]
3450 Request::DamageSubtract(req) => Request::DamageSubtract(req),
3451 #[cfg(feature = "damage")]
3452 Request::DamageAdd(req) => Request::DamageAdd(req),
3453 #[cfg(feature = "dpms")]
3454 Request::DpmsGetVersion(req) => Request::DpmsGetVersion(req),
3455 #[cfg(feature = "dpms")]
3456 Request::DpmsCapable(req) => Request::DpmsCapable(req),
3457 #[cfg(feature = "dpms")]
3458 Request::DpmsGetTimeouts(req) => Request::DpmsGetTimeouts(req),
3459 #[cfg(feature = "dpms")]
3460 Request::DpmsSetTimeouts(req) => Request::DpmsSetTimeouts(req),
3461 #[cfg(feature = "dpms")]
3462 Request::DpmsEnable(req) => Request::DpmsEnable(req),
3463 #[cfg(feature = "dpms")]
3464 Request::DpmsDisable(req) => Request::DpmsDisable(req),
3465 #[cfg(feature = "dpms")]
3466 Request::DpmsForceLevel(req) => Request::DpmsForceLevel(req),
3467 #[cfg(feature = "dpms")]
3468 Request::DpmsInfo(req) => Request::DpmsInfo(req),
3469 #[cfg(feature = "dri2")]
3470 Request::Dri2QueryVersion(req) => Request::Dri2QueryVersion(req),
3471 #[cfg(feature = "dri2")]
3472 Request::Dri2Connect(req) => Request::Dri2Connect(req),
3473 #[cfg(feature = "dri2")]
3474 Request::Dri2Authenticate(req) => Request::Dri2Authenticate(req),
3475 #[cfg(feature = "dri2")]
3476 Request::Dri2CreateDrawable(req) => Request::Dri2CreateDrawable(req),
3477 #[cfg(feature = "dri2")]
3478 Request::Dri2DestroyDrawable(req) => Request::Dri2DestroyDrawable(req),
3479 #[cfg(feature = "dri2")]
3480 Request::Dri2GetBuffers(req) => Request::Dri2GetBuffers(req.into_owned()),
3481 #[cfg(feature = "dri2")]
3482 Request::Dri2CopyRegion(req) => Request::Dri2CopyRegion(req),
3483 #[cfg(feature = "dri2")]
3484 Request::Dri2GetBuffersWithFormat(req) => Request::Dri2GetBuffersWithFormat(req.into_owned()),
3485 #[cfg(feature = "dri2")]
3486 Request::Dri2SwapBuffers(req) => Request::Dri2SwapBuffers(req),
3487 #[cfg(feature = "dri2")]
3488 Request::Dri2GetMSC(req) => Request::Dri2GetMSC(req),
3489 #[cfg(feature = "dri2")]
3490 Request::Dri2WaitMSC(req) => Request::Dri2WaitMSC(req),
3491 #[cfg(feature = "dri2")]
3492 Request::Dri2WaitSBC(req) => Request::Dri2WaitSBC(req),
3493 #[cfg(feature = "dri2")]
3494 Request::Dri2SwapInterval(req) => Request::Dri2SwapInterval(req),
3495 #[cfg(feature = "dri2")]
3496 Request::Dri2GetParam(req) => Request::Dri2GetParam(req),
3497 #[cfg(feature = "dri3")]
3498 Request::Dri3QueryVersion(req) => Request::Dri3QueryVersion(req),
3499 #[cfg(feature = "dri3")]
3500 Request::Dri3Open(req) => Request::Dri3Open(req),
3501 #[cfg(feature = "dri3")]
3502 Request::Dri3PixmapFromBuffer(req) => Request::Dri3PixmapFromBuffer(req),
3503 #[cfg(feature = "dri3")]
3504 Request::Dri3BufferFromPixmap(req) => Request::Dri3BufferFromPixmap(req),
3505 #[cfg(feature = "dri3")]
3506 Request::Dri3FenceFromFD(req) => Request::Dri3FenceFromFD(req),
3507 #[cfg(feature = "dri3")]
3508 Request::Dri3FDFromFence(req) => Request::Dri3FDFromFence(req),
3509 #[cfg(feature = "dri3")]
3510 Request::Dri3GetSupportedModifiers(req) => Request::Dri3GetSupportedModifiers(req),
3511 #[cfg(feature = "dri3")]
3512 Request::Dri3PixmapFromBuffers(req) => Request::Dri3PixmapFromBuffers(req),
3513 #[cfg(feature = "dri3")]
3514 Request::Dri3BuffersFromPixmap(req) => Request::Dri3BuffersFromPixmap(req),
3515 Request::GeQueryVersion(req) => Request::GeQueryVersion(req),
3516 #[cfg(feature = "glx")]
3517 Request::GlxRender(req) => Request::GlxRender(req.into_owned()),
3518 #[cfg(feature = "glx")]
3519 Request::GlxRenderLarge(req) => Request::GlxRenderLarge(req.into_owned()),
3520 #[cfg(feature = "glx")]
3521 Request::GlxCreateContext(req) => Request::GlxCreateContext(req),
3522 #[cfg(feature = "glx")]
3523 Request::GlxDestroyContext(req) => Request::GlxDestroyContext(req),
3524 #[cfg(feature = "glx")]
3525 Request::GlxMakeCurrent(req) => Request::GlxMakeCurrent(req),
3526 #[cfg(feature = "glx")]
3527 Request::GlxIsDirect(req) => Request::GlxIsDirect(req),
3528 #[cfg(feature = "glx")]
3529 Request::GlxQueryVersion(req) => Request::GlxQueryVersion(req),
3530 #[cfg(feature = "glx")]
3531 Request::GlxWaitGL(req) => Request::GlxWaitGL(req),
3532 #[cfg(feature = "glx")]
3533 Request::GlxWaitX(req) => Request::GlxWaitX(req),
3534 #[cfg(feature = "glx")]
3535 Request::GlxCopyContext(req) => Request::GlxCopyContext(req),
3536 #[cfg(feature = "glx")]
3537 Request::GlxSwapBuffers(req) => Request::GlxSwapBuffers(req),
3538 #[cfg(feature = "glx")]
3539 Request::GlxUseXFont(req) => Request::GlxUseXFont(req),
3540 #[cfg(feature = "glx")]
3541 Request::GlxCreateGLXPixmap(req) => Request::GlxCreateGLXPixmap(req),
3542 #[cfg(feature = "glx")]
3543 Request::GlxGetVisualConfigs(req) => Request::GlxGetVisualConfigs(req),
3544 #[cfg(feature = "glx")]
3545 Request::GlxDestroyGLXPixmap(req) => Request::GlxDestroyGLXPixmap(req),
3546 #[cfg(feature = "glx")]
3547 Request::GlxVendorPrivate(req) => Request::GlxVendorPrivate(req.into_owned()),
3548 #[cfg(feature = "glx")]
3549 Request::GlxVendorPrivateWithReply(req) => Request::GlxVendorPrivateWithReply(req.into_owned()),
3550 #[cfg(feature = "glx")]
3551 Request::GlxQueryExtensionsString(req) => Request::GlxQueryExtensionsString(req),
3552 #[cfg(feature = "glx")]
3553 Request::GlxQueryServerString(req) => Request::GlxQueryServerString(req),
3554 #[cfg(feature = "glx")]
3555 Request::GlxClientInfo(req) => Request::GlxClientInfo(req.into_owned()),
3556 #[cfg(feature = "glx")]
3557 Request::GlxGetFBConfigs(req) => Request::GlxGetFBConfigs(req),
3558 #[cfg(feature = "glx")]
3559 Request::GlxCreatePixmap(req) => Request::GlxCreatePixmap(req.into_owned()),
3560 #[cfg(feature = "glx")]
3561 Request::GlxDestroyPixmap(req) => Request::GlxDestroyPixmap(req),
3562 #[cfg(feature = "glx")]
3563 Request::GlxCreateNewContext(req) => Request::GlxCreateNewContext(req),
3564 #[cfg(feature = "glx")]
3565 Request::GlxQueryContext(req) => Request::GlxQueryContext(req),
3566 #[cfg(feature = "glx")]
3567 Request::GlxMakeContextCurrent(req) => Request::GlxMakeContextCurrent(req),
3568 #[cfg(feature = "glx")]
3569 Request::GlxCreatePbuffer(req) => Request::GlxCreatePbuffer(req.into_owned()),
3570 #[cfg(feature = "glx")]
3571 Request::GlxDestroyPbuffer(req) => Request::GlxDestroyPbuffer(req),
3572 #[cfg(feature = "glx")]
3573 Request::GlxGetDrawableAttributes(req) => Request::GlxGetDrawableAttributes(req),
3574 #[cfg(feature = "glx")]
3575 Request::GlxChangeDrawableAttributes(req) => Request::GlxChangeDrawableAttributes(req.into_owned()),
3576 #[cfg(feature = "glx")]
3577 Request::GlxCreateWindow(req) => Request::GlxCreateWindow(req.into_owned()),
3578 #[cfg(feature = "glx")]
3579 Request::GlxDeleteWindow(req) => Request::GlxDeleteWindow(req),
3580 #[cfg(feature = "glx")]
3581 Request::GlxSetClientInfoARB(req) => Request::GlxSetClientInfoARB(req.into_owned()),
3582 #[cfg(feature = "glx")]
3583 Request::GlxCreateContextAttribsARB(req) => Request::GlxCreateContextAttribsARB(req.into_owned()),
3584 #[cfg(feature = "glx")]
3585 Request::GlxSetClientInfo2ARB(req) => Request::GlxSetClientInfo2ARB(req.into_owned()),
3586 #[cfg(feature = "glx")]
3587 Request::GlxNewList(req) => Request::GlxNewList(req),
3588 #[cfg(feature = "glx")]
3589 Request::GlxEndList(req) => Request::GlxEndList(req),
3590 #[cfg(feature = "glx")]
3591 Request::GlxDeleteLists(req) => Request::GlxDeleteLists(req),
3592 #[cfg(feature = "glx")]
3593 Request::GlxGenLists(req) => Request::GlxGenLists(req),
3594 #[cfg(feature = "glx")]
3595 Request::GlxFeedbackBuffer(req) => Request::GlxFeedbackBuffer(req),
3596 #[cfg(feature = "glx")]
3597 Request::GlxSelectBuffer(req) => Request::GlxSelectBuffer(req),
3598 #[cfg(feature = "glx")]
3599 Request::GlxRenderMode(req) => Request::GlxRenderMode(req),
3600 #[cfg(feature = "glx")]
3601 Request::GlxFinish(req) => Request::GlxFinish(req),
3602 #[cfg(feature = "glx")]
3603 Request::GlxPixelStoref(req) => Request::GlxPixelStoref(req),
3604 #[cfg(feature = "glx")]
3605 Request::GlxPixelStorei(req) => Request::GlxPixelStorei(req),
3606 #[cfg(feature = "glx")]
3607 Request::GlxReadPixels(req) => Request::GlxReadPixels(req),
3608 #[cfg(feature = "glx")]
3609 Request::GlxGetBooleanv(req) => Request::GlxGetBooleanv(req),
3610 #[cfg(feature = "glx")]
3611 Request::GlxGetClipPlane(req) => Request::GlxGetClipPlane(req),
3612 #[cfg(feature = "glx")]
3613 Request::GlxGetDoublev(req) => Request::GlxGetDoublev(req),
3614 #[cfg(feature = "glx")]
3615 Request::GlxGetError(req) => Request::GlxGetError(req),
3616 #[cfg(feature = "glx")]
3617 Request::GlxGetFloatv(req) => Request::GlxGetFloatv(req),
3618 #[cfg(feature = "glx")]
3619 Request::GlxGetIntegerv(req) => Request::GlxGetIntegerv(req),
3620 #[cfg(feature = "glx")]
3621 Request::GlxGetLightfv(req) => Request::GlxGetLightfv(req),
3622 #[cfg(feature = "glx")]
3623 Request::GlxGetLightiv(req) => Request::GlxGetLightiv(req),
3624 #[cfg(feature = "glx")]
3625 Request::GlxGetMapdv(req) => Request::GlxGetMapdv(req),
3626 #[cfg(feature = "glx")]
3627 Request::GlxGetMapfv(req) => Request::GlxGetMapfv(req),
3628 #[cfg(feature = "glx")]
3629 Request::GlxGetMapiv(req) => Request::GlxGetMapiv(req),
3630 #[cfg(feature = "glx")]
3631 Request::GlxGetMaterialfv(req) => Request::GlxGetMaterialfv(req),
3632 #[cfg(feature = "glx")]
3633 Request::GlxGetMaterialiv(req) => Request::GlxGetMaterialiv(req),
3634 #[cfg(feature = "glx")]
3635 Request::GlxGetPixelMapfv(req) => Request::GlxGetPixelMapfv(req),
3636 #[cfg(feature = "glx")]
3637 Request::GlxGetPixelMapuiv(req) => Request::GlxGetPixelMapuiv(req),
3638 #[cfg(feature = "glx")]
3639 Request::GlxGetPixelMapusv(req) => Request::GlxGetPixelMapusv(req),
3640 #[cfg(feature = "glx")]
3641 Request::GlxGetPolygonStipple(req) => Request::GlxGetPolygonStipple(req),
3642 #[cfg(feature = "glx")]
3643 Request::GlxGetString(req) => Request::GlxGetString(req),
3644 #[cfg(feature = "glx")]
3645 Request::GlxGetTexEnvfv(req) => Request::GlxGetTexEnvfv(req),
3646 #[cfg(feature = "glx")]
3647 Request::GlxGetTexEnviv(req) => Request::GlxGetTexEnviv(req),
3648 #[cfg(feature = "glx")]
3649 Request::GlxGetTexGendv(req) => Request::GlxGetTexGendv(req),
3650 #[cfg(feature = "glx")]
3651 Request::GlxGetTexGenfv(req) => Request::GlxGetTexGenfv(req),
3652 #[cfg(feature = "glx")]
3653 Request::GlxGetTexGeniv(req) => Request::GlxGetTexGeniv(req),
3654 #[cfg(feature = "glx")]
3655 Request::GlxGetTexImage(req) => Request::GlxGetTexImage(req),
3656 #[cfg(feature = "glx")]
3657 Request::GlxGetTexParameterfv(req) => Request::GlxGetTexParameterfv(req),
3658 #[cfg(feature = "glx")]
3659 Request::GlxGetTexParameteriv(req) => Request::GlxGetTexParameteriv(req),
3660 #[cfg(feature = "glx")]
3661 Request::GlxGetTexLevelParameterfv(req) => Request::GlxGetTexLevelParameterfv(req),
3662 #[cfg(feature = "glx")]
3663 Request::GlxGetTexLevelParameteriv(req) => Request::GlxGetTexLevelParameteriv(req),
3664 #[cfg(feature = "glx")]
3665 Request::GlxIsEnabled(req) => Request::GlxIsEnabled(req),
3666 #[cfg(feature = "glx")]
3667 Request::GlxIsList(req) => Request::GlxIsList(req),
3668 #[cfg(feature = "glx")]
3669 Request::GlxFlush(req) => Request::GlxFlush(req),
3670 #[cfg(feature = "glx")]
3671 Request::GlxAreTexturesResident(req) => Request::GlxAreTexturesResident(req.into_owned()),
3672 #[cfg(feature = "glx")]
3673 Request::GlxDeleteTextures(req) => Request::GlxDeleteTextures(req.into_owned()),
3674 #[cfg(feature = "glx")]
3675 Request::GlxGenTextures(req) => Request::GlxGenTextures(req),
3676 #[cfg(feature = "glx")]
3677 Request::GlxIsTexture(req) => Request::GlxIsTexture(req),
3678 #[cfg(feature = "glx")]
3679 Request::GlxGetColorTable(req) => Request::GlxGetColorTable(req),
3680 #[cfg(feature = "glx")]
3681 Request::GlxGetColorTableParameterfv(req) => Request::GlxGetColorTableParameterfv(req),
3682 #[cfg(feature = "glx")]
3683 Request::GlxGetColorTableParameteriv(req) => Request::GlxGetColorTableParameteriv(req),
3684 #[cfg(feature = "glx")]
3685 Request::GlxGetConvolutionFilter(req) => Request::GlxGetConvolutionFilter(req),
3686 #[cfg(feature = "glx")]
3687 Request::GlxGetConvolutionParameterfv(req) => Request::GlxGetConvolutionParameterfv(req),
3688 #[cfg(feature = "glx")]
3689 Request::GlxGetConvolutionParameteriv(req) => Request::GlxGetConvolutionParameteriv(req),
3690 #[cfg(feature = "glx")]
3691 Request::GlxGetSeparableFilter(req) => Request::GlxGetSeparableFilter(req),
3692 #[cfg(feature = "glx")]
3693 Request::GlxGetHistogram(req) => Request::GlxGetHistogram(req),
3694 #[cfg(feature = "glx")]
3695 Request::GlxGetHistogramParameterfv(req) => Request::GlxGetHistogramParameterfv(req),
3696 #[cfg(feature = "glx")]
3697 Request::GlxGetHistogramParameteriv(req) => Request::GlxGetHistogramParameteriv(req),
3698 #[cfg(feature = "glx")]
3699 Request::GlxGetMinmax(req) => Request::GlxGetMinmax(req),
3700 #[cfg(feature = "glx")]
3701 Request::GlxGetMinmaxParameterfv(req) => Request::GlxGetMinmaxParameterfv(req),
3702 #[cfg(feature = "glx")]
3703 Request::GlxGetMinmaxParameteriv(req) => Request::GlxGetMinmaxParameteriv(req),
3704 #[cfg(feature = "glx")]
3705 Request::GlxGetCompressedTexImageARB(req) => Request::GlxGetCompressedTexImageARB(req),
3706 #[cfg(feature = "glx")]
3707 Request::GlxDeleteQueriesARB(req) => Request::GlxDeleteQueriesARB(req.into_owned()),
3708 #[cfg(feature = "glx")]
3709 Request::GlxGenQueriesARB(req) => Request::GlxGenQueriesARB(req),
3710 #[cfg(feature = "glx")]
3711 Request::GlxIsQueryARB(req) => Request::GlxIsQueryARB(req),
3712 #[cfg(feature = "glx")]
3713 Request::GlxGetQueryivARB(req) => Request::GlxGetQueryivARB(req),
3714 #[cfg(feature = "glx")]
3715 Request::GlxGetQueryObjectivARB(req) => Request::GlxGetQueryObjectivARB(req),
3716 #[cfg(feature = "glx")]
3717 Request::GlxGetQueryObjectuivARB(req) => Request::GlxGetQueryObjectuivARB(req),
3718 #[cfg(feature = "present")]
3719 Request::PresentQueryVersion(req) => Request::PresentQueryVersion(req),
3720 #[cfg(feature = "present")]
3721 Request::PresentPixmap(req) => Request::PresentPixmap(req.into_owned()),
3722 #[cfg(feature = "present")]
3723 Request::PresentNotifyMSC(req) => Request::PresentNotifyMSC(req),
3724 #[cfg(feature = "present")]
3725 Request::PresentSelectInput(req) => Request::PresentSelectInput(req),
3726 #[cfg(feature = "present")]
3727 Request::PresentQueryCapabilities(req) => Request::PresentQueryCapabilities(req),
3728 #[cfg(feature = "randr")]
3729 Request::RandrQueryVersion(req) => Request::RandrQueryVersion(req),
3730 #[cfg(feature = "randr")]
3731 Request::RandrSetScreenConfig(req) => Request::RandrSetScreenConfig(req),
3732 #[cfg(feature = "randr")]
3733 Request::RandrSelectInput(req) => Request::RandrSelectInput(req),
3734 #[cfg(feature = "randr")]
3735 Request::RandrGetScreenInfo(req) => Request::RandrGetScreenInfo(req),
3736 #[cfg(feature = "randr")]
3737 Request::RandrGetScreenSizeRange(req) => Request::RandrGetScreenSizeRange(req),
3738 #[cfg(feature = "randr")]
3739 Request::RandrSetScreenSize(req) => Request::RandrSetScreenSize(req),
3740 #[cfg(feature = "randr")]
3741 Request::RandrGetScreenResources(req) => Request::RandrGetScreenResources(req),
3742 #[cfg(feature = "randr")]
3743 Request::RandrGetOutputInfo(req) => Request::RandrGetOutputInfo(req),
3744 #[cfg(feature = "randr")]
3745 Request::RandrListOutputProperties(req) => Request::RandrListOutputProperties(req),
3746 #[cfg(feature = "randr")]
3747 Request::RandrQueryOutputProperty(req) => Request::RandrQueryOutputProperty(req),
3748 #[cfg(feature = "randr")]
3749 Request::RandrConfigureOutputProperty(req) => Request::RandrConfigureOutputProperty(req.into_owned()),
3750 #[cfg(feature = "randr")]
3751 Request::RandrChangeOutputProperty(req) => Request::RandrChangeOutputProperty(req.into_owned()),
3752 #[cfg(feature = "randr")]
3753 Request::RandrDeleteOutputProperty(req) => Request::RandrDeleteOutputProperty(req),
3754 #[cfg(feature = "randr")]
3755 Request::RandrGetOutputProperty(req) => Request::RandrGetOutputProperty(req),
3756 #[cfg(feature = "randr")]
3757 Request::RandrCreateMode(req) => Request::RandrCreateMode(req.into_owned()),
3758 #[cfg(feature = "randr")]
3759 Request::RandrDestroyMode(req) => Request::RandrDestroyMode(req),
3760 #[cfg(feature = "randr")]
3761 Request::RandrAddOutputMode(req) => Request::RandrAddOutputMode(req),
3762 #[cfg(feature = "randr")]
3763 Request::RandrDeleteOutputMode(req) => Request::RandrDeleteOutputMode(req),
3764 #[cfg(feature = "randr")]
3765 Request::RandrGetCrtcInfo(req) => Request::RandrGetCrtcInfo(req),
3766 #[cfg(feature = "randr")]
3767 Request::RandrSetCrtcConfig(req) => Request::RandrSetCrtcConfig(req.into_owned()),
3768 #[cfg(feature = "randr")]
3769 Request::RandrGetCrtcGammaSize(req) => Request::RandrGetCrtcGammaSize(req),
3770 #[cfg(feature = "randr")]
3771 Request::RandrGetCrtcGamma(req) => Request::RandrGetCrtcGamma(req),
3772 #[cfg(feature = "randr")]
3773 Request::RandrSetCrtcGamma(req) => Request::RandrSetCrtcGamma(req.into_owned()),
3774 #[cfg(feature = "randr")]
3775 Request::RandrGetScreenResourcesCurrent(req) => Request::RandrGetScreenResourcesCurrent(req),
3776 #[cfg(feature = "randr")]
3777 Request::RandrSetCrtcTransform(req) => Request::RandrSetCrtcTransform(req.into_owned()),
3778 #[cfg(feature = "randr")]
3779 Request::RandrGetCrtcTransform(req) => Request::RandrGetCrtcTransform(req),
3780 #[cfg(feature = "randr")]
3781 Request::RandrGetPanning(req) => Request::RandrGetPanning(req),
3782 #[cfg(feature = "randr")]
3783 Request::RandrSetPanning(req) => Request::RandrSetPanning(req),
3784 #[cfg(feature = "randr")]
3785 Request::RandrSetOutputPrimary(req) => Request::RandrSetOutputPrimary(req),
3786 #[cfg(feature = "randr")]
3787 Request::RandrGetOutputPrimary(req) => Request::RandrGetOutputPrimary(req),
3788 #[cfg(feature = "randr")]
3789 Request::RandrGetProviders(req) => Request::RandrGetProviders(req),
3790 #[cfg(feature = "randr")]
3791 Request::RandrGetProviderInfo(req) => Request::RandrGetProviderInfo(req),
3792 #[cfg(feature = "randr")]
3793 Request::RandrSetProviderOffloadSink(req) => Request::RandrSetProviderOffloadSink(req),
3794 #[cfg(feature = "randr")]
3795 Request::RandrSetProviderOutputSource(req) => Request::RandrSetProviderOutputSource(req),
3796 #[cfg(feature = "randr")]
3797 Request::RandrListProviderProperties(req) => Request::RandrListProviderProperties(req),
3798 #[cfg(feature = "randr")]
3799 Request::RandrQueryProviderProperty(req) => Request::RandrQueryProviderProperty(req),
3800 #[cfg(feature = "randr")]
3801 Request::RandrConfigureProviderProperty(req) => Request::RandrConfigureProviderProperty(req.into_owned()),
3802 #[cfg(feature = "randr")]
3803 Request::RandrChangeProviderProperty(req) => Request::RandrChangeProviderProperty(req.into_owned()),
3804 #[cfg(feature = "randr")]
3805 Request::RandrDeleteProviderProperty(req) => Request::RandrDeleteProviderProperty(req),
3806 #[cfg(feature = "randr")]
3807 Request::RandrGetProviderProperty(req) => Request::RandrGetProviderProperty(req),
3808 #[cfg(feature = "randr")]
3809 Request::RandrGetMonitors(req) => Request::RandrGetMonitors(req),
3810 #[cfg(feature = "randr")]
3811 Request::RandrSetMonitor(req) => Request::RandrSetMonitor(req),
3812 #[cfg(feature = "randr")]
3813 Request::RandrDeleteMonitor(req) => Request::RandrDeleteMonitor(req),
3814 #[cfg(feature = "randr")]
3815 Request::RandrCreateLease(req) => Request::RandrCreateLease(req.into_owned()),
3816 #[cfg(feature = "randr")]
3817 Request::RandrFreeLease(req) => Request::RandrFreeLease(req),
3818 #[cfg(feature = "record")]
3819 Request::RecordQueryVersion(req) => Request::RecordQueryVersion(req),
3820 #[cfg(feature = "record")]
3821 Request::RecordCreateContext(req) => Request::RecordCreateContext(req.into_owned()),
3822 #[cfg(feature = "record")]
3823 Request::RecordRegisterClients(req) => Request::RecordRegisterClients(req.into_owned()),
3824 #[cfg(feature = "record")]
3825 Request::RecordUnregisterClients(req) => Request::RecordUnregisterClients(req.into_owned()),
3826 #[cfg(feature = "record")]
3827 Request::RecordGetContext(req) => Request::RecordGetContext(req),
3828 #[cfg(feature = "record")]
3829 Request::RecordEnableContext(req) => Request::RecordEnableContext(req),
3830 #[cfg(feature = "record")]
3831 Request::RecordDisableContext(req) => Request::RecordDisableContext(req),
3832 #[cfg(feature = "record")]
3833 Request::RecordFreeContext(req) => Request::RecordFreeContext(req),
3834 #[cfg(feature = "render")]
3835 Request::RenderQueryVersion(req) => Request::RenderQueryVersion(req),
3836 #[cfg(feature = "render")]
3837 Request::RenderQueryPictFormats(req) => Request::RenderQueryPictFormats(req),
3838 #[cfg(feature = "render")]
3839 Request::RenderQueryPictIndexValues(req) => Request::RenderQueryPictIndexValues(req),
3840 #[cfg(feature = "render")]
3841 Request::RenderCreatePicture(req) => Request::RenderCreatePicture(req.into_owned()),
3842 #[cfg(feature = "render")]
3843 Request::RenderChangePicture(req) => Request::RenderChangePicture(req.into_owned()),
3844 #[cfg(feature = "render")]
3845 Request::RenderSetPictureClipRectangles(req) => Request::RenderSetPictureClipRectangles(req.into_owned()),
3846 #[cfg(feature = "render")]
3847 Request::RenderFreePicture(req) => Request::RenderFreePicture(req),
3848 #[cfg(feature = "render")]
3849 Request::RenderComposite(req) => Request::RenderComposite(req),
3850 #[cfg(feature = "render")]
3851 Request::RenderTrapezoids(req) => Request::RenderTrapezoids(req.into_owned()),
3852 #[cfg(feature = "render")]
3853 Request::RenderTriangles(req) => Request::RenderTriangles(req.into_owned()),
3854 #[cfg(feature = "render")]
3855 Request::RenderTriStrip(req) => Request::RenderTriStrip(req.into_owned()),
3856 #[cfg(feature = "render")]
3857 Request::RenderTriFan(req) => Request::RenderTriFan(req.into_owned()),
3858 #[cfg(feature = "render")]
3859 Request::RenderCreateGlyphSet(req) => Request::RenderCreateGlyphSet(req),
3860 #[cfg(feature = "render")]
3861 Request::RenderReferenceGlyphSet(req) => Request::RenderReferenceGlyphSet(req),
3862 #[cfg(feature = "render")]
3863 Request::RenderFreeGlyphSet(req) => Request::RenderFreeGlyphSet(req),
3864 #[cfg(feature = "render")]
3865 Request::RenderAddGlyphs(req) => Request::RenderAddGlyphs(req.into_owned()),
3866 #[cfg(feature = "render")]
3867 Request::RenderFreeGlyphs(req) => Request::RenderFreeGlyphs(req.into_owned()),
3868 #[cfg(feature = "render")]
3869 Request::RenderCompositeGlyphs8(req) => Request::RenderCompositeGlyphs8(req.into_owned()),
3870 #[cfg(feature = "render")]
3871 Request::RenderCompositeGlyphs16(req) => Request::RenderCompositeGlyphs16(req.into_owned()),
3872 #[cfg(feature = "render")]
3873 Request::RenderCompositeGlyphs32(req) => Request::RenderCompositeGlyphs32(req.into_owned()),
3874 #[cfg(feature = "render")]
3875 Request::RenderFillRectangles(req) => Request::RenderFillRectangles(req.into_owned()),
3876 #[cfg(feature = "render")]
3877 Request::RenderCreateCursor(req) => Request::RenderCreateCursor(req),
3878 #[cfg(feature = "render")]
3879 Request::RenderSetPictureTransform(req) => Request::RenderSetPictureTransform(req),
3880 #[cfg(feature = "render")]
3881 Request::RenderQueryFilters(req) => Request::RenderQueryFilters(req),
3882 #[cfg(feature = "render")]
3883 Request::RenderSetPictureFilter(req) => Request::RenderSetPictureFilter(req.into_owned()),
3884 #[cfg(feature = "render")]
3885 Request::RenderCreateAnimCursor(req) => Request::RenderCreateAnimCursor(req.into_owned()),
3886 #[cfg(feature = "render")]
3887 Request::RenderAddTraps(req) => Request::RenderAddTraps(req.into_owned()),
3888 #[cfg(feature = "render")]
3889 Request::RenderCreateSolidFill(req) => Request::RenderCreateSolidFill(req),
3890 #[cfg(feature = "render")]
3891 Request::RenderCreateLinearGradient(req) => Request::RenderCreateLinearGradient(req.into_owned()),
3892 #[cfg(feature = "render")]
3893 Request::RenderCreateRadialGradient(req) => Request::RenderCreateRadialGradient(req.into_owned()),
3894 #[cfg(feature = "render")]
3895 Request::RenderCreateConicalGradient(req) => Request::RenderCreateConicalGradient(req.into_owned()),
3896 #[cfg(feature = "res")]
3897 Request::ResQueryVersion(req) => Request::ResQueryVersion(req),
3898 #[cfg(feature = "res")]
3899 Request::ResQueryClients(req) => Request::ResQueryClients(req),
3900 #[cfg(feature = "res")]
3901 Request::ResQueryClientResources(req) => Request::ResQueryClientResources(req),
3902 #[cfg(feature = "res")]
3903 Request::ResQueryClientPixmapBytes(req) => Request::ResQueryClientPixmapBytes(req),
3904 #[cfg(feature = "res")]
3905 Request::ResQueryClientIds(req) => Request::ResQueryClientIds(req.into_owned()),
3906 #[cfg(feature = "res")]
3907 Request::ResQueryResourceBytes(req) => Request::ResQueryResourceBytes(req.into_owned()),
3908 #[cfg(feature = "screensaver")]
3909 Request::ScreensaverQueryVersion(req) => Request::ScreensaverQueryVersion(req),
3910 #[cfg(feature = "screensaver")]
3911 Request::ScreensaverQueryInfo(req) => Request::ScreensaverQueryInfo(req),
3912 #[cfg(feature = "screensaver")]
3913 Request::ScreensaverSelectInput(req) => Request::ScreensaverSelectInput(req),
3914 #[cfg(feature = "screensaver")]
3915 Request::ScreensaverSetAttributes(req) => Request::ScreensaverSetAttributes(req.into_owned()),
3916 #[cfg(feature = "screensaver")]
3917 Request::ScreensaverUnsetAttributes(req) => Request::ScreensaverUnsetAttributes(req),
3918 #[cfg(feature = "screensaver")]
3919 Request::ScreensaverSuspend(req) => Request::ScreensaverSuspend(req),
3920 #[cfg(feature = "shape")]
3921 Request::ShapeQueryVersion(req) => Request::ShapeQueryVersion(req),
3922 #[cfg(feature = "shape")]
3923 Request::ShapeRectangles(req) => Request::ShapeRectangles(req.into_owned()),
3924 #[cfg(feature = "shape")]
3925 Request::ShapeMask(req) => Request::ShapeMask(req),
3926 #[cfg(feature = "shape")]
3927 Request::ShapeCombine(req) => Request::ShapeCombine(req),
3928 #[cfg(feature = "shape")]
3929 Request::ShapeOffset(req) => Request::ShapeOffset(req),
3930 #[cfg(feature = "shape")]
3931 Request::ShapeQueryExtents(req) => Request::ShapeQueryExtents(req),
3932 #[cfg(feature = "shape")]
3933 Request::ShapeSelectInput(req) => Request::ShapeSelectInput(req),
3934 #[cfg(feature = "shape")]
3935 Request::ShapeInputSelected(req) => Request::ShapeInputSelected(req),
3936 #[cfg(feature = "shape")]
3937 Request::ShapeGetRectangles(req) => Request::ShapeGetRectangles(req),
3938 #[cfg(feature = "shm")]
3939 Request::ShmQueryVersion(req) => Request::ShmQueryVersion(req),
3940 #[cfg(feature = "shm")]
3941 Request::ShmAttach(req) => Request::ShmAttach(req),
3942 #[cfg(feature = "shm")]
3943 Request::ShmDetach(req) => Request::ShmDetach(req),
3944 #[cfg(feature = "shm")]
3945 Request::ShmPutImage(req) => Request::ShmPutImage(req),
3946 #[cfg(feature = "shm")]
3947 Request::ShmGetImage(req) => Request::ShmGetImage(req),
3948 #[cfg(feature = "shm")]
3949 Request::ShmCreatePixmap(req) => Request::ShmCreatePixmap(req),
3950 #[cfg(feature = "shm")]
3951 Request::ShmAttachFd(req) => Request::ShmAttachFd(req),
3952 #[cfg(feature = "shm")]
3953 Request::ShmCreateSegment(req) => Request::ShmCreateSegment(req),
3954 #[cfg(feature = "sync")]
3955 Request::SyncInitialize(req) => Request::SyncInitialize(req),
3956 #[cfg(feature = "sync")]
3957 Request::SyncListSystemCounters(req) => Request::SyncListSystemCounters(req),
3958 #[cfg(feature = "sync")]
3959 Request::SyncCreateCounter(req) => Request::SyncCreateCounter(req),
3960 #[cfg(feature = "sync")]
3961 Request::SyncDestroyCounter(req) => Request::SyncDestroyCounter(req),
3962 #[cfg(feature = "sync")]
3963 Request::SyncQueryCounter(req) => Request::SyncQueryCounter(req),
3964 #[cfg(feature = "sync")]
3965 Request::SyncAwait(req) => Request::SyncAwait(req.into_owned()),
3966 #[cfg(feature = "sync")]
3967 Request::SyncChangeCounter(req) => Request::SyncChangeCounter(req),
3968 #[cfg(feature = "sync")]
3969 Request::SyncSetCounter(req) => Request::SyncSetCounter(req),
3970 #[cfg(feature = "sync")]
3971 Request::SyncCreateAlarm(req) => Request::SyncCreateAlarm(req.into_owned()),
3972 #[cfg(feature = "sync")]
3973 Request::SyncChangeAlarm(req) => Request::SyncChangeAlarm(req.into_owned()),
3974 #[cfg(feature = "sync")]
3975 Request::SyncDestroyAlarm(req) => Request::SyncDestroyAlarm(req),
3976 #[cfg(feature = "sync")]
3977 Request::SyncQueryAlarm(req) => Request::SyncQueryAlarm(req),
3978 #[cfg(feature = "sync")]
3979 Request::SyncSetPriority(req) => Request::SyncSetPriority(req),
3980 #[cfg(feature = "sync")]
3981 Request::SyncGetPriority(req) => Request::SyncGetPriority(req),
3982 #[cfg(feature = "sync")]
3983 Request::SyncCreateFence(req) => Request::SyncCreateFence(req),
3984 #[cfg(feature = "sync")]
3985 Request::SyncTriggerFence(req) => Request::SyncTriggerFence(req),
3986 #[cfg(feature = "sync")]
3987 Request::SyncResetFence(req) => Request::SyncResetFence(req),
3988 #[cfg(feature = "sync")]
3989 Request::SyncDestroyFence(req) => Request::SyncDestroyFence(req),
3990 #[cfg(feature = "sync")]
3991 Request::SyncQueryFence(req) => Request::SyncQueryFence(req),
3992 #[cfg(feature = "sync")]
3993 Request::SyncAwaitFence(req) => Request::SyncAwaitFence(req.into_owned()),
3994 Request::XcMiscGetVersion(req) => Request::XcMiscGetVersion(req),
3995 Request::XcMiscGetXIDRange(req) => Request::XcMiscGetXIDRange(req),
3996 Request::XcMiscGetXIDList(req) => Request::XcMiscGetXIDList(req),
3997 #[cfg(feature = "xevie")]
3998 Request::XevieQueryVersion(req) => Request::XevieQueryVersion(req),
3999 #[cfg(feature = "xevie")]
4000 Request::XevieStart(req) => Request::XevieStart(req),
4001 #[cfg(feature = "xevie")]
4002 Request::XevieEnd(req) => Request::XevieEnd(req),
4003 #[cfg(feature = "xevie")]
4004 Request::XevieSend(req) => Request::XevieSend(req),
4005 #[cfg(feature = "xevie")]
4006 Request::XevieSelectInput(req) => Request::XevieSelectInput(req),
4007 #[cfg(feature = "xf86dri")]
4008 Request::Xf86driQueryVersion(req) => Request::Xf86driQueryVersion(req),
4009 #[cfg(feature = "xf86dri")]
4010 Request::Xf86driQueryDirectRenderingCapable(req) => Request::Xf86driQueryDirectRenderingCapable(req),
4011 #[cfg(feature = "xf86dri")]
4012 Request::Xf86driOpenConnection(req) => Request::Xf86driOpenConnection(req),
4013 #[cfg(feature = "xf86dri")]
4014 Request::Xf86driCloseConnection(req) => Request::Xf86driCloseConnection(req),
4015 #[cfg(feature = "xf86dri")]
4016 Request::Xf86driGetClientDriverName(req) => Request::Xf86driGetClientDriverName(req),
4017 #[cfg(feature = "xf86dri")]
4018 Request::Xf86driCreateContext(req) => Request::Xf86driCreateContext(req),
4019 #[cfg(feature = "xf86dri")]
4020 Request::Xf86driDestroyContext(req) => Request::Xf86driDestroyContext(req),
4021 #[cfg(feature = "xf86dri")]
4022 Request::Xf86driCreateDrawable(req) => Request::Xf86driCreateDrawable(req),
4023 #[cfg(feature = "xf86dri")]
4024 Request::Xf86driDestroyDrawable(req) => Request::Xf86driDestroyDrawable(req),
4025 #[cfg(feature = "xf86dri")]
4026 Request::Xf86driGetDrawableInfo(req) => Request::Xf86driGetDrawableInfo(req),
4027 #[cfg(feature = "xf86dri")]
4028 Request::Xf86driGetDeviceInfo(req) => Request::Xf86driGetDeviceInfo(req),
4029 #[cfg(feature = "xf86dri")]
4030 Request::Xf86driAuthConnection(req) => Request::Xf86driAuthConnection(req),
4031 #[cfg(feature = "xf86vidmode")]
4032 Request::Xf86vidmodeQueryVersion(req) => Request::Xf86vidmodeQueryVersion(req),
4033 #[cfg(feature = "xf86vidmode")]
4034 Request::Xf86vidmodeGetModeLine(req) => Request::Xf86vidmodeGetModeLine(req),
4035 #[cfg(feature = "xf86vidmode")]
4036 Request::Xf86vidmodeModModeLine(req) => Request::Xf86vidmodeModModeLine(req.into_owned()),
4037 #[cfg(feature = "xf86vidmode")]
4038 Request::Xf86vidmodeSwitchMode(req) => Request::Xf86vidmodeSwitchMode(req),
4039 #[cfg(feature = "xf86vidmode")]
4040 Request::Xf86vidmodeGetMonitor(req) => Request::Xf86vidmodeGetMonitor(req),
4041 #[cfg(feature = "xf86vidmode")]
4042 Request::Xf86vidmodeLockModeSwitch(req) => Request::Xf86vidmodeLockModeSwitch(req),
4043 #[cfg(feature = "xf86vidmode")]
4044 Request::Xf86vidmodeGetAllModeLines(req) => Request::Xf86vidmodeGetAllModeLines(req),
4045 #[cfg(feature = "xf86vidmode")]
4046 Request::Xf86vidmodeAddModeLine(req) => Request::Xf86vidmodeAddModeLine(req.into_owned()),
4047 #[cfg(feature = "xf86vidmode")]
4048 Request::Xf86vidmodeDeleteModeLine(req) => Request::Xf86vidmodeDeleteModeLine(req.into_owned()),
4049 #[cfg(feature = "xf86vidmode")]
4050 Request::Xf86vidmodeValidateModeLine(req) => Request::Xf86vidmodeValidateModeLine(req.into_owned()),
4051 #[cfg(feature = "xf86vidmode")]
4052 Request::Xf86vidmodeSwitchToMode(req) => Request::Xf86vidmodeSwitchToMode(req.into_owned()),
4053 #[cfg(feature = "xf86vidmode")]
4054 Request::Xf86vidmodeGetViewPort(req) => Request::Xf86vidmodeGetViewPort(req),
4055 #[cfg(feature = "xf86vidmode")]
4056 Request::Xf86vidmodeSetViewPort(req) => Request::Xf86vidmodeSetViewPort(req),
4057 #[cfg(feature = "xf86vidmode")]
4058 Request::Xf86vidmodeGetDotClocks(req) => Request::Xf86vidmodeGetDotClocks(req),
4059 #[cfg(feature = "xf86vidmode")]
4060 Request::Xf86vidmodeSetClientVersion(req) => Request::Xf86vidmodeSetClientVersion(req),
4061 #[cfg(feature = "xf86vidmode")]
4062 Request::Xf86vidmodeSetGamma(req) => Request::Xf86vidmodeSetGamma(req),
4063 #[cfg(feature = "xf86vidmode")]
4064 Request::Xf86vidmodeGetGamma(req) => Request::Xf86vidmodeGetGamma(req),
4065 #[cfg(feature = "xf86vidmode")]
4066 Request::Xf86vidmodeGetGammaRamp(req) => Request::Xf86vidmodeGetGammaRamp(req),
4067 #[cfg(feature = "xf86vidmode")]
4068 Request::Xf86vidmodeSetGammaRamp(req) => Request::Xf86vidmodeSetGammaRamp(req.into_owned()),
4069 #[cfg(feature = "xf86vidmode")]
4070 Request::Xf86vidmodeGetGammaRampSize(req) => Request::Xf86vidmodeGetGammaRampSize(req),
4071 #[cfg(feature = "xf86vidmode")]
4072 Request::Xf86vidmodeGetPermissions(req) => Request::Xf86vidmodeGetPermissions(req),
4073 #[cfg(feature = "xfixes")]
4074 Request::XfixesQueryVersion(req) => Request::XfixesQueryVersion(req),
4075 #[cfg(feature = "xfixes")]
4076 Request::XfixesChangeSaveSet(req) => Request::XfixesChangeSaveSet(req),
4077 #[cfg(feature = "xfixes")]
4078 Request::XfixesSelectSelectionInput(req) => Request::XfixesSelectSelectionInput(req),
4079 #[cfg(feature = "xfixes")]
4080 Request::XfixesSelectCursorInput(req) => Request::XfixesSelectCursorInput(req),
4081 #[cfg(feature = "xfixes")]
4082 Request::XfixesGetCursorImage(req) => Request::XfixesGetCursorImage(req),
4083 #[cfg(feature = "xfixes")]
4084 Request::XfixesCreateRegion(req) => Request::XfixesCreateRegion(req.into_owned()),
4085 #[cfg(feature = "xfixes")]
4086 Request::XfixesCreateRegionFromBitmap(req) => Request::XfixesCreateRegionFromBitmap(req),
4087 #[cfg(feature = "xfixes")]
4088 Request::XfixesCreateRegionFromWindow(req) => Request::XfixesCreateRegionFromWindow(req),
4089 #[cfg(feature = "xfixes")]
4090 Request::XfixesCreateRegionFromGC(req) => Request::XfixesCreateRegionFromGC(req),
4091 #[cfg(feature = "xfixes")]
4092 Request::XfixesCreateRegionFromPicture(req) => Request::XfixesCreateRegionFromPicture(req),
4093 #[cfg(feature = "xfixes")]
4094 Request::XfixesDestroyRegion(req) => Request::XfixesDestroyRegion(req),
4095 #[cfg(feature = "xfixes")]
4096 Request::XfixesSetRegion(req) => Request::XfixesSetRegion(req.into_owned()),
4097 #[cfg(feature = "xfixes")]
4098 Request::XfixesCopyRegion(req) => Request::XfixesCopyRegion(req),
4099 #[cfg(feature = "xfixes")]
4100 Request::XfixesUnionRegion(req) => Request::XfixesUnionRegion(req),
4101 #[cfg(feature = "xfixes")]
4102 Request::XfixesIntersectRegion(req) => Request::XfixesIntersectRegion(req),
4103 #[cfg(feature = "xfixes")]
4104 Request::XfixesSubtractRegion(req) => Request::XfixesSubtractRegion(req),
4105 #[cfg(feature = "xfixes")]
4106 Request::XfixesInvertRegion(req) => Request::XfixesInvertRegion(req),
4107 #[cfg(feature = "xfixes")]
4108 Request::XfixesTranslateRegion(req) => Request::XfixesTranslateRegion(req),
4109 #[cfg(feature = "xfixes")]
4110 Request::XfixesRegionExtents(req) => Request::XfixesRegionExtents(req),
4111 #[cfg(feature = "xfixes")]
4112 Request::XfixesFetchRegion(req) => Request::XfixesFetchRegion(req),
4113 #[cfg(feature = "xfixes")]
4114 Request::XfixesSetGCClipRegion(req) => Request::XfixesSetGCClipRegion(req),
4115 #[cfg(feature = "xfixes")]
4116 Request::XfixesSetWindowShapeRegion(req) => Request::XfixesSetWindowShapeRegion(req),
4117 #[cfg(feature = "xfixes")]
4118 Request::XfixesSetPictureClipRegion(req) => Request::XfixesSetPictureClipRegion(req),
4119 #[cfg(feature = "xfixes")]
4120 Request::XfixesSetCursorName(req) => Request::XfixesSetCursorName(req.into_owned()),
4121 #[cfg(feature = "xfixes")]
4122 Request::XfixesGetCursorName(req) => Request::XfixesGetCursorName(req),
4123 #[cfg(feature = "xfixes")]
4124 Request::XfixesGetCursorImageAndName(req) => Request::XfixesGetCursorImageAndName(req),
4125 #[cfg(feature = "xfixes")]
4126 Request::XfixesChangeCursor(req) => Request::XfixesChangeCursor(req),
4127 #[cfg(feature = "xfixes")]
4128 Request::XfixesChangeCursorByName(req) => Request::XfixesChangeCursorByName(req.into_owned()),
4129 #[cfg(feature = "xfixes")]
4130 Request::XfixesExpandRegion(req) => Request::XfixesExpandRegion(req),
4131 #[cfg(feature = "xfixes")]
4132 Request::XfixesHideCursor(req) => Request::XfixesHideCursor(req),
4133 #[cfg(feature = "xfixes")]
4134 Request::XfixesShowCursor(req) => Request::XfixesShowCursor(req),
4135 #[cfg(feature = "xfixes")]
4136 Request::XfixesCreatePointerBarrier(req) => Request::XfixesCreatePointerBarrier(req.into_owned()),
4137 #[cfg(feature = "xfixes")]
4138 Request::XfixesDeletePointerBarrier(req) => Request::XfixesDeletePointerBarrier(req),
4139 #[cfg(feature = "xinerama")]
4140 Request::XineramaQueryVersion(req) => Request::XineramaQueryVersion(req),
4141 #[cfg(feature = "xinerama")]
4142 Request::XineramaGetState(req) => Request::XineramaGetState(req),
4143 #[cfg(feature = "xinerama")]
4144 Request::XineramaGetScreenCount(req) => Request::XineramaGetScreenCount(req),
4145 #[cfg(feature = "xinerama")]
4146 Request::XineramaGetScreenSize(req) => Request::XineramaGetScreenSize(req),
4147 #[cfg(feature = "xinerama")]
4148 Request::XineramaIsActive(req) => Request::XineramaIsActive(req),
4149 #[cfg(feature = "xinerama")]
4150 Request::XineramaQueryScreens(req) => Request::XineramaQueryScreens(req),
4151 #[cfg(feature = "xinput")]
4152 Request::XinputGetExtensionVersion(req) => Request::XinputGetExtensionVersion(req.into_owned()),
4153 #[cfg(feature = "xinput")]
4154 Request::XinputListInputDevices(req) => Request::XinputListInputDevices(req),
4155 #[cfg(feature = "xinput")]
4156 Request::XinputOpenDevice(req) => Request::XinputOpenDevice(req),
4157 #[cfg(feature = "xinput")]
4158 Request::XinputCloseDevice(req) => Request::XinputCloseDevice(req),
4159 #[cfg(feature = "xinput")]
4160 Request::XinputSetDeviceMode(req) => Request::XinputSetDeviceMode(req),
4161 #[cfg(feature = "xinput")]
4162 Request::XinputSelectExtensionEvent(req) => Request::XinputSelectExtensionEvent(req.into_owned()),
4163 #[cfg(feature = "xinput")]
4164 Request::XinputGetSelectedExtensionEvents(req) => Request::XinputGetSelectedExtensionEvents(req),
4165 #[cfg(feature = "xinput")]
4166 Request::XinputChangeDeviceDontPropagateList(req) => Request::XinputChangeDeviceDontPropagateList(req.into_owned()),
4167 #[cfg(feature = "xinput")]
4168 Request::XinputGetDeviceDontPropagateList(req) => Request::XinputGetDeviceDontPropagateList(req),
4169 #[cfg(feature = "xinput")]
4170 Request::XinputGetDeviceMotionEvents(req) => Request::XinputGetDeviceMotionEvents(req),
4171 #[cfg(feature = "xinput")]
4172 Request::XinputChangeKeyboardDevice(req) => Request::XinputChangeKeyboardDevice(req),
4173 #[cfg(feature = "xinput")]
4174 Request::XinputChangePointerDevice(req) => Request::XinputChangePointerDevice(req),
4175 #[cfg(feature = "xinput")]
4176 Request::XinputGrabDevice(req) => Request::XinputGrabDevice(req.into_owned()),
4177 #[cfg(feature = "xinput")]
4178 Request::XinputUngrabDevice(req) => Request::XinputUngrabDevice(req),
4179 #[cfg(feature = "xinput")]
4180 Request::XinputGrabDeviceKey(req) => Request::XinputGrabDeviceKey(req.into_owned()),
4181 #[cfg(feature = "xinput")]
4182 Request::XinputUngrabDeviceKey(req) => Request::XinputUngrabDeviceKey(req),
4183 #[cfg(feature = "xinput")]
4184 Request::XinputGrabDeviceButton(req) => Request::XinputGrabDeviceButton(req.into_owned()),
4185 #[cfg(feature = "xinput")]
4186 Request::XinputUngrabDeviceButton(req) => Request::XinputUngrabDeviceButton(req),
4187 #[cfg(feature = "xinput")]
4188 Request::XinputAllowDeviceEvents(req) => Request::XinputAllowDeviceEvents(req),
4189 #[cfg(feature = "xinput")]
4190 Request::XinputGetDeviceFocus(req) => Request::XinputGetDeviceFocus(req),
4191 #[cfg(feature = "xinput")]
4192 Request::XinputSetDeviceFocus(req) => Request::XinputSetDeviceFocus(req),
4193 #[cfg(feature = "xinput")]
4194 Request::XinputGetFeedbackControl(req) => Request::XinputGetFeedbackControl(req),
4195 #[cfg(feature = "xinput")]
4196 Request::XinputChangeFeedbackControl(req) => Request::XinputChangeFeedbackControl(req),
4197 #[cfg(feature = "xinput")]
4198 Request::XinputGetDeviceKeyMapping(req) => Request::XinputGetDeviceKeyMapping(req),
4199 #[cfg(feature = "xinput")]
4200 Request::XinputChangeDeviceKeyMapping(req) => Request::XinputChangeDeviceKeyMapping(req.into_owned()),
4201 #[cfg(feature = "xinput")]
4202 Request::XinputGetDeviceModifierMapping(req) => Request::XinputGetDeviceModifierMapping(req),
4203 #[cfg(feature = "xinput")]
4204 Request::XinputSetDeviceModifierMapping(req) => Request::XinputSetDeviceModifierMapping(req.into_owned()),
4205 #[cfg(feature = "xinput")]
4206 Request::XinputGetDeviceButtonMapping(req) => Request::XinputGetDeviceButtonMapping(req),
4207 #[cfg(feature = "xinput")]
4208 Request::XinputSetDeviceButtonMapping(req) => Request::XinputSetDeviceButtonMapping(req.into_owned()),
4209 #[cfg(feature = "xinput")]
4210 Request::XinputQueryDeviceState(req) => Request::XinputQueryDeviceState(req),
4211 #[cfg(feature = "xinput")]
4212 Request::XinputDeviceBell(req) => Request::XinputDeviceBell(req),
4213 #[cfg(feature = "xinput")]
4214 Request::XinputSetDeviceValuators(req) => Request::XinputSetDeviceValuators(req.into_owned()),
4215 #[cfg(feature = "xinput")]
4216 Request::XinputGetDeviceControl(req) => Request::XinputGetDeviceControl(req),
4217 #[cfg(feature = "xinput")]
4218 Request::XinputChangeDeviceControl(req) => Request::XinputChangeDeviceControl(req),
4219 #[cfg(feature = "xinput")]
4220 Request::XinputListDeviceProperties(req) => Request::XinputListDeviceProperties(req),
4221 #[cfg(feature = "xinput")]
4222 Request::XinputChangeDeviceProperty(req) => Request::XinputChangeDeviceProperty(req.into_owned()),
4223 #[cfg(feature = "xinput")]
4224 Request::XinputDeleteDeviceProperty(req) => Request::XinputDeleteDeviceProperty(req),
4225 #[cfg(feature = "xinput")]
4226 Request::XinputGetDeviceProperty(req) => Request::XinputGetDeviceProperty(req),
4227 #[cfg(feature = "xinput")]
4228 Request::XinputXIQueryPointer(req) => Request::XinputXIQueryPointer(req),
4229 #[cfg(feature = "xinput")]
4230 Request::XinputXIWarpPointer(req) => Request::XinputXIWarpPointer(req),
4231 #[cfg(feature = "xinput")]
4232 Request::XinputXIChangeCursor(req) => Request::XinputXIChangeCursor(req),
4233 #[cfg(feature = "xinput")]
4234 Request::XinputXIChangeHierarchy(req) => Request::XinputXIChangeHierarchy(req.into_owned()),
4235 #[cfg(feature = "xinput")]
4236 Request::XinputXISetClientPointer(req) => Request::XinputXISetClientPointer(req),
4237 #[cfg(feature = "xinput")]
4238 Request::XinputXIGetClientPointer(req) => Request::XinputXIGetClientPointer(req),
4239 #[cfg(feature = "xinput")]
4240 Request::XinputXISelectEvents(req) => Request::XinputXISelectEvents(req.into_owned()),
4241 #[cfg(feature = "xinput")]
4242 Request::XinputXIQueryVersion(req) => Request::XinputXIQueryVersion(req),
4243 #[cfg(feature = "xinput")]
4244 Request::XinputXIQueryDevice(req) => Request::XinputXIQueryDevice(req),
4245 #[cfg(feature = "xinput")]
4246 Request::XinputXISetFocus(req) => Request::XinputXISetFocus(req),
4247 #[cfg(feature = "xinput")]
4248 Request::XinputXIGetFocus(req) => Request::XinputXIGetFocus(req),
4249 #[cfg(feature = "xinput")]
4250 Request::XinputXIGrabDevice(req) => Request::XinputXIGrabDevice(req.into_owned()),
4251 #[cfg(feature = "xinput")]
4252 Request::XinputXIUngrabDevice(req) => Request::XinputXIUngrabDevice(req),
4253 #[cfg(feature = "xinput")]
4254 Request::XinputXIAllowEvents(req) => Request::XinputXIAllowEvents(req),
4255 #[cfg(feature = "xinput")]
4256 Request::XinputXIPassiveGrabDevice(req) => Request::XinputXIPassiveGrabDevice(req.into_owned()),
4257 #[cfg(feature = "xinput")]
4258 Request::XinputXIPassiveUngrabDevice(req) => Request::XinputXIPassiveUngrabDevice(req.into_owned()),
4259 #[cfg(feature = "xinput")]
4260 Request::XinputXIListProperties(req) => Request::XinputXIListProperties(req),
4261 #[cfg(feature = "xinput")]
4262 Request::XinputXIChangeProperty(req) => Request::XinputXIChangeProperty(req.into_owned()),
4263 #[cfg(feature = "xinput")]
4264 Request::XinputXIDeleteProperty(req) => Request::XinputXIDeleteProperty(req),
4265 #[cfg(feature = "xinput")]
4266 Request::XinputXIGetProperty(req) => Request::XinputXIGetProperty(req),
4267 #[cfg(feature = "xinput")]
4268 Request::XinputXIGetSelectedEvents(req) => Request::XinputXIGetSelectedEvents(req),
4269 #[cfg(feature = "xinput")]
4270 Request::XinputXIBarrierReleasePointer(req) => Request::XinputXIBarrierReleasePointer(req.into_owned()),
4271 #[cfg(feature = "xinput")]
4272 Request::XinputSendExtensionEvent(req) => Request::XinputSendExtensionEvent(req.into_owned()),
4273 #[cfg(feature = "xkb")]
4274 Request::XkbUseExtension(req) => Request::XkbUseExtension(req),
4275 #[cfg(feature = "xkb")]
4276 Request::XkbSelectEvents(req) => Request::XkbSelectEvents(req.into_owned()),
4277 #[cfg(feature = "xkb")]
4278 Request::XkbBell(req) => Request::XkbBell(req),
4279 #[cfg(feature = "xkb")]
4280 Request::XkbGetState(req) => Request::XkbGetState(req),
4281 #[cfg(feature = "xkb")]
4282 Request::XkbLatchLockState(req) => Request::XkbLatchLockState(req),
4283 #[cfg(feature = "xkb")]
4284 Request::XkbGetControls(req) => Request::XkbGetControls(req),
4285 #[cfg(feature = "xkb")]
4286 Request::XkbSetControls(req) => Request::XkbSetControls(req.into_owned()),
4287 #[cfg(feature = "xkb")]
4288 Request::XkbGetMap(req) => Request::XkbGetMap(req),
4289 #[cfg(feature = "xkb")]
4290 Request::XkbSetMap(req) => Request::XkbSetMap(req.into_owned()),
4291 #[cfg(feature = "xkb")]
4292 Request::XkbGetCompatMap(req) => Request::XkbGetCompatMap(req),
4293 #[cfg(feature = "xkb")]
4294 Request::XkbSetCompatMap(req) => Request::XkbSetCompatMap(req.into_owned()),
4295 #[cfg(feature = "xkb")]
4296 Request::XkbGetIndicatorState(req) => Request::XkbGetIndicatorState(req),
4297 #[cfg(feature = "xkb")]
4298 Request::XkbGetIndicatorMap(req) => Request::XkbGetIndicatorMap(req),
4299 #[cfg(feature = "xkb")]
4300 Request::XkbSetIndicatorMap(req) => Request::XkbSetIndicatorMap(req.into_owned()),
4301 #[cfg(feature = "xkb")]
4302 Request::XkbGetNamedIndicator(req) => Request::XkbGetNamedIndicator(req),
4303 #[cfg(feature = "xkb")]
4304 Request::XkbSetNamedIndicator(req) => Request::XkbSetNamedIndicator(req),
4305 #[cfg(feature = "xkb")]
4306 Request::XkbGetNames(req) => Request::XkbGetNames(req),
4307 #[cfg(feature = "xkb")]
4308 Request::XkbSetNames(req) => Request::XkbSetNames(req.into_owned()),
4309 #[cfg(feature = "xkb")]
4310 Request::XkbPerClientFlags(req) => Request::XkbPerClientFlags(req),
4311 #[cfg(feature = "xkb")]
4312 Request::XkbListComponents(req) => Request::XkbListComponents(req),
4313 #[cfg(feature = "xkb")]
4314 Request::XkbGetKbdByName(req) => Request::XkbGetKbdByName(req),
4315 #[cfg(feature = "xkb")]
4316 Request::XkbGetDeviceInfo(req) => Request::XkbGetDeviceInfo(req),
4317 #[cfg(feature = "xkb")]
4318 Request::XkbSetDeviceInfo(req) => Request::XkbSetDeviceInfo(req.into_owned()),
4319 #[cfg(feature = "xkb")]
4320 Request::XkbSetDebuggingFlags(req) => Request::XkbSetDebuggingFlags(req.into_owned()),
4321 #[cfg(feature = "xprint")]
4322 Request::XprintPrintQueryVersion(req) => Request::XprintPrintQueryVersion(req),
4323 #[cfg(feature = "xprint")]
4324 Request::XprintPrintGetPrinterList(req) => Request::XprintPrintGetPrinterList(req.into_owned()),
4325 #[cfg(feature = "xprint")]
4326 Request::XprintPrintRehashPrinterList(req) => Request::XprintPrintRehashPrinterList(req),
4327 #[cfg(feature = "xprint")]
4328 Request::XprintCreateContext(req) => Request::XprintCreateContext(req.into_owned()),
4329 #[cfg(feature = "xprint")]
4330 Request::XprintPrintSetContext(req) => Request::XprintPrintSetContext(req),
4331 #[cfg(feature = "xprint")]
4332 Request::XprintPrintGetContext(req) => Request::XprintPrintGetContext(req),
4333 #[cfg(feature = "xprint")]
4334 Request::XprintPrintDestroyContext(req) => Request::XprintPrintDestroyContext(req),
4335 #[cfg(feature = "xprint")]
4336 Request::XprintPrintGetScreenOfContext(req) => Request::XprintPrintGetScreenOfContext(req),
4337 #[cfg(feature = "xprint")]
4338 Request::XprintPrintStartJob(req) => Request::XprintPrintStartJob(req),
4339 #[cfg(feature = "xprint")]
4340 Request::XprintPrintEndJob(req) => Request::XprintPrintEndJob(req),
4341 #[cfg(feature = "xprint")]
4342 Request::XprintPrintStartDoc(req) => Request::XprintPrintStartDoc(req),
4343 #[cfg(feature = "xprint")]
4344 Request::XprintPrintEndDoc(req) => Request::XprintPrintEndDoc(req),
4345 #[cfg(feature = "xprint")]
4346 Request::XprintPrintPutDocumentData(req) => Request::XprintPrintPutDocumentData(req.into_owned()),
4347 #[cfg(feature = "xprint")]
4348 Request::XprintPrintGetDocumentData(req) => Request::XprintPrintGetDocumentData(req),
4349 #[cfg(feature = "xprint")]
4350 Request::XprintPrintStartPage(req) => Request::XprintPrintStartPage(req),
4351 #[cfg(feature = "xprint")]
4352 Request::XprintPrintEndPage(req) => Request::XprintPrintEndPage(req),
4353 #[cfg(feature = "xprint")]
4354 Request::XprintPrintSelectInput(req) => Request::XprintPrintSelectInput(req),
4355 #[cfg(feature = "xprint")]
4356 Request::XprintPrintInputSelected(req) => Request::XprintPrintInputSelected(req),
4357 #[cfg(feature = "xprint")]
4358 Request::XprintPrintGetAttributes(req) => Request::XprintPrintGetAttributes(req),
4359 #[cfg(feature = "xprint")]
4360 Request::XprintPrintGetOneAttributes(req) => Request::XprintPrintGetOneAttributes(req.into_owned()),
4361 #[cfg(feature = "xprint")]
4362 Request::XprintPrintSetAttributes(req) => Request::XprintPrintSetAttributes(req.into_owned()),
4363 #[cfg(feature = "xprint")]
4364 Request::XprintPrintGetPageDimensions(req) => Request::XprintPrintGetPageDimensions(req),
4365 #[cfg(feature = "xprint")]
4366 Request::XprintPrintQueryScreens(req) => Request::XprintPrintQueryScreens(req),
4367 #[cfg(feature = "xprint")]
4368 Request::XprintPrintSetImageResolution(req) => Request::XprintPrintSetImageResolution(req),
4369 #[cfg(feature = "xprint")]
4370 Request::XprintPrintGetImageResolution(req) => Request::XprintPrintGetImageResolution(req),
4371 #[cfg(feature = "xselinux")]
4372 Request::XselinuxQueryVersion(req) => Request::XselinuxQueryVersion(req),
4373 #[cfg(feature = "xselinux")]
4374 Request::XselinuxSetDeviceCreateContext(req) => Request::XselinuxSetDeviceCreateContext(req.into_owned()),
4375 #[cfg(feature = "xselinux")]
4376 Request::XselinuxGetDeviceCreateContext(req) => Request::XselinuxGetDeviceCreateContext(req),
4377 #[cfg(feature = "xselinux")]
4378 Request::XselinuxSetDeviceContext(req) => Request::XselinuxSetDeviceContext(req.into_owned()),
4379 #[cfg(feature = "xselinux")]
4380 Request::XselinuxGetDeviceContext(req) => Request::XselinuxGetDeviceContext(req),
4381 #[cfg(feature = "xselinux")]
4382 Request::XselinuxSetWindowCreateContext(req) => Request::XselinuxSetWindowCreateContext(req.into_owned()),
4383 #[cfg(feature = "xselinux")]
4384 Request::XselinuxGetWindowCreateContext(req) => Request::XselinuxGetWindowCreateContext(req),
4385 #[cfg(feature = "xselinux")]
4386 Request::XselinuxGetWindowContext(req) => Request::XselinuxGetWindowContext(req),
4387 #[cfg(feature = "xselinux")]
4388 Request::XselinuxSetPropertyCreateContext(req) => Request::XselinuxSetPropertyCreateContext(req.into_owned()),
4389 #[cfg(feature = "xselinux")]
4390 Request::XselinuxGetPropertyCreateContext(req) => Request::XselinuxGetPropertyCreateContext(req),
4391 #[cfg(feature = "xselinux")]
4392 Request::XselinuxSetPropertyUseContext(req) => Request::XselinuxSetPropertyUseContext(req.into_owned()),
4393 #[cfg(feature = "xselinux")]
4394 Request::XselinuxGetPropertyUseContext(req) => Request::XselinuxGetPropertyUseContext(req),
4395 #[cfg(feature = "xselinux")]
4396 Request::XselinuxGetPropertyContext(req) => Request::XselinuxGetPropertyContext(req),
4397 #[cfg(feature = "xselinux")]
4398 Request::XselinuxGetPropertyDataContext(req) => Request::XselinuxGetPropertyDataContext(req),
4399 #[cfg(feature = "xselinux")]
4400 Request::XselinuxListProperties(req) => Request::XselinuxListProperties(req),
4401 #[cfg(feature = "xselinux")]
4402 Request::XselinuxSetSelectionCreateContext(req) => Request::XselinuxSetSelectionCreateContext(req.into_owned()),
4403 #[cfg(feature = "xselinux")]
4404 Request::XselinuxGetSelectionCreateContext(req) => Request::XselinuxGetSelectionCreateContext(req),
4405 #[cfg(feature = "xselinux")]
4406 Request::XselinuxSetSelectionUseContext(req) => Request::XselinuxSetSelectionUseContext(req.into_owned()),
4407 #[cfg(feature = "xselinux")]
4408 Request::XselinuxGetSelectionUseContext(req) => Request::XselinuxGetSelectionUseContext(req),
4409 #[cfg(feature = "xselinux")]
4410 Request::XselinuxGetSelectionContext(req) => Request::XselinuxGetSelectionContext(req),
4411 #[cfg(feature = "xselinux")]
4412 Request::XselinuxGetSelectionDataContext(req) => Request::XselinuxGetSelectionDataContext(req),
4413 #[cfg(feature = "xselinux")]
4414 Request::XselinuxListSelections(req) => Request::XselinuxListSelections(req),
4415 #[cfg(feature = "xselinux")]
4416 Request::XselinuxGetClientContext(req) => Request::XselinuxGetClientContext(req),
4417 #[cfg(feature = "xtest")]
4418 Request::XtestGetVersion(req) => Request::XtestGetVersion(req),
4419 #[cfg(feature = "xtest")]
4420 Request::XtestCompareCursor(req) => Request::XtestCompareCursor(req),
4421 #[cfg(feature = "xtest")]
4422 Request::XtestFakeInput(req) => Request::XtestFakeInput(req),
4423 #[cfg(feature = "xtest")]
4424 Request::XtestGrabControl(req) => Request::XtestGrabControl(req),
4425 #[cfg(feature = "xv")]
4426 Request::XvQueryExtension(req) => Request::XvQueryExtension(req),
4427 #[cfg(feature = "xv")]
4428 Request::XvQueryAdaptors(req) => Request::XvQueryAdaptors(req),
4429 #[cfg(feature = "xv")]
4430 Request::XvQueryEncodings(req) => Request::XvQueryEncodings(req),
4431 #[cfg(feature = "xv")]
4432 Request::XvGrabPort(req) => Request::XvGrabPort(req),
4433 #[cfg(feature = "xv")]
4434 Request::XvUngrabPort(req) => Request::XvUngrabPort(req),
4435 #[cfg(feature = "xv")]
4436 Request::XvPutVideo(req) => Request::XvPutVideo(req),
4437 #[cfg(feature = "xv")]
4438 Request::XvPutStill(req) => Request::XvPutStill(req),
4439 #[cfg(feature = "xv")]
4440 Request::XvGetVideo(req) => Request::XvGetVideo(req),
4441 #[cfg(feature = "xv")]
4442 Request::XvGetStill(req) => Request::XvGetStill(req),
4443 #[cfg(feature = "xv")]
4444 Request::XvStopVideo(req) => Request::XvStopVideo(req),
4445 #[cfg(feature = "xv")]
4446 Request::XvSelectVideoNotify(req) => Request::XvSelectVideoNotify(req),
4447 #[cfg(feature = "xv")]
4448 Request::XvSelectPortNotify(req) => Request::XvSelectPortNotify(req),
4449 #[cfg(feature = "xv")]
4450 Request::XvQueryBestSize(req) => Request::XvQueryBestSize(req),
4451 #[cfg(feature = "xv")]
4452 Request::XvSetPortAttribute(req) => Request::XvSetPortAttribute(req),
4453 #[cfg(feature = "xv")]
4454 Request::XvGetPortAttribute(req) => Request::XvGetPortAttribute(req),
4455 #[cfg(feature = "xv")]
4456 Request::XvQueryPortAttributes(req) => Request::XvQueryPortAttributes(req),
4457 #[cfg(feature = "xv")]
4458 Request::XvListImageFormats(req) => Request::XvListImageFormats(req),
4459 #[cfg(feature = "xv")]
4460 Request::XvQueryImageAttributes(req) => Request::XvQueryImageAttributes(req),
4461 #[cfg(feature = "xv")]
4462 Request::XvPutImage(req) => Request::XvPutImage(req.into_owned()),
4463 #[cfg(feature = "xv")]
4464 Request::XvShmPutImage(req) => Request::XvShmPutImage(req),
4465 #[cfg(feature = "xvmc")]
4466 Request::XvmcQueryVersion(req) => Request::XvmcQueryVersion(req),
4467 #[cfg(feature = "xvmc")]
4468 Request::XvmcListSurfaceTypes(req) => Request::XvmcListSurfaceTypes(req),
4469 #[cfg(feature = "xvmc")]
4470 Request::XvmcCreateContext(req) => Request::XvmcCreateContext(req),
4471 #[cfg(feature = "xvmc")]
4472 Request::XvmcDestroyContext(req) => Request::XvmcDestroyContext(req),
4473 #[cfg(feature = "xvmc")]
4474 Request::XvmcCreateSurface(req) => Request::XvmcCreateSurface(req),
4475 #[cfg(feature = "xvmc")]
4476 Request::XvmcDestroySurface(req) => Request::XvmcDestroySurface(req),
4477 #[cfg(feature = "xvmc")]
4478 Request::XvmcCreateSubpicture(req) => Request::XvmcCreateSubpicture(req),
4479 #[cfg(feature = "xvmc")]
4480 Request::XvmcDestroySubpicture(req) => Request::XvmcDestroySubpicture(req),
4481 #[cfg(feature = "xvmc")]
4482 Request::XvmcListSubpictureTypes(req) => Request::XvmcListSubpictureTypes(req),
4483 }
4484 }
4485 }
4486
4487 /// Enumeration of all possible X11 replies.
4488 #[derive(Debug)]
4489 #[allow(clippy::large_enum_variant)]
4490 #[non_exhaustive]
4491 pub enum Reply {
4492 Void,
4493 GetWindowAttributes(xproto::GetWindowAttributesReply),
4494 GetGeometry(xproto::GetGeometryReply),
4495 QueryTree(xproto::QueryTreeReply),
4496 InternAtom(xproto::InternAtomReply),
4497 GetAtomName(xproto::GetAtomNameReply),
4498 GetProperty(xproto::GetPropertyReply),
4499 ListProperties(xproto::ListPropertiesReply),
4500 GetSelectionOwner(xproto::GetSelectionOwnerReply),
4501 GrabPointer(xproto::GrabPointerReply),
4502 GrabKeyboard(xproto::GrabKeyboardReply),
4503 QueryPointer(xproto::QueryPointerReply),
4504 GetMotionEvents(xproto::GetMotionEventsReply),
4505 TranslateCoordinates(xproto::TranslateCoordinatesReply),
4506 GetInputFocus(xproto::GetInputFocusReply),
4507 QueryKeymap(xproto::QueryKeymapReply),
4508 QueryFont(xproto::QueryFontReply),
4509 QueryTextExtents(xproto::QueryTextExtentsReply),
4510 ListFonts(xproto::ListFontsReply),
4511 ListFontsWithInfo(xproto::ListFontsWithInfoReply),
4512 GetFontPath(xproto::GetFontPathReply),
4513 GetImage(xproto::GetImageReply),
4514 ListInstalledColormaps(xproto::ListInstalledColormapsReply),
4515 AllocColor(xproto::AllocColorReply),
4516 AllocNamedColor(xproto::AllocNamedColorReply),
4517 AllocColorCells(xproto::AllocColorCellsReply),
4518 AllocColorPlanes(xproto::AllocColorPlanesReply),
4519 QueryColors(xproto::QueryColorsReply),
4520 LookupColor(xproto::LookupColorReply),
4521 QueryBestSize(xproto::QueryBestSizeReply),
4522 QueryExtension(xproto::QueryExtensionReply),
4523 ListExtensions(xproto::ListExtensionsReply),
4524 GetKeyboardMapping(xproto::GetKeyboardMappingReply),
4525 GetKeyboardControl(xproto::GetKeyboardControlReply),
4526 GetPointerControl(xproto::GetPointerControlReply),
4527 GetScreenSaver(xproto::GetScreenSaverReply),
4528 ListHosts(xproto::ListHostsReply),
4529 SetPointerMapping(xproto::SetPointerMappingReply),
4530 GetPointerMapping(xproto::GetPointerMappingReply),
4531 SetModifierMapping(xproto::SetModifierMappingReply),
4532 GetModifierMapping(xproto::GetModifierMappingReply),
4533 BigreqEnable(bigreq::EnableReply),
4534 #[cfg(feature = "composite")]
4535 CompositeQueryVersion(composite::QueryVersionReply),
4536 #[cfg(feature = "composite")]
4537 CompositeGetOverlayWindow(composite::GetOverlayWindowReply),
4538 #[cfg(feature = "damage")]
4539 DamageQueryVersion(damage::QueryVersionReply),
4540 #[cfg(feature = "dpms")]
4541 DpmsGetVersion(dpms::GetVersionReply),
4542 #[cfg(feature = "dpms")]
4543 DpmsCapable(dpms::CapableReply),
4544 #[cfg(feature = "dpms")]
4545 DpmsGetTimeouts(dpms::GetTimeoutsReply),
4546 #[cfg(feature = "dpms")]
4547 DpmsInfo(dpms::InfoReply),
4548 #[cfg(feature = "dri2")]
4549 Dri2QueryVersion(dri2::QueryVersionReply),
4550 #[cfg(feature = "dri2")]
4551 Dri2Connect(dri2::ConnectReply),
4552 #[cfg(feature = "dri2")]
4553 Dri2Authenticate(dri2::AuthenticateReply),
4554 #[cfg(feature = "dri2")]
4555 Dri2GetBuffers(dri2::GetBuffersReply),
4556 #[cfg(feature = "dri2")]
4557 Dri2CopyRegion(dri2::CopyRegionReply),
4558 #[cfg(feature = "dri2")]
4559 Dri2GetBuffersWithFormat(dri2::GetBuffersWithFormatReply),
4560 #[cfg(feature = "dri2")]
4561 Dri2SwapBuffers(dri2::SwapBuffersReply),
4562 #[cfg(feature = "dri2")]
4563 Dri2GetMSC(dri2::GetMSCReply),
4564 #[cfg(feature = "dri2")]
4565 Dri2WaitMSC(dri2::WaitMSCReply),
4566 #[cfg(feature = "dri2")]
4567 Dri2WaitSBC(dri2::WaitSBCReply),
4568 #[cfg(feature = "dri2")]
4569 Dri2GetParam(dri2::GetParamReply),
4570 #[cfg(feature = "dri3")]
4571 Dri3QueryVersion(dri3::QueryVersionReply),
4572 #[cfg(feature = "dri3")]
4573 Dri3Open(dri3::OpenReply),
4574 #[cfg(feature = "dri3")]
4575 Dri3BufferFromPixmap(dri3::BufferFromPixmapReply),
4576 #[cfg(feature = "dri3")]
4577 Dri3FDFromFence(dri3::FDFromFenceReply),
4578 #[cfg(feature = "dri3")]
4579 Dri3GetSupportedModifiers(dri3::GetSupportedModifiersReply),
4580 #[cfg(feature = "dri3")]
4581 Dri3BuffersFromPixmap(dri3::BuffersFromPixmapReply),
4582 GeQueryVersion(ge::QueryVersionReply),
4583 #[cfg(feature = "glx")]
4584 GlxMakeCurrent(glx::MakeCurrentReply),
4585 #[cfg(feature = "glx")]
4586 GlxIsDirect(glx::IsDirectReply),
4587 #[cfg(feature = "glx")]
4588 GlxQueryVersion(glx::QueryVersionReply),
4589 #[cfg(feature = "glx")]
4590 GlxGetVisualConfigs(glx::GetVisualConfigsReply),
4591 #[cfg(feature = "glx")]
4592 GlxVendorPrivateWithReply(glx::VendorPrivateWithReplyReply),
4593 #[cfg(feature = "glx")]
4594 GlxQueryExtensionsString(glx::QueryExtensionsStringReply),
4595 #[cfg(feature = "glx")]
4596 GlxQueryServerString(glx::QueryServerStringReply),
4597 #[cfg(feature = "glx")]
4598 GlxGetFBConfigs(glx::GetFBConfigsReply),
4599 #[cfg(feature = "glx")]
4600 GlxQueryContext(glx::QueryContextReply),
4601 #[cfg(feature = "glx")]
4602 GlxMakeContextCurrent(glx::MakeContextCurrentReply),
4603 #[cfg(feature = "glx")]
4604 GlxGetDrawableAttributes(glx::GetDrawableAttributesReply),
4605 #[cfg(feature = "glx")]
4606 GlxGenLists(glx::GenListsReply),
4607 #[cfg(feature = "glx")]
4608 GlxRenderMode(glx::RenderModeReply),
4609 #[cfg(feature = "glx")]
4610 GlxFinish(glx::FinishReply),
4611 #[cfg(feature = "glx")]
4612 GlxReadPixels(glx::ReadPixelsReply),
4613 #[cfg(feature = "glx")]
4614 GlxGetBooleanv(glx::GetBooleanvReply),
4615 #[cfg(feature = "glx")]
4616 GlxGetClipPlane(glx::GetClipPlaneReply),
4617 #[cfg(feature = "glx")]
4618 GlxGetDoublev(glx::GetDoublevReply),
4619 #[cfg(feature = "glx")]
4620 GlxGetError(glx::GetErrorReply),
4621 #[cfg(feature = "glx")]
4622 GlxGetFloatv(glx::GetFloatvReply),
4623 #[cfg(feature = "glx")]
4624 GlxGetIntegerv(glx::GetIntegervReply),
4625 #[cfg(feature = "glx")]
4626 GlxGetLightfv(glx::GetLightfvReply),
4627 #[cfg(feature = "glx")]
4628 GlxGetLightiv(glx::GetLightivReply),
4629 #[cfg(feature = "glx")]
4630 GlxGetMapdv(glx::GetMapdvReply),
4631 #[cfg(feature = "glx")]
4632 GlxGetMapfv(glx::GetMapfvReply),
4633 #[cfg(feature = "glx")]
4634 GlxGetMapiv(glx::GetMapivReply),
4635 #[cfg(feature = "glx")]
4636 GlxGetMaterialfv(glx::GetMaterialfvReply),
4637 #[cfg(feature = "glx")]
4638 GlxGetMaterialiv(glx::GetMaterialivReply),
4639 #[cfg(feature = "glx")]
4640 GlxGetPixelMapfv(glx::GetPixelMapfvReply),
4641 #[cfg(feature = "glx")]
4642 GlxGetPixelMapuiv(glx::GetPixelMapuivReply),
4643 #[cfg(feature = "glx")]
4644 GlxGetPixelMapusv(glx::GetPixelMapusvReply),
4645 #[cfg(feature = "glx")]
4646 GlxGetPolygonStipple(glx::GetPolygonStippleReply),
4647 #[cfg(feature = "glx")]
4648 GlxGetString(glx::GetStringReply),
4649 #[cfg(feature = "glx")]
4650 GlxGetTexEnvfv(glx::GetTexEnvfvReply),
4651 #[cfg(feature = "glx")]
4652 GlxGetTexEnviv(glx::GetTexEnvivReply),
4653 #[cfg(feature = "glx")]
4654 GlxGetTexGendv(glx::GetTexGendvReply),
4655 #[cfg(feature = "glx")]
4656 GlxGetTexGenfv(glx::GetTexGenfvReply),
4657 #[cfg(feature = "glx")]
4658 GlxGetTexGeniv(glx::GetTexGenivReply),
4659 #[cfg(feature = "glx")]
4660 GlxGetTexImage(glx::GetTexImageReply),
4661 #[cfg(feature = "glx")]
4662 GlxGetTexParameterfv(glx::GetTexParameterfvReply),
4663 #[cfg(feature = "glx")]
4664 GlxGetTexParameteriv(glx::GetTexParameterivReply),
4665 #[cfg(feature = "glx")]
4666 GlxGetTexLevelParameterfv(glx::GetTexLevelParameterfvReply),
4667 #[cfg(feature = "glx")]
4668 GlxGetTexLevelParameteriv(glx::GetTexLevelParameterivReply),
4669 #[cfg(feature = "glx")]
4670 GlxIsEnabled(glx::IsEnabledReply),
4671 #[cfg(feature = "glx")]
4672 GlxIsList(glx::IsListReply),
4673 #[cfg(feature = "glx")]
4674 GlxAreTexturesResident(glx::AreTexturesResidentReply),
4675 #[cfg(feature = "glx")]
4676 GlxGenTextures(glx::GenTexturesReply),
4677 #[cfg(feature = "glx")]
4678 GlxIsTexture(glx::IsTextureReply),
4679 #[cfg(feature = "glx")]
4680 GlxGetColorTable(glx::GetColorTableReply),
4681 #[cfg(feature = "glx")]
4682 GlxGetColorTableParameterfv(glx::GetColorTableParameterfvReply),
4683 #[cfg(feature = "glx")]
4684 GlxGetColorTableParameteriv(glx::GetColorTableParameterivReply),
4685 #[cfg(feature = "glx")]
4686 GlxGetConvolutionFilter(glx::GetConvolutionFilterReply),
4687 #[cfg(feature = "glx")]
4688 GlxGetConvolutionParameterfv(glx::GetConvolutionParameterfvReply),
4689 #[cfg(feature = "glx")]
4690 GlxGetConvolutionParameteriv(glx::GetConvolutionParameterivReply),
4691 #[cfg(feature = "glx")]
4692 GlxGetSeparableFilter(glx::GetSeparableFilterReply),
4693 #[cfg(feature = "glx")]
4694 GlxGetHistogram(glx::GetHistogramReply),
4695 #[cfg(feature = "glx")]
4696 GlxGetHistogramParameterfv(glx::GetHistogramParameterfvReply),
4697 #[cfg(feature = "glx")]
4698 GlxGetHistogramParameteriv(glx::GetHistogramParameterivReply),
4699 #[cfg(feature = "glx")]
4700 GlxGetMinmax(glx::GetMinmaxReply),
4701 #[cfg(feature = "glx")]
4702 GlxGetMinmaxParameterfv(glx::GetMinmaxParameterfvReply),
4703 #[cfg(feature = "glx")]
4704 GlxGetMinmaxParameteriv(glx::GetMinmaxParameterivReply),
4705 #[cfg(feature = "glx")]
4706 GlxGetCompressedTexImageARB(glx::GetCompressedTexImageARBReply),
4707 #[cfg(feature = "glx")]
4708 GlxGenQueriesARB(glx::GenQueriesARBReply),
4709 #[cfg(feature = "glx")]
4710 GlxIsQueryARB(glx::IsQueryARBReply),
4711 #[cfg(feature = "glx")]
4712 GlxGetQueryivARB(glx::GetQueryivARBReply),
4713 #[cfg(feature = "glx")]
4714 GlxGetQueryObjectivARB(glx::GetQueryObjectivARBReply),
4715 #[cfg(feature = "glx")]
4716 GlxGetQueryObjectuivARB(glx::GetQueryObjectuivARBReply),
4717 #[cfg(feature = "present")]
4718 PresentQueryVersion(present::QueryVersionReply),
4719 #[cfg(feature = "present")]
4720 PresentQueryCapabilities(present::QueryCapabilitiesReply),
4721 #[cfg(feature = "randr")]
4722 RandrQueryVersion(randr::QueryVersionReply),
4723 #[cfg(feature = "randr")]
4724 RandrSetScreenConfig(randr::SetScreenConfigReply),
4725 #[cfg(feature = "randr")]
4726 RandrGetScreenInfo(randr::GetScreenInfoReply),
4727 #[cfg(feature = "randr")]
4728 RandrGetScreenSizeRange(randr::GetScreenSizeRangeReply),
4729 #[cfg(feature = "randr")]
4730 RandrGetScreenResources(randr::GetScreenResourcesReply),
4731 #[cfg(feature = "randr")]
4732 RandrGetOutputInfo(randr::GetOutputInfoReply),
4733 #[cfg(feature = "randr")]
4734 RandrListOutputProperties(randr::ListOutputPropertiesReply),
4735 #[cfg(feature = "randr")]
4736 RandrQueryOutputProperty(randr::QueryOutputPropertyReply),
4737 #[cfg(feature = "randr")]
4738 RandrGetOutputProperty(randr::GetOutputPropertyReply),
4739 #[cfg(feature = "randr")]
4740 RandrCreateMode(randr::CreateModeReply),
4741 #[cfg(feature = "randr")]
4742 RandrGetCrtcInfo(randr::GetCrtcInfoReply),
4743 #[cfg(feature = "randr")]
4744 RandrSetCrtcConfig(randr::SetCrtcConfigReply),
4745 #[cfg(feature = "randr")]
4746 RandrGetCrtcGammaSize(randr::GetCrtcGammaSizeReply),
4747 #[cfg(feature = "randr")]
4748 RandrGetCrtcGamma(randr::GetCrtcGammaReply),
4749 #[cfg(feature = "randr")]
4750 RandrGetScreenResourcesCurrent(randr::GetScreenResourcesCurrentReply),
4751 #[cfg(feature = "randr")]
4752 RandrGetCrtcTransform(randr::GetCrtcTransformReply),
4753 #[cfg(feature = "randr")]
4754 RandrGetPanning(randr::GetPanningReply),
4755 #[cfg(feature = "randr")]
4756 RandrSetPanning(randr::SetPanningReply),
4757 #[cfg(feature = "randr")]
4758 RandrGetOutputPrimary(randr::GetOutputPrimaryReply),
4759 #[cfg(feature = "randr")]
4760 RandrGetProviders(randr::GetProvidersReply),
4761 #[cfg(feature = "randr")]
4762 RandrGetProviderInfo(randr::GetProviderInfoReply),
4763 #[cfg(feature = "randr")]
4764 RandrListProviderProperties(randr::ListProviderPropertiesReply),
4765 #[cfg(feature = "randr")]
4766 RandrQueryProviderProperty(randr::QueryProviderPropertyReply),
4767 #[cfg(feature = "randr")]
4768 RandrGetProviderProperty(randr::GetProviderPropertyReply),
4769 #[cfg(feature = "randr")]
4770 RandrGetMonitors(randr::GetMonitorsReply),
4771 #[cfg(feature = "randr")]
4772 RandrCreateLease(randr::CreateLeaseReply),
4773 #[cfg(feature = "record")]
4774 RecordQueryVersion(record::QueryVersionReply),
4775 #[cfg(feature = "record")]
4776 RecordGetContext(record::GetContextReply),
4777 #[cfg(feature = "record")]
4778 RecordEnableContext(record::EnableContextReply),
4779 #[cfg(feature = "render")]
4780 RenderQueryVersion(render::QueryVersionReply),
4781 #[cfg(feature = "render")]
4782 RenderQueryPictFormats(render::QueryPictFormatsReply),
4783 #[cfg(feature = "render")]
4784 RenderQueryPictIndexValues(render::QueryPictIndexValuesReply),
4785 #[cfg(feature = "render")]
4786 RenderQueryFilters(render::QueryFiltersReply),
4787 #[cfg(feature = "res")]
4788 ResQueryVersion(res::QueryVersionReply),
4789 #[cfg(feature = "res")]
4790 ResQueryClients(res::QueryClientsReply),
4791 #[cfg(feature = "res")]
4792 ResQueryClientResources(res::QueryClientResourcesReply),
4793 #[cfg(feature = "res")]
4794 ResQueryClientPixmapBytes(res::QueryClientPixmapBytesReply),
4795 #[cfg(feature = "res")]
4796 ResQueryClientIds(res::QueryClientIdsReply),
4797 #[cfg(feature = "res")]
4798 ResQueryResourceBytes(res::QueryResourceBytesReply),
4799 #[cfg(feature = "screensaver")]
4800 ScreensaverQueryVersion(screensaver::QueryVersionReply),
4801 #[cfg(feature = "screensaver")]
4802 ScreensaverQueryInfo(screensaver::QueryInfoReply),
4803 #[cfg(feature = "shape")]
4804 ShapeQueryVersion(shape::QueryVersionReply),
4805 #[cfg(feature = "shape")]
4806 ShapeQueryExtents(shape::QueryExtentsReply),
4807 #[cfg(feature = "shape")]
4808 ShapeInputSelected(shape::InputSelectedReply),
4809 #[cfg(feature = "shape")]
4810 ShapeGetRectangles(shape::GetRectanglesReply),
4811 #[cfg(feature = "shm")]
4812 ShmQueryVersion(shm::QueryVersionReply),
4813 #[cfg(feature = "shm")]
4814 ShmGetImage(shm::GetImageReply),
4815 #[cfg(feature = "shm")]
4816 ShmCreateSegment(shm::CreateSegmentReply),
4817 #[cfg(feature = "sync")]
4818 SyncInitialize(sync::InitializeReply),
4819 #[cfg(feature = "sync")]
4820 SyncListSystemCounters(sync::ListSystemCountersReply),
4821 #[cfg(feature = "sync")]
4822 SyncQueryCounter(sync::QueryCounterReply),
4823 #[cfg(feature = "sync")]
4824 SyncQueryAlarm(sync::QueryAlarmReply),
4825 #[cfg(feature = "sync")]
4826 SyncGetPriority(sync::GetPriorityReply),
4827 #[cfg(feature = "sync")]
4828 SyncQueryFence(sync::QueryFenceReply),
4829 XcMiscGetVersion(xc_misc::GetVersionReply),
4830 XcMiscGetXIDRange(xc_misc::GetXIDRangeReply),
4831 XcMiscGetXIDList(xc_misc::GetXIDListReply),
4832 #[cfg(feature = "xevie")]
4833 XevieQueryVersion(xevie::QueryVersionReply),
4834 #[cfg(feature = "xevie")]
4835 XevieStart(xevie::StartReply),
4836 #[cfg(feature = "xevie")]
4837 XevieEnd(xevie::EndReply),
4838 #[cfg(feature = "xevie")]
4839 XevieSend(xevie::SendReply),
4840 #[cfg(feature = "xevie")]
4841 XevieSelectInput(xevie::SelectInputReply),
4842 #[cfg(feature = "xf86dri")]
4843 Xf86driQueryVersion(xf86dri::QueryVersionReply),
4844 #[cfg(feature = "xf86dri")]
4845 Xf86driQueryDirectRenderingCapable(xf86dri::QueryDirectRenderingCapableReply),
4846 #[cfg(feature = "xf86dri")]
4847 Xf86driOpenConnection(xf86dri::OpenConnectionReply),
4848 #[cfg(feature = "xf86dri")]
4849 Xf86driGetClientDriverName(xf86dri::GetClientDriverNameReply),
4850 #[cfg(feature = "xf86dri")]
4851 Xf86driCreateContext(xf86dri::CreateContextReply),
4852 #[cfg(feature = "xf86dri")]
4853 Xf86driCreateDrawable(xf86dri::CreateDrawableReply),
4854 #[cfg(feature = "xf86dri")]
4855 Xf86driGetDrawableInfo(xf86dri::GetDrawableInfoReply),
4856 #[cfg(feature = "xf86dri")]
4857 Xf86driGetDeviceInfo(xf86dri::GetDeviceInfoReply),
4858 #[cfg(feature = "xf86dri")]
4859 Xf86driAuthConnection(xf86dri::AuthConnectionReply),
4860 #[cfg(feature = "xf86vidmode")]
4861 Xf86vidmodeQueryVersion(xf86vidmode::QueryVersionReply),
4862 #[cfg(feature = "xf86vidmode")]
4863 Xf86vidmodeGetModeLine(xf86vidmode::GetModeLineReply),
4864 #[cfg(feature = "xf86vidmode")]
4865 Xf86vidmodeGetMonitor(xf86vidmode::GetMonitorReply),
4866 #[cfg(feature = "xf86vidmode")]
4867 Xf86vidmodeGetAllModeLines(xf86vidmode::GetAllModeLinesReply),
4868 #[cfg(feature = "xf86vidmode")]
4869 Xf86vidmodeValidateModeLine(xf86vidmode::ValidateModeLineReply),
4870 #[cfg(feature = "xf86vidmode")]
4871 Xf86vidmodeGetViewPort(xf86vidmode::GetViewPortReply),
4872 #[cfg(feature = "xf86vidmode")]
4873 Xf86vidmodeGetDotClocks(xf86vidmode::GetDotClocksReply),
4874 #[cfg(feature = "xf86vidmode")]
4875 Xf86vidmodeGetGamma(xf86vidmode::GetGammaReply),
4876 #[cfg(feature = "xf86vidmode")]
4877 Xf86vidmodeGetGammaRamp(xf86vidmode::GetGammaRampReply),
4878 #[cfg(feature = "xf86vidmode")]
4879 Xf86vidmodeGetGammaRampSize(xf86vidmode::GetGammaRampSizeReply),
4880 #[cfg(feature = "xf86vidmode")]
4881 Xf86vidmodeGetPermissions(xf86vidmode::GetPermissionsReply),
4882 #[cfg(feature = "xfixes")]
4883 XfixesQueryVersion(xfixes::QueryVersionReply),
4884 #[cfg(feature = "xfixes")]
4885 XfixesGetCursorImage(xfixes::GetCursorImageReply),
4886 #[cfg(feature = "xfixes")]
4887 XfixesFetchRegion(xfixes::FetchRegionReply),
4888 #[cfg(feature = "xfixes")]
4889 XfixesGetCursorName(xfixes::GetCursorNameReply),
4890 #[cfg(feature = "xfixes")]
4891 XfixesGetCursorImageAndName(xfixes::GetCursorImageAndNameReply),
4892 #[cfg(feature = "xinerama")]
4893 XineramaQueryVersion(xinerama::QueryVersionReply),
4894 #[cfg(feature = "xinerama")]
4895 XineramaGetState(xinerama::GetStateReply),
4896 #[cfg(feature = "xinerama")]
4897 XineramaGetScreenCount(xinerama::GetScreenCountReply),
4898 #[cfg(feature = "xinerama")]
4899 XineramaGetScreenSize(xinerama::GetScreenSizeReply),
4900 #[cfg(feature = "xinerama")]
4901 XineramaIsActive(xinerama::IsActiveReply),
4902 #[cfg(feature = "xinerama")]
4903 XineramaQueryScreens(xinerama::QueryScreensReply),
4904 #[cfg(feature = "xinput")]
4905 XinputGetExtensionVersion(xinput::GetExtensionVersionReply),
4906 #[cfg(feature = "xinput")]
4907 XinputListInputDevices(xinput::ListInputDevicesReply),
4908 #[cfg(feature = "xinput")]
4909 XinputOpenDevice(xinput::OpenDeviceReply),
4910 #[cfg(feature = "xinput")]
4911 XinputSetDeviceMode(xinput::SetDeviceModeReply),
4912 #[cfg(feature = "xinput")]
4913 XinputGetSelectedExtensionEvents(xinput::GetSelectedExtensionEventsReply),
4914 #[cfg(feature = "xinput")]
4915 XinputGetDeviceDontPropagateList(xinput::GetDeviceDontPropagateListReply),
4916 #[cfg(feature = "xinput")]
4917 XinputGetDeviceMotionEvents(xinput::GetDeviceMotionEventsReply),
4918 #[cfg(feature = "xinput")]
4919 XinputChangeKeyboardDevice(xinput::ChangeKeyboardDeviceReply),
4920 #[cfg(feature = "xinput")]
4921 XinputChangePointerDevice(xinput::ChangePointerDeviceReply),
4922 #[cfg(feature = "xinput")]
4923 XinputGrabDevice(xinput::GrabDeviceReply),
4924 #[cfg(feature = "xinput")]
4925 XinputGetDeviceFocus(xinput::GetDeviceFocusReply),
4926 #[cfg(feature = "xinput")]
4927 XinputGetFeedbackControl(xinput::GetFeedbackControlReply),
4928 #[cfg(feature = "xinput")]
4929 XinputGetDeviceKeyMapping(xinput::GetDeviceKeyMappingReply),
4930 #[cfg(feature = "xinput")]
4931 XinputGetDeviceModifierMapping(xinput::GetDeviceModifierMappingReply),
4932 #[cfg(feature = "xinput")]
4933 XinputSetDeviceModifierMapping(xinput::SetDeviceModifierMappingReply),
4934 #[cfg(feature = "xinput")]
4935 XinputGetDeviceButtonMapping(xinput::GetDeviceButtonMappingReply),
4936 #[cfg(feature = "xinput")]
4937 XinputSetDeviceButtonMapping(xinput::SetDeviceButtonMappingReply),
4938 #[cfg(feature = "xinput")]
4939 XinputQueryDeviceState(xinput::QueryDeviceStateReply),
4940 #[cfg(feature = "xinput")]
4941 XinputSetDeviceValuators(xinput::SetDeviceValuatorsReply),
4942 #[cfg(feature = "xinput")]
4943 XinputGetDeviceControl(xinput::GetDeviceControlReply),
4944 #[cfg(feature = "xinput")]
4945 XinputChangeDeviceControl(xinput::ChangeDeviceControlReply),
4946 #[cfg(feature = "xinput")]
4947 XinputListDeviceProperties(xinput::ListDevicePropertiesReply),
4948 #[cfg(feature = "xinput")]
4949 XinputGetDeviceProperty(xinput::GetDevicePropertyReply),
4950 #[cfg(feature = "xinput")]
4951 XinputXIQueryPointer(xinput::XIQueryPointerReply),
4952 #[cfg(feature = "xinput")]
4953 XinputXIGetClientPointer(xinput::XIGetClientPointerReply),
4954 #[cfg(feature = "xinput")]
4955 XinputXIQueryVersion(xinput::XIQueryVersionReply),
4956 #[cfg(feature = "xinput")]
4957 XinputXIQueryDevice(xinput::XIQueryDeviceReply),
4958 #[cfg(feature = "xinput")]
4959 XinputXIGetFocus(xinput::XIGetFocusReply),
4960 #[cfg(feature = "xinput")]
4961 XinputXIGrabDevice(xinput::XIGrabDeviceReply),
4962 #[cfg(feature = "xinput")]
4963 XinputXIPassiveGrabDevice(xinput::XIPassiveGrabDeviceReply),
4964 #[cfg(feature = "xinput")]
4965 XinputXIListProperties(xinput::XIListPropertiesReply),
4966 #[cfg(feature = "xinput")]
4967 XinputXIGetProperty(xinput::XIGetPropertyReply),
4968 #[cfg(feature = "xinput")]
4969 XinputXIGetSelectedEvents(xinput::XIGetSelectedEventsReply),
4970 #[cfg(feature = "xkb")]
4971 XkbUseExtension(xkb::UseExtensionReply),
4972 #[cfg(feature = "xkb")]
4973 XkbGetState(xkb::GetStateReply),
4974 #[cfg(feature = "xkb")]
4975 XkbGetControls(xkb::GetControlsReply),
4976 #[cfg(feature = "xkb")]
4977 XkbGetMap(xkb::GetMapReply),
4978 #[cfg(feature = "xkb")]
4979 XkbGetCompatMap(xkb::GetCompatMapReply),
4980 #[cfg(feature = "xkb")]
4981 XkbGetIndicatorState(xkb::GetIndicatorStateReply),
4982 #[cfg(feature = "xkb")]
4983 XkbGetIndicatorMap(xkb::GetIndicatorMapReply),
4984 #[cfg(feature = "xkb")]
4985 XkbGetNamedIndicator(xkb::GetNamedIndicatorReply),
4986 #[cfg(feature = "xkb")]
4987 XkbGetNames(xkb::GetNamesReply),
4988 #[cfg(feature = "xkb")]
4989 XkbPerClientFlags(xkb::PerClientFlagsReply),
4990 #[cfg(feature = "xkb")]
4991 XkbListComponents(xkb::ListComponentsReply),
4992 #[cfg(feature = "xkb")]
4993 XkbGetKbdByName(xkb::GetKbdByNameReply),
4994 #[cfg(feature = "xkb")]
4995 XkbGetDeviceInfo(xkb::GetDeviceInfoReply),
4996 #[cfg(feature = "xkb")]
4997 XkbSetDebuggingFlags(xkb::SetDebuggingFlagsReply),
4998 #[cfg(feature = "xprint")]
4999 XprintPrintQueryVersion(xprint::PrintQueryVersionReply),
5000 #[cfg(feature = "xprint")]
5001 XprintPrintGetPrinterList(xprint::PrintGetPrinterListReply),
5002 #[cfg(feature = "xprint")]
5003 XprintPrintGetContext(xprint::PrintGetContextReply),
5004 #[cfg(feature = "xprint")]
5005 XprintPrintGetScreenOfContext(xprint::PrintGetScreenOfContextReply),
5006 #[cfg(feature = "xprint")]
5007 XprintPrintGetDocumentData(xprint::PrintGetDocumentDataReply),
5008 #[cfg(feature = "xprint")]
5009 XprintPrintInputSelected(xprint::PrintInputSelectedReply),
5010 #[cfg(feature = "xprint")]
5011 XprintPrintGetAttributes(xprint::PrintGetAttributesReply),
5012 #[cfg(feature = "xprint")]
5013 XprintPrintGetOneAttributes(xprint::PrintGetOneAttributesReply),
5014 #[cfg(feature = "xprint")]
5015 XprintPrintGetPageDimensions(xprint::PrintGetPageDimensionsReply),
5016 #[cfg(feature = "xprint")]
5017 XprintPrintQueryScreens(xprint::PrintQueryScreensReply),
5018 #[cfg(feature = "xprint")]
5019 XprintPrintSetImageResolution(xprint::PrintSetImageResolutionReply),
5020 #[cfg(feature = "xprint")]
5021 XprintPrintGetImageResolution(xprint::PrintGetImageResolutionReply),
5022 #[cfg(feature = "xselinux")]
5023 XselinuxQueryVersion(xselinux::QueryVersionReply),
5024 #[cfg(feature = "xselinux")]
5025 XselinuxGetDeviceCreateContext(xselinux::GetDeviceCreateContextReply),
5026 #[cfg(feature = "xselinux")]
5027 XselinuxGetDeviceContext(xselinux::GetDeviceContextReply),
5028 #[cfg(feature = "xselinux")]
5029 XselinuxGetWindowCreateContext(xselinux::GetWindowCreateContextReply),
5030 #[cfg(feature = "xselinux")]
5031 XselinuxGetWindowContext(xselinux::GetWindowContextReply),
5032 #[cfg(feature = "xselinux")]
5033 XselinuxGetPropertyCreateContext(xselinux::GetPropertyCreateContextReply),
5034 #[cfg(feature = "xselinux")]
5035 XselinuxGetPropertyUseContext(xselinux::GetPropertyUseContextReply),
5036 #[cfg(feature = "xselinux")]
5037 XselinuxGetPropertyContext(xselinux::GetPropertyContextReply),
5038 #[cfg(feature = "xselinux")]
5039 XselinuxGetPropertyDataContext(xselinux::GetPropertyDataContextReply),
5040 #[cfg(feature = "xselinux")]
5041 XselinuxListProperties(xselinux::ListPropertiesReply),
5042 #[cfg(feature = "xselinux")]
5043 XselinuxGetSelectionCreateContext(xselinux::GetSelectionCreateContextReply),
5044 #[cfg(feature = "xselinux")]
5045 XselinuxGetSelectionUseContext(xselinux::GetSelectionUseContextReply),
5046 #[cfg(feature = "xselinux")]
5047 XselinuxGetSelectionContext(xselinux::GetSelectionContextReply),
5048 #[cfg(feature = "xselinux")]
5049 XselinuxGetSelectionDataContext(xselinux::GetSelectionDataContextReply),
5050 #[cfg(feature = "xselinux")]
5051 XselinuxListSelections(xselinux::ListSelectionsReply),
5052 #[cfg(feature = "xselinux")]
5053 XselinuxGetClientContext(xselinux::GetClientContextReply),
5054 #[cfg(feature = "xtest")]
5055 XtestGetVersion(xtest::GetVersionReply),
5056 #[cfg(feature = "xtest")]
5057 XtestCompareCursor(xtest::CompareCursorReply),
5058 #[cfg(feature = "xv")]
5059 XvQueryExtension(xv::QueryExtensionReply),
5060 #[cfg(feature = "xv")]
5061 XvQueryAdaptors(xv::QueryAdaptorsReply),
5062 #[cfg(feature = "xv")]
5063 XvQueryEncodings(xv::QueryEncodingsReply),
5064 #[cfg(feature = "xv")]
5065 XvGrabPort(xv::GrabPortReply),
5066 #[cfg(feature = "xv")]
5067 XvQueryBestSize(xv::QueryBestSizeReply),
5068 #[cfg(feature = "xv")]
5069 XvGetPortAttribute(xv::GetPortAttributeReply),
5070 #[cfg(feature = "xv")]
5071 XvQueryPortAttributes(xv::QueryPortAttributesReply),
5072 #[cfg(feature = "xv")]
5073 XvListImageFormats(xv::ListImageFormatsReply),
5074 #[cfg(feature = "xv")]
5075 XvQueryImageAttributes(xv::QueryImageAttributesReply),
5076 #[cfg(feature = "xvmc")]
5077 XvmcQueryVersion(xvmc::QueryVersionReply),
5078 #[cfg(feature = "xvmc")]
5079 XvmcListSurfaceTypes(xvmc::ListSurfaceTypesReply),
5080 #[cfg(feature = "xvmc")]
5081 XvmcCreateContext(xvmc::CreateContextReply),
5082 #[cfg(feature = "xvmc")]
5083 XvmcCreateSurface(xvmc::CreateSurfaceReply),
5084 #[cfg(feature = "xvmc")]
5085 XvmcCreateSubpicture(xvmc::CreateSubpictureReply),
5086 #[cfg(feature = "xvmc")]
5087 XvmcListSubpictureTypes(xvmc::ListSubpictureTypesReply),
5088 }
5089 impl From<()> for Reply {
from(_: ()) -> Reply5090 fn from(_: ()) -> Reply {
5091 Reply::Void
5092 }
5093 }
5094 impl From<xproto::GetWindowAttributesReply> for Reply {
from(reply: xproto::GetWindowAttributesReply) -> Reply5095 fn from(reply: xproto::GetWindowAttributesReply) -> Reply {
5096 Reply::GetWindowAttributes(reply)
5097 }
5098 }
5099 impl From<xproto::GetGeometryReply> for Reply {
from(reply: xproto::GetGeometryReply) -> Reply5100 fn from(reply: xproto::GetGeometryReply) -> Reply {
5101 Reply::GetGeometry(reply)
5102 }
5103 }
5104 impl From<xproto::QueryTreeReply> for Reply {
from(reply: xproto::QueryTreeReply) -> Reply5105 fn from(reply: xproto::QueryTreeReply) -> Reply {
5106 Reply::QueryTree(reply)
5107 }
5108 }
5109 impl From<xproto::InternAtomReply> for Reply {
from(reply: xproto::InternAtomReply) -> Reply5110 fn from(reply: xproto::InternAtomReply) -> Reply {
5111 Reply::InternAtom(reply)
5112 }
5113 }
5114 impl From<xproto::GetAtomNameReply> for Reply {
from(reply: xproto::GetAtomNameReply) -> Reply5115 fn from(reply: xproto::GetAtomNameReply) -> Reply {
5116 Reply::GetAtomName(reply)
5117 }
5118 }
5119 impl From<xproto::GetPropertyReply> for Reply {
from(reply: xproto::GetPropertyReply) -> Reply5120 fn from(reply: xproto::GetPropertyReply) -> Reply {
5121 Reply::GetProperty(reply)
5122 }
5123 }
5124 impl From<xproto::ListPropertiesReply> for Reply {
from(reply: xproto::ListPropertiesReply) -> Reply5125 fn from(reply: xproto::ListPropertiesReply) -> Reply {
5126 Reply::ListProperties(reply)
5127 }
5128 }
5129 impl From<xproto::GetSelectionOwnerReply> for Reply {
from(reply: xproto::GetSelectionOwnerReply) -> Reply5130 fn from(reply: xproto::GetSelectionOwnerReply) -> Reply {
5131 Reply::GetSelectionOwner(reply)
5132 }
5133 }
5134 impl From<xproto::GrabPointerReply> for Reply {
from(reply: xproto::GrabPointerReply) -> Reply5135 fn from(reply: xproto::GrabPointerReply) -> Reply {
5136 Reply::GrabPointer(reply)
5137 }
5138 }
5139 impl From<xproto::GrabKeyboardReply> for Reply {
from(reply: xproto::GrabKeyboardReply) -> Reply5140 fn from(reply: xproto::GrabKeyboardReply) -> Reply {
5141 Reply::GrabKeyboard(reply)
5142 }
5143 }
5144 impl From<xproto::QueryPointerReply> for Reply {
from(reply: xproto::QueryPointerReply) -> Reply5145 fn from(reply: xproto::QueryPointerReply) -> Reply {
5146 Reply::QueryPointer(reply)
5147 }
5148 }
5149 impl From<xproto::GetMotionEventsReply> for Reply {
from(reply: xproto::GetMotionEventsReply) -> Reply5150 fn from(reply: xproto::GetMotionEventsReply) -> Reply {
5151 Reply::GetMotionEvents(reply)
5152 }
5153 }
5154 impl From<xproto::TranslateCoordinatesReply> for Reply {
from(reply: xproto::TranslateCoordinatesReply) -> Reply5155 fn from(reply: xproto::TranslateCoordinatesReply) -> Reply {
5156 Reply::TranslateCoordinates(reply)
5157 }
5158 }
5159 impl From<xproto::GetInputFocusReply> for Reply {
from(reply: xproto::GetInputFocusReply) -> Reply5160 fn from(reply: xproto::GetInputFocusReply) -> Reply {
5161 Reply::GetInputFocus(reply)
5162 }
5163 }
5164 impl From<xproto::QueryKeymapReply> for Reply {
from(reply: xproto::QueryKeymapReply) -> Reply5165 fn from(reply: xproto::QueryKeymapReply) -> Reply {
5166 Reply::QueryKeymap(reply)
5167 }
5168 }
5169 impl From<xproto::QueryFontReply> for Reply {
from(reply: xproto::QueryFontReply) -> Reply5170 fn from(reply: xproto::QueryFontReply) -> Reply {
5171 Reply::QueryFont(reply)
5172 }
5173 }
5174 impl From<xproto::QueryTextExtentsReply> for Reply {
from(reply: xproto::QueryTextExtentsReply) -> Reply5175 fn from(reply: xproto::QueryTextExtentsReply) -> Reply {
5176 Reply::QueryTextExtents(reply)
5177 }
5178 }
5179 impl From<xproto::ListFontsReply> for Reply {
from(reply: xproto::ListFontsReply) -> Reply5180 fn from(reply: xproto::ListFontsReply) -> Reply {
5181 Reply::ListFonts(reply)
5182 }
5183 }
5184 impl From<xproto::ListFontsWithInfoReply> for Reply {
from(reply: xproto::ListFontsWithInfoReply) -> Reply5185 fn from(reply: xproto::ListFontsWithInfoReply) -> Reply {
5186 Reply::ListFontsWithInfo(reply)
5187 }
5188 }
5189 impl From<xproto::GetFontPathReply> for Reply {
from(reply: xproto::GetFontPathReply) -> Reply5190 fn from(reply: xproto::GetFontPathReply) -> Reply {
5191 Reply::GetFontPath(reply)
5192 }
5193 }
5194 impl From<xproto::GetImageReply> for Reply {
from(reply: xproto::GetImageReply) -> Reply5195 fn from(reply: xproto::GetImageReply) -> Reply {
5196 Reply::GetImage(reply)
5197 }
5198 }
5199 impl From<xproto::ListInstalledColormapsReply> for Reply {
from(reply: xproto::ListInstalledColormapsReply) -> Reply5200 fn from(reply: xproto::ListInstalledColormapsReply) -> Reply {
5201 Reply::ListInstalledColormaps(reply)
5202 }
5203 }
5204 impl From<xproto::AllocColorReply> for Reply {
from(reply: xproto::AllocColorReply) -> Reply5205 fn from(reply: xproto::AllocColorReply) -> Reply {
5206 Reply::AllocColor(reply)
5207 }
5208 }
5209 impl From<xproto::AllocNamedColorReply> for Reply {
from(reply: xproto::AllocNamedColorReply) -> Reply5210 fn from(reply: xproto::AllocNamedColorReply) -> Reply {
5211 Reply::AllocNamedColor(reply)
5212 }
5213 }
5214 impl From<xproto::AllocColorCellsReply> for Reply {
from(reply: xproto::AllocColorCellsReply) -> Reply5215 fn from(reply: xproto::AllocColorCellsReply) -> Reply {
5216 Reply::AllocColorCells(reply)
5217 }
5218 }
5219 impl From<xproto::AllocColorPlanesReply> for Reply {
from(reply: xproto::AllocColorPlanesReply) -> Reply5220 fn from(reply: xproto::AllocColorPlanesReply) -> Reply {
5221 Reply::AllocColorPlanes(reply)
5222 }
5223 }
5224 impl From<xproto::QueryColorsReply> for Reply {
from(reply: xproto::QueryColorsReply) -> Reply5225 fn from(reply: xproto::QueryColorsReply) -> Reply {
5226 Reply::QueryColors(reply)
5227 }
5228 }
5229 impl From<xproto::LookupColorReply> for Reply {
from(reply: xproto::LookupColorReply) -> Reply5230 fn from(reply: xproto::LookupColorReply) -> Reply {
5231 Reply::LookupColor(reply)
5232 }
5233 }
5234 impl From<xproto::QueryBestSizeReply> for Reply {
from(reply: xproto::QueryBestSizeReply) -> Reply5235 fn from(reply: xproto::QueryBestSizeReply) -> Reply {
5236 Reply::QueryBestSize(reply)
5237 }
5238 }
5239 impl From<xproto::QueryExtensionReply> for Reply {
from(reply: xproto::QueryExtensionReply) -> Reply5240 fn from(reply: xproto::QueryExtensionReply) -> Reply {
5241 Reply::QueryExtension(reply)
5242 }
5243 }
5244 impl From<xproto::ListExtensionsReply> for Reply {
from(reply: xproto::ListExtensionsReply) -> Reply5245 fn from(reply: xproto::ListExtensionsReply) -> Reply {
5246 Reply::ListExtensions(reply)
5247 }
5248 }
5249 impl From<xproto::GetKeyboardMappingReply> for Reply {
from(reply: xproto::GetKeyboardMappingReply) -> Reply5250 fn from(reply: xproto::GetKeyboardMappingReply) -> Reply {
5251 Reply::GetKeyboardMapping(reply)
5252 }
5253 }
5254 impl From<xproto::GetKeyboardControlReply> for Reply {
from(reply: xproto::GetKeyboardControlReply) -> Reply5255 fn from(reply: xproto::GetKeyboardControlReply) -> Reply {
5256 Reply::GetKeyboardControl(reply)
5257 }
5258 }
5259 impl From<xproto::GetPointerControlReply> for Reply {
from(reply: xproto::GetPointerControlReply) -> Reply5260 fn from(reply: xproto::GetPointerControlReply) -> Reply {
5261 Reply::GetPointerControl(reply)
5262 }
5263 }
5264 impl From<xproto::GetScreenSaverReply> for Reply {
from(reply: xproto::GetScreenSaverReply) -> Reply5265 fn from(reply: xproto::GetScreenSaverReply) -> Reply {
5266 Reply::GetScreenSaver(reply)
5267 }
5268 }
5269 impl From<xproto::ListHostsReply> for Reply {
from(reply: xproto::ListHostsReply) -> Reply5270 fn from(reply: xproto::ListHostsReply) -> Reply {
5271 Reply::ListHosts(reply)
5272 }
5273 }
5274 impl From<xproto::SetPointerMappingReply> for Reply {
from(reply: xproto::SetPointerMappingReply) -> Reply5275 fn from(reply: xproto::SetPointerMappingReply) -> Reply {
5276 Reply::SetPointerMapping(reply)
5277 }
5278 }
5279 impl From<xproto::GetPointerMappingReply> for Reply {
from(reply: xproto::GetPointerMappingReply) -> Reply5280 fn from(reply: xproto::GetPointerMappingReply) -> Reply {
5281 Reply::GetPointerMapping(reply)
5282 }
5283 }
5284 impl From<xproto::SetModifierMappingReply> for Reply {
from(reply: xproto::SetModifierMappingReply) -> Reply5285 fn from(reply: xproto::SetModifierMappingReply) -> Reply {
5286 Reply::SetModifierMapping(reply)
5287 }
5288 }
5289 impl From<xproto::GetModifierMappingReply> for Reply {
from(reply: xproto::GetModifierMappingReply) -> Reply5290 fn from(reply: xproto::GetModifierMappingReply) -> Reply {
5291 Reply::GetModifierMapping(reply)
5292 }
5293 }
5294 impl From<bigreq::EnableReply> for Reply {
from(reply: bigreq::EnableReply) -> Reply5295 fn from(reply: bigreq::EnableReply) -> Reply {
5296 Reply::BigreqEnable(reply)
5297 }
5298 }
5299 #[cfg(feature = "composite")]
5300 impl From<composite::QueryVersionReply> for Reply {
from(reply: composite::QueryVersionReply) -> Reply5301 fn from(reply: composite::QueryVersionReply) -> Reply {
5302 Reply::CompositeQueryVersion(reply)
5303 }
5304 }
5305 #[cfg(feature = "composite")]
5306 impl From<composite::GetOverlayWindowReply> for Reply {
from(reply: composite::GetOverlayWindowReply) -> Reply5307 fn from(reply: composite::GetOverlayWindowReply) -> Reply {
5308 Reply::CompositeGetOverlayWindow(reply)
5309 }
5310 }
5311 #[cfg(feature = "damage")]
5312 impl From<damage::QueryVersionReply> for Reply {
from(reply: damage::QueryVersionReply) -> Reply5313 fn from(reply: damage::QueryVersionReply) -> Reply {
5314 Reply::DamageQueryVersion(reply)
5315 }
5316 }
5317 #[cfg(feature = "dpms")]
5318 impl From<dpms::GetVersionReply> for Reply {
from(reply: dpms::GetVersionReply) -> Reply5319 fn from(reply: dpms::GetVersionReply) -> Reply {
5320 Reply::DpmsGetVersion(reply)
5321 }
5322 }
5323 #[cfg(feature = "dpms")]
5324 impl From<dpms::CapableReply> for Reply {
from(reply: dpms::CapableReply) -> Reply5325 fn from(reply: dpms::CapableReply) -> Reply {
5326 Reply::DpmsCapable(reply)
5327 }
5328 }
5329 #[cfg(feature = "dpms")]
5330 impl From<dpms::GetTimeoutsReply> for Reply {
from(reply: dpms::GetTimeoutsReply) -> Reply5331 fn from(reply: dpms::GetTimeoutsReply) -> Reply {
5332 Reply::DpmsGetTimeouts(reply)
5333 }
5334 }
5335 #[cfg(feature = "dpms")]
5336 impl From<dpms::InfoReply> for Reply {
from(reply: dpms::InfoReply) -> Reply5337 fn from(reply: dpms::InfoReply) -> Reply {
5338 Reply::DpmsInfo(reply)
5339 }
5340 }
5341 #[cfg(feature = "dri2")]
5342 impl From<dri2::QueryVersionReply> for Reply {
from(reply: dri2::QueryVersionReply) -> Reply5343 fn from(reply: dri2::QueryVersionReply) -> Reply {
5344 Reply::Dri2QueryVersion(reply)
5345 }
5346 }
5347 #[cfg(feature = "dri2")]
5348 impl From<dri2::ConnectReply> for Reply {
from(reply: dri2::ConnectReply) -> Reply5349 fn from(reply: dri2::ConnectReply) -> Reply {
5350 Reply::Dri2Connect(reply)
5351 }
5352 }
5353 #[cfg(feature = "dri2")]
5354 impl From<dri2::AuthenticateReply> for Reply {
from(reply: dri2::AuthenticateReply) -> Reply5355 fn from(reply: dri2::AuthenticateReply) -> Reply {
5356 Reply::Dri2Authenticate(reply)
5357 }
5358 }
5359 #[cfg(feature = "dri2")]
5360 impl From<dri2::GetBuffersReply> for Reply {
from(reply: dri2::GetBuffersReply) -> Reply5361 fn from(reply: dri2::GetBuffersReply) -> Reply {
5362 Reply::Dri2GetBuffers(reply)
5363 }
5364 }
5365 #[cfg(feature = "dri2")]
5366 impl From<dri2::CopyRegionReply> for Reply {
from(reply: dri2::CopyRegionReply) -> Reply5367 fn from(reply: dri2::CopyRegionReply) -> Reply {
5368 Reply::Dri2CopyRegion(reply)
5369 }
5370 }
5371 #[cfg(feature = "dri2")]
5372 impl From<dri2::GetBuffersWithFormatReply> for Reply {
from(reply: dri2::GetBuffersWithFormatReply) -> Reply5373 fn from(reply: dri2::GetBuffersWithFormatReply) -> Reply {
5374 Reply::Dri2GetBuffersWithFormat(reply)
5375 }
5376 }
5377 #[cfg(feature = "dri2")]
5378 impl From<dri2::SwapBuffersReply> for Reply {
from(reply: dri2::SwapBuffersReply) -> Reply5379 fn from(reply: dri2::SwapBuffersReply) -> Reply {
5380 Reply::Dri2SwapBuffers(reply)
5381 }
5382 }
5383 #[cfg(feature = "dri2")]
5384 impl From<dri2::GetMSCReply> for Reply {
from(reply: dri2::GetMSCReply) -> Reply5385 fn from(reply: dri2::GetMSCReply) -> Reply {
5386 Reply::Dri2GetMSC(reply)
5387 }
5388 }
5389 #[cfg(feature = "dri2")]
5390 impl From<dri2::WaitMSCReply> for Reply {
from(reply: dri2::WaitMSCReply) -> Reply5391 fn from(reply: dri2::WaitMSCReply) -> Reply {
5392 Reply::Dri2WaitMSC(reply)
5393 }
5394 }
5395 #[cfg(feature = "dri2")]
5396 impl From<dri2::WaitSBCReply> for Reply {
from(reply: dri2::WaitSBCReply) -> Reply5397 fn from(reply: dri2::WaitSBCReply) -> Reply {
5398 Reply::Dri2WaitSBC(reply)
5399 }
5400 }
5401 #[cfg(feature = "dri2")]
5402 impl From<dri2::GetParamReply> for Reply {
from(reply: dri2::GetParamReply) -> Reply5403 fn from(reply: dri2::GetParamReply) -> Reply {
5404 Reply::Dri2GetParam(reply)
5405 }
5406 }
5407 #[cfg(feature = "dri3")]
5408 impl From<dri3::QueryVersionReply> for Reply {
from(reply: dri3::QueryVersionReply) -> Reply5409 fn from(reply: dri3::QueryVersionReply) -> Reply {
5410 Reply::Dri3QueryVersion(reply)
5411 }
5412 }
5413 #[cfg(feature = "dri3")]
5414 impl From<dri3::OpenReply> for Reply {
from(reply: dri3::OpenReply) -> Reply5415 fn from(reply: dri3::OpenReply) -> Reply {
5416 Reply::Dri3Open(reply)
5417 }
5418 }
5419 #[cfg(feature = "dri3")]
5420 impl From<dri3::BufferFromPixmapReply> for Reply {
from(reply: dri3::BufferFromPixmapReply) -> Reply5421 fn from(reply: dri3::BufferFromPixmapReply) -> Reply {
5422 Reply::Dri3BufferFromPixmap(reply)
5423 }
5424 }
5425 #[cfg(feature = "dri3")]
5426 impl From<dri3::FDFromFenceReply> for Reply {
from(reply: dri3::FDFromFenceReply) -> Reply5427 fn from(reply: dri3::FDFromFenceReply) -> Reply {
5428 Reply::Dri3FDFromFence(reply)
5429 }
5430 }
5431 #[cfg(feature = "dri3")]
5432 impl From<dri3::GetSupportedModifiersReply> for Reply {
from(reply: dri3::GetSupportedModifiersReply) -> Reply5433 fn from(reply: dri3::GetSupportedModifiersReply) -> Reply {
5434 Reply::Dri3GetSupportedModifiers(reply)
5435 }
5436 }
5437 #[cfg(feature = "dri3")]
5438 impl From<dri3::BuffersFromPixmapReply> for Reply {
from(reply: dri3::BuffersFromPixmapReply) -> Reply5439 fn from(reply: dri3::BuffersFromPixmapReply) -> Reply {
5440 Reply::Dri3BuffersFromPixmap(reply)
5441 }
5442 }
5443 impl From<ge::QueryVersionReply> for Reply {
from(reply: ge::QueryVersionReply) -> Reply5444 fn from(reply: ge::QueryVersionReply) -> Reply {
5445 Reply::GeQueryVersion(reply)
5446 }
5447 }
5448 #[cfg(feature = "glx")]
5449 impl From<glx::MakeCurrentReply> for Reply {
from(reply: glx::MakeCurrentReply) -> Reply5450 fn from(reply: glx::MakeCurrentReply) -> Reply {
5451 Reply::GlxMakeCurrent(reply)
5452 }
5453 }
5454 #[cfg(feature = "glx")]
5455 impl From<glx::IsDirectReply> for Reply {
from(reply: glx::IsDirectReply) -> Reply5456 fn from(reply: glx::IsDirectReply) -> Reply {
5457 Reply::GlxIsDirect(reply)
5458 }
5459 }
5460 #[cfg(feature = "glx")]
5461 impl From<glx::QueryVersionReply> for Reply {
from(reply: glx::QueryVersionReply) -> Reply5462 fn from(reply: glx::QueryVersionReply) -> Reply {
5463 Reply::GlxQueryVersion(reply)
5464 }
5465 }
5466 #[cfg(feature = "glx")]
5467 impl From<glx::GetVisualConfigsReply> for Reply {
from(reply: glx::GetVisualConfigsReply) -> Reply5468 fn from(reply: glx::GetVisualConfigsReply) -> Reply {
5469 Reply::GlxGetVisualConfigs(reply)
5470 }
5471 }
5472 #[cfg(feature = "glx")]
5473 impl From<glx::VendorPrivateWithReplyReply> for Reply {
from(reply: glx::VendorPrivateWithReplyReply) -> Reply5474 fn from(reply: glx::VendorPrivateWithReplyReply) -> Reply {
5475 Reply::GlxVendorPrivateWithReply(reply)
5476 }
5477 }
5478 #[cfg(feature = "glx")]
5479 impl From<glx::QueryExtensionsStringReply> for Reply {
from(reply: glx::QueryExtensionsStringReply) -> Reply5480 fn from(reply: glx::QueryExtensionsStringReply) -> Reply {
5481 Reply::GlxQueryExtensionsString(reply)
5482 }
5483 }
5484 #[cfg(feature = "glx")]
5485 impl From<glx::QueryServerStringReply> for Reply {
from(reply: glx::QueryServerStringReply) -> Reply5486 fn from(reply: glx::QueryServerStringReply) -> Reply {
5487 Reply::GlxQueryServerString(reply)
5488 }
5489 }
5490 #[cfg(feature = "glx")]
5491 impl From<glx::GetFBConfigsReply> for Reply {
from(reply: glx::GetFBConfigsReply) -> Reply5492 fn from(reply: glx::GetFBConfigsReply) -> Reply {
5493 Reply::GlxGetFBConfigs(reply)
5494 }
5495 }
5496 #[cfg(feature = "glx")]
5497 impl From<glx::QueryContextReply> for Reply {
from(reply: glx::QueryContextReply) -> Reply5498 fn from(reply: glx::QueryContextReply) -> Reply {
5499 Reply::GlxQueryContext(reply)
5500 }
5501 }
5502 #[cfg(feature = "glx")]
5503 impl From<glx::MakeContextCurrentReply> for Reply {
from(reply: glx::MakeContextCurrentReply) -> Reply5504 fn from(reply: glx::MakeContextCurrentReply) -> Reply {
5505 Reply::GlxMakeContextCurrent(reply)
5506 }
5507 }
5508 #[cfg(feature = "glx")]
5509 impl From<glx::GetDrawableAttributesReply> for Reply {
from(reply: glx::GetDrawableAttributesReply) -> Reply5510 fn from(reply: glx::GetDrawableAttributesReply) -> Reply {
5511 Reply::GlxGetDrawableAttributes(reply)
5512 }
5513 }
5514 #[cfg(feature = "glx")]
5515 impl From<glx::GenListsReply> for Reply {
from(reply: glx::GenListsReply) -> Reply5516 fn from(reply: glx::GenListsReply) -> Reply {
5517 Reply::GlxGenLists(reply)
5518 }
5519 }
5520 #[cfg(feature = "glx")]
5521 impl From<glx::RenderModeReply> for Reply {
from(reply: glx::RenderModeReply) -> Reply5522 fn from(reply: glx::RenderModeReply) -> Reply {
5523 Reply::GlxRenderMode(reply)
5524 }
5525 }
5526 #[cfg(feature = "glx")]
5527 impl From<glx::FinishReply> for Reply {
from(reply: glx::FinishReply) -> Reply5528 fn from(reply: glx::FinishReply) -> Reply {
5529 Reply::GlxFinish(reply)
5530 }
5531 }
5532 #[cfg(feature = "glx")]
5533 impl From<glx::ReadPixelsReply> for Reply {
from(reply: glx::ReadPixelsReply) -> Reply5534 fn from(reply: glx::ReadPixelsReply) -> Reply {
5535 Reply::GlxReadPixels(reply)
5536 }
5537 }
5538 #[cfg(feature = "glx")]
5539 impl From<glx::GetBooleanvReply> for Reply {
from(reply: glx::GetBooleanvReply) -> Reply5540 fn from(reply: glx::GetBooleanvReply) -> Reply {
5541 Reply::GlxGetBooleanv(reply)
5542 }
5543 }
5544 #[cfg(feature = "glx")]
5545 impl From<glx::GetClipPlaneReply> for Reply {
from(reply: glx::GetClipPlaneReply) -> Reply5546 fn from(reply: glx::GetClipPlaneReply) -> Reply {
5547 Reply::GlxGetClipPlane(reply)
5548 }
5549 }
5550 #[cfg(feature = "glx")]
5551 impl From<glx::GetDoublevReply> for Reply {
from(reply: glx::GetDoublevReply) -> Reply5552 fn from(reply: glx::GetDoublevReply) -> Reply {
5553 Reply::GlxGetDoublev(reply)
5554 }
5555 }
5556 #[cfg(feature = "glx")]
5557 impl From<glx::GetErrorReply> for Reply {
from(reply: glx::GetErrorReply) -> Reply5558 fn from(reply: glx::GetErrorReply) -> Reply {
5559 Reply::GlxGetError(reply)
5560 }
5561 }
5562 #[cfg(feature = "glx")]
5563 impl From<glx::GetFloatvReply> for Reply {
from(reply: glx::GetFloatvReply) -> Reply5564 fn from(reply: glx::GetFloatvReply) -> Reply {
5565 Reply::GlxGetFloatv(reply)
5566 }
5567 }
5568 #[cfg(feature = "glx")]
5569 impl From<glx::GetIntegervReply> for Reply {
from(reply: glx::GetIntegervReply) -> Reply5570 fn from(reply: glx::GetIntegervReply) -> Reply {
5571 Reply::GlxGetIntegerv(reply)
5572 }
5573 }
5574 #[cfg(feature = "glx")]
5575 impl From<glx::GetLightfvReply> for Reply {
from(reply: glx::GetLightfvReply) -> Reply5576 fn from(reply: glx::GetLightfvReply) -> Reply {
5577 Reply::GlxGetLightfv(reply)
5578 }
5579 }
5580 #[cfg(feature = "glx")]
5581 impl From<glx::GetLightivReply> for Reply {
from(reply: glx::GetLightivReply) -> Reply5582 fn from(reply: glx::GetLightivReply) -> Reply {
5583 Reply::GlxGetLightiv(reply)
5584 }
5585 }
5586 #[cfg(feature = "glx")]
5587 impl From<glx::GetMapdvReply> for Reply {
from(reply: glx::GetMapdvReply) -> Reply5588 fn from(reply: glx::GetMapdvReply) -> Reply {
5589 Reply::GlxGetMapdv(reply)
5590 }
5591 }
5592 #[cfg(feature = "glx")]
5593 impl From<glx::GetMapfvReply> for Reply {
from(reply: glx::GetMapfvReply) -> Reply5594 fn from(reply: glx::GetMapfvReply) -> Reply {
5595 Reply::GlxGetMapfv(reply)
5596 }
5597 }
5598 #[cfg(feature = "glx")]
5599 impl From<glx::GetMapivReply> for Reply {
from(reply: glx::GetMapivReply) -> Reply5600 fn from(reply: glx::GetMapivReply) -> Reply {
5601 Reply::GlxGetMapiv(reply)
5602 }
5603 }
5604 #[cfg(feature = "glx")]
5605 impl From<glx::GetMaterialfvReply> for Reply {
from(reply: glx::GetMaterialfvReply) -> Reply5606 fn from(reply: glx::GetMaterialfvReply) -> Reply {
5607 Reply::GlxGetMaterialfv(reply)
5608 }
5609 }
5610 #[cfg(feature = "glx")]
5611 impl From<glx::GetMaterialivReply> for Reply {
from(reply: glx::GetMaterialivReply) -> Reply5612 fn from(reply: glx::GetMaterialivReply) -> Reply {
5613 Reply::GlxGetMaterialiv(reply)
5614 }
5615 }
5616 #[cfg(feature = "glx")]
5617 impl From<glx::GetPixelMapfvReply> for Reply {
from(reply: glx::GetPixelMapfvReply) -> Reply5618 fn from(reply: glx::GetPixelMapfvReply) -> Reply {
5619 Reply::GlxGetPixelMapfv(reply)
5620 }
5621 }
5622 #[cfg(feature = "glx")]
5623 impl From<glx::GetPixelMapuivReply> for Reply {
from(reply: glx::GetPixelMapuivReply) -> Reply5624 fn from(reply: glx::GetPixelMapuivReply) -> Reply {
5625 Reply::GlxGetPixelMapuiv(reply)
5626 }
5627 }
5628 #[cfg(feature = "glx")]
5629 impl From<glx::GetPixelMapusvReply> for Reply {
from(reply: glx::GetPixelMapusvReply) -> Reply5630 fn from(reply: glx::GetPixelMapusvReply) -> Reply {
5631 Reply::GlxGetPixelMapusv(reply)
5632 }
5633 }
5634 #[cfg(feature = "glx")]
5635 impl From<glx::GetPolygonStippleReply> for Reply {
from(reply: glx::GetPolygonStippleReply) -> Reply5636 fn from(reply: glx::GetPolygonStippleReply) -> Reply {
5637 Reply::GlxGetPolygonStipple(reply)
5638 }
5639 }
5640 #[cfg(feature = "glx")]
5641 impl From<glx::GetStringReply> for Reply {
from(reply: glx::GetStringReply) -> Reply5642 fn from(reply: glx::GetStringReply) -> Reply {
5643 Reply::GlxGetString(reply)
5644 }
5645 }
5646 #[cfg(feature = "glx")]
5647 impl From<glx::GetTexEnvfvReply> for Reply {
from(reply: glx::GetTexEnvfvReply) -> Reply5648 fn from(reply: glx::GetTexEnvfvReply) -> Reply {
5649 Reply::GlxGetTexEnvfv(reply)
5650 }
5651 }
5652 #[cfg(feature = "glx")]
5653 impl From<glx::GetTexEnvivReply> for Reply {
from(reply: glx::GetTexEnvivReply) -> Reply5654 fn from(reply: glx::GetTexEnvivReply) -> Reply {
5655 Reply::GlxGetTexEnviv(reply)
5656 }
5657 }
5658 #[cfg(feature = "glx")]
5659 impl From<glx::GetTexGendvReply> for Reply {
from(reply: glx::GetTexGendvReply) -> Reply5660 fn from(reply: glx::GetTexGendvReply) -> Reply {
5661 Reply::GlxGetTexGendv(reply)
5662 }
5663 }
5664 #[cfg(feature = "glx")]
5665 impl From<glx::GetTexGenfvReply> for Reply {
from(reply: glx::GetTexGenfvReply) -> Reply5666 fn from(reply: glx::GetTexGenfvReply) -> Reply {
5667 Reply::GlxGetTexGenfv(reply)
5668 }
5669 }
5670 #[cfg(feature = "glx")]
5671 impl From<glx::GetTexGenivReply> for Reply {
from(reply: glx::GetTexGenivReply) -> Reply5672 fn from(reply: glx::GetTexGenivReply) -> Reply {
5673 Reply::GlxGetTexGeniv(reply)
5674 }
5675 }
5676 #[cfg(feature = "glx")]
5677 impl From<glx::GetTexImageReply> for Reply {
from(reply: glx::GetTexImageReply) -> Reply5678 fn from(reply: glx::GetTexImageReply) -> Reply {
5679 Reply::GlxGetTexImage(reply)
5680 }
5681 }
5682 #[cfg(feature = "glx")]
5683 impl From<glx::GetTexParameterfvReply> for Reply {
from(reply: glx::GetTexParameterfvReply) -> Reply5684 fn from(reply: glx::GetTexParameterfvReply) -> Reply {
5685 Reply::GlxGetTexParameterfv(reply)
5686 }
5687 }
5688 #[cfg(feature = "glx")]
5689 impl From<glx::GetTexParameterivReply> for Reply {
from(reply: glx::GetTexParameterivReply) -> Reply5690 fn from(reply: glx::GetTexParameterivReply) -> Reply {
5691 Reply::GlxGetTexParameteriv(reply)
5692 }
5693 }
5694 #[cfg(feature = "glx")]
5695 impl From<glx::GetTexLevelParameterfvReply> for Reply {
from(reply: glx::GetTexLevelParameterfvReply) -> Reply5696 fn from(reply: glx::GetTexLevelParameterfvReply) -> Reply {
5697 Reply::GlxGetTexLevelParameterfv(reply)
5698 }
5699 }
5700 #[cfg(feature = "glx")]
5701 impl From<glx::GetTexLevelParameterivReply> for Reply {
from(reply: glx::GetTexLevelParameterivReply) -> Reply5702 fn from(reply: glx::GetTexLevelParameterivReply) -> Reply {
5703 Reply::GlxGetTexLevelParameteriv(reply)
5704 }
5705 }
5706 #[cfg(feature = "glx")]
5707 impl From<glx::IsEnabledReply> for Reply {
from(reply: glx::IsEnabledReply) -> Reply5708 fn from(reply: glx::IsEnabledReply) -> Reply {
5709 Reply::GlxIsEnabled(reply)
5710 }
5711 }
5712 #[cfg(feature = "glx")]
5713 impl From<glx::IsListReply> for Reply {
from(reply: glx::IsListReply) -> Reply5714 fn from(reply: glx::IsListReply) -> Reply {
5715 Reply::GlxIsList(reply)
5716 }
5717 }
5718 #[cfg(feature = "glx")]
5719 impl From<glx::AreTexturesResidentReply> for Reply {
from(reply: glx::AreTexturesResidentReply) -> Reply5720 fn from(reply: glx::AreTexturesResidentReply) -> Reply {
5721 Reply::GlxAreTexturesResident(reply)
5722 }
5723 }
5724 #[cfg(feature = "glx")]
5725 impl From<glx::GenTexturesReply> for Reply {
from(reply: glx::GenTexturesReply) -> Reply5726 fn from(reply: glx::GenTexturesReply) -> Reply {
5727 Reply::GlxGenTextures(reply)
5728 }
5729 }
5730 #[cfg(feature = "glx")]
5731 impl From<glx::IsTextureReply> for Reply {
from(reply: glx::IsTextureReply) -> Reply5732 fn from(reply: glx::IsTextureReply) -> Reply {
5733 Reply::GlxIsTexture(reply)
5734 }
5735 }
5736 #[cfg(feature = "glx")]
5737 impl From<glx::GetColorTableReply> for Reply {
from(reply: glx::GetColorTableReply) -> Reply5738 fn from(reply: glx::GetColorTableReply) -> Reply {
5739 Reply::GlxGetColorTable(reply)
5740 }
5741 }
5742 #[cfg(feature = "glx")]
5743 impl From<glx::GetColorTableParameterfvReply> for Reply {
from(reply: glx::GetColorTableParameterfvReply) -> Reply5744 fn from(reply: glx::GetColorTableParameterfvReply) -> Reply {
5745 Reply::GlxGetColorTableParameterfv(reply)
5746 }
5747 }
5748 #[cfg(feature = "glx")]
5749 impl From<glx::GetColorTableParameterivReply> for Reply {
from(reply: glx::GetColorTableParameterivReply) -> Reply5750 fn from(reply: glx::GetColorTableParameterivReply) -> Reply {
5751 Reply::GlxGetColorTableParameteriv(reply)
5752 }
5753 }
5754 #[cfg(feature = "glx")]
5755 impl From<glx::GetConvolutionFilterReply> for Reply {
from(reply: glx::GetConvolutionFilterReply) -> Reply5756 fn from(reply: glx::GetConvolutionFilterReply) -> Reply {
5757 Reply::GlxGetConvolutionFilter(reply)
5758 }
5759 }
5760 #[cfg(feature = "glx")]
5761 impl From<glx::GetConvolutionParameterfvReply> for Reply {
from(reply: glx::GetConvolutionParameterfvReply) -> Reply5762 fn from(reply: glx::GetConvolutionParameterfvReply) -> Reply {
5763 Reply::GlxGetConvolutionParameterfv(reply)
5764 }
5765 }
5766 #[cfg(feature = "glx")]
5767 impl From<glx::GetConvolutionParameterivReply> for Reply {
from(reply: glx::GetConvolutionParameterivReply) -> Reply5768 fn from(reply: glx::GetConvolutionParameterivReply) -> Reply {
5769 Reply::GlxGetConvolutionParameteriv(reply)
5770 }
5771 }
5772 #[cfg(feature = "glx")]
5773 impl From<glx::GetSeparableFilterReply> for Reply {
from(reply: glx::GetSeparableFilterReply) -> Reply5774 fn from(reply: glx::GetSeparableFilterReply) -> Reply {
5775 Reply::GlxGetSeparableFilter(reply)
5776 }
5777 }
5778 #[cfg(feature = "glx")]
5779 impl From<glx::GetHistogramReply> for Reply {
from(reply: glx::GetHistogramReply) -> Reply5780 fn from(reply: glx::GetHistogramReply) -> Reply {
5781 Reply::GlxGetHistogram(reply)
5782 }
5783 }
5784 #[cfg(feature = "glx")]
5785 impl From<glx::GetHistogramParameterfvReply> for Reply {
from(reply: glx::GetHistogramParameterfvReply) -> Reply5786 fn from(reply: glx::GetHistogramParameterfvReply) -> Reply {
5787 Reply::GlxGetHistogramParameterfv(reply)
5788 }
5789 }
5790 #[cfg(feature = "glx")]
5791 impl From<glx::GetHistogramParameterivReply> for Reply {
from(reply: glx::GetHistogramParameterivReply) -> Reply5792 fn from(reply: glx::GetHistogramParameterivReply) -> Reply {
5793 Reply::GlxGetHistogramParameteriv(reply)
5794 }
5795 }
5796 #[cfg(feature = "glx")]
5797 impl From<glx::GetMinmaxReply> for Reply {
from(reply: glx::GetMinmaxReply) -> Reply5798 fn from(reply: glx::GetMinmaxReply) -> Reply {
5799 Reply::GlxGetMinmax(reply)
5800 }
5801 }
5802 #[cfg(feature = "glx")]
5803 impl From<glx::GetMinmaxParameterfvReply> for Reply {
from(reply: glx::GetMinmaxParameterfvReply) -> Reply5804 fn from(reply: glx::GetMinmaxParameterfvReply) -> Reply {
5805 Reply::GlxGetMinmaxParameterfv(reply)
5806 }
5807 }
5808 #[cfg(feature = "glx")]
5809 impl From<glx::GetMinmaxParameterivReply> for Reply {
from(reply: glx::GetMinmaxParameterivReply) -> Reply5810 fn from(reply: glx::GetMinmaxParameterivReply) -> Reply {
5811 Reply::GlxGetMinmaxParameteriv(reply)
5812 }
5813 }
5814 #[cfg(feature = "glx")]
5815 impl From<glx::GetCompressedTexImageARBReply> for Reply {
from(reply: glx::GetCompressedTexImageARBReply) -> Reply5816 fn from(reply: glx::GetCompressedTexImageARBReply) -> Reply {
5817 Reply::GlxGetCompressedTexImageARB(reply)
5818 }
5819 }
5820 #[cfg(feature = "glx")]
5821 impl From<glx::GenQueriesARBReply> for Reply {
from(reply: glx::GenQueriesARBReply) -> Reply5822 fn from(reply: glx::GenQueriesARBReply) -> Reply {
5823 Reply::GlxGenQueriesARB(reply)
5824 }
5825 }
5826 #[cfg(feature = "glx")]
5827 impl From<glx::IsQueryARBReply> for Reply {
from(reply: glx::IsQueryARBReply) -> Reply5828 fn from(reply: glx::IsQueryARBReply) -> Reply {
5829 Reply::GlxIsQueryARB(reply)
5830 }
5831 }
5832 #[cfg(feature = "glx")]
5833 impl From<glx::GetQueryivARBReply> for Reply {
from(reply: glx::GetQueryivARBReply) -> Reply5834 fn from(reply: glx::GetQueryivARBReply) -> Reply {
5835 Reply::GlxGetQueryivARB(reply)
5836 }
5837 }
5838 #[cfg(feature = "glx")]
5839 impl From<glx::GetQueryObjectivARBReply> for Reply {
from(reply: glx::GetQueryObjectivARBReply) -> Reply5840 fn from(reply: glx::GetQueryObjectivARBReply) -> Reply {
5841 Reply::GlxGetQueryObjectivARB(reply)
5842 }
5843 }
5844 #[cfg(feature = "glx")]
5845 impl From<glx::GetQueryObjectuivARBReply> for Reply {
from(reply: glx::GetQueryObjectuivARBReply) -> Reply5846 fn from(reply: glx::GetQueryObjectuivARBReply) -> Reply {
5847 Reply::GlxGetQueryObjectuivARB(reply)
5848 }
5849 }
5850 #[cfg(feature = "present")]
5851 impl From<present::QueryVersionReply> for Reply {
from(reply: present::QueryVersionReply) -> Reply5852 fn from(reply: present::QueryVersionReply) -> Reply {
5853 Reply::PresentQueryVersion(reply)
5854 }
5855 }
5856 #[cfg(feature = "present")]
5857 impl From<present::QueryCapabilitiesReply> for Reply {
from(reply: present::QueryCapabilitiesReply) -> Reply5858 fn from(reply: present::QueryCapabilitiesReply) -> Reply {
5859 Reply::PresentQueryCapabilities(reply)
5860 }
5861 }
5862 #[cfg(feature = "randr")]
5863 impl From<randr::QueryVersionReply> for Reply {
from(reply: randr::QueryVersionReply) -> Reply5864 fn from(reply: randr::QueryVersionReply) -> Reply {
5865 Reply::RandrQueryVersion(reply)
5866 }
5867 }
5868 #[cfg(feature = "randr")]
5869 impl From<randr::SetScreenConfigReply> for Reply {
from(reply: randr::SetScreenConfigReply) -> Reply5870 fn from(reply: randr::SetScreenConfigReply) -> Reply {
5871 Reply::RandrSetScreenConfig(reply)
5872 }
5873 }
5874 #[cfg(feature = "randr")]
5875 impl From<randr::GetScreenInfoReply> for Reply {
from(reply: randr::GetScreenInfoReply) -> Reply5876 fn from(reply: randr::GetScreenInfoReply) -> Reply {
5877 Reply::RandrGetScreenInfo(reply)
5878 }
5879 }
5880 #[cfg(feature = "randr")]
5881 impl From<randr::GetScreenSizeRangeReply> for Reply {
from(reply: randr::GetScreenSizeRangeReply) -> Reply5882 fn from(reply: randr::GetScreenSizeRangeReply) -> Reply {
5883 Reply::RandrGetScreenSizeRange(reply)
5884 }
5885 }
5886 #[cfg(feature = "randr")]
5887 impl From<randr::GetScreenResourcesReply> for Reply {
from(reply: randr::GetScreenResourcesReply) -> Reply5888 fn from(reply: randr::GetScreenResourcesReply) -> Reply {
5889 Reply::RandrGetScreenResources(reply)
5890 }
5891 }
5892 #[cfg(feature = "randr")]
5893 impl From<randr::GetOutputInfoReply> for Reply {
from(reply: randr::GetOutputInfoReply) -> Reply5894 fn from(reply: randr::GetOutputInfoReply) -> Reply {
5895 Reply::RandrGetOutputInfo(reply)
5896 }
5897 }
5898 #[cfg(feature = "randr")]
5899 impl From<randr::ListOutputPropertiesReply> for Reply {
from(reply: randr::ListOutputPropertiesReply) -> Reply5900 fn from(reply: randr::ListOutputPropertiesReply) -> Reply {
5901 Reply::RandrListOutputProperties(reply)
5902 }
5903 }
5904 #[cfg(feature = "randr")]
5905 impl From<randr::QueryOutputPropertyReply> for Reply {
from(reply: randr::QueryOutputPropertyReply) -> Reply5906 fn from(reply: randr::QueryOutputPropertyReply) -> Reply {
5907 Reply::RandrQueryOutputProperty(reply)
5908 }
5909 }
5910 #[cfg(feature = "randr")]
5911 impl From<randr::GetOutputPropertyReply> for Reply {
from(reply: randr::GetOutputPropertyReply) -> Reply5912 fn from(reply: randr::GetOutputPropertyReply) -> Reply {
5913 Reply::RandrGetOutputProperty(reply)
5914 }
5915 }
5916 #[cfg(feature = "randr")]
5917 impl From<randr::CreateModeReply> for Reply {
from(reply: randr::CreateModeReply) -> Reply5918 fn from(reply: randr::CreateModeReply) -> Reply {
5919 Reply::RandrCreateMode(reply)
5920 }
5921 }
5922 #[cfg(feature = "randr")]
5923 impl From<randr::GetCrtcInfoReply> for Reply {
from(reply: randr::GetCrtcInfoReply) -> Reply5924 fn from(reply: randr::GetCrtcInfoReply) -> Reply {
5925 Reply::RandrGetCrtcInfo(reply)
5926 }
5927 }
5928 #[cfg(feature = "randr")]
5929 impl From<randr::SetCrtcConfigReply> for Reply {
from(reply: randr::SetCrtcConfigReply) -> Reply5930 fn from(reply: randr::SetCrtcConfigReply) -> Reply {
5931 Reply::RandrSetCrtcConfig(reply)
5932 }
5933 }
5934 #[cfg(feature = "randr")]
5935 impl From<randr::GetCrtcGammaSizeReply> for Reply {
from(reply: randr::GetCrtcGammaSizeReply) -> Reply5936 fn from(reply: randr::GetCrtcGammaSizeReply) -> Reply {
5937 Reply::RandrGetCrtcGammaSize(reply)
5938 }
5939 }
5940 #[cfg(feature = "randr")]
5941 impl From<randr::GetCrtcGammaReply> for Reply {
from(reply: randr::GetCrtcGammaReply) -> Reply5942 fn from(reply: randr::GetCrtcGammaReply) -> Reply {
5943 Reply::RandrGetCrtcGamma(reply)
5944 }
5945 }
5946 #[cfg(feature = "randr")]
5947 impl From<randr::GetScreenResourcesCurrentReply> for Reply {
from(reply: randr::GetScreenResourcesCurrentReply) -> Reply5948 fn from(reply: randr::GetScreenResourcesCurrentReply) -> Reply {
5949 Reply::RandrGetScreenResourcesCurrent(reply)
5950 }
5951 }
5952 #[cfg(feature = "randr")]
5953 impl From<randr::GetCrtcTransformReply> for Reply {
from(reply: randr::GetCrtcTransformReply) -> Reply5954 fn from(reply: randr::GetCrtcTransformReply) -> Reply {
5955 Reply::RandrGetCrtcTransform(reply)
5956 }
5957 }
5958 #[cfg(feature = "randr")]
5959 impl From<randr::GetPanningReply> for Reply {
from(reply: randr::GetPanningReply) -> Reply5960 fn from(reply: randr::GetPanningReply) -> Reply {
5961 Reply::RandrGetPanning(reply)
5962 }
5963 }
5964 #[cfg(feature = "randr")]
5965 impl From<randr::SetPanningReply> for Reply {
from(reply: randr::SetPanningReply) -> Reply5966 fn from(reply: randr::SetPanningReply) -> Reply {
5967 Reply::RandrSetPanning(reply)
5968 }
5969 }
5970 #[cfg(feature = "randr")]
5971 impl From<randr::GetOutputPrimaryReply> for Reply {
from(reply: randr::GetOutputPrimaryReply) -> Reply5972 fn from(reply: randr::GetOutputPrimaryReply) -> Reply {
5973 Reply::RandrGetOutputPrimary(reply)
5974 }
5975 }
5976 #[cfg(feature = "randr")]
5977 impl From<randr::GetProvidersReply> for Reply {
from(reply: randr::GetProvidersReply) -> Reply5978 fn from(reply: randr::GetProvidersReply) -> Reply {
5979 Reply::RandrGetProviders(reply)
5980 }
5981 }
5982 #[cfg(feature = "randr")]
5983 impl From<randr::GetProviderInfoReply> for Reply {
from(reply: randr::GetProviderInfoReply) -> Reply5984 fn from(reply: randr::GetProviderInfoReply) -> Reply {
5985 Reply::RandrGetProviderInfo(reply)
5986 }
5987 }
5988 #[cfg(feature = "randr")]
5989 impl From<randr::ListProviderPropertiesReply> for Reply {
from(reply: randr::ListProviderPropertiesReply) -> Reply5990 fn from(reply: randr::ListProviderPropertiesReply) -> Reply {
5991 Reply::RandrListProviderProperties(reply)
5992 }
5993 }
5994 #[cfg(feature = "randr")]
5995 impl From<randr::QueryProviderPropertyReply> for Reply {
from(reply: randr::QueryProviderPropertyReply) -> Reply5996 fn from(reply: randr::QueryProviderPropertyReply) -> Reply {
5997 Reply::RandrQueryProviderProperty(reply)
5998 }
5999 }
6000 #[cfg(feature = "randr")]
6001 impl From<randr::GetProviderPropertyReply> for Reply {
from(reply: randr::GetProviderPropertyReply) -> Reply6002 fn from(reply: randr::GetProviderPropertyReply) -> Reply {
6003 Reply::RandrGetProviderProperty(reply)
6004 }
6005 }
6006 #[cfg(feature = "randr")]
6007 impl From<randr::GetMonitorsReply> for Reply {
from(reply: randr::GetMonitorsReply) -> Reply6008 fn from(reply: randr::GetMonitorsReply) -> Reply {
6009 Reply::RandrGetMonitors(reply)
6010 }
6011 }
6012 #[cfg(feature = "randr")]
6013 impl From<randr::CreateLeaseReply> for Reply {
from(reply: randr::CreateLeaseReply) -> Reply6014 fn from(reply: randr::CreateLeaseReply) -> Reply {
6015 Reply::RandrCreateLease(reply)
6016 }
6017 }
6018 #[cfg(feature = "record")]
6019 impl From<record::QueryVersionReply> for Reply {
from(reply: record::QueryVersionReply) -> Reply6020 fn from(reply: record::QueryVersionReply) -> Reply {
6021 Reply::RecordQueryVersion(reply)
6022 }
6023 }
6024 #[cfg(feature = "record")]
6025 impl From<record::GetContextReply> for Reply {
from(reply: record::GetContextReply) -> Reply6026 fn from(reply: record::GetContextReply) -> Reply {
6027 Reply::RecordGetContext(reply)
6028 }
6029 }
6030 #[cfg(feature = "record")]
6031 impl From<record::EnableContextReply> for Reply {
from(reply: record::EnableContextReply) -> Reply6032 fn from(reply: record::EnableContextReply) -> Reply {
6033 Reply::RecordEnableContext(reply)
6034 }
6035 }
6036 #[cfg(feature = "render")]
6037 impl From<render::QueryVersionReply> for Reply {
from(reply: render::QueryVersionReply) -> Reply6038 fn from(reply: render::QueryVersionReply) -> Reply {
6039 Reply::RenderQueryVersion(reply)
6040 }
6041 }
6042 #[cfg(feature = "render")]
6043 impl From<render::QueryPictFormatsReply> for Reply {
from(reply: render::QueryPictFormatsReply) -> Reply6044 fn from(reply: render::QueryPictFormatsReply) -> Reply {
6045 Reply::RenderQueryPictFormats(reply)
6046 }
6047 }
6048 #[cfg(feature = "render")]
6049 impl From<render::QueryPictIndexValuesReply> for Reply {
from(reply: render::QueryPictIndexValuesReply) -> Reply6050 fn from(reply: render::QueryPictIndexValuesReply) -> Reply {
6051 Reply::RenderQueryPictIndexValues(reply)
6052 }
6053 }
6054 #[cfg(feature = "render")]
6055 impl From<render::QueryFiltersReply> for Reply {
from(reply: render::QueryFiltersReply) -> Reply6056 fn from(reply: render::QueryFiltersReply) -> Reply {
6057 Reply::RenderQueryFilters(reply)
6058 }
6059 }
6060 #[cfg(feature = "res")]
6061 impl From<res::QueryVersionReply> for Reply {
from(reply: res::QueryVersionReply) -> Reply6062 fn from(reply: res::QueryVersionReply) -> Reply {
6063 Reply::ResQueryVersion(reply)
6064 }
6065 }
6066 #[cfg(feature = "res")]
6067 impl From<res::QueryClientsReply> for Reply {
from(reply: res::QueryClientsReply) -> Reply6068 fn from(reply: res::QueryClientsReply) -> Reply {
6069 Reply::ResQueryClients(reply)
6070 }
6071 }
6072 #[cfg(feature = "res")]
6073 impl From<res::QueryClientResourcesReply> for Reply {
from(reply: res::QueryClientResourcesReply) -> Reply6074 fn from(reply: res::QueryClientResourcesReply) -> Reply {
6075 Reply::ResQueryClientResources(reply)
6076 }
6077 }
6078 #[cfg(feature = "res")]
6079 impl From<res::QueryClientPixmapBytesReply> for Reply {
from(reply: res::QueryClientPixmapBytesReply) -> Reply6080 fn from(reply: res::QueryClientPixmapBytesReply) -> Reply {
6081 Reply::ResQueryClientPixmapBytes(reply)
6082 }
6083 }
6084 #[cfg(feature = "res")]
6085 impl From<res::QueryClientIdsReply> for Reply {
from(reply: res::QueryClientIdsReply) -> Reply6086 fn from(reply: res::QueryClientIdsReply) -> Reply {
6087 Reply::ResQueryClientIds(reply)
6088 }
6089 }
6090 #[cfg(feature = "res")]
6091 impl From<res::QueryResourceBytesReply> for Reply {
from(reply: res::QueryResourceBytesReply) -> Reply6092 fn from(reply: res::QueryResourceBytesReply) -> Reply {
6093 Reply::ResQueryResourceBytes(reply)
6094 }
6095 }
6096 #[cfg(feature = "screensaver")]
6097 impl From<screensaver::QueryVersionReply> for Reply {
from(reply: screensaver::QueryVersionReply) -> Reply6098 fn from(reply: screensaver::QueryVersionReply) -> Reply {
6099 Reply::ScreensaverQueryVersion(reply)
6100 }
6101 }
6102 #[cfg(feature = "screensaver")]
6103 impl From<screensaver::QueryInfoReply> for Reply {
from(reply: screensaver::QueryInfoReply) -> Reply6104 fn from(reply: screensaver::QueryInfoReply) -> Reply {
6105 Reply::ScreensaverQueryInfo(reply)
6106 }
6107 }
6108 #[cfg(feature = "shape")]
6109 impl From<shape::QueryVersionReply> for Reply {
from(reply: shape::QueryVersionReply) -> Reply6110 fn from(reply: shape::QueryVersionReply) -> Reply {
6111 Reply::ShapeQueryVersion(reply)
6112 }
6113 }
6114 #[cfg(feature = "shape")]
6115 impl From<shape::QueryExtentsReply> for Reply {
from(reply: shape::QueryExtentsReply) -> Reply6116 fn from(reply: shape::QueryExtentsReply) -> Reply {
6117 Reply::ShapeQueryExtents(reply)
6118 }
6119 }
6120 #[cfg(feature = "shape")]
6121 impl From<shape::InputSelectedReply> for Reply {
from(reply: shape::InputSelectedReply) -> Reply6122 fn from(reply: shape::InputSelectedReply) -> Reply {
6123 Reply::ShapeInputSelected(reply)
6124 }
6125 }
6126 #[cfg(feature = "shape")]
6127 impl From<shape::GetRectanglesReply> for Reply {
from(reply: shape::GetRectanglesReply) -> Reply6128 fn from(reply: shape::GetRectanglesReply) -> Reply {
6129 Reply::ShapeGetRectangles(reply)
6130 }
6131 }
6132 #[cfg(feature = "shm")]
6133 impl From<shm::QueryVersionReply> for Reply {
from(reply: shm::QueryVersionReply) -> Reply6134 fn from(reply: shm::QueryVersionReply) -> Reply {
6135 Reply::ShmQueryVersion(reply)
6136 }
6137 }
6138 #[cfg(feature = "shm")]
6139 impl From<shm::GetImageReply> for Reply {
from(reply: shm::GetImageReply) -> Reply6140 fn from(reply: shm::GetImageReply) -> Reply {
6141 Reply::ShmGetImage(reply)
6142 }
6143 }
6144 #[cfg(feature = "shm")]
6145 impl From<shm::CreateSegmentReply> for Reply {
from(reply: shm::CreateSegmentReply) -> Reply6146 fn from(reply: shm::CreateSegmentReply) -> Reply {
6147 Reply::ShmCreateSegment(reply)
6148 }
6149 }
6150 #[cfg(feature = "sync")]
6151 impl From<sync::InitializeReply> for Reply {
from(reply: sync::InitializeReply) -> Reply6152 fn from(reply: sync::InitializeReply) -> Reply {
6153 Reply::SyncInitialize(reply)
6154 }
6155 }
6156 #[cfg(feature = "sync")]
6157 impl From<sync::ListSystemCountersReply> for Reply {
from(reply: sync::ListSystemCountersReply) -> Reply6158 fn from(reply: sync::ListSystemCountersReply) -> Reply {
6159 Reply::SyncListSystemCounters(reply)
6160 }
6161 }
6162 #[cfg(feature = "sync")]
6163 impl From<sync::QueryCounterReply> for Reply {
from(reply: sync::QueryCounterReply) -> Reply6164 fn from(reply: sync::QueryCounterReply) -> Reply {
6165 Reply::SyncQueryCounter(reply)
6166 }
6167 }
6168 #[cfg(feature = "sync")]
6169 impl From<sync::QueryAlarmReply> for Reply {
from(reply: sync::QueryAlarmReply) -> Reply6170 fn from(reply: sync::QueryAlarmReply) -> Reply {
6171 Reply::SyncQueryAlarm(reply)
6172 }
6173 }
6174 #[cfg(feature = "sync")]
6175 impl From<sync::GetPriorityReply> for Reply {
from(reply: sync::GetPriorityReply) -> Reply6176 fn from(reply: sync::GetPriorityReply) -> Reply {
6177 Reply::SyncGetPriority(reply)
6178 }
6179 }
6180 #[cfg(feature = "sync")]
6181 impl From<sync::QueryFenceReply> for Reply {
from(reply: sync::QueryFenceReply) -> Reply6182 fn from(reply: sync::QueryFenceReply) -> Reply {
6183 Reply::SyncQueryFence(reply)
6184 }
6185 }
6186 impl From<xc_misc::GetVersionReply> for Reply {
from(reply: xc_misc::GetVersionReply) -> Reply6187 fn from(reply: xc_misc::GetVersionReply) -> Reply {
6188 Reply::XcMiscGetVersion(reply)
6189 }
6190 }
6191 impl From<xc_misc::GetXIDRangeReply> for Reply {
from(reply: xc_misc::GetXIDRangeReply) -> Reply6192 fn from(reply: xc_misc::GetXIDRangeReply) -> Reply {
6193 Reply::XcMiscGetXIDRange(reply)
6194 }
6195 }
6196 impl From<xc_misc::GetXIDListReply> for Reply {
from(reply: xc_misc::GetXIDListReply) -> Reply6197 fn from(reply: xc_misc::GetXIDListReply) -> Reply {
6198 Reply::XcMiscGetXIDList(reply)
6199 }
6200 }
6201 #[cfg(feature = "xevie")]
6202 impl From<xevie::QueryVersionReply> for Reply {
from(reply: xevie::QueryVersionReply) -> Reply6203 fn from(reply: xevie::QueryVersionReply) -> Reply {
6204 Reply::XevieQueryVersion(reply)
6205 }
6206 }
6207 #[cfg(feature = "xevie")]
6208 impl From<xevie::StartReply> for Reply {
from(reply: xevie::StartReply) -> Reply6209 fn from(reply: xevie::StartReply) -> Reply {
6210 Reply::XevieStart(reply)
6211 }
6212 }
6213 #[cfg(feature = "xevie")]
6214 impl From<xevie::EndReply> for Reply {
from(reply: xevie::EndReply) -> Reply6215 fn from(reply: xevie::EndReply) -> Reply {
6216 Reply::XevieEnd(reply)
6217 }
6218 }
6219 #[cfg(feature = "xevie")]
6220 impl From<xevie::SendReply> for Reply {
from(reply: xevie::SendReply) -> Reply6221 fn from(reply: xevie::SendReply) -> Reply {
6222 Reply::XevieSend(reply)
6223 }
6224 }
6225 #[cfg(feature = "xevie")]
6226 impl From<xevie::SelectInputReply> for Reply {
from(reply: xevie::SelectInputReply) -> Reply6227 fn from(reply: xevie::SelectInputReply) -> Reply {
6228 Reply::XevieSelectInput(reply)
6229 }
6230 }
6231 #[cfg(feature = "xf86dri")]
6232 impl From<xf86dri::QueryVersionReply> for Reply {
from(reply: xf86dri::QueryVersionReply) -> Reply6233 fn from(reply: xf86dri::QueryVersionReply) -> Reply {
6234 Reply::Xf86driQueryVersion(reply)
6235 }
6236 }
6237 #[cfg(feature = "xf86dri")]
6238 impl From<xf86dri::QueryDirectRenderingCapableReply> for Reply {
from(reply: xf86dri::QueryDirectRenderingCapableReply) -> Reply6239 fn from(reply: xf86dri::QueryDirectRenderingCapableReply) -> Reply {
6240 Reply::Xf86driQueryDirectRenderingCapable(reply)
6241 }
6242 }
6243 #[cfg(feature = "xf86dri")]
6244 impl From<xf86dri::OpenConnectionReply> for Reply {
from(reply: xf86dri::OpenConnectionReply) -> Reply6245 fn from(reply: xf86dri::OpenConnectionReply) -> Reply {
6246 Reply::Xf86driOpenConnection(reply)
6247 }
6248 }
6249 #[cfg(feature = "xf86dri")]
6250 impl From<xf86dri::GetClientDriverNameReply> for Reply {
from(reply: xf86dri::GetClientDriverNameReply) -> Reply6251 fn from(reply: xf86dri::GetClientDriverNameReply) -> Reply {
6252 Reply::Xf86driGetClientDriverName(reply)
6253 }
6254 }
6255 #[cfg(feature = "xf86dri")]
6256 impl From<xf86dri::CreateContextReply> for Reply {
from(reply: xf86dri::CreateContextReply) -> Reply6257 fn from(reply: xf86dri::CreateContextReply) -> Reply {
6258 Reply::Xf86driCreateContext(reply)
6259 }
6260 }
6261 #[cfg(feature = "xf86dri")]
6262 impl From<xf86dri::CreateDrawableReply> for Reply {
from(reply: xf86dri::CreateDrawableReply) -> Reply6263 fn from(reply: xf86dri::CreateDrawableReply) -> Reply {
6264 Reply::Xf86driCreateDrawable(reply)
6265 }
6266 }
6267 #[cfg(feature = "xf86dri")]
6268 impl From<xf86dri::GetDrawableInfoReply> for Reply {
from(reply: xf86dri::GetDrawableInfoReply) -> Reply6269 fn from(reply: xf86dri::GetDrawableInfoReply) -> Reply {
6270 Reply::Xf86driGetDrawableInfo(reply)
6271 }
6272 }
6273 #[cfg(feature = "xf86dri")]
6274 impl From<xf86dri::GetDeviceInfoReply> for Reply {
from(reply: xf86dri::GetDeviceInfoReply) -> Reply6275 fn from(reply: xf86dri::GetDeviceInfoReply) -> Reply {
6276 Reply::Xf86driGetDeviceInfo(reply)
6277 }
6278 }
6279 #[cfg(feature = "xf86dri")]
6280 impl From<xf86dri::AuthConnectionReply> for Reply {
from(reply: xf86dri::AuthConnectionReply) -> Reply6281 fn from(reply: xf86dri::AuthConnectionReply) -> Reply {
6282 Reply::Xf86driAuthConnection(reply)
6283 }
6284 }
6285 #[cfg(feature = "xf86vidmode")]
6286 impl From<xf86vidmode::QueryVersionReply> for Reply {
from(reply: xf86vidmode::QueryVersionReply) -> Reply6287 fn from(reply: xf86vidmode::QueryVersionReply) -> Reply {
6288 Reply::Xf86vidmodeQueryVersion(reply)
6289 }
6290 }
6291 #[cfg(feature = "xf86vidmode")]
6292 impl From<xf86vidmode::GetModeLineReply> for Reply {
from(reply: xf86vidmode::GetModeLineReply) -> Reply6293 fn from(reply: xf86vidmode::GetModeLineReply) -> Reply {
6294 Reply::Xf86vidmodeGetModeLine(reply)
6295 }
6296 }
6297 #[cfg(feature = "xf86vidmode")]
6298 impl From<xf86vidmode::GetMonitorReply> for Reply {
from(reply: xf86vidmode::GetMonitorReply) -> Reply6299 fn from(reply: xf86vidmode::GetMonitorReply) -> Reply {
6300 Reply::Xf86vidmodeGetMonitor(reply)
6301 }
6302 }
6303 #[cfg(feature = "xf86vidmode")]
6304 impl From<xf86vidmode::GetAllModeLinesReply> for Reply {
from(reply: xf86vidmode::GetAllModeLinesReply) -> Reply6305 fn from(reply: xf86vidmode::GetAllModeLinesReply) -> Reply {
6306 Reply::Xf86vidmodeGetAllModeLines(reply)
6307 }
6308 }
6309 #[cfg(feature = "xf86vidmode")]
6310 impl From<xf86vidmode::ValidateModeLineReply> for Reply {
from(reply: xf86vidmode::ValidateModeLineReply) -> Reply6311 fn from(reply: xf86vidmode::ValidateModeLineReply) -> Reply {
6312 Reply::Xf86vidmodeValidateModeLine(reply)
6313 }
6314 }
6315 #[cfg(feature = "xf86vidmode")]
6316 impl From<xf86vidmode::GetViewPortReply> for Reply {
from(reply: xf86vidmode::GetViewPortReply) -> Reply6317 fn from(reply: xf86vidmode::GetViewPortReply) -> Reply {
6318 Reply::Xf86vidmodeGetViewPort(reply)
6319 }
6320 }
6321 #[cfg(feature = "xf86vidmode")]
6322 impl From<xf86vidmode::GetDotClocksReply> for Reply {
from(reply: xf86vidmode::GetDotClocksReply) -> Reply6323 fn from(reply: xf86vidmode::GetDotClocksReply) -> Reply {
6324 Reply::Xf86vidmodeGetDotClocks(reply)
6325 }
6326 }
6327 #[cfg(feature = "xf86vidmode")]
6328 impl From<xf86vidmode::GetGammaReply> for Reply {
from(reply: xf86vidmode::GetGammaReply) -> Reply6329 fn from(reply: xf86vidmode::GetGammaReply) -> Reply {
6330 Reply::Xf86vidmodeGetGamma(reply)
6331 }
6332 }
6333 #[cfg(feature = "xf86vidmode")]
6334 impl From<xf86vidmode::GetGammaRampReply> for Reply {
from(reply: xf86vidmode::GetGammaRampReply) -> Reply6335 fn from(reply: xf86vidmode::GetGammaRampReply) -> Reply {
6336 Reply::Xf86vidmodeGetGammaRamp(reply)
6337 }
6338 }
6339 #[cfg(feature = "xf86vidmode")]
6340 impl From<xf86vidmode::GetGammaRampSizeReply> for Reply {
from(reply: xf86vidmode::GetGammaRampSizeReply) -> Reply6341 fn from(reply: xf86vidmode::GetGammaRampSizeReply) -> Reply {
6342 Reply::Xf86vidmodeGetGammaRampSize(reply)
6343 }
6344 }
6345 #[cfg(feature = "xf86vidmode")]
6346 impl From<xf86vidmode::GetPermissionsReply> for Reply {
from(reply: xf86vidmode::GetPermissionsReply) -> Reply6347 fn from(reply: xf86vidmode::GetPermissionsReply) -> Reply {
6348 Reply::Xf86vidmodeGetPermissions(reply)
6349 }
6350 }
6351 #[cfg(feature = "xfixes")]
6352 impl From<xfixes::QueryVersionReply> for Reply {
from(reply: xfixes::QueryVersionReply) -> Reply6353 fn from(reply: xfixes::QueryVersionReply) -> Reply {
6354 Reply::XfixesQueryVersion(reply)
6355 }
6356 }
6357 #[cfg(feature = "xfixes")]
6358 impl From<xfixes::GetCursorImageReply> for Reply {
from(reply: xfixes::GetCursorImageReply) -> Reply6359 fn from(reply: xfixes::GetCursorImageReply) -> Reply {
6360 Reply::XfixesGetCursorImage(reply)
6361 }
6362 }
6363 #[cfg(feature = "xfixes")]
6364 impl From<xfixes::FetchRegionReply> for Reply {
from(reply: xfixes::FetchRegionReply) -> Reply6365 fn from(reply: xfixes::FetchRegionReply) -> Reply {
6366 Reply::XfixesFetchRegion(reply)
6367 }
6368 }
6369 #[cfg(feature = "xfixes")]
6370 impl From<xfixes::GetCursorNameReply> for Reply {
from(reply: xfixes::GetCursorNameReply) -> Reply6371 fn from(reply: xfixes::GetCursorNameReply) -> Reply {
6372 Reply::XfixesGetCursorName(reply)
6373 }
6374 }
6375 #[cfg(feature = "xfixes")]
6376 impl From<xfixes::GetCursorImageAndNameReply> for Reply {
from(reply: xfixes::GetCursorImageAndNameReply) -> Reply6377 fn from(reply: xfixes::GetCursorImageAndNameReply) -> Reply {
6378 Reply::XfixesGetCursorImageAndName(reply)
6379 }
6380 }
6381 #[cfg(feature = "xinerama")]
6382 impl From<xinerama::QueryVersionReply> for Reply {
from(reply: xinerama::QueryVersionReply) -> Reply6383 fn from(reply: xinerama::QueryVersionReply) -> Reply {
6384 Reply::XineramaQueryVersion(reply)
6385 }
6386 }
6387 #[cfg(feature = "xinerama")]
6388 impl From<xinerama::GetStateReply> for Reply {
from(reply: xinerama::GetStateReply) -> Reply6389 fn from(reply: xinerama::GetStateReply) -> Reply {
6390 Reply::XineramaGetState(reply)
6391 }
6392 }
6393 #[cfg(feature = "xinerama")]
6394 impl From<xinerama::GetScreenCountReply> for Reply {
from(reply: xinerama::GetScreenCountReply) -> Reply6395 fn from(reply: xinerama::GetScreenCountReply) -> Reply {
6396 Reply::XineramaGetScreenCount(reply)
6397 }
6398 }
6399 #[cfg(feature = "xinerama")]
6400 impl From<xinerama::GetScreenSizeReply> for Reply {
from(reply: xinerama::GetScreenSizeReply) -> Reply6401 fn from(reply: xinerama::GetScreenSizeReply) -> Reply {
6402 Reply::XineramaGetScreenSize(reply)
6403 }
6404 }
6405 #[cfg(feature = "xinerama")]
6406 impl From<xinerama::IsActiveReply> for Reply {
from(reply: xinerama::IsActiveReply) -> Reply6407 fn from(reply: xinerama::IsActiveReply) -> Reply {
6408 Reply::XineramaIsActive(reply)
6409 }
6410 }
6411 #[cfg(feature = "xinerama")]
6412 impl From<xinerama::QueryScreensReply> for Reply {
from(reply: xinerama::QueryScreensReply) -> Reply6413 fn from(reply: xinerama::QueryScreensReply) -> Reply {
6414 Reply::XineramaQueryScreens(reply)
6415 }
6416 }
6417 #[cfg(feature = "xinput")]
6418 impl From<xinput::GetExtensionVersionReply> for Reply {
from(reply: xinput::GetExtensionVersionReply) -> Reply6419 fn from(reply: xinput::GetExtensionVersionReply) -> Reply {
6420 Reply::XinputGetExtensionVersion(reply)
6421 }
6422 }
6423 #[cfg(feature = "xinput")]
6424 impl From<xinput::ListInputDevicesReply> for Reply {
from(reply: xinput::ListInputDevicesReply) -> Reply6425 fn from(reply: xinput::ListInputDevicesReply) -> Reply {
6426 Reply::XinputListInputDevices(reply)
6427 }
6428 }
6429 #[cfg(feature = "xinput")]
6430 impl From<xinput::OpenDeviceReply> for Reply {
from(reply: xinput::OpenDeviceReply) -> Reply6431 fn from(reply: xinput::OpenDeviceReply) -> Reply {
6432 Reply::XinputOpenDevice(reply)
6433 }
6434 }
6435 #[cfg(feature = "xinput")]
6436 impl From<xinput::SetDeviceModeReply> for Reply {
from(reply: xinput::SetDeviceModeReply) -> Reply6437 fn from(reply: xinput::SetDeviceModeReply) -> Reply {
6438 Reply::XinputSetDeviceMode(reply)
6439 }
6440 }
6441 #[cfg(feature = "xinput")]
6442 impl From<xinput::GetSelectedExtensionEventsReply> for Reply {
from(reply: xinput::GetSelectedExtensionEventsReply) -> Reply6443 fn from(reply: xinput::GetSelectedExtensionEventsReply) -> Reply {
6444 Reply::XinputGetSelectedExtensionEvents(reply)
6445 }
6446 }
6447 #[cfg(feature = "xinput")]
6448 impl From<xinput::GetDeviceDontPropagateListReply> for Reply {
from(reply: xinput::GetDeviceDontPropagateListReply) -> Reply6449 fn from(reply: xinput::GetDeviceDontPropagateListReply) -> Reply {
6450 Reply::XinputGetDeviceDontPropagateList(reply)
6451 }
6452 }
6453 #[cfg(feature = "xinput")]
6454 impl From<xinput::GetDeviceMotionEventsReply> for Reply {
from(reply: xinput::GetDeviceMotionEventsReply) -> Reply6455 fn from(reply: xinput::GetDeviceMotionEventsReply) -> Reply {
6456 Reply::XinputGetDeviceMotionEvents(reply)
6457 }
6458 }
6459 #[cfg(feature = "xinput")]
6460 impl From<xinput::ChangeKeyboardDeviceReply> for Reply {
from(reply: xinput::ChangeKeyboardDeviceReply) -> Reply6461 fn from(reply: xinput::ChangeKeyboardDeviceReply) -> Reply {
6462 Reply::XinputChangeKeyboardDevice(reply)
6463 }
6464 }
6465 #[cfg(feature = "xinput")]
6466 impl From<xinput::ChangePointerDeviceReply> for Reply {
from(reply: xinput::ChangePointerDeviceReply) -> Reply6467 fn from(reply: xinput::ChangePointerDeviceReply) -> Reply {
6468 Reply::XinputChangePointerDevice(reply)
6469 }
6470 }
6471 #[cfg(feature = "xinput")]
6472 impl From<xinput::GrabDeviceReply> for Reply {
from(reply: xinput::GrabDeviceReply) -> Reply6473 fn from(reply: xinput::GrabDeviceReply) -> Reply {
6474 Reply::XinputGrabDevice(reply)
6475 }
6476 }
6477 #[cfg(feature = "xinput")]
6478 impl From<xinput::GetDeviceFocusReply> for Reply {
from(reply: xinput::GetDeviceFocusReply) -> Reply6479 fn from(reply: xinput::GetDeviceFocusReply) -> Reply {
6480 Reply::XinputGetDeviceFocus(reply)
6481 }
6482 }
6483 #[cfg(feature = "xinput")]
6484 impl From<xinput::GetFeedbackControlReply> for Reply {
from(reply: xinput::GetFeedbackControlReply) -> Reply6485 fn from(reply: xinput::GetFeedbackControlReply) -> Reply {
6486 Reply::XinputGetFeedbackControl(reply)
6487 }
6488 }
6489 #[cfg(feature = "xinput")]
6490 impl From<xinput::GetDeviceKeyMappingReply> for Reply {
from(reply: xinput::GetDeviceKeyMappingReply) -> Reply6491 fn from(reply: xinput::GetDeviceKeyMappingReply) -> Reply {
6492 Reply::XinputGetDeviceKeyMapping(reply)
6493 }
6494 }
6495 #[cfg(feature = "xinput")]
6496 impl From<xinput::GetDeviceModifierMappingReply> for Reply {
from(reply: xinput::GetDeviceModifierMappingReply) -> Reply6497 fn from(reply: xinput::GetDeviceModifierMappingReply) -> Reply {
6498 Reply::XinputGetDeviceModifierMapping(reply)
6499 }
6500 }
6501 #[cfg(feature = "xinput")]
6502 impl From<xinput::SetDeviceModifierMappingReply> for Reply {
from(reply: xinput::SetDeviceModifierMappingReply) -> Reply6503 fn from(reply: xinput::SetDeviceModifierMappingReply) -> Reply {
6504 Reply::XinputSetDeviceModifierMapping(reply)
6505 }
6506 }
6507 #[cfg(feature = "xinput")]
6508 impl From<xinput::GetDeviceButtonMappingReply> for Reply {
from(reply: xinput::GetDeviceButtonMappingReply) -> Reply6509 fn from(reply: xinput::GetDeviceButtonMappingReply) -> Reply {
6510 Reply::XinputGetDeviceButtonMapping(reply)
6511 }
6512 }
6513 #[cfg(feature = "xinput")]
6514 impl From<xinput::SetDeviceButtonMappingReply> for Reply {
from(reply: xinput::SetDeviceButtonMappingReply) -> Reply6515 fn from(reply: xinput::SetDeviceButtonMappingReply) -> Reply {
6516 Reply::XinputSetDeviceButtonMapping(reply)
6517 }
6518 }
6519 #[cfg(feature = "xinput")]
6520 impl From<xinput::QueryDeviceStateReply> for Reply {
from(reply: xinput::QueryDeviceStateReply) -> Reply6521 fn from(reply: xinput::QueryDeviceStateReply) -> Reply {
6522 Reply::XinputQueryDeviceState(reply)
6523 }
6524 }
6525 #[cfg(feature = "xinput")]
6526 impl From<xinput::SetDeviceValuatorsReply> for Reply {
from(reply: xinput::SetDeviceValuatorsReply) -> Reply6527 fn from(reply: xinput::SetDeviceValuatorsReply) -> Reply {
6528 Reply::XinputSetDeviceValuators(reply)
6529 }
6530 }
6531 #[cfg(feature = "xinput")]
6532 impl From<xinput::GetDeviceControlReply> for Reply {
from(reply: xinput::GetDeviceControlReply) -> Reply6533 fn from(reply: xinput::GetDeviceControlReply) -> Reply {
6534 Reply::XinputGetDeviceControl(reply)
6535 }
6536 }
6537 #[cfg(feature = "xinput")]
6538 impl From<xinput::ChangeDeviceControlReply> for Reply {
from(reply: xinput::ChangeDeviceControlReply) -> Reply6539 fn from(reply: xinput::ChangeDeviceControlReply) -> Reply {
6540 Reply::XinputChangeDeviceControl(reply)
6541 }
6542 }
6543 #[cfg(feature = "xinput")]
6544 impl From<xinput::ListDevicePropertiesReply> for Reply {
from(reply: xinput::ListDevicePropertiesReply) -> Reply6545 fn from(reply: xinput::ListDevicePropertiesReply) -> Reply {
6546 Reply::XinputListDeviceProperties(reply)
6547 }
6548 }
6549 #[cfg(feature = "xinput")]
6550 impl From<xinput::GetDevicePropertyReply> for Reply {
from(reply: xinput::GetDevicePropertyReply) -> Reply6551 fn from(reply: xinput::GetDevicePropertyReply) -> Reply {
6552 Reply::XinputGetDeviceProperty(reply)
6553 }
6554 }
6555 #[cfg(feature = "xinput")]
6556 impl From<xinput::XIQueryPointerReply> for Reply {
from(reply: xinput::XIQueryPointerReply) -> Reply6557 fn from(reply: xinput::XIQueryPointerReply) -> Reply {
6558 Reply::XinputXIQueryPointer(reply)
6559 }
6560 }
6561 #[cfg(feature = "xinput")]
6562 impl From<xinput::XIGetClientPointerReply> for Reply {
from(reply: xinput::XIGetClientPointerReply) -> Reply6563 fn from(reply: xinput::XIGetClientPointerReply) -> Reply {
6564 Reply::XinputXIGetClientPointer(reply)
6565 }
6566 }
6567 #[cfg(feature = "xinput")]
6568 impl From<xinput::XIQueryVersionReply> for Reply {
from(reply: xinput::XIQueryVersionReply) -> Reply6569 fn from(reply: xinput::XIQueryVersionReply) -> Reply {
6570 Reply::XinputXIQueryVersion(reply)
6571 }
6572 }
6573 #[cfg(feature = "xinput")]
6574 impl From<xinput::XIQueryDeviceReply> for Reply {
from(reply: xinput::XIQueryDeviceReply) -> Reply6575 fn from(reply: xinput::XIQueryDeviceReply) -> Reply {
6576 Reply::XinputXIQueryDevice(reply)
6577 }
6578 }
6579 #[cfg(feature = "xinput")]
6580 impl From<xinput::XIGetFocusReply> for Reply {
from(reply: xinput::XIGetFocusReply) -> Reply6581 fn from(reply: xinput::XIGetFocusReply) -> Reply {
6582 Reply::XinputXIGetFocus(reply)
6583 }
6584 }
6585 #[cfg(feature = "xinput")]
6586 impl From<xinput::XIGrabDeviceReply> for Reply {
from(reply: xinput::XIGrabDeviceReply) -> Reply6587 fn from(reply: xinput::XIGrabDeviceReply) -> Reply {
6588 Reply::XinputXIGrabDevice(reply)
6589 }
6590 }
6591 #[cfg(feature = "xinput")]
6592 impl From<xinput::XIPassiveGrabDeviceReply> for Reply {
from(reply: xinput::XIPassiveGrabDeviceReply) -> Reply6593 fn from(reply: xinput::XIPassiveGrabDeviceReply) -> Reply {
6594 Reply::XinputXIPassiveGrabDevice(reply)
6595 }
6596 }
6597 #[cfg(feature = "xinput")]
6598 impl From<xinput::XIListPropertiesReply> for Reply {
from(reply: xinput::XIListPropertiesReply) -> Reply6599 fn from(reply: xinput::XIListPropertiesReply) -> Reply {
6600 Reply::XinputXIListProperties(reply)
6601 }
6602 }
6603 #[cfg(feature = "xinput")]
6604 impl From<xinput::XIGetPropertyReply> for Reply {
from(reply: xinput::XIGetPropertyReply) -> Reply6605 fn from(reply: xinput::XIGetPropertyReply) -> Reply {
6606 Reply::XinputXIGetProperty(reply)
6607 }
6608 }
6609 #[cfg(feature = "xinput")]
6610 impl From<xinput::XIGetSelectedEventsReply> for Reply {
from(reply: xinput::XIGetSelectedEventsReply) -> Reply6611 fn from(reply: xinput::XIGetSelectedEventsReply) -> Reply {
6612 Reply::XinputXIGetSelectedEvents(reply)
6613 }
6614 }
6615 #[cfg(feature = "xkb")]
6616 impl From<xkb::UseExtensionReply> for Reply {
from(reply: xkb::UseExtensionReply) -> Reply6617 fn from(reply: xkb::UseExtensionReply) -> Reply {
6618 Reply::XkbUseExtension(reply)
6619 }
6620 }
6621 #[cfg(feature = "xkb")]
6622 impl From<xkb::GetStateReply> for Reply {
from(reply: xkb::GetStateReply) -> Reply6623 fn from(reply: xkb::GetStateReply) -> Reply {
6624 Reply::XkbGetState(reply)
6625 }
6626 }
6627 #[cfg(feature = "xkb")]
6628 impl From<xkb::GetControlsReply> for Reply {
from(reply: xkb::GetControlsReply) -> Reply6629 fn from(reply: xkb::GetControlsReply) -> Reply {
6630 Reply::XkbGetControls(reply)
6631 }
6632 }
6633 #[cfg(feature = "xkb")]
6634 impl From<xkb::GetMapReply> for Reply {
from(reply: xkb::GetMapReply) -> Reply6635 fn from(reply: xkb::GetMapReply) -> Reply {
6636 Reply::XkbGetMap(reply)
6637 }
6638 }
6639 #[cfg(feature = "xkb")]
6640 impl From<xkb::GetCompatMapReply> for Reply {
from(reply: xkb::GetCompatMapReply) -> Reply6641 fn from(reply: xkb::GetCompatMapReply) -> Reply {
6642 Reply::XkbGetCompatMap(reply)
6643 }
6644 }
6645 #[cfg(feature = "xkb")]
6646 impl From<xkb::GetIndicatorStateReply> for Reply {
from(reply: xkb::GetIndicatorStateReply) -> Reply6647 fn from(reply: xkb::GetIndicatorStateReply) -> Reply {
6648 Reply::XkbGetIndicatorState(reply)
6649 }
6650 }
6651 #[cfg(feature = "xkb")]
6652 impl From<xkb::GetIndicatorMapReply> for Reply {
from(reply: xkb::GetIndicatorMapReply) -> Reply6653 fn from(reply: xkb::GetIndicatorMapReply) -> Reply {
6654 Reply::XkbGetIndicatorMap(reply)
6655 }
6656 }
6657 #[cfg(feature = "xkb")]
6658 impl From<xkb::GetNamedIndicatorReply> for Reply {
from(reply: xkb::GetNamedIndicatorReply) -> Reply6659 fn from(reply: xkb::GetNamedIndicatorReply) -> Reply {
6660 Reply::XkbGetNamedIndicator(reply)
6661 }
6662 }
6663 #[cfg(feature = "xkb")]
6664 impl From<xkb::GetNamesReply> for Reply {
from(reply: xkb::GetNamesReply) -> Reply6665 fn from(reply: xkb::GetNamesReply) -> Reply {
6666 Reply::XkbGetNames(reply)
6667 }
6668 }
6669 #[cfg(feature = "xkb")]
6670 impl From<xkb::PerClientFlagsReply> for Reply {
from(reply: xkb::PerClientFlagsReply) -> Reply6671 fn from(reply: xkb::PerClientFlagsReply) -> Reply {
6672 Reply::XkbPerClientFlags(reply)
6673 }
6674 }
6675 #[cfg(feature = "xkb")]
6676 impl From<xkb::ListComponentsReply> for Reply {
from(reply: xkb::ListComponentsReply) -> Reply6677 fn from(reply: xkb::ListComponentsReply) -> Reply {
6678 Reply::XkbListComponents(reply)
6679 }
6680 }
6681 #[cfg(feature = "xkb")]
6682 impl From<xkb::GetKbdByNameReply> for Reply {
from(reply: xkb::GetKbdByNameReply) -> Reply6683 fn from(reply: xkb::GetKbdByNameReply) -> Reply {
6684 Reply::XkbGetKbdByName(reply)
6685 }
6686 }
6687 #[cfg(feature = "xkb")]
6688 impl From<xkb::GetDeviceInfoReply> for Reply {
from(reply: xkb::GetDeviceInfoReply) -> Reply6689 fn from(reply: xkb::GetDeviceInfoReply) -> Reply {
6690 Reply::XkbGetDeviceInfo(reply)
6691 }
6692 }
6693 #[cfg(feature = "xkb")]
6694 impl From<xkb::SetDebuggingFlagsReply> for Reply {
from(reply: xkb::SetDebuggingFlagsReply) -> Reply6695 fn from(reply: xkb::SetDebuggingFlagsReply) -> Reply {
6696 Reply::XkbSetDebuggingFlags(reply)
6697 }
6698 }
6699 #[cfg(feature = "xprint")]
6700 impl From<xprint::PrintQueryVersionReply> for Reply {
from(reply: xprint::PrintQueryVersionReply) -> Reply6701 fn from(reply: xprint::PrintQueryVersionReply) -> Reply {
6702 Reply::XprintPrintQueryVersion(reply)
6703 }
6704 }
6705 #[cfg(feature = "xprint")]
6706 impl From<xprint::PrintGetPrinterListReply> for Reply {
from(reply: xprint::PrintGetPrinterListReply) -> Reply6707 fn from(reply: xprint::PrintGetPrinterListReply) -> Reply {
6708 Reply::XprintPrintGetPrinterList(reply)
6709 }
6710 }
6711 #[cfg(feature = "xprint")]
6712 impl From<xprint::PrintGetContextReply> for Reply {
from(reply: xprint::PrintGetContextReply) -> Reply6713 fn from(reply: xprint::PrintGetContextReply) -> Reply {
6714 Reply::XprintPrintGetContext(reply)
6715 }
6716 }
6717 #[cfg(feature = "xprint")]
6718 impl From<xprint::PrintGetScreenOfContextReply> for Reply {
from(reply: xprint::PrintGetScreenOfContextReply) -> Reply6719 fn from(reply: xprint::PrintGetScreenOfContextReply) -> Reply {
6720 Reply::XprintPrintGetScreenOfContext(reply)
6721 }
6722 }
6723 #[cfg(feature = "xprint")]
6724 impl From<xprint::PrintGetDocumentDataReply> for Reply {
from(reply: xprint::PrintGetDocumentDataReply) -> Reply6725 fn from(reply: xprint::PrintGetDocumentDataReply) -> Reply {
6726 Reply::XprintPrintGetDocumentData(reply)
6727 }
6728 }
6729 #[cfg(feature = "xprint")]
6730 impl From<xprint::PrintInputSelectedReply> for Reply {
from(reply: xprint::PrintInputSelectedReply) -> Reply6731 fn from(reply: xprint::PrintInputSelectedReply) -> Reply {
6732 Reply::XprintPrintInputSelected(reply)
6733 }
6734 }
6735 #[cfg(feature = "xprint")]
6736 impl From<xprint::PrintGetAttributesReply> for Reply {
from(reply: xprint::PrintGetAttributesReply) -> Reply6737 fn from(reply: xprint::PrintGetAttributesReply) -> Reply {
6738 Reply::XprintPrintGetAttributes(reply)
6739 }
6740 }
6741 #[cfg(feature = "xprint")]
6742 impl From<xprint::PrintGetOneAttributesReply> for Reply {
from(reply: xprint::PrintGetOneAttributesReply) -> Reply6743 fn from(reply: xprint::PrintGetOneAttributesReply) -> Reply {
6744 Reply::XprintPrintGetOneAttributes(reply)
6745 }
6746 }
6747 #[cfg(feature = "xprint")]
6748 impl From<xprint::PrintGetPageDimensionsReply> for Reply {
from(reply: xprint::PrintGetPageDimensionsReply) -> Reply6749 fn from(reply: xprint::PrintGetPageDimensionsReply) -> Reply {
6750 Reply::XprintPrintGetPageDimensions(reply)
6751 }
6752 }
6753 #[cfg(feature = "xprint")]
6754 impl From<xprint::PrintQueryScreensReply> for Reply {
from(reply: xprint::PrintQueryScreensReply) -> Reply6755 fn from(reply: xprint::PrintQueryScreensReply) -> Reply {
6756 Reply::XprintPrintQueryScreens(reply)
6757 }
6758 }
6759 #[cfg(feature = "xprint")]
6760 impl From<xprint::PrintSetImageResolutionReply> for Reply {
from(reply: xprint::PrintSetImageResolutionReply) -> Reply6761 fn from(reply: xprint::PrintSetImageResolutionReply) -> Reply {
6762 Reply::XprintPrintSetImageResolution(reply)
6763 }
6764 }
6765 #[cfg(feature = "xprint")]
6766 impl From<xprint::PrintGetImageResolutionReply> for Reply {
from(reply: xprint::PrintGetImageResolutionReply) -> Reply6767 fn from(reply: xprint::PrintGetImageResolutionReply) -> Reply {
6768 Reply::XprintPrintGetImageResolution(reply)
6769 }
6770 }
6771 #[cfg(feature = "xselinux")]
6772 impl From<xselinux::QueryVersionReply> for Reply {
from(reply: xselinux::QueryVersionReply) -> Reply6773 fn from(reply: xselinux::QueryVersionReply) -> Reply {
6774 Reply::XselinuxQueryVersion(reply)
6775 }
6776 }
6777 #[cfg(feature = "xselinux")]
6778 impl From<xselinux::GetDeviceCreateContextReply> for Reply {
from(reply: xselinux::GetDeviceCreateContextReply) -> Reply6779 fn from(reply: xselinux::GetDeviceCreateContextReply) -> Reply {
6780 Reply::XselinuxGetDeviceCreateContext(reply)
6781 }
6782 }
6783 #[cfg(feature = "xselinux")]
6784 impl From<xselinux::GetDeviceContextReply> for Reply {
from(reply: xselinux::GetDeviceContextReply) -> Reply6785 fn from(reply: xselinux::GetDeviceContextReply) -> Reply {
6786 Reply::XselinuxGetDeviceContext(reply)
6787 }
6788 }
6789 #[cfg(feature = "xselinux")]
6790 impl From<xselinux::GetWindowCreateContextReply> for Reply {
from(reply: xselinux::GetWindowCreateContextReply) -> Reply6791 fn from(reply: xselinux::GetWindowCreateContextReply) -> Reply {
6792 Reply::XselinuxGetWindowCreateContext(reply)
6793 }
6794 }
6795 #[cfg(feature = "xselinux")]
6796 impl From<xselinux::GetWindowContextReply> for Reply {
from(reply: xselinux::GetWindowContextReply) -> Reply6797 fn from(reply: xselinux::GetWindowContextReply) -> Reply {
6798 Reply::XselinuxGetWindowContext(reply)
6799 }
6800 }
6801 #[cfg(feature = "xselinux")]
6802 impl From<xselinux::GetPropertyCreateContextReply> for Reply {
from(reply: xselinux::GetPropertyCreateContextReply) -> Reply6803 fn from(reply: xselinux::GetPropertyCreateContextReply) -> Reply {
6804 Reply::XselinuxGetPropertyCreateContext(reply)
6805 }
6806 }
6807 #[cfg(feature = "xselinux")]
6808 impl From<xselinux::GetPropertyUseContextReply> for Reply {
from(reply: xselinux::GetPropertyUseContextReply) -> Reply6809 fn from(reply: xselinux::GetPropertyUseContextReply) -> Reply {
6810 Reply::XselinuxGetPropertyUseContext(reply)
6811 }
6812 }
6813 #[cfg(feature = "xselinux")]
6814 impl From<xselinux::GetPropertyContextReply> for Reply {
from(reply: xselinux::GetPropertyContextReply) -> Reply6815 fn from(reply: xselinux::GetPropertyContextReply) -> Reply {
6816 Reply::XselinuxGetPropertyContext(reply)
6817 }
6818 }
6819 #[cfg(feature = "xselinux")]
6820 impl From<xselinux::GetPropertyDataContextReply> for Reply {
from(reply: xselinux::GetPropertyDataContextReply) -> Reply6821 fn from(reply: xselinux::GetPropertyDataContextReply) -> Reply {
6822 Reply::XselinuxGetPropertyDataContext(reply)
6823 }
6824 }
6825 #[cfg(feature = "xselinux")]
6826 impl From<xselinux::ListPropertiesReply> for Reply {
from(reply: xselinux::ListPropertiesReply) -> Reply6827 fn from(reply: xselinux::ListPropertiesReply) -> Reply {
6828 Reply::XselinuxListProperties(reply)
6829 }
6830 }
6831 #[cfg(feature = "xselinux")]
6832 impl From<xselinux::GetSelectionCreateContextReply> for Reply {
from(reply: xselinux::GetSelectionCreateContextReply) -> Reply6833 fn from(reply: xselinux::GetSelectionCreateContextReply) -> Reply {
6834 Reply::XselinuxGetSelectionCreateContext(reply)
6835 }
6836 }
6837 #[cfg(feature = "xselinux")]
6838 impl From<xselinux::GetSelectionUseContextReply> for Reply {
from(reply: xselinux::GetSelectionUseContextReply) -> Reply6839 fn from(reply: xselinux::GetSelectionUseContextReply) -> Reply {
6840 Reply::XselinuxGetSelectionUseContext(reply)
6841 }
6842 }
6843 #[cfg(feature = "xselinux")]
6844 impl From<xselinux::GetSelectionContextReply> for Reply {
from(reply: xselinux::GetSelectionContextReply) -> Reply6845 fn from(reply: xselinux::GetSelectionContextReply) -> Reply {
6846 Reply::XselinuxGetSelectionContext(reply)
6847 }
6848 }
6849 #[cfg(feature = "xselinux")]
6850 impl From<xselinux::GetSelectionDataContextReply> for Reply {
from(reply: xselinux::GetSelectionDataContextReply) -> Reply6851 fn from(reply: xselinux::GetSelectionDataContextReply) -> Reply {
6852 Reply::XselinuxGetSelectionDataContext(reply)
6853 }
6854 }
6855 #[cfg(feature = "xselinux")]
6856 impl From<xselinux::ListSelectionsReply> for Reply {
from(reply: xselinux::ListSelectionsReply) -> Reply6857 fn from(reply: xselinux::ListSelectionsReply) -> Reply {
6858 Reply::XselinuxListSelections(reply)
6859 }
6860 }
6861 #[cfg(feature = "xselinux")]
6862 impl From<xselinux::GetClientContextReply> for Reply {
from(reply: xselinux::GetClientContextReply) -> Reply6863 fn from(reply: xselinux::GetClientContextReply) -> Reply {
6864 Reply::XselinuxGetClientContext(reply)
6865 }
6866 }
6867 #[cfg(feature = "xtest")]
6868 impl From<xtest::GetVersionReply> for Reply {
from(reply: xtest::GetVersionReply) -> Reply6869 fn from(reply: xtest::GetVersionReply) -> Reply {
6870 Reply::XtestGetVersion(reply)
6871 }
6872 }
6873 #[cfg(feature = "xtest")]
6874 impl From<xtest::CompareCursorReply> for Reply {
from(reply: xtest::CompareCursorReply) -> Reply6875 fn from(reply: xtest::CompareCursorReply) -> Reply {
6876 Reply::XtestCompareCursor(reply)
6877 }
6878 }
6879 #[cfg(feature = "xv")]
6880 impl From<xv::QueryExtensionReply> for Reply {
from(reply: xv::QueryExtensionReply) -> Reply6881 fn from(reply: xv::QueryExtensionReply) -> Reply {
6882 Reply::XvQueryExtension(reply)
6883 }
6884 }
6885 #[cfg(feature = "xv")]
6886 impl From<xv::QueryAdaptorsReply> for Reply {
from(reply: xv::QueryAdaptorsReply) -> Reply6887 fn from(reply: xv::QueryAdaptorsReply) -> Reply {
6888 Reply::XvQueryAdaptors(reply)
6889 }
6890 }
6891 #[cfg(feature = "xv")]
6892 impl From<xv::QueryEncodingsReply> for Reply {
from(reply: xv::QueryEncodingsReply) -> Reply6893 fn from(reply: xv::QueryEncodingsReply) -> Reply {
6894 Reply::XvQueryEncodings(reply)
6895 }
6896 }
6897 #[cfg(feature = "xv")]
6898 impl From<xv::GrabPortReply> for Reply {
from(reply: xv::GrabPortReply) -> Reply6899 fn from(reply: xv::GrabPortReply) -> Reply {
6900 Reply::XvGrabPort(reply)
6901 }
6902 }
6903 #[cfg(feature = "xv")]
6904 impl From<xv::QueryBestSizeReply> for Reply {
from(reply: xv::QueryBestSizeReply) -> Reply6905 fn from(reply: xv::QueryBestSizeReply) -> Reply {
6906 Reply::XvQueryBestSize(reply)
6907 }
6908 }
6909 #[cfg(feature = "xv")]
6910 impl From<xv::GetPortAttributeReply> for Reply {
from(reply: xv::GetPortAttributeReply) -> Reply6911 fn from(reply: xv::GetPortAttributeReply) -> Reply {
6912 Reply::XvGetPortAttribute(reply)
6913 }
6914 }
6915 #[cfg(feature = "xv")]
6916 impl From<xv::QueryPortAttributesReply> for Reply {
from(reply: xv::QueryPortAttributesReply) -> Reply6917 fn from(reply: xv::QueryPortAttributesReply) -> Reply {
6918 Reply::XvQueryPortAttributes(reply)
6919 }
6920 }
6921 #[cfg(feature = "xv")]
6922 impl From<xv::ListImageFormatsReply> for Reply {
from(reply: xv::ListImageFormatsReply) -> Reply6923 fn from(reply: xv::ListImageFormatsReply) -> Reply {
6924 Reply::XvListImageFormats(reply)
6925 }
6926 }
6927 #[cfg(feature = "xv")]
6928 impl From<xv::QueryImageAttributesReply> for Reply {
from(reply: xv::QueryImageAttributesReply) -> Reply6929 fn from(reply: xv::QueryImageAttributesReply) -> Reply {
6930 Reply::XvQueryImageAttributes(reply)
6931 }
6932 }
6933 #[cfg(feature = "xvmc")]
6934 impl From<xvmc::QueryVersionReply> for Reply {
from(reply: xvmc::QueryVersionReply) -> Reply6935 fn from(reply: xvmc::QueryVersionReply) -> Reply {
6936 Reply::XvmcQueryVersion(reply)
6937 }
6938 }
6939 #[cfg(feature = "xvmc")]
6940 impl From<xvmc::ListSurfaceTypesReply> for Reply {
from(reply: xvmc::ListSurfaceTypesReply) -> Reply6941 fn from(reply: xvmc::ListSurfaceTypesReply) -> Reply {
6942 Reply::XvmcListSurfaceTypes(reply)
6943 }
6944 }
6945 #[cfg(feature = "xvmc")]
6946 impl From<xvmc::CreateContextReply> for Reply {
from(reply: xvmc::CreateContextReply) -> Reply6947 fn from(reply: xvmc::CreateContextReply) -> Reply {
6948 Reply::XvmcCreateContext(reply)
6949 }
6950 }
6951 #[cfg(feature = "xvmc")]
6952 impl From<xvmc::CreateSurfaceReply> for Reply {
from(reply: xvmc::CreateSurfaceReply) -> Reply6953 fn from(reply: xvmc::CreateSurfaceReply) -> Reply {
6954 Reply::XvmcCreateSurface(reply)
6955 }
6956 }
6957 #[cfg(feature = "xvmc")]
6958 impl From<xvmc::CreateSubpictureReply> for Reply {
from(reply: xvmc::CreateSubpictureReply) -> Reply6959 fn from(reply: xvmc::CreateSubpictureReply) -> Reply {
6960 Reply::XvmcCreateSubpicture(reply)
6961 }
6962 }
6963 #[cfg(feature = "xvmc")]
6964 impl From<xvmc::ListSubpictureTypesReply> for Reply {
from(reply: xvmc::ListSubpictureTypesReply) -> Reply6965 fn from(reply: xvmc::ListSubpictureTypesReply) -> Reply {
6966 Reply::XvmcListSubpictureTypes(reply)
6967 }
6968 }
6969
6970 /// Enumeration of all possible X11 error kinds.
6971 #[derive(Debug, Clone, Copy, PartialEq, Eq)]
6972 #[non_exhaustive]
6973 pub enum ErrorKind {
6974 Unknown(u8),
6975 Access,
6976 Alloc,
6977 Atom,
6978 Colormap,
6979 Cursor,
6980 Drawable,
6981 Font,
6982 GContext,
6983 IDChoice,
6984 Implementation,
6985 Length,
6986 Match,
6987 Name,
6988 Pixmap,
6989 Request,
6990 Value,
6991 Window,
6992 #[cfg(feature = "damage")]
6993 DamageBadDamage,
6994 #[cfg(feature = "glx")]
6995 GlxBadContext,
6996 #[cfg(feature = "glx")]
6997 GlxBadContextState,
6998 #[cfg(feature = "glx")]
6999 GlxBadContextTag,
7000 #[cfg(feature = "glx")]
7001 GlxBadCurrentDrawable,
7002 #[cfg(feature = "glx")]
7003 GlxBadCurrentWindow,
7004 #[cfg(feature = "glx")]
7005 GlxBadDrawable,
7006 #[cfg(feature = "glx")]
7007 GlxBadFBConfig,
7008 #[cfg(feature = "glx")]
7009 GlxBadLargeRequest,
7010 #[cfg(feature = "glx")]
7011 GlxBadPbuffer,
7012 #[cfg(feature = "glx")]
7013 GlxBadPixmap,
7014 #[cfg(feature = "glx")]
7015 GlxBadRenderRequest,
7016 #[cfg(feature = "glx")]
7017 GlxBadWindow,
7018 #[cfg(feature = "glx")]
7019 GlxGLXBadProfileARB,
7020 #[cfg(feature = "glx")]
7021 GlxUnsupportedPrivateRequest,
7022 #[cfg(feature = "randr")]
7023 RandrBadCrtc,
7024 #[cfg(feature = "randr")]
7025 RandrBadMode,
7026 #[cfg(feature = "randr")]
7027 RandrBadOutput,
7028 #[cfg(feature = "randr")]
7029 RandrBadProvider,
7030 #[cfg(feature = "record")]
7031 RecordBadContext,
7032 #[cfg(feature = "render")]
7033 RenderGlyph,
7034 #[cfg(feature = "render")]
7035 RenderGlyphSet,
7036 #[cfg(feature = "render")]
7037 RenderPictFormat,
7038 #[cfg(feature = "render")]
7039 RenderPictOp,
7040 #[cfg(feature = "render")]
7041 RenderPicture,
7042 #[cfg(feature = "shm")]
7043 ShmBadSeg,
7044 #[cfg(feature = "sync")]
7045 SyncAlarm,
7046 #[cfg(feature = "sync")]
7047 SyncCounter,
7048 #[cfg(feature = "xf86vidmode")]
7049 Xf86vidmodeBadClock,
7050 #[cfg(feature = "xf86vidmode")]
7051 Xf86vidmodeBadHTimings,
7052 #[cfg(feature = "xf86vidmode")]
7053 Xf86vidmodeBadVTimings,
7054 #[cfg(feature = "xf86vidmode")]
7055 Xf86vidmodeClientNotLocal,
7056 #[cfg(feature = "xf86vidmode")]
7057 Xf86vidmodeExtensionDisabled,
7058 #[cfg(feature = "xf86vidmode")]
7059 Xf86vidmodeModeUnsuitable,
7060 #[cfg(feature = "xf86vidmode")]
7061 Xf86vidmodeZoomLocked,
7062 #[cfg(feature = "xfixes")]
7063 XfixesBadRegion,
7064 #[cfg(feature = "xinput")]
7065 XinputClass,
7066 #[cfg(feature = "xinput")]
7067 XinputDevice,
7068 #[cfg(feature = "xinput")]
7069 XinputDeviceBusy,
7070 #[cfg(feature = "xinput")]
7071 XinputEvent,
7072 #[cfg(feature = "xinput")]
7073 XinputMode,
7074 #[cfg(feature = "xkb")]
7075 XkbKeyboard,
7076 #[cfg(feature = "xprint")]
7077 XprintBadContext,
7078 #[cfg(feature = "xprint")]
7079 XprintBadSequence,
7080 #[cfg(feature = "xv")]
7081 XvBadControl,
7082 #[cfg(feature = "xv")]
7083 XvBadEncoding,
7084 #[cfg(feature = "xv")]
7085 XvBadPort,
7086 }
7087
7088 impl ErrorKind {
7089 #[allow(clippy::match_single_binding)]
from_wire_error_code( error_code: u8, ext_info_provider: &dyn ExtInfoProvider, ) -> Self7090 pub fn from_wire_error_code(
7091 error_code: u8,
7092 ext_info_provider: &dyn ExtInfoProvider,
7093 ) -> Self {
7094 // Check if this is a core protocol error
7095 match error_code {
7096 xproto::ACCESS_ERROR => return Self::Access,
7097 xproto::ALLOC_ERROR => return Self::Alloc,
7098 xproto::ATOM_ERROR => return Self::Atom,
7099 xproto::COLORMAP_ERROR => return Self::Colormap,
7100 xproto::CURSOR_ERROR => return Self::Cursor,
7101 xproto::DRAWABLE_ERROR => return Self::Drawable,
7102 xproto::FONT_ERROR => return Self::Font,
7103 xproto::G_CONTEXT_ERROR => return Self::GContext,
7104 xproto::ID_CHOICE_ERROR => return Self::IDChoice,
7105 xproto::IMPLEMENTATION_ERROR => return Self::Implementation,
7106 xproto::LENGTH_ERROR => return Self::Length,
7107 xproto::MATCH_ERROR => return Self::Match,
7108 xproto::NAME_ERROR => return Self::Name,
7109 xproto::PIXMAP_ERROR => return Self::Pixmap,
7110 xproto::REQUEST_ERROR => return Self::Request,
7111 xproto::VALUE_ERROR => return Self::Value,
7112 xproto::WINDOW_ERROR => return Self::Window,
7113 _ => {}
7114 }
7115
7116 // Find the extension that this error could belong to
7117 let ext_info = ext_info_provider.get_from_error_code(error_code);
7118 match ext_info {
7119 #[cfg(feature = "damage")]
7120 Some((damage::X11_EXTENSION_NAME, ext_info)) => {
7121 match error_code - ext_info.first_error {
7122 damage::BAD_DAMAGE_ERROR => Self::DamageBadDamage,
7123 _ => Self::Unknown(error_code),
7124 }
7125 }
7126 #[cfg(feature = "glx")]
7127 Some((glx::X11_EXTENSION_NAME, ext_info)) => {
7128 match error_code - ext_info.first_error {
7129 glx::BAD_CONTEXT_ERROR => Self::GlxBadContext,
7130 glx::BAD_CONTEXT_STATE_ERROR => Self::GlxBadContextState,
7131 glx::BAD_CONTEXT_TAG_ERROR => Self::GlxBadContextTag,
7132 glx::BAD_CURRENT_DRAWABLE_ERROR => Self::GlxBadCurrentDrawable,
7133 glx::BAD_CURRENT_WINDOW_ERROR => Self::GlxBadCurrentWindow,
7134 glx::BAD_DRAWABLE_ERROR => Self::GlxBadDrawable,
7135 glx::BAD_FB_CONFIG_ERROR => Self::GlxBadFBConfig,
7136 glx::BAD_LARGE_REQUEST_ERROR => Self::GlxBadLargeRequest,
7137 glx::BAD_PBUFFER_ERROR => Self::GlxBadPbuffer,
7138 glx::BAD_PIXMAP_ERROR => Self::GlxBadPixmap,
7139 glx::BAD_RENDER_REQUEST_ERROR => Self::GlxBadRenderRequest,
7140 glx::BAD_WINDOW_ERROR => Self::GlxBadWindow,
7141 glx::GLX_BAD_PROFILE_ARB_ERROR => Self::GlxGLXBadProfileARB,
7142 glx::UNSUPPORTED_PRIVATE_REQUEST_ERROR => Self::GlxUnsupportedPrivateRequest,
7143 _ => Self::Unknown(error_code),
7144 }
7145 }
7146 #[cfg(feature = "randr")]
7147 Some((randr::X11_EXTENSION_NAME, ext_info)) => {
7148 match error_code - ext_info.first_error {
7149 randr::BAD_CRTC_ERROR => Self::RandrBadCrtc,
7150 randr::BAD_MODE_ERROR => Self::RandrBadMode,
7151 randr::BAD_OUTPUT_ERROR => Self::RandrBadOutput,
7152 randr::BAD_PROVIDER_ERROR => Self::RandrBadProvider,
7153 _ => Self::Unknown(error_code),
7154 }
7155 }
7156 #[cfg(feature = "record")]
7157 Some((record::X11_EXTENSION_NAME, ext_info)) => {
7158 match error_code - ext_info.first_error {
7159 record::BAD_CONTEXT_ERROR => Self::RecordBadContext,
7160 _ => Self::Unknown(error_code),
7161 }
7162 }
7163 #[cfg(feature = "render")]
7164 Some((render::X11_EXTENSION_NAME, ext_info)) => {
7165 match error_code - ext_info.first_error {
7166 render::GLYPH_ERROR => Self::RenderGlyph,
7167 render::GLYPH_SET_ERROR => Self::RenderGlyphSet,
7168 render::PICT_FORMAT_ERROR => Self::RenderPictFormat,
7169 render::PICT_OP_ERROR => Self::RenderPictOp,
7170 render::PICTURE_ERROR => Self::RenderPicture,
7171 _ => Self::Unknown(error_code),
7172 }
7173 }
7174 #[cfg(feature = "shm")]
7175 Some((shm::X11_EXTENSION_NAME, ext_info)) => {
7176 match error_code - ext_info.first_error {
7177 shm::BAD_SEG_ERROR => Self::ShmBadSeg,
7178 _ => Self::Unknown(error_code),
7179 }
7180 }
7181 #[cfg(feature = "sync")]
7182 Some((sync::X11_EXTENSION_NAME, ext_info)) => {
7183 match error_code - ext_info.first_error {
7184 sync::ALARM_ERROR => Self::SyncAlarm,
7185 sync::COUNTER_ERROR => Self::SyncCounter,
7186 _ => Self::Unknown(error_code),
7187 }
7188 }
7189 #[cfg(feature = "xf86vidmode")]
7190 Some((xf86vidmode::X11_EXTENSION_NAME, ext_info)) => {
7191 match error_code - ext_info.first_error {
7192 xf86vidmode::BAD_CLOCK_ERROR => Self::Xf86vidmodeBadClock,
7193 xf86vidmode::BAD_H_TIMINGS_ERROR => Self::Xf86vidmodeBadHTimings,
7194 xf86vidmode::BAD_V_TIMINGS_ERROR => Self::Xf86vidmodeBadVTimings,
7195 xf86vidmode::CLIENT_NOT_LOCAL_ERROR => Self::Xf86vidmodeClientNotLocal,
7196 xf86vidmode::EXTENSION_DISABLED_ERROR => Self::Xf86vidmodeExtensionDisabled,
7197 xf86vidmode::MODE_UNSUITABLE_ERROR => Self::Xf86vidmodeModeUnsuitable,
7198 xf86vidmode::ZOOM_LOCKED_ERROR => Self::Xf86vidmodeZoomLocked,
7199 _ => Self::Unknown(error_code),
7200 }
7201 }
7202 #[cfg(feature = "xfixes")]
7203 Some((xfixes::X11_EXTENSION_NAME, ext_info)) => {
7204 match error_code - ext_info.first_error {
7205 xfixes::BAD_REGION_ERROR => Self::XfixesBadRegion,
7206 _ => Self::Unknown(error_code),
7207 }
7208 }
7209 #[cfg(feature = "xinput")]
7210 Some((xinput::X11_EXTENSION_NAME, ext_info)) => {
7211 match error_code - ext_info.first_error {
7212 xinput::CLASS_ERROR => Self::XinputClass,
7213 xinput::DEVICE_ERROR => Self::XinputDevice,
7214 xinput::DEVICE_BUSY_ERROR => Self::XinputDeviceBusy,
7215 xinput::EVENT_ERROR => Self::XinputEvent,
7216 xinput::MODE_ERROR => Self::XinputMode,
7217 _ => Self::Unknown(error_code),
7218 }
7219 }
7220 #[cfg(feature = "xkb")]
7221 Some((xkb::X11_EXTENSION_NAME, ext_info)) => {
7222 match error_code - ext_info.first_error {
7223 xkb::KEYBOARD_ERROR => Self::XkbKeyboard,
7224 _ => Self::Unknown(error_code),
7225 }
7226 }
7227 #[cfg(feature = "xprint")]
7228 Some((xprint::X11_EXTENSION_NAME, ext_info)) => {
7229 match error_code - ext_info.first_error {
7230 xprint::BAD_CONTEXT_ERROR => Self::XprintBadContext,
7231 xprint::BAD_SEQUENCE_ERROR => Self::XprintBadSequence,
7232 _ => Self::Unknown(error_code),
7233 }
7234 }
7235 #[cfg(feature = "xv")]
7236 Some((xv::X11_EXTENSION_NAME, ext_info)) => {
7237 match error_code - ext_info.first_error {
7238 xv::BAD_CONTROL_ERROR => Self::XvBadControl,
7239 xv::BAD_ENCODING_ERROR => Self::XvBadEncoding,
7240 xv::BAD_PORT_ERROR => Self::XvBadPort,
7241 _ => Self::Unknown(error_code),
7242 }
7243 }
7244 _ => Self::Unknown(error_code),
7245 }
7246 }
7247 }
7248
7249
7250 /// Enumeration of all possible X11 events.
7251 #[derive(Debug, Clone)]
7252 #[non_exhaustive]
7253 pub enum Event {
7254 Unknown(Vec<u8>),
7255 Error(X11Error),
7256 ButtonPress(xproto::ButtonPressEvent),
7257 ButtonRelease(xproto::ButtonReleaseEvent),
7258 CirculateNotify(xproto::CirculateNotifyEvent),
7259 CirculateRequest(xproto::CirculateRequestEvent),
7260 ClientMessage(xproto::ClientMessageEvent),
7261 ColormapNotify(xproto::ColormapNotifyEvent),
7262 ConfigureNotify(xproto::ConfigureNotifyEvent),
7263 ConfigureRequest(xproto::ConfigureRequestEvent),
7264 CreateNotify(xproto::CreateNotifyEvent),
7265 DestroyNotify(xproto::DestroyNotifyEvent),
7266 EnterNotify(xproto::EnterNotifyEvent),
7267 Expose(xproto::ExposeEvent),
7268 FocusIn(xproto::FocusInEvent),
7269 FocusOut(xproto::FocusOutEvent),
7270 GeGeneric(xproto::GeGenericEvent),
7271 GraphicsExposure(xproto::GraphicsExposureEvent),
7272 GravityNotify(xproto::GravityNotifyEvent),
7273 KeyPress(xproto::KeyPressEvent),
7274 KeyRelease(xproto::KeyReleaseEvent),
7275 KeymapNotify(xproto::KeymapNotifyEvent),
7276 LeaveNotify(xproto::LeaveNotifyEvent),
7277 MapNotify(xproto::MapNotifyEvent),
7278 MapRequest(xproto::MapRequestEvent),
7279 MappingNotify(xproto::MappingNotifyEvent),
7280 MotionNotify(xproto::MotionNotifyEvent),
7281 NoExposure(xproto::NoExposureEvent),
7282 PropertyNotify(xproto::PropertyNotifyEvent),
7283 ReparentNotify(xproto::ReparentNotifyEvent),
7284 ResizeRequest(xproto::ResizeRequestEvent),
7285 SelectionClear(xproto::SelectionClearEvent),
7286 SelectionNotify(xproto::SelectionNotifyEvent),
7287 SelectionRequest(xproto::SelectionRequestEvent),
7288 UnmapNotify(xproto::UnmapNotifyEvent),
7289 VisibilityNotify(xproto::VisibilityNotifyEvent),
7290 #[cfg(feature = "damage")]
7291 DamageNotify(damage::NotifyEvent),
7292 #[cfg(feature = "dri2")]
7293 Dri2BufferSwapComplete(dri2::BufferSwapCompleteEvent),
7294 #[cfg(feature = "dri2")]
7295 Dri2InvalidateBuffers(dri2::InvalidateBuffersEvent),
7296 #[cfg(feature = "glx")]
7297 GlxBufferSwapComplete(glx::BufferSwapCompleteEvent),
7298 #[cfg(feature = "glx")]
7299 GlxPbufferClobber(glx::PbufferClobberEvent),
7300 #[cfg(feature = "present")]
7301 PresentCompleteNotify(present::CompleteNotifyEvent),
7302 #[cfg(feature = "present")]
7303 PresentConfigureNotify(present::ConfigureNotifyEvent),
7304 #[cfg(feature = "present")]
7305 PresentGeneric(present::GenericEvent),
7306 #[cfg(feature = "present")]
7307 PresentIdleNotify(present::IdleNotifyEvent),
7308 #[cfg(feature = "present")]
7309 PresentRedirectNotify(present::RedirectNotifyEvent),
7310 #[cfg(feature = "randr")]
7311 RandrNotify(randr::NotifyEvent),
7312 #[cfg(feature = "randr")]
7313 RandrScreenChangeNotify(randr::ScreenChangeNotifyEvent),
7314 #[cfg(feature = "screensaver")]
7315 ScreensaverNotify(screensaver::NotifyEvent),
7316 #[cfg(feature = "shape")]
7317 ShapeNotify(shape::NotifyEvent),
7318 #[cfg(feature = "shm")]
7319 ShmCompletion(shm::CompletionEvent),
7320 #[cfg(feature = "sync")]
7321 SyncAlarmNotify(sync::AlarmNotifyEvent),
7322 #[cfg(feature = "sync")]
7323 SyncCounterNotify(sync::CounterNotifyEvent),
7324 #[cfg(feature = "xfixes")]
7325 XfixesCursorNotify(xfixes::CursorNotifyEvent),
7326 #[cfg(feature = "xfixes")]
7327 XfixesSelectionNotify(xfixes::SelectionNotifyEvent),
7328 #[cfg(feature = "xinput")]
7329 XinputBarrierHit(xinput::BarrierHitEvent),
7330 #[cfg(feature = "xinput")]
7331 XinputBarrierLeave(xinput::BarrierLeaveEvent),
7332 #[cfg(feature = "xinput")]
7333 XinputButtonPress(xinput::ButtonPressEvent),
7334 #[cfg(feature = "xinput")]
7335 XinputButtonRelease(xinput::ButtonReleaseEvent),
7336 #[cfg(feature = "xinput")]
7337 XinputChangeDeviceNotify(xinput::ChangeDeviceNotifyEvent),
7338 #[cfg(feature = "xinput")]
7339 XinputDeviceButtonPress(xinput::DeviceButtonPressEvent),
7340 #[cfg(feature = "xinput")]
7341 XinputDeviceButtonRelease(xinput::DeviceButtonReleaseEvent),
7342 #[cfg(feature = "xinput")]
7343 XinputDeviceButtonStateNotify(xinput::DeviceButtonStateNotifyEvent),
7344 #[cfg(feature = "xinput")]
7345 XinputDeviceChanged(xinput::DeviceChangedEvent),
7346 #[cfg(feature = "xinput")]
7347 XinputDeviceFocusIn(xinput::DeviceFocusInEvent),
7348 #[cfg(feature = "xinput")]
7349 XinputDeviceFocusOut(xinput::DeviceFocusOutEvent),
7350 #[cfg(feature = "xinput")]
7351 XinputDeviceKeyPress(xinput::DeviceKeyPressEvent),
7352 #[cfg(feature = "xinput")]
7353 XinputDeviceKeyRelease(xinput::DeviceKeyReleaseEvent),
7354 #[cfg(feature = "xinput")]
7355 XinputDeviceKeyStateNotify(xinput::DeviceKeyStateNotifyEvent),
7356 #[cfg(feature = "xinput")]
7357 XinputDeviceMappingNotify(xinput::DeviceMappingNotifyEvent),
7358 #[cfg(feature = "xinput")]
7359 XinputDeviceMotionNotify(xinput::DeviceMotionNotifyEvent),
7360 #[cfg(feature = "xinput")]
7361 XinputDevicePresenceNotify(xinput::DevicePresenceNotifyEvent),
7362 #[cfg(feature = "xinput")]
7363 XinputDevicePropertyNotify(xinput::DevicePropertyNotifyEvent),
7364 #[cfg(feature = "xinput")]
7365 XinputDeviceStateNotify(xinput::DeviceStateNotifyEvent),
7366 #[cfg(feature = "xinput")]
7367 XinputDeviceValuator(xinput::DeviceValuatorEvent),
7368 #[cfg(feature = "xinput")]
7369 XinputEnter(xinput::EnterEvent),
7370 #[cfg(feature = "xinput")]
7371 XinputFocusIn(xinput::FocusInEvent),
7372 #[cfg(feature = "xinput")]
7373 XinputFocusOut(xinput::FocusOutEvent),
7374 #[cfg(feature = "xinput")]
7375 XinputHierarchy(xinput::HierarchyEvent),
7376 #[cfg(feature = "xinput")]
7377 XinputKeyPress(xinput::KeyPressEvent),
7378 #[cfg(feature = "xinput")]
7379 XinputKeyRelease(xinput::KeyReleaseEvent),
7380 #[cfg(feature = "xinput")]
7381 XinputLeave(xinput::LeaveEvent),
7382 #[cfg(feature = "xinput")]
7383 XinputMotion(xinput::MotionEvent),
7384 #[cfg(feature = "xinput")]
7385 XinputProperty(xinput::PropertyEvent),
7386 #[cfg(feature = "xinput")]
7387 XinputProximityIn(xinput::ProximityInEvent),
7388 #[cfg(feature = "xinput")]
7389 XinputProximityOut(xinput::ProximityOutEvent),
7390 #[cfg(feature = "xinput")]
7391 XinputRawButtonPress(xinput::RawButtonPressEvent),
7392 #[cfg(feature = "xinput")]
7393 XinputRawButtonRelease(xinput::RawButtonReleaseEvent),
7394 #[cfg(feature = "xinput")]
7395 XinputRawKeyPress(xinput::RawKeyPressEvent),
7396 #[cfg(feature = "xinput")]
7397 XinputRawKeyRelease(xinput::RawKeyReleaseEvent),
7398 #[cfg(feature = "xinput")]
7399 XinputRawMotion(xinput::RawMotionEvent),
7400 #[cfg(feature = "xinput")]
7401 XinputRawTouchBegin(xinput::RawTouchBeginEvent),
7402 #[cfg(feature = "xinput")]
7403 XinputRawTouchEnd(xinput::RawTouchEndEvent),
7404 #[cfg(feature = "xinput")]
7405 XinputRawTouchUpdate(xinput::RawTouchUpdateEvent),
7406 #[cfg(feature = "xinput")]
7407 XinputTouchBegin(xinput::TouchBeginEvent),
7408 #[cfg(feature = "xinput")]
7409 XinputTouchEnd(xinput::TouchEndEvent),
7410 #[cfg(feature = "xinput")]
7411 XinputTouchOwnership(xinput::TouchOwnershipEvent),
7412 #[cfg(feature = "xinput")]
7413 XinputTouchUpdate(xinput::TouchUpdateEvent),
7414 #[cfg(feature = "xkb")]
7415 XkbAccessXNotify(xkb::AccessXNotifyEvent),
7416 #[cfg(feature = "xkb")]
7417 XkbActionMessage(xkb::ActionMessageEvent),
7418 #[cfg(feature = "xkb")]
7419 XkbBellNotify(xkb::BellNotifyEvent),
7420 #[cfg(feature = "xkb")]
7421 XkbCompatMapNotify(xkb::CompatMapNotifyEvent),
7422 #[cfg(feature = "xkb")]
7423 XkbControlsNotify(xkb::ControlsNotifyEvent),
7424 #[cfg(feature = "xkb")]
7425 XkbExtensionDeviceNotify(xkb::ExtensionDeviceNotifyEvent),
7426 #[cfg(feature = "xkb")]
7427 XkbIndicatorMapNotify(xkb::IndicatorMapNotifyEvent),
7428 #[cfg(feature = "xkb")]
7429 XkbIndicatorStateNotify(xkb::IndicatorStateNotifyEvent),
7430 #[cfg(feature = "xkb")]
7431 XkbMapNotify(xkb::MapNotifyEvent),
7432 #[cfg(feature = "xkb")]
7433 XkbNamesNotify(xkb::NamesNotifyEvent),
7434 #[cfg(feature = "xkb")]
7435 XkbNewKeyboardNotify(xkb::NewKeyboardNotifyEvent),
7436 #[cfg(feature = "xkb")]
7437 XkbStateNotify(xkb::StateNotifyEvent),
7438 #[cfg(feature = "xprint")]
7439 XprintAttributNotify(xprint::AttributNotifyEvent),
7440 #[cfg(feature = "xprint")]
7441 XprintNotify(xprint::NotifyEvent),
7442 #[cfg(feature = "xv")]
7443 XvPortNotify(xv::PortNotifyEvent),
7444 #[cfg(feature = "xv")]
7445 XvVideoNotify(xv::VideoNotifyEvent),
7446 }
7447
7448 impl Event {
7449 /// Parse a generic X11 event into a concrete event type.
7450 #[allow(clippy::cognitive_complexity, clippy::match_single_binding)]
parse( event: &[u8], ext_info_provider: &dyn ExtInfoProvider, ) -> Result<Self, ParseError>7451 pub fn parse(
7452 event: &[u8],
7453 ext_info_provider: &dyn ExtInfoProvider,
7454 ) -> Result<Self, ParseError> {
7455 let event_code = response_type(event)?;
7456
7457 // Check if this is a core protocol event or error, or from the generic event extension
7458 match event_code {
7459 0 => return Ok(Self::Error(X11Error::try_parse(event, ext_info_provider)?)),
7460 xproto::BUTTON_PRESS_EVENT => return Ok(Self::ButtonPress(TryParse::try_parse(event)?.0)),
7461 xproto::BUTTON_RELEASE_EVENT => return Ok(Self::ButtonRelease(TryParse::try_parse(event)?.0)),
7462 xproto::CIRCULATE_NOTIFY_EVENT => return Ok(Self::CirculateNotify(TryParse::try_parse(event)?.0)),
7463 xproto::CIRCULATE_REQUEST_EVENT => return Ok(Self::CirculateRequest(TryParse::try_parse(event)?.0)),
7464 xproto::CLIENT_MESSAGE_EVENT => return Ok(Self::ClientMessage(TryParse::try_parse(event)?.0)),
7465 xproto::COLORMAP_NOTIFY_EVENT => return Ok(Self::ColormapNotify(TryParse::try_parse(event)?.0)),
7466 xproto::CONFIGURE_NOTIFY_EVENT => return Ok(Self::ConfigureNotify(TryParse::try_parse(event)?.0)),
7467 xproto::CONFIGURE_REQUEST_EVENT => return Ok(Self::ConfigureRequest(TryParse::try_parse(event)?.0)),
7468 xproto::CREATE_NOTIFY_EVENT => return Ok(Self::CreateNotify(TryParse::try_parse(event)?.0)),
7469 xproto::DESTROY_NOTIFY_EVENT => return Ok(Self::DestroyNotify(TryParse::try_parse(event)?.0)),
7470 xproto::ENTER_NOTIFY_EVENT => return Ok(Self::EnterNotify(TryParse::try_parse(event)?.0)),
7471 xproto::EXPOSE_EVENT => return Ok(Self::Expose(TryParse::try_parse(event)?.0)),
7472 xproto::FOCUS_IN_EVENT => return Ok(Self::FocusIn(TryParse::try_parse(event)?.0)),
7473 xproto::FOCUS_OUT_EVENT => return Ok(Self::FocusOut(TryParse::try_parse(event)?.0)),
7474 xproto::GRAPHICS_EXPOSURE_EVENT => return Ok(Self::GraphicsExposure(TryParse::try_parse(event)?.0)),
7475 xproto::GRAVITY_NOTIFY_EVENT => return Ok(Self::GravityNotify(TryParse::try_parse(event)?.0)),
7476 xproto::KEY_PRESS_EVENT => return Ok(Self::KeyPress(TryParse::try_parse(event)?.0)),
7477 xproto::KEY_RELEASE_EVENT => return Ok(Self::KeyRelease(TryParse::try_parse(event)?.0)),
7478 xproto::KEYMAP_NOTIFY_EVENT => return Ok(Self::KeymapNotify(TryParse::try_parse(event)?.0)),
7479 xproto::LEAVE_NOTIFY_EVENT => return Ok(Self::LeaveNotify(TryParse::try_parse(event)?.0)),
7480 xproto::MAP_NOTIFY_EVENT => return Ok(Self::MapNotify(TryParse::try_parse(event)?.0)),
7481 xproto::MAP_REQUEST_EVENT => return Ok(Self::MapRequest(TryParse::try_parse(event)?.0)),
7482 xproto::MAPPING_NOTIFY_EVENT => return Ok(Self::MappingNotify(TryParse::try_parse(event)?.0)),
7483 xproto::MOTION_NOTIFY_EVENT => return Ok(Self::MotionNotify(TryParse::try_parse(event)?.0)),
7484 xproto::NO_EXPOSURE_EVENT => return Ok(Self::NoExposure(TryParse::try_parse(event)?.0)),
7485 xproto::PROPERTY_NOTIFY_EVENT => return Ok(Self::PropertyNotify(TryParse::try_parse(event)?.0)),
7486 xproto::REPARENT_NOTIFY_EVENT => return Ok(Self::ReparentNotify(TryParse::try_parse(event)?.0)),
7487 xproto::RESIZE_REQUEST_EVENT => return Ok(Self::ResizeRequest(TryParse::try_parse(event)?.0)),
7488 xproto::SELECTION_CLEAR_EVENT => return Ok(Self::SelectionClear(TryParse::try_parse(event)?.0)),
7489 xproto::SELECTION_NOTIFY_EVENT => return Ok(Self::SelectionNotify(TryParse::try_parse(event)?.0)),
7490 xproto::SELECTION_REQUEST_EVENT => return Ok(Self::SelectionRequest(TryParse::try_parse(event)?.0)),
7491 xproto::UNMAP_NOTIFY_EVENT => return Ok(Self::UnmapNotify(TryParse::try_parse(event)?.0)),
7492 xproto::VISIBILITY_NOTIFY_EVENT => return Ok(Self::VisibilityNotify(TryParse::try_parse(event)?.0)),
7493 xproto::GE_GENERIC_EVENT => return Self::from_generic_event(event, ext_info_provider),
7494 _ => {}
7495 }
7496 // Find the extension that this event could belong to
7497 let ext_info = ext_info_provider.get_from_event_code(event_code);
7498 match ext_info {
7499 #[cfg(feature = "damage")]
7500 Some((damage::X11_EXTENSION_NAME, ext_info)) => {
7501 match event_code - ext_info.first_event {
7502 damage::NOTIFY_EVENT => Ok(Self::DamageNotify(TryParse::try_parse(event)?.0)),
7503 _ => Ok(Self::Unknown(event.to_vec())),
7504 }
7505 }
7506 #[cfg(feature = "dri2")]
7507 Some((dri2::X11_EXTENSION_NAME, ext_info)) => {
7508 match event_code - ext_info.first_event {
7509 dri2::BUFFER_SWAP_COMPLETE_EVENT => Ok(Self::Dri2BufferSwapComplete(TryParse::try_parse(event)?.0)),
7510 dri2::INVALIDATE_BUFFERS_EVENT => Ok(Self::Dri2InvalidateBuffers(TryParse::try_parse(event)?.0)),
7511 _ => Ok(Self::Unknown(event.to_vec())),
7512 }
7513 }
7514 #[cfg(feature = "glx")]
7515 Some((glx::X11_EXTENSION_NAME, ext_info)) => {
7516 match event_code - ext_info.first_event {
7517 glx::BUFFER_SWAP_COMPLETE_EVENT => Ok(Self::GlxBufferSwapComplete(TryParse::try_parse(event)?.0)),
7518 glx::PBUFFER_CLOBBER_EVENT => Ok(Self::GlxPbufferClobber(TryParse::try_parse(event)?.0)),
7519 _ => Ok(Self::Unknown(event.to_vec())),
7520 }
7521 }
7522 #[cfg(feature = "present")]
7523 Some((present::X11_EXTENSION_NAME, ext_info)) => {
7524 match event_code - ext_info.first_event {
7525 present::GENERIC_EVENT => Ok(Self::PresentGeneric(TryParse::try_parse(event)?.0)),
7526 _ => Ok(Self::Unknown(event.to_vec())),
7527 }
7528 }
7529 #[cfg(feature = "randr")]
7530 Some((randr::X11_EXTENSION_NAME, ext_info)) => {
7531 match event_code - ext_info.first_event {
7532 randr::NOTIFY_EVENT => Ok(Self::RandrNotify(TryParse::try_parse(event)?.0)),
7533 randr::SCREEN_CHANGE_NOTIFY_EVENT => Ok(Self::RandrScreenChangeNotify(TryParse::try_parse(event)?.0)),
7534 _ => Ok(Self::Unknown(event.to_vec())),
7535 }
7536 }
7537 #[cfg(feature = "screensaver")]
7538 Some((screensaver::X11_EXTENSION_NAME, ext_info)) => {
7539 match event_code - ext_info.first_event {
7540 screensaver::NOTIFY_EVENT => Ok(Self::ScreensaverNotify(TryParse::try_parse(event)?.0)),
7541 _ => Ok(Self::Unknown(event.to_vec())),
7542 }
7543 }
7544 #[cfg(feature = "shape")]
7545 Some((shape::X11_EXTENSION_NAME, ext_info)) => {
7546 match event_code - ext_info.first_event {
7547 shape::NOTIFY_EVENT => Ok(Self::ShapeNotify(TryParse::try_parse(event)?.0)),
7548 _ => Ok(Self::Unknown(event.to_vec())),
7549 }
7550 }
7551 #[cfg(feature = "shm")]
7552 Some((shm::X11_EXTENSION_NAME, ext_info)) => {
7553 match event_code - ext_info.first_event {
7554 shm::COMPLETION_EVENT => Ok(Self::ShmCompletion(TryParse::try_parse(event)?.0)),
7555 _ => Ok(Self::Unknown(event.to_vec())),
7556 }
7557 }
7558 #[cfg(feature = "sync")]
7559 Some((sync::X11_EXTENSION_NAME, ext_info)) => {
7560 match event_code - ext_info.first_event {
7561 sync::ALARM_NOTIFY_EVENT => Ok(Self::SyncAlarmNotify(TryParse::try_parse(event)?.0)),
7562 sync::COUNTER_NOTIFY_EVENT => Ok(Self::SyncCounterNotify(TryParse::try_parse(event)?.0)),
7563 _ => Ok(Self::Unknown(event.to_vec())),
7564 }
7565 }
7566 #[cfg(feature = "xfixes")]
7567 Some((xfixes::X11_EXTENSION_NAME, ext_info)) => {
7568 match event_code - ext_info.first_event {
7569 xfixes::CURSOR_NOTIFY_EVENT => Ok(Self::XfixesCursorNotify(TryParse::try_parse(event)?.0)),
7570 xfixes::SELECTION_NOTIFY_EVENT => Ok(Self::XfixesSelectionNotify(TryParse::try_parse(event)?.0)),
7571 _ => Ok(Self::Unknown(event.to_vec())),
7572 }
7573 }
7574 #[cfg(feature = "xinput")]
7575 Some((xinput::X11_EXTENSION_NAME, ext_info)) => {
7576 match event_code - ext_info.first_event {
7577 xinput::CHANGE_DEVICE_NOTIFY_EVENT => Ok(Self::XinputChangeDeviceNotify(TryParse::try_parse(event)?.0)),
7578 xinput::DEVICE_BUTTON_PRESS_EVENT => Ok(Self::XinputDeviceButtonPress(TryParse::try_parse(event)?.0)),
7579 xinput::DEVICE_BUTTON_RELEASE_EVENT => Ok(Self::XinputDeviceButtonRelease(TryParse::try_parse(event)?.0)),
7580 xinput::DEVICE_BUTTON_STATE_NOTIFY_EVENT => Ok(Self::XinputDeviceButtonStateNotify(TryParse::try_parse(event)?.0)),
7581 xinput::DEVICE_FOCUS_IN_EVENT => Ok(Self::XinputDeviceFocusIn(TryParse::try_parse(event)?.0)),
7582 xinput::DEVICE_FOCUS_OUT_EVENT => Ok(Self::XinputDeviceFocusOut(TryParse::try_parse(event)?.0)),
7583 xinput::DEVICE_KEY_PRESS_EVENT => Ok(Self::XinputDeviceKeyPress(TryParse::try_parse(event)?.0)),
7584 xinput::DEVICE_KEY_RELEASE_EVENT => Ok(Self::XinputDeviceKeyRelease(TryParse::try_parse(event)?.0)),
7585 xinput::DEVICE_KEY_STATE_NOTIFY_EVENT => Ok(Self::XinputDeviceKeyStateNotify(TryParse::try_parse(event)?.0)),
7586 xinput::DEVICE_MAPPING_NOTIFY_EVENT => Ok(Self::XinputDeviceMappingNotify(TryParse::try_parse(event)?.0)),
7587 xinput::DEVICE_MOTION_NOTIFY_EVENT => Ok(Self::XinputDeviceMotionNotify(TryParse::try_parse(event)?.0)),
7588 xinput::DEVICE_PRESENCE_NOTIFY_EVENT => Ok(Self::XinputDevicePresenceNotify(TryParse::try_parse(event)?.0)),
7589 xinput::DEVICE_PROPERTY_NOTIFY_EVENT => Ok(Self::XinputDevicePropertyNotify(TryParse::try_parse(event)?.0)),
7590 xinput::DEVICE_STATE_NOTIFY_EVENT => Ok(Self::XinputDeviceStateNotify(TryParse::try_parse(event)?.0)),
7591 xinput::DEVICE_VALUATOR_EVENT => Ok(Self::XinputDeviceValuator(TryParse::try_parse(event)?.0)),
7592 xinput::PROXIMITY_IN_EVENT => Ok(Self::XinputProximityIn(TryParse::try_parse(event)?.0)),
7593 xinput::PROXIMITY_OUT_EVENT => Ok(Self::XinputProximityOut(TryParse::try_parse(event)?.0)),
7594 _ => Ok(Self::Unknown(event.to_vec())),
7595 }
7596 }
7597 #[cfg(feature = "xkb")]
7598 Some((xkb::X11_EXTENSION_NAME, ext_info)) => {
7599 if event_code != ext_info.first_event {
7600 return Ok(Self::Unknown(event.to_vec()));
7601 }
7602 match *event.get(1).ok_or(ParseError::InsufficientData)? {
7603 xkb::ACCESS_X_NOTIFY_EVENT => Ok(Self::XkbAccessXNotify(TryParse::try_parse(event)?.0)),
7604 xkb::ACTION_MESSAGE_EVENT => Ok(Self::XkbActionMessage(TryParse::try_parse(event)?.0)),
7605 xkb::BELL_NOTIFY_EVENT => Ok(Self::XkbBellNotify(TryParse::try_parse(event)?.0)),
7606 xkb::COMPAT_MAP_NOTIFY_EVENT => Ok(Self::XkbCompatMapNotify(TryParse::try_parse(event)?.0)),
7607 xkb::CONTROLS_NOTIFY_EVENT => Ok(Self::XkbControlsNotify(TryParse::try_parse(event)?.0)),
7608 xkb::EXTENSION_DEVICE_NOTIFY_EVENT => Ok(Self::XkbExtensionDeviceNotify(TryParse::try_parse(event)?.0)),
7609 xkb::INDICATOR_MAP_NOTIFY_EVENT => Ok(Self::XkbIndicatorMapNotify(TryParse::try_parse(event)?.0)),
7610 xkb::INDICATOR_STATE_NOTIFY_EVENT => Ok(Self::XkbIndicatorStateNotify(TryParse::try_parse(event)?.0)),
7611 xkb::MAP_NOTIFY_EVENT => Ok(Self::XkbMapNotify(TryParse::try_parse(event)?.0)),
7612 xkb::NAMES_NOTIFY_EVENT => Ok(Self::XkbNamesNotify(TryParse::try_parse(event)?.0)),
7613 xkb::NEW_KEYBOARD_NOTIFY_EVENT => Ok(Self::XkbNewKeyboardNotify(TryParse::try_parse(event)?.0)),
7614 xkb::STATE_NOTIFY_EVENT => Ok(Self::XkbStateNotify(TryParse::try_parse(event)?.0)),
7615 _ => Ok(Self::Unknown(event.to_vec())),
7616 }
7617 }
7618 #[cfg(feature = "xprint")]
7619 Some((xprint::X11_EXTENSION_NAME, ext_info)) => {
7620 match event_code - ext_info.first_event {
7621 xprint::ATTRIBUT_NOTIFY_EVENT => Ok(Self::XprintAttributNotify(TryParse::try_parse(event)?.0)),
7622 xprint::NOTIFY_EVENT => Ok(Self::XprintNotify(TryParse::try_parse(event)?.0)),
7623 _ => Ok(Self::Unknown(event.to_vec())),
7624 }
7625 }
7626 #[cfg(feature = "xv")]
7627 Some((xv::X11_EXTENSION_NAME, ext_info)) => {
7628 match event_code - ext_info.first_event {
7629 xv::PORT_NOTIFY_EVENT => Ok(Self::XvPortNotify(TryParse::try_parse(event)?.0)),
7630 xv::VIDEO_NOTIFY_EVENT => Ok(Self::XvVideoNotify(TryParse::try_parse(event)?.0)),
7631 _ => Ok(Self::Unknown(event.to_vec())),
7632 }
7633 }
7634 _ => Ok(Self::Unknown(event.to_vec())),
7635 }
7636 }
7637
7638 #[allow(clippy::match_single_binding)]
from_generic_event( event: &[u8], ext_info_provider: &dyn ExtInfoProvider, ) -> Result<Self, ParseError>7639 fn from_generic_event(
7640 event: &[u8],
7641 ext_info_provider: &dyn ExtInfoProvider,
7642 ) -> Result<Self, ParseError> {
7643 let ge_event = xproto::GeGenericEvent::try_parse(event)?.0;
7644 let ext_name = ext_info_provider
7645 .get_from_major_opcode(ge_event.extension)
7646 .map(|(name, _)| name);
7647 match ext_name {
7648 #[cfg(feature = "present")]
7649 Some(present::X11_EXTENSION_NAME) => {
7650 match ge_event.event_type {
7651 present::COMPLETE_NOTIFY_EVENT => Ok(Self::PresentCompleteNotify(TryParse::try_parse(event)?.0)),
7652 present::CONFIGURE_NOTIFY_EVENT => Ok(Self::PresentConfigureNotify(TryParse::try_parse(event)?.0)),
7653 present::IDLE_NOTIFY_EVENT => Ok(Self::PresentIdleNotify(TryParse::try_parse(event)?.0)),
7654 present::REDIRECT_NOTIFY_EVENT => Ok(Self::PresentRedirectNotify(TryParse::try_parse(event)?.0)),
7655 _ => Ok(Self::Unknown(event.to_vec())),
7656 }
7657 }
7658 #[cfg(feature = "xinput")]
7659 Some(xinput::X11_EXTENSION_NAME) => {
7660 match ge_event.event_type {
7661 xinput::BARRIER_HIT_EVENT => Ok(Self::XinputBarrierHit(TryParse::try_parse(event)?.0)),
7662 xinput::BARRIER_LEAVE_EVENT => Ok(Self::XinputBarrierLeave(TryParse::try_parse(event)?.0)),
7663 xinput::BUTTON_PRESS_EVENT => Ok(Self::XinputButtonPress(TryParse::try_parse(event)?.0)),
7664 xinput::BUTTON_RELEASE_EVENT => Ok(Self::XinputButtonRelease(TryParse::try_parse(event)?.0)),
7665 xinput::DEVICE_CHANGED_EVENT => Ok(Self::XinputDeviceChanged(TryParse::try_parse(event)?.0)),
7666 xinput::ENTER_EVENT => Ok(Self::XinputEnter(TryParse::try_parse(event)?.0)),
7667 xinput::FOCUS_IN_EVENT => Ok(Self::XinputFocusIn(TryParse::try_parse(event)?.0)),
7668 xinput::FOCUS_OUT_EVENT => Ok(Self::XinputFocusOut(TryParse::try_parse(event)?.0)),
7669 xinput::HIERARCHY_EVENT => Ok(Self::XinputHierarchy(TryParse::try_parse(event)?.0)),
7670 xinput::KEY_PRESS_EVENT => Ok(Self::XinputKeyPress(TryParse::try_parse(event)?.0)),
7671 xinput::KEY_RELEASE_EVENT => Ok(Self::XinputKeyRelease(TryParse::try_parse(event)?.0)),
7672 xinput::LEAVE_EVENT => Ok(Self::XinputLeave(TryParse::try_parse(event)?.0)),
7673 xinput::MOTION_EVENT => Ok(Self::XinputMotion(TryParse::try_parse(event)?.0)),
7674 xinput::PROPERTY_EVENT => Ok(Self::XinputProperty(TryParse::try_parse(event)?.0)),
7675 xinput::RAW_BUTTON_PRESS_EVENT => Ok(Self::XinputRawButtonPress(TryParse::try_parse(event)?.0)),
7676 xinput::RAW_BUTTON_RELEASE_EVENT => Ok(Self::XinputRawButtonRelease(TryParse::try_parse(event)?.0)),
7677 xinput::RAW_KEY_PRESS_EVENT => Ok(Self::XinputRawKeyPress(TryParse::try_parse(event)?.0)),
7678 xinput::RAW_KEY_RELEASE_EVENT => Ok(Self::XinputRawKeyRelease(TryParse::try_parse(event)?.0)),
7679 xinput::RAW_MOTION_EVENT => Ok(Self::XinputRawMotion(TryParse::try_parse(event)?.0)),
7680 xinput::RAW_TOUCH_BEGIN_EVENT => Ok(Self::XinputRawTouchBegin(TryParse::try_parse(event)?.0)),
7681 xinput::RAW_TOUCH_END_EVENT => Ok(Self::XinputRawTouchEnd(TryParse::try_parse(event)?.0)),
7682 xinput::RAW_TOUCH_UPDATE_EVENT => Ok(Self::XinputRawTouchUpdate(TryParse::try_parse(event)?.0)),
7683 xinput::TOUCH_BEGIN_EVENT => Ok(Self::XinputTouchBegin(TryParse::try_parse(event)?.0)),
7684 xinput::TOUCH_END_EVENT => Ok(Self::XinputTouchEnd(TryParse::try_parse(event)?.0)),
7685 xinput::TOUCH_OWNERSHIP_EVENT => Ok(Self::XinputTouchOwnership(TryParse::try_parse(event)?.0)),
7686 xinput::TOUCH_UPDATE_EVENT => Ok(Self::XinputTouchUpdate(TryParse::try_parse(event)?.0)),
7687 _ => Ok(Self::Unknown(event.to_vec())),
7688 }
7689 }
7690 _ => Ok(Self::Unknown(event.to_vec())),
7691 }
7692 }
7693
7694 /// Get the sequence number contained in this X11 event
wire_sequence_number(&self) -> Option<u16>7695 pub fn wire_sequence_number(&self) -> Option<u16> {
7696 match self {
7697 Event::Unknown(value) => sequence_number(value).ok(),
7698 Event::Error(value) => Some(value.sequence),
7699 Event::ButtonPress(value) => Some(value.sequence),
7700 Event::ButtonRelease(value) => Some(value.sequence),
7701 Event::CirculateNotify(value) => Some(value.sequence),
7702 Event::CirculateRequest(value) => Some(value.sequence),
7703 Event::ClientMessage(value) => Some(value.sequence),
7704 Event::ColormapNotify(value) => Some(value.sequence),
7705 Event::ConfigureNotify(value) => Some(value.sequence),
7706 Event::ConfigureRequest(value) => Some(value.sequence),
7707 Event::CreateNotify(value) => Some(value.sequence),
7708 Event::DestroyNotify(value) => Some(value.sequence),
7709 Event::EnterNotify(value) => Some(value.sequence),
7710 Event::Expose(value) => Some(value.sequence),
7711 Event::FocusIn(value) => Some(value.sequence),
7712 Event::FocusOut(value) => Some(value.sequence),
7713 Event::GeGeneric(value) => Some(value.sequence),
7714 Event::GraphicsExposure(value) => Some(value.sequence),
7715 Event::GravityNotify(value) => Some(value.sequence),
7716 Event::KeyPress(value) => Some(value.sequence),
7717 Event::KeyRelease(value) => Some(value.sequence),
7718 Event::KeymapNotify(_) => None,
7719 Event::LeaveNotify(value) => Some(value.sequence),
7720 Event::MapNotify(value) => Some(value.sequence),
7721 Event::MapRequest(value) => Some(value.sequence),
7722 Event::MappingNotify(value) => Some(value.sequence),
7723 Event::MotionNotify(value) => Some(value.sequence),
7724 Event::NoExposure(value) => Some(value.sequence),
7725 Event::PropertyNotify(value) => Some(value.sequence),
7726 Event::ReparentNotify(value) => Some(value.sequence),
7727 Event::ResizeRequest(value) => Some(value.sequence),
7728 Event::SelectionClear(value) => Some(value.sequence),
7729 Event::SelectionNotify(value) => Some(value.sequence),
7730 Event::SelectionRequest(value) => Some(value.sequence),
7731 Event::UnmapNotify(value) => Some(value.sequence),
7732 Event::VisibilityNotify(value) => Some(value.sequence),
7733 #[cfg(feature = "damage")]
7734 Event::DamageNotify(value) => Some(value.sequence),
7735 #[cfg(feature = "dri2")]
7736 Event::Dri2BufferSwapComplete(value) => Some(value.sequence),
7737 #[cfg(feature = "dri2")]
7738 Event::Dri2InvalidateBuffers(value) => Some(value.sequence),
7739 #[cfg(feature = "glx")]
7740 Event::GlxBufferSwapComplete(value) => Some(value.sequence),
7741 #[cfg(feature = "glx")]
7742 Event::GlxPbufferClobber(value) => Some(value.sequence),
7743 #[cfg(feature = "present")]
7744 Event::PresentCompleteNotify(value) => Some(value.sequence),
7745 #[cfg(feature = "present")]
7746 Event::PresentConfigureNotify(value) => Some(value.sequence),
7747 #[cfg(feature = "present")]
7748 Event::PresentGeneric(value) => Some(value.sequence),
7749 #[cfg(feature = "present")]
7750 Event::PresentIdleNotify(value) => Some(value.sequence),
7751 #[cfg(feature = "present")]
7752 Event::PresentRedirectNotify(value) => Some(value.sequence),
7753 #[cfg(feature = "randr")]
7754 Event::RandrNotify(value) => Some(value.sequence),
7755 #[cfg(feature = "randr")]
7756 Event::RandrScreenChangeNotify(value) => Some(value.sequence),
7757 #[cfg(feature = "screensaver")]
7758 Event::ScreensaverNotify(value) => Some(value.sequence),
7759 #[cfg(feature = "shape")]
7760 Event::ShapeNotify(value) => Some(value.sequence),
7761 #[cfg(feature = "shm")]
7762 Event::ShmCompletion(value) => Some(value.sequence),
7763 #[cfg(feature = "sync")]
7764 Event::SyncAlarmNotify(value) => Some(value.sequence),
7765 #[cfg(feature = "sync")]
7766 Event::SyncCounterNotify(value) => Some(value.sequence),
7767 #[cfg(feature = "xfixes")]
7768 Event::XfixesCursorNotify(value) => Some(value.sequence),
7769 #[cfg(feature = "xfixes")]
7770 Event::XfixesSelectionNotify(value) => Some(value.sequence),
7771 #[cfg(feature = "xinput")]
7772 Event::XinputBarrierHit(value) => Some(value.sequence),
7773 #[cfg(feature = "xinput")]
7774 Event::XinputBarrierLeave(value) => Some(value.sequence),
7775 #[cfg(feature = "xinput")]
7776 Event::XinputButtonPress(value) => Some(value.sequence),
7777 #[cfg(feature = "xinput")]
7778 Event::XinputButtonRelease(value) => Some(value.sequence),
7779 #[cfg(feature = "xinput")]
7780 Event::XinputChangeDeviceNotify(value) => Some(value.sequence),
7781 #[cfg(feature = "xinput")]
7782 Event::XinputDeviceButtonPress(value) => Some(value.sequence),
7783 #[cfg(feature = "xinput")]
7784 Event::XinputDeviceButtonRelease(value) => Some(value.sequence),
7785 #[cfg(feature = "xinput")]
7786 Event::XinputDeviceButtonStateNotify(value) => Some(value.sequence),
7787 #[cfg(feature = "xinput")]
7788 Event::XinputDeviceChanged(value) => Some(value.sequence),
7789 #[cfg(feature = "xinput")]
7790 Event::XinputDeviceFocusIn(value) => Some(value.sequence),
7791 #[cfg(feature = "xinput")]
7792 Event::XinputDeviceFocusOut(value) => Some(value.sequence),
7793 #[cfg(feature = "xinput")]
7794 Event::XinputDeviceKeyPress(value) => Some(value.sequence),
7795 #[cfg(feature = "xinput")]
7796 Event::XinputDeviceKeyRelease(value) => Some(value.sequence),
7797 #[cfg(feature = "xinput")]
7798 Event::XinputDeviceKeyStateNotify(value) => Some(value.sequence),
7799 #[cfg(feature = "xinput")]
7800 Event::XinputDeviceMappingNotify(value) => Some(value.sequence),
7801 #[cfg(feature = "xinput")]
7802 Event::XinputDeviceMotionNotify(value) => Some(value.sequence),
7803 #[cfg(feature = "xinput")]
7804 Event::XinputDevicePresenceNotify(value) => Some(value.sequence),
7805 #[cfg(feature = "xinput")]
7806 Event::XinputDevicePropertyNotify(value) => Some(value.sequence),
7807 #[cfg(feature = "xinput")]
7808 Event::XinputDeviceStateNotify(value) => Some(value.sequence),
7809 #[cfg(feature = "xinput")]
7810 Event::XinputDeviceValuator(value) => Some(value.sequence),
7811 #[cfg(feature = "xinput")]
7812 Event::XinputEnter(value) => Some(value.sequence),
7813 #[cfg(feature = "xinput")]
7814 Event::XinputFocusIn(value) => Some(value.sequence),
7815 #[cfg(feature = "xinput")]
7816 Event::XinputFocusOut(value) => Some(value.sequence),
7817 #[cfg(feature = "xinput")]
7818 Event::XinputHierarchy(value) => Some(value.sequence),
7819 #[cfg(feature = "xinput")]
7820 Event::XinputKeyPress(value) => Some(value.sequence),
7821 #[cfg(feature = "xinput")]
7822 Event::XinputKeyRelease(value) => Some(value.sequence),
7823 #[cfg(feature = "xinput")]
7824 Event::XinputLeave(value) => Some(value.sequence),
7825 #[cfg(feature = "xinput")]
7826 Event::XinputMotion(value) => Some(value.sequence),
7827 #[cfg(feature = "xinput")]
7828 Event::XinputProperty(value) => Some(value.sequence),
7829 #[cfg(feature = "xinput")]
7830 Event::XinputProximityIn(value) => Some(value.sequence),
7831 #[cfg(feature = "xinput")]
7832 Event::XinputProximityOut(value) => Some(value.sequence),
7833 #[cfg(feature = "xinput")]
7834 Event::XinputRawButtonPress(value) => Some(value.sequence),
7835 #[cfg(feature = "xinput")]
7836 Event::XinputRawButtonRelease(value) => Some(value.sequence),
7837 #[cfg(feature = "xinput")]
7838 Event::XinputRawKeyPress(value) => Some(value.sequence),
7839 #[cfg(feature = "xinput")]
7840 Event::XinputRawKeyRelease(value) => Some(value.sequence),
7841 #[cfg(feature = "xinput")]
7842 Event::XinputRawMotion(value) => Some(value.sequence),
7843 #[cfg(feature = "xinput")]
7844 Event::XinputRawTouchBegin(value) => Some(value.sequence),
7845 #[cfg(feature = "xinput")]
7846 Event::XinputRawTouchEnd(value) => Some(value.sequence),
7847 #[cfg(feature = "xinput")]
7848 Event::XinputRawTouchUpdate(value) => Some(value.sequence),
7849 #[cfg(feature = "xinput")]
7850 Event::XinputTouchBegin(value) => Some(value.sequence),
7851 #[cfg(feature = "xinput")]
7852 Event::XinputTouchEnd(value) => Some(value.sequence),
7853 #[cfg(feature = "xinput")]
7854 Event::XinputTouchOwnership(value) => Some(value.sequence),
7855 #[cfg(feature = "xinput")]
7856 Event::XinputTouchUpdate(value) => Some(value.sequence),
7857 #[cfg(feature = "xkb")]
7858 Event::XkbAccessXNotify(value) => Some(value.sequence),
7859 #[cfg(feature = "xkb")]
7860 Event::XkbActionMessage(value) => Some(value.sequence),
7861 #[cfg(feature = "xkb")]
7862 Event::XkbBellNotify(value) => Some(value.sequence),
7863 #[cfg(feature = "xkb")]
7864 Event::XkbCompatMapNotify(value) => Some(value.sequence),
7865 #[cfg(feature = "xkb")]
7866 Event::XkbControlsNotify(value) => Some(value.sequence),
7867 #[cfg(feature = "xkb")]
7868 Event::XkbExtensionDeviceNotify(value) => Some(value.sequence),
7869 #[cfg(feature = "xkb")]
7870 Event::XkbIndicatorMapNotify(value) => Some(value.sequence),
7871 #[cfg(feature = "xkb")]
7872 Event::XkbIndicatorStateNotify(value) => Some(value.sequence),
7873 #[cfg(feature = "xkb")]
7874 Event::XkbMapNotify(value) => Some(value.sequence),
7875 #[cfg(feature = "xkb")]
7876 Event::XkbNamesNotify(value) => Some(value.sequence),
7877 #[cfg(feature = "xkb")]
7878 Event::XkbNewKeyboardNotify(value) => Some(value.sequence),
7879 #[cfg(feature = "xkb")]
7880 Event::XkbStateNotify(value) => Some(value.sequence),
7881 #[cfg(feature = "xprint")]
7882 Event::XprintAttributNotify(value) => Some(value.sequence),
7883 #[cfg(feature = "xprint")]
7884 Event::XprintNotify(value) => Some(value.sequence),
7885 #[cfg(feature = "xv")]
7886 Event::XvPortNotify(value) => Some(value.sequence),
7887 #[cfg(feature = "xv")]
7888 Event::XvVideoNotify(value) => Some(value.sequence),
7889 }
7890 }
7891
7892 /// Get the raw response type of this X11 event
7893 ///
7894 /// Response types have seven bits in X11. The eight bit indicates whether
7895 /// the packet was generated through the `SendEvent` request. This function
7896 /// returns all eight bits.
7897 ///
7898 /// See also the `response_type()`, `server_generated()` and `sent_event()` methods.
raw_response_type(&self) -> u87899 pub fn raw_response_type(&self) -> u8 {
7900 match self {
7901 Event::Unknown(value) => response_type(value).unwrap(),
7902 Event::Error(_) => 0,
7903 Event::ButtonPress(value) => value.response_type,
7904 Event::ButtonRelease(value) => value.response_type,
7905 Event::CirculateNotify(value) => value.response_type,
7906 Event::CirculateRequest(value) => value.response_type,
7907 Event::ClientMessage(value) => value.response_type,
7908 Event::ColormapNotify(value) => value.response_type,
7909 Event::ConfigureNotify(value) => value.response_type,
7910 Event::ConfigureRequest(value) => value.response_type,
7911 Event::CreateNotify(value) => value.response_type,
7912 Event::DestroyNotify(value) => value.response_type,
7913 Event::EnterNotify(value) => value.response_type,
7914 Event::Expose(value) => value.response_type,
7915 Event::FocusIn(value) => value.response_type,
7916 Event::FocusOut(value) => value.response_type,
7917 Event::GeGeneric(value) => value.response_type,
7918 Event::GraphicsExposure(value) => value.response_type,
7919 Event::GravityNotify(value) => value.response_type,
7920 Event::KeyPress(value) => value.response_type,
7921 Event::KeyRelease(value) => value.response_type,
7922 Event::KeymapNotify(value) => value.response_type,
7923 Event::LeaveNotify(value) => value.response_type,
7924 Event::MapNotify(value) => value.response_type,
7925 Event::MapRequest(value) => value.response_type,
7926 Event::MappingNotify(value) => value.response_type,
7927 Event::MotionNotify(value) => value.response_type,
7928 Event::NoExposure(value) => value.response_type,
7929 Event::PropertyNotify(value) => value.response_type,
7930 Event::ReparentNotify(value) => value.response_type,
7931 Event::ResizeRequest(value) => value.response_type,
7932 Event::SelectionClear(value) => value.response_type,
7933 Event::SelectionNotify(value) => value.response_type,
7934 Event::SelectionRequest(value) => value.response_type,
7935 Event::UnmapNotify(value) => value.response_type,
7936 Event::VisibilityNotify(value) => value.response_type,
7937 #[cfg(feature = "damage")]
7938 Event::DamageNotify(value) => value.response_type,
7939 #[cfg(feature = "dri2")]
7940 Event::Dri2BufferSwapComplete(value) => value.response_type,
7941 #[cfg(feature = "dri2")]
7942 Event::Dri2InvalidateBuffers(value) => value.response_type,
7943 #[cfg(feature = "glx")]
7944 Event::GlxBufferSwapComplete(value) => value.response_type,
7945 #[cfg(feature = "glx")]
7946 Event::GlxPbufferClobber(value) => value.response_type,
7947 #[cfg(feature = "present")]
7948 Event::PresentCompleteNotify(value) => value.response_type,
7949 #[cfg(feature = "present")]
7950 Event::PresentConfigureNotify(value) => value.response_type,
7951 #[cfg(feature = "present")]
7952 Event::PresentGeneric(value) => value.response_type,
7953 #[cfg(feature = "present")]
7954 Event::PresentIdleNotify(value) => value.response_type,
7955 #[cfg(feature = "present")]
7956 Event::PresentRedirectNotify(value) => value.response_type,
7957 #[cfg(feature = "randr")]
7958 Event::RandrNotify(value) => value.response_type,
7959 #[cfg(feature = "randr")]
7960 Event::RandrScreenChangeNotify(value) => value.response_type,
7961 #[cfg(feature = "screensaver")]
7962 Event::ScreensaverNotify(value) => value.response_type,
7963 #[cfg(feature = "shape")]
7964 Event::ShapeNotify(value) => value.response_type,
7965 #[cfg(feature = "shm")]
7966 Event::ShmCompletion(value) => value.response_type,
7967 #[cfg(feature = "sync")]
7968 Event::SyncAlarmNotify(value) => value.response_type,
7969 #[cfg(feature = "sync")]
7970 Event::SyncCounterNotify(value) => value.response_type,
7971 #[cfg(feature = "xfixes")]
7972 Event::XfixesCursorNotify(value) => value.response_type,
7973 #[cfg(feature = "xfixes")]
7974 Event::XfixesSelectionNotify(value) => value.response_type,
7975 #[cfg(feature = "xinput")]
7976 Event::XinputBarrierHit(value) => value.response_type,
7977 #[cfg(feature = "xinput")]
7978 Event::XinputBarrierLeave(value) => value.response_type,
7979 #[cfg(feature = "xinput")]
7980 Event::XinputButtonPress(value) => value.response_type,
7981 #[cfg(feature = "xinput")]
7982 Event::XinputButtonRelease(value) => value.response_type,
7983 #[cfg(feature = "xinput")]
7984 Event::XinputChangeDeviceNotify(value) => value.response_type,
7985 #[cfg(feature = "xinput")]
7986 Event::XinputDeviceButtonPress(value) => value.response_type,
7987 #[cfg(feature = "xinput")]
7988 Event::XinputDeviceButtonRelease(value) => value.response_type,
7989 #[cfg(feature = "xinput")]
7990 Event::XinputDeviceButtonStateNotify(value) => value.response_type,
7991 #[cfg(feature = "xinput")]
7992 Event::XinputDeviceChanged(value) => value.response_type,
7993 #[cfg(feature = "xinput")]
7994 Event::XinputDeviceFocusIn(value) => value.response_type,
7995 #[cfg(feature = "xinput")]
7996 Event::XinputDeviceFocusOut(value) => value.response_type,
7997 #[cfg(feature = "xinput")]
7998 Event::XinputDeviceKeyPress(value) => value.response_type,
7999 #[cfg(feature = "xinput")]
8000 Event::XinputDeviceKeyRelease(value) => value.response_type,
8001 #[cfg(feature = "xinput")]
8002 Event::XinputDeviceKeyStateNotify(value) => value.response_type,
8003 #[cfg(feature = "xinput")]
8004 Event::XinputDeviceMappingNotify(value) => value.response_type,
8005 #[cfg(feature = "xinput")]
8006 Event::XinputDeviceMotionNotify(value) => value.response_type,
8007 #[cfg(feature = "xinput")]
8008 Event::XinputDevicePresenceNotify(value) => value.response_type,
8009 #[cfg(feature = "xinput")]
8010 Event::XinputDevicePropertyNotify(value) => value.response_type,
8011 #[cfg(feature = "xinput")]
8012 Event::XinputDeviceStateNotify(value) => value.response_type,
8013 #[cfg(feature = "xinput")]
8014 Event::XinputDeviceValuator(value) => value.response_type,
8015 #[cfg(feature = "xinput")]
8016 Event::XinputEnter(value) => value.response_type,
8017 #[cfg(feature = "xinput")]
8018 Event::XinputFocusIn(value) => value.response_type,
8019 #[cfg(feature = "xinput")]
8020 Event::XinputFocusOut(value) => value.response_type,
8021 #[cfg(feature = "xinput")]
8022 Event::XinputHierarchy(value) => value.response_type,
8023 #[cfg(feature = "xinput")]
8024 Event::XinputKeyPress(value) => value.response_type,
8025 #[cfg(feature = "xinput")]
8026 Event::XinputKeyRelease(value) => value.response_type,
8027 #[cfg(feature = "xinput")]
8028 Event::XinputLeave(value) => value.response_type,
8029 #[cfg(feature = "xinput")]
8030 Event::XinputMotion(value) => value.response_type,
8031 #[cfg(feature = "xinput")]
8032 Event::XinputProperty(value) => value.response_type,
8033 #[cfg(feature = "xinput")]
8034 Event::XinputProximityIn(value) => value.response_type,
8035 #[cfg(feature = "xinput")]
8036 Event::XinputProximityOut(value) => value.response_type,
8037 #[cfg(feature = "xinput")]
8038 Event::XinputRawButtonPress(value) => value.response_type,
8039 #[cfg(feature = "xinput")]
8040 Event::XinputRawButtonRelease(value) => value.response_type,
8041 #[cfg(feature = "xinput")]
8042 Event::XinputRawKeyPress(value) => value.response_type,
8043 #[cfg(feature = "xinput")]
8044 Event::XinputRawKeyRelease(value) => value.response_type,
8045 #[cfg(feature = "xinput")]
8046 Event::XinputRawMotion(value) => value.response_type,
8047 #[cfg(feature = "xinput")]
8048 Event::XinputRawTouchBegin(value) => value.response_type,
8049 #[cfg(feature = "xinput")]
8050 Event::XinputRawTouchEnd(value) => value.response_type,
8051 #[cfg(feature = "xinput")]
8052 Event::XinputRawTouchUpdate(value) => value.response_type,
8053 #[cfg(feature = "xinput")]
8054 Event::XinputTouchBegin(value) => value.response_type,
8055 #[cfg(feature = "xinput")]
8056 Event::XinputTouchEnd(value) => value.response_type,
8057 #[cfg(feature = "xinput")]
8058 Event::XinputTouchOwnership(value) => value.response_type,
8059 #[cfg(feature = "xinput")]
8060 Event::XinputTouchUpdate(value) => value.response_type,
8061 #[cfg(feature = "xkb")]
8062 Event::XkbAccessXNotify(value) => value.response_type,
8063 #[cfg(feature = "xkb")]
8064 Event::XkbActionMessage(value) => value.response_type,
8065 #[cfg(feature = "xkb")]
8066 Event::XkbBellNotify(value) => value.response_type,
8067 #[cfg(feature = "xkb")]
8068 Event::XkbCompatMapNotify(value) => value.response_type,
8069 #[cfg(feature = "xkb")]
8070 Event::XkbControlsNotify(value) => value.response_type,
8071 #[cfg(feature = "xkb")]
8072 Event::XkbExtensionDeviceNotify(value) => value.response_type,
8073 #[cfg(feature = "xkb")]
8074 Event::XkbIndicatorMapNotify(value) => value.response_type,
8075 #[cfg(feature = "xkb")]
8076 Event::XkbIndicatorStateNotify(value) => value.response_type,
8077 #[cfg(feature = "xkb")]
8078 Event::XkbMapNotify(value) => value.response_type,
8079 #[cfg(feature = "xkb")]
8080 Event::XkbNamesNotify(value) => value.response_type,
8081 #[cfg(feature = "xkb")]
8082 Event::XkbNewKeyboardNotify(value) => value.response_type,
8083 #[cfg(feature = "xkb")]
8084 Event::XkbStateNotify(value) => value.response_type,
8085 #[cfg(feature = "xprint")]
8086 Event::XprintAttributNotify(value) => value.response_type,
8087 #[cfg(feature = "xprint")]
8088 Event::XprintNotify(value) => value.response_type,
8089 #[cfg(feature = "xv")]
8090 Event::XvPortNotify(value) => value.response_type,
8091 #[cfg(feature = "xv")]
8092 Event::XvVideoNotify(value) => value.response_type,
8093 }
8094 }
8095
8096 /// Get the response type of this X11 event
response_type(&self) -> u88097 pub fn response_type(&self) -> u8 {
8098 self.raw_response_type() & 0x7f
8099 }
8100
8101 /// Was this event generated by the X11 server?
8102 ///
8103 /// If this function returns true, then this event comes from the X11 server.
8104 /// Otherwise, it was sent from another client via the `SendEvent` request.
server_generated(&self) -> bool8105 pub fn server_generated(&self) -> bool {
8106 self.raw_response_type() & 0x80 == 0
8107 }
8108
8109 /// Was this event generated by another X11 client?
8110 ///
8111 /// If this function returns true, then this event comes from another client via
8112 /// the `SendEvent` request. Otherwise, it was generated by the X11 server.
sent_event(&self) -> bool8113 pub fn sent_event(&self) -> bool {
8114 self.raw_response_type() & 0x80 != 0
8115 }
8116 }
8117
8118 /// Get the response type out of the raw bytes of an X11 error or event.
response_type(raw_bytes: &[u8]) -> Result<u8, ParseError>8119 fn response_type(raw_bytes: &[u8]) -> Result<u8, ParseError> {
8120 raw_bytes.get(0)
8121 .map(|x| x & 0x7f)
8122 .ok_or(ParseError::InsufficientData)
8123 }
8124
8125 /// Get the sequence number out of an X11 packet.
sequence_number(raw_bytes: &[u8]) -> Result<u16, ParseError>8126 fn sequence_number(raw_bytes: &[u8]) -> Result<u16, ParseError> {
8127 raw_bytes.get(2..4)
8128 .map(|b| u16::from_ne_bytes(b.try_into().unwrap()))
8129 .ok_or(ParseError::InsufficientData)
8130 }
8131