xcb_dl/headers/
randr.rs

1// This file was generated using generate.py. Do not edit.
2#![allow(unused_macros)]
3
4use crate::ffi::*;
5use crate::lazy::*;
6use crate::*;
7use std::os::raw::*;
8
9/// The name of the `RandR` extension.
10pub const XCB_RANDR_NAME: &[u8] = b"RANDR";
11
12/// The name of the `RandR` extension.
13pub const XCB_RANDR_NAME_STR: &str = "RANDR";
14
15/// The `RandR::MODE` type.
16pub type xcb_randr_mode_t = u32;
17
18/// An iterator over `RandR::MODE` objects.
19#[derive(Copy, Clone, Debug)]
20#[repr(C)]
21pub struct xcb_randr_mode_iterator_t {
22    /// The value of the current iteration.
23    pub data: *mut xcb_randr_mode_t,
24    /// The number of elements remaining including this one.
25    pub rem: c_int,
26    /// The offset of `data`, in bytes, from the start of the containing object.
27    pub index: c_int,
28}
29
30impl Default for xcb_randr_mode_iterator_t {
31    fn default() -> Self {
32        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
33    }
34}
35
36/// The `RandR::CRTC` type.
37pub type xcb_randr_crtc_t = u32;
38
39/// An iterator over `RandR::CRTC` objects.
40#[derive(Copy, Clone, Debug)]
41#[repr(C)]
42pub struct xcb_randr_crtc_iterator_t {
43    /// The value of the current iteration.
44    pub data: *mut xcb_randr_crtc_t,
45    /// The number of elements remaining including this one.
46    pub rem: c_int,
47    /// The offset of `data`, in bytes, from the start of the containing object.
48    pub index: c_int,
49}
50
51impl Default for xcb_randr_crtc_iterator_t {
52    fn default() -> Self {
53        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
54    }
55}
56
57/// The `RandR::OUTPUT` type.
58pub type xcb_randr_output_t = u32;
59
60/// An iterator over `RandR::OUTPUT` objects.
61#[derive(Copy, Clone, Debug)]
62#[repr(C)]
63pub struct xcb_randr_output_iterator_t {
64    /// The value of the current iteration.
65    pub data: *mut xcb_randr_output_t,
66    /// The number of elements remaining including this one.
67    pub rem: c_int,
68    /// The offset of `data`, in bytes, from the start of the containing object.
69    pub index: c_int,
70}
71
72impl Default for xcb_randr_output_iterator_t {
73    fn default() -> Self {
74        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
75    }
76}
77
78/// The `RandR::PROVIDER` type.
79pub type xcb_randr_provider_t = u32;
80
81/// An iterator over `RandR::PROVIDER` objects.
82#[derive(Copy, Clone, Debug)]
83#[repr(C)]
84pub struct xcb_randr_provider_iterator_t {
85    /// The value of the current iteration.
86    pub data: *mut xcb_randr_provider_t,
87    /// The number of elements remaining including this one.
88    pub rem: c_int,
89    /// The offset of `data`, in bytes, from the start of the containing object.
90    pub index: c_int,
91}
92
93impl Default for xcb_randr_provider_iterator_t {
94    fn default() -> Self {
95        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
96    }
97}
98
99/// The `RandR::LEASE` type.
100pub type xcb_randr_lease_t = u32;
101
102/// An iterator over `RandR::LEASE` objects.
103#[derive(Copy, Clone, Debug)]
104#[repr(C)]
105pub struct xcb_randr_lease_iterator_t {
106    /// The value of the current iteration.
107    pub data: *mut xcb_randr_lease_t,
108    /// The number of elements remaining including this one.
109    pub rem: c_int,
110    /// The offset of `data`, in bytes, from the start of the containing object.
111    pub index: c_int,
112}
113
114impl Default for xcb_randr_lease_iterator_t {
115    fn default() -> Self {
116        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
117    }
118}
119
120/// The opcode for `RandR::BadOutput` errors.
121///
122/// If this value plus the extension error base appears in [`xcb_generic_error_t::error_code`],
123/// then the type of the error is [`xcb_randr_bad_output_error_t`].
124pub const XCB_RANDR_BAD_OUTPUT: u8 = 0i32 as u8;
125
126/// The `RandR::BadOutput` error.
127#[derive(Copy, Clone, Debug)]
128#[repr(C)]
129pub struct xcb_randr_bad_output_error_t {
130    pub response_type: u8,
131    pub error_code: u8,
132    pub sequence: u16,
133}
134
135impl Default for xcb_randr_bad_output_error_t {
136    fn default() -> Self {
137        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
138    }
139}
140
141/// The opcode for `RandR::BadCrtc` errors.
142///
143/// If this value plus the extension error base appears in [`xcb_generic_error_t::error_code`],
144/// then the type of the error is [`xcb_randr_bad_crtc_error_t`].
145pub const XCB_RANDR_BAD_CRTC: u8 = 1i32 as u8;
146
147/// The `RandR::BadCrtc` error.
148#[derive(Copy, Clone, Debug)]
149#[repr(C)]
150pub struct xcb_randr_bad_crtc_error_t {
151    pub response_type: u8,
152    pub error_code: u8,
153    pub sequence: u16,
154}
155
156impl Default for xcb_randr_bad_crtc_error_t {
157    fn default() -> Self {
158        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
159    }
160}
161
162/// The opcode for `RandR::BadMode` errors.
163///
164/// If this value plus the extension error base appears in [`xcb_generic_error_t::error_code`],
165/// then the type of the error is [`xcb_randr_bad_mode_error_t`].
166pub const XCB_RANDR_BAD_MODE: u8 = 2i32 as u8;
167
168/// The `RandR::BadMode` error.
169#[derive(Copy, Clone, Debug)]
170#[repr(C)]
171pub struct xcb_randr_bad_mode_error_t {
172    pub response_type: u8,
173    pub error_code: u8,
174    pub sequence: u16,
175}
176
177impl Default for xcb_randr_bad_mode_error_t {
178    fn default() -> Self {
179        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
180    }
181}
182
183/// The opcode for `RandR::BadProvider` errors.
184///
185/// If this value plus the extension error base appears in [`xcb_generic_error_t::error_code`],
186/// then the type of the error is [`xcb_randr_bad_provider_error_t`].
187pub const XCB_RANDR_BAD_PROVIDER: u8 = 3i32 as u8;
188
189/// The `RandR::BadProvider` error.
190#[derive(Copy, Clone, Debug)]
191#[repr(C)]
192pub struct xcb_randr_bad_provider_error_t {
193    pub response_type: u8,
194    pub error_code: u8,
195    pub sequence: u16,
196}
197
198impl Default for xcb_randr_bad_provider_error_t {
199    fn default() -> Self {
200        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
201    }
202}
203
204/// The `RandR::Rotation` enum.
205///
206/// This enum has the following variants:
207///
208/// - [`RandR::Rotation::Rotate_0`](XCB_RANDR_ROTATION_ROTATE_0)
209/// - [`RandR::Rotation::Rotate_90`](XCB_RANDR_ROTATION_ROTATE_90)
210/// - [`RandR::Rotation::Rotate_180`](XCB_RANDR_ROTATION_ROTATE_180)
211/// - [`RandR::Rotation::Rotate_270`](XCB_RANDR_ROTATION_ROTATE_270)
212/// - [`RandR::Rotation::Reflect_X`](XCB_RANDR_ROTATION_REFLECT_X)
213/// - [`RandR::Rotation::Reflect_Y`](XCB_RANDR_ROTATION_REFLECT_Y)
214pub type xcb_randr_rotation_t = u32;
215/// The `RandR::Rotation::Rotate_0` enum variant.
216///
217/// This is a variant of [`xcb_randr_rotation_t`].
218pub const XCB_RANDR_ROTATION_ROTATE_0: xcb_randr_rotation_t = 1;
219/// The `RandR::Rotation::Rotate_90` enum variant.
220///
221/// This is a variant of [`xcb_randr_rotation_t`].
222pub const XCB_RANDR_ROTATION_ROTATE_90: xcb_randr_rotation_t = 2;
223/// The `RandR::Rotation::Rotate_180` enum variant.
224///
225/// This is a variant of [`xcb_randr_rotation_t`].
226pub const XCB_RANDR_ROTATION_ROTATE_180: xcb_randr_rotation_t = 4;
227/// The `RandR::Rotation::Rotate_270` enum variant.
228///
229/// This is a variant of [`xcb_randr_rotation_t`].
230pub const XCB_RANDR_ROTATION_ROTATE_270: xcb_randr_rotation_t = 8;
231/// The `RandR::Rotation::Reflect_X` enum variant.
232///
233/// This is a variant of [`xcb_randr_rotation_t`].
234pub const XCB_RANDR_ROTATION_REFLECT_X: xcb_randr_rotation_t = 16;
235/// The `RandR::Rotation::Reflect_Y` enum variant.
236///
237/// This is a variant of [`xcb_randr_rotation_t`].
238pub const XCB_RANDR_ROTATION_REFLECT_Y: xcb_randr_rotation_t = 32;
239
240/// The `RandR::ScreenSize` struct.
241#[derive(Copy, Clone, Debug)]
242#[repr(C)]
243pub struct xcb_randr_screen_size_t {
244    pub width: u16,
245    pub height: u16,
246    pub mwidth: u16,
247    pub mheight: u16,
248}
249
250impl Default for xcb_randr_screen_size_t {
251    fn default() -> Self {
252        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
253    }
254}
255
256/// An iterator over `RandR::ScreenSize` objects.
257#[derive(Copy, Clone, Debug)]
258#[repr(C)]
259pub struct xcb_randr_screen_size_iterator_t {
260    /// The value of the current iteration.
261    pub data: *mut xcb_randr_screen_size_t,
262    /// The number of elements remaining including this one.
263    pub rem: c_int,
264    /// The offset of `data`, in bytes, from the start of the containing object.
265    pub index: c_int,
266}
267
268impl Default for xcb_randr_screen_size_iterator_t {
269    fn default() -> Self {
270        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
271    }
272}
273
274/// The `RandR::RefreshRates` struct.
275///
276/// The following fields can be accessed via accessor functions:
277///
278/// - `rates`
279#[derive(Copy, Clone, Debug)]
280#[repr(C)]
281pub struct xcb_randr_refresh_rates_t {
282    pub n_rates: u16,
283}
284
285impl Default for xcb_randr_refresh_rates_t {
286    fn default() -> Self {
287        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
288    }
289}
290
291/// An iterator over `RandR::RefreshRates` objects.
292#[derive(Copy, Clone, Debug)]
293#[repr(C)]
294pub struct xcb_randr_refresh_rates_iterator_t {
295    /// The value of the current iteration.
296    pub data: *mut xcb_randr_refresh_rates_t,
297    /// The number of elements remaining including this one.
298    pub rem: c_int,
299    /// The offset of `data`, in bytes, from the start of the containing object.
300    pub index: c_int,
301}
302
303impl Default for xcb_randr_refresh_rates_iterator_t {
304    fn default() -> Self {
305        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
306    }
307}
308
309/// The cookie for the reply to a `RandR::QueryVersion` request.
310///
311/// Pass this cookie to [`xcb_randr_query_version_reply`] to retrieve the reply.
312///
313/// [`xcb_randr_query_version_reply`]: XcbRandr::xcb_randr_query_version_reply
314#[derive(Copy, Clone, Debug)]
315#[repr(C)]
316pub struct xcb_randr_query_version_cookie_t {
317    /// The sequence number of the request.
318    pub sequence: c_uint,
319}
320
321impl Default for xcb_randr_query_version_cookie_t {
322    fn default() -> Self {
323        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
324    }
325}
326
327/// The opcode for `RandR::QueryVersion` requests.
328///
329/// If this value appears in [`xcb_protocol_request_t::opcode`], and
330/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
331/// [`xcb_randr_query_version_request_t`].
332pub const XCB_RANDR_QUERY_VERSION: u8 = 0i32 as u8;
333
334/// The `RandR::QueryVersion` request.
335#[derive(Copy, Clone, Debug)]
336#[repr(C)]
337pub struct xcb_randr_query_version_request_t {
338    pub major_opcode: u8,
339    pub minor_opcode: u8,
340    pub length: u16,
341    pub major_version: u32,
342    pub minor_version: u32,
343}
344
345impl Default for xcb_randr_query_version_request_t {
346    fn default() -> Self {
347        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
348    }
349}
350
351/// The `RandR::QueryVersion` reply.
352#[derive(Copy, Clone, Debug)]
353#[repr(C)]
354pub struct xcb_randr_query_version_reply_t {
355    pub response_type: u8,
356    pub pad0: u8,
357    pub sequence: u16,
358    pub length: u32,
359    pub major_version: u32,
360    pub minor_version: u32,
361    pub pad1: [u8; 16],
362}
363
364impl Default for xcb_randr_query_version_reply_t {
365    fn default() -> Self {
366        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
367    }
368}
369
370/// The `RandR::SetConfig` enum.
371///
372/// This enum has the following variants:
373///
374/// - [`RandR::SetConfig::Success`](XCB_RANDR_SET_CONFIG_SUCCESS)
375/// - [`RandR::SetConfig::InvalidConfigTime`](XCB_RANDR_SET_CONFIG_INVALID_CONFIG_TIME)
376/// - [`RandR::SetConfig::InvalidTime`](XCB_RANDR_SET_CONFIG_INVALID_TIME)
377/// - [`RandR::SetConfig::Failed`](XCB_RANDR_SET_CONFIG_FAILED)
378pub type xcb_randr_set_config_t = u32;
379/// The `RandR::SetConfig::Success` enum variant.
380///
381/// This is a variant of [`xcb_randr_set_config_t`].
382pub const XCB_RANDR_SET_CONFIG_SUCCESS: xcb_randr_set_config_t = 0;
383/// The `RandR::SetConfig::InvalidConfigTime` enum variant.
384///
385/// This is a variant of [`xcb_randr_set_config_t`].
386pub const XCB_RANDR_SET_CONFIG_INVALID_CONFIG_TIME: xcb_randr_set_config_t = 1;
387/// The `RandR::SetConfig::InvalidTime` enum variant.
388///
389/// This is a variant of [`xcb_randr_set_config_t`].
390pub const XCB_RANDR_SET_CONFIG_INVALID_TIME: xcb_randr_set_config_t = 2;
391/// The `RandR::SetConfig::Failed` enum variant.
392///
393/// This is a variant of [`xcb_randr_set_config_t`].
394pub const XCB_RANDR_SET_CONFIG_FAILED: xcb_randr_set_config_t = 3;
395
396/// The cookie for the reply to a `RandR::SetScreenConfig` request.
397///
398/// Pass this cookie to [`xcb_randr_set_screen_config_reply`] to retrieve the reply.
399///
400/// [`xcb_randr_set_screen_config_reply`]: XcbRandr::xcb_randr_set_screen_config_reply
401#[derive(Copy, Clone, Debug)]
402#[repr(C)]
403pub struct xcb_randr_set_screen_config_cookie_t {
404    /// The sequence number of the request.
405    pub sequence: c_uint,
406}
407
408impl Default for xcb_randr_set_screen_config_cookie_t {
409    fn default() -> Self {
410        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
411    }
412}
413
414/// The opcode for `RandR::SetScreenConfig` requests.
415///
416/// If this value appears in [`xcb_protocol_request_t::opcode`], and
417/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
418/// [`xcb_randr_set_screen_config_request_t`].
419pub const XCB_RANDR_SET_SCREEN_CONFIG: u8 = 2i32 as u8;
420
421/// The `RandR::SetScreenConfig` request.
422#[derive(Copy, Clone, Debug)]
423#[repr(C)]
424pub struct xcb_randr_set_screen_config_request_t {
425    pub major_opcode: u8,
426    pub minor_opcode: u8,
427    pub length: u16,
428    pub window: xcb_window_t,
429    pub timestamp: xcb_timestamp_t,
430    pub config_timestamp: xcb_timestamp_t,
431    pub size_id: u16,
432    pub rotation: u16,
433    pub rate: u16,
434    pub pad0: [u8; 2],
435}
436
437impl Default for xcb_randr_set_screen_config_request_t {
438    fn default() -> Self {
439        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
440    }
441}
442
443/// The `RandR::SetScreenConfig` reply.
444#[derive(Copy, Clone, Debug)]
445#[repr(C)]
446pub struct xcb_randr_set_screen_config_reply_t {
447    pub response_type: u8,
448    pub status: u8,
449    pub sequence: u16,
450    pub length: u32,
451    pub new_timestamp: xcb_timestamp_t,
452    pub config_timestamp: xcb_timestamp_t,
453    pub root: xcb_window_t,
454    pub subpixel_order: u16,
455    pub pad0: [u8; 10],
456}
457
458impl Default for xcb_randr_set_screen_config_reply_t {
459    fn default() -> Self {
460        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
461    }
462}
463
464/// The `RandR::NotifyMask` enum.
465///
466/// This enum has the following variants:
467///
468/// - [`RandR::NotifyMask::ScreenChange`](XCB_RANDR_NOTIFY_MASK_SCREEN_CHANGE)
469/// - [`RandR::NotifyMask::CrtcChange`](XCB_RANDR_NOTIFY_MASK_CRTC_CHANGE)
470/// - [`RandR::NotifyMask::OutputChange`](XCB_RANDR_NOTIFY_MASK_OUTPUT_CHANGE)
471/// - [`RandR::NotifyMask::OutputProperty`](XCB_RANDR_NOTIFY_MASK_OUTPUT_PROPERTY)
472/// - [`RandR::NotifyMask::ProviderChange`](XCB_RANDR_NOTIFY_MASK_PROVIDER_CHANGE)
473/// - [`RandR::NotifyMask::ProviderProperty`](XCB_RANDR_NOTIFY_MASK_PROVIDER_PROPERTY)
474/// - [`RandR::NotifyMask::ResourceChange`](XCB_RANDR_NOTIFY_MASK_RESOURCE_CHANGE)
475/// - [`RandR::NotifyMask::Lease`](XCB_RANDR_NOTIFY_MASK_LEASE)
476pub type xcb_randr_notify_mask_t = u32;
477/// The `RandR::NotifyMask::ScreenChange` enum variant.
478///
479/// This is a variant of [`xcb_randr_notify_mask_t`].
480pub const XCB_RANDR_NOTIFY_MASK_SCREEN_CHANGE: xcb_randr_notify_mask_t = 1;
481/// The `RandR::NotifyMask::CrtcChange` enum variant.
482///
483/// This is a variant of [`xcb_randr_notify_mask_t`].
484pub const XCB_RANDR_NOTIFY_MASK_CRTC_CHANGE: xcb_randr_notify_mask_t = 2;
485/// The `RandR::NotifyMask::OutputChange` enum variant.
486///
487/// This is a variant of [`xcb_randr_notify_mask_t`].
488pub const XCB_RANDR_NOTIFY_MASK_OUTPUT_CHANGE: xcb_randr_notify_mask_t = 4;
489/// The `RandR::NotifyMask::OutputProperty` enum variant.
490///
491/// This is a variant of [`xcb_randr_notify_mask_t`].
492pub const XCB_RANDR_NOTIFY_MASK_OUTPUT_PROPERTY: xcb_randr_notify_mask_t = 8;
493/// The `RandR::NotifyMask::ProviderChange` enum variant.
494///
495/// This is a variant of [`xcb_randr_notify_mask_t`].
496pub const XCB_RANDR_NOTIFY_MASK_PROVIDER_CHANGE: xcb_randr_notify_mask_t = 16;
497/// The `RandR::NotifyMask::ProviderProperty` enum variant.
498///
499/// This is a variant of [`xcb_randr_notify_mask_t`].
500pub const XCB_RANDR_NOTIFY_MASK_PROVIDER_PROPERTY: xcb_randr_notify_mask_t = 32;
501/// The `RandR::NotifyMask::ResourceChange` enum variant.
502///
503/// This is a variant of [`xcb_randr_notify_mask_t`].
504pub const XCB_RANDR_NOTIFY_MASK_RESOURCE_CHANGE: xcb_randr_notify_mask_t = 64;
505/// The `RandR::NotifyMask::Lease` enum variant.
506///
507/// This is a variant of [`xcb_randr_notify_mask_t`].
508pub const XCB_RANDR_NOTIFY_MASK_LEASE: xcb_randr_notify_mask_t = 128;
509
510/// The opcode for `RandR::SelectInput` requests.
511///
512/// If this value appears in [`xcb_protocol_request_t::opcode`], and
513/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
514/// [`xcb_randr_select_input_request_t`].
515pub const XCB_RANDR_SELECT_INPUT: u8 = 4i32 as u8;
516
517/// The `RandR::SelectInput` request.
518#[derive(Copy, Clone, Debug)]
519#[repr(C)]
520pub struct xcb_randr_select_input_request_t {
521    pub major_opcode: u8,
522    pub minor_opcode: u8,
523    pub length: u16,
524    pub window: xcb_window_t,
525    pub enable: u16,
526    pub pad0: [u8; 2],
527}
528
529impl Default for xcb_randr_select_input_request_t {
530    fn default() -> Self {
531        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
532    }
533}
534
535/// The cookie for the reply to a `RandR::GetScreenInfo` request.
536///
537/// Pass this cookie to [`xcb_randr_get_screen_info_reply`] to retrieve the reply.
538///
539/// [`xcb_randr_get_screen_info_reply`]: XcbRandr::xcb_randr_get_screen_info_reply
540#[derive(Copy, Clone, Debug)]
541#[repr(C)]
542pub struct xcb_randr_get_screen_info_cookie_t {
543    /// The sequence number of the request.
544    pub sequence: c_uint,
545}
546
547impl Default for xcb_randr_get_screen_info_cookie_t {
548    fn default() -> Self {
549        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
550    }
551}
552
553/// The opcode for `RandR::GetScreenInfo` requests.
554///
555/// If this value appears in [`xcb_protocol_request_t::opcode`], and
556/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
557/// [`xcb_randr_get_screen_info_request_t`].
558pub const XCB_RANDR_GET_SCREEN_INFO: u8 = 5i32 as u8;
559
560/// The `RandR::GetScreenInfo` request.
561#[derive(Copy, Clone, Debug)]
562#[repr(C)]
563pub struct xcb_randr_get_screen_info_request_t {
564    pub major_opcode: u8,
565    pub minor_opcode: u8,
566    pub length: u16,
567    pub window: xcb_window_t,
568}
569
570impl Default for xcb_randr_get_screen_info_request_t {
571    fn default() -> Self {
572        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
573    }
574}
575
576/// The `RandR::GetScreenInfo` reply.
577///
578/// The following fields can be accessed via accessor functions:
579///
580/// - `sizes`
581/// - `rates`
582#[derive(Copy, Clone, Debug)]
583#[repr(C)]
584pub struct xcb_randr_get_screen_info_reply_t {
585    pub response_type: u8,
586    pub rotations: u8,
587    pub sequence: u16,
588    pub length: u32,
589    pub root: xcb_window_t,
590    pub timestamp: xcb_timestamp_t,
591    pub config_timestamp: xcb_timestamp_t,
592    pub n_sizes: u16,
593    pub size_id: u16,
594    pub rotation: u16,
595    pub rate: u16,
596    pub n_info: u16,
597    pub pad0: [u8; 2],
598}
599
600impl Default for xcb_randr_get_screen_info_reply_t {
601    fn default() -> Self {
602        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
603    }
604}
605
606/// The cookie for the reply to a `RandR::GetScreenSizeRange` request.
607///
608/// Pass this cookie to [`xcb_randr_get_screen_size_range_reply`] to retrieve the reply.
609///
610/// [`xcb_randr_get_screen_size_range_reply`]: XcbRandr::xcb_randr_get_screen_size_range_reply
611#[derive(Copy, Clone, Debug)]
612#[repr(C)]
613pub struct xcb_randr_get_screen_size_range_cookie_t {
614    /// The sequence number of the request.
615    pub sequence: c_uint,
616}
617
618impl Default for xcb_randr_get_screen_size_range_cookie_t {
619    fn default() -> Self {
620        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
621    }
622}
623
624/// The opcode for `RandR::GetScreenSizeRange` requests.
625///
626/// If this value appears in [`xcb_protocol_request_t::opcode`], and
627/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
628/// [`xcb_randr_get_screen_size_range_request_t`].
629pub const XCB_RANDR_GET_SCREEN_SIZE_RANGE: u8 = 6i32 as u8;
630
631/// The `RandR::GetScreenSizeRange` request.
632#[derive(Copy, Clone, Debug)]
633#[repr(C)]
634pub struct xcb_randr_get_screen_size_range_request_t {
635    pub major_opcode: u8,
636    pub minor_opcode: u8,
637    pub length: u16,
638    pub window: xcb_window_t,
639}
640
641impl Default for xcb_randr_get_screen_size_range_request_t {
642    fn default() -> Self {
643        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
644    }
645}
646
647/// The `RandR::GetScreenSizeRange` reply.
648#[derive(Copy, Clone, Debug)]
649#[repr(C)]
650pub struct xcb_randr_get_screen_size_range_reply_t {
651    pub response_type: u8,
652    pub pad0: u8,
653    pub sequence: u16,
654    pub length: u32,
655    pub min_width: u16,
656    pub min_height: u16,
657    pub max_width: u16,
658    pub max_height: u16,
659    pub pad1: [u8; 16],
660}
661
662impl Default for xcb_randr_get_screen_size_range_reply_t {
663    fn default() -> Self {
664        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
665    }
666}
667
668/// The opcode for `RandR::SetScreenSize` requests.
669///
670/// If this value appears in [`xcb_protocol_request_t::opcode`], and
671/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
672/// [`xcb_randr_set_screen_size_request_t`].
673pub const XCB_RANDR_SET_SCREEN_SIZE: u8 = 7i32 as u8;
674
675/// The `RandR::SetScreenSize` request.
676#[derive(Copy, Clone, Debug)]
677#[repr(C)]
678pub struct xcb_randr_set_screen_size_request_t {
679    pub major_opcode: u8,
680    pub minor_opcode: u8,
681    pub length: u16,
682    pub window: xcb_window_t,
683    pub width: u16,
684    pub height: u16,
685    pub mm_width: u32,
686    pub mm_height: u32,
687}
688
689impl Default for xcb_randr_set_screen_size_request_t {
690    fn default() -> Self {
691        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
692    }
693}
694
695/// The `RandR::ModeFlag` enum.
696///
697/// This enum has the following variants:
698///
699/// - [`RandR::ModeFlag::HsyncPositive`](XCB_RANDR_MODE_FLAG_HSYNC_POSITIVE)
700/// - [`RandR::ModeFlag::HsyncNegative`](XCB_RANDR_MODE_FLAG_HSYNC_NEGATIVE)
701/// - [`RandR::ModeFlag::VsyncPositive`](XCB_RANDR_MODE_FLAG_VSYNC_POSITIVE)
702/// - [`RandR::ModeFlag::VsyncNegative`](XCB_RANDR_MODE_FLAG_VSYNC_NEGATIVE)
703/// - [`RandR::ModeFlag::Interlace`](XCB_RANDR_MODE_FLAG_INTERLACE)
704/// - [`RandR::ModeFlag::DoubleScan`](XCB_RANDR_MODE_FLAG_DOUBLE_SCAN)
705/// - [`RandR::ModeFlag::Csync`](XCB_RANDR_MODE_FLAG_CSYNC)
706/// - [`RandR::ModeFlag::CsyncPositive`](XCB_RANDR_MODE_FLAG_CSYNC_POSITIVE)
707/// - [`RandR::ModeFlag::CsyncNegative`](XCB_RANDR_MODE_FLAG_CSYNC_NEGATIVE)
708/// - [`RandR::ModeFlag::HskewPresent`](XCB_RANDR_MODE_FLAG_HSKEW_PRESENT)
709/// - [`RandR::ModeFlag::Bcast`](XCB_RANDR_MODE_FLAG_BCAST)
710/// - [`RandR::ModeFlag::PixelMultiplex`](XCB_RANDR_MODE_FLAG_PIXEL_MULTIPLEX)
711/// - [`RandR::ModeFlag::DoubleClock`](XCB_RANDR_MODE_FLAG_DOUBLE_CLOCK)
712/// - [`RandR::ModeFlag::HalveClock`](XCB_RANDR_MODE_FLAG_HALVE_CLOCK)
713pub type xcb_randr_mode_flag_t = u32;
714/// The `RandR::ModeFlag::HsyncPositive` enum variant.
715///
716/// This is a variant of [`xcb_randr_mode_flag_t`].
717pub const XCB_RANDR_MODE_FLAG_HSYNC_POSITIVE: xcb_randr_mode_flag_t = 1;
718/// The `RandR::ModeFlag::HsyncNegative` enum variant.
719///
720/// This is a variant of [`xcb_randr_mode_flag_t`].
721pub const XCB_RANDR_MODE_FLAG_HSYNC_NEGATIVE: xcb_randr_mode_flag_t = 2;
722/// The `RandR::ModeFlag::VsyncPositive` enum variant.
723///
724/// This is a variant of [`xcb_randr_mode_flag_t`].
725pub const XCB_RANDR_MODE_FLAG_VSYNC_POSITIVE: xcb_randr_mode_flag_t = 4;
726/// The `RandR::ModeFlag::VsyncNegative` enum variant.
727///
728/// This is a variant of [`xcb_randr_mode_flag_t`].
729pub const XCB_RANDR_MODE_FLAG_VSYNC_NEGATIVE: xcb_randr_mode_flag_t = 8;
730/// The `RandR::ModeFlag::Interlace` enum variant.
731///
732/// This is a variant of [`xcb_randr_mode_flag_t`].
733pub const XCB_RANDR_MODE_FLAG_INTERLACE: xcb_randr_mode_flag_t = 16;
734/// The `RandR::ModeFlag::DoubleScan` enum variant.
735///
736/// This is a variant of [`xcb_randr_mode_flag_t`].
737pub const XCB_RANDR_MODE_FLAG_DOUBLE_SCAN: xcb_randr_mode_flag_t = 32;
738/// The `RandR::ModeFlag::Csync` enum variant.
739///
740/// This is a variant of [`xcb_randr_mode_flag_t`].
741pub const XCB_RANDR_MODE_FLAG_CSYNC: xcb_randr_mode_flag_t = 64;
742/// The `RandR::ModeFlag::CsyncPositive` enum variant.
743///
744/// This is a variant of [`xcb_randr_mode_flag_t`].
745pub const XCB_RANDR_MODE_FLAG_CSYNC_POSITIVE: xcb_randr_mode_flag_t = 128;
746/// The `RandR::ModeFlag::CsyncNegative` enum variant.
747///
748/// This is a variant of [`xcb_randr_mode_flag_t`].
749pub const XCB_RANDR_MODE_FLAG_CSYNC_NEGATIVE: xcb_randr_mode_flag_t = 256;
750/// The `RandR::ModeFlag::HskewPresent` enum variant.
751///
752/// This is a variant of [`xcb_randr_mode_flag_t`].
753pub const XCB_RANDR_MODE_FLAG_HSKEW_PRESENT: xcb_randr_mode_flag_t = 512;
754/// The `RandR::ModeFlag::Bcast` enum variant.
755///
756/// This is a variant of [`xcb_randr_mode_flag_t`].
757pub const XCB_RANDR_MODE_FLAG_BCAST: xcb_randr_mode_flag_t = 1024;
758/// The `RandR::ModeFlag::PixelMultiplex` enum variant.
759///
760/// This is a variant of [`xcb_randr_mode_flag_t`].
761pub const XCB_RANDR_MODE_FLAG_PIXEL_MULTIPLEX: xcb_randr_mode_flag_t = 2048;
762/// The `RandR::ModeFlag::DoubleClock` enum variant.
763///
764/// This is a variant of [`xcb_randr_mode_flag_t`].
765pub const XCB_RANDR_MODE_FLAG_DOUBLE_CLOCK: xcb_randr_mode_flag_t = 4096;
766/// The `RandR::ModeFlag::HalveClock` enum variant.
767///
768/// This is a variant of [`xcb_randr_mode_flag_t`].
769pub const XCB_RANDR_MODE_FLAG_HALVE_CLOCK: xcb_randr_mode_flag_t = 8192;
770
771/// The `RandR::ModeInfo` struct.
772#[derive(Copy, Clone, Debug)]
773#[repr(C)]
774pub struct xcb_randr_mode_info_t {
775    pub id: u32,
776    pub width: u16,
777    pub height: u16,
778    pub dot_clock: u32,
779    pub hsync_start: u16,
780    pub hsync_end: u16,
781    pub htotal: u16,
782    pub hskew: u16,
783    pub vsync_start: u16,
784    pub vsync_end: u16,
785    pub vtotal: u16,
786    pub name_len: u16,
787    pub mode_flags: u32,
788}
789
790impl Default for xcb_randr_mode_info_t {
791    fn default() -> Self {
792        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
793    }
794}
795
796/// An iterator over `RandR::ModeInfo` objects.
797#[derive(Copy, Clone, Debug)]
798#[repr(C)]
799pub struct xcb_randr_mode_info_iterator_t {
800    /// The value of the current iteration.
801    pub data: *mut xcb_randr_mode_info_t,
802    /// The number of elements remaining including this one.
803    pub rem: c_int,
804    /// The offset of `data`, in bytes, from the start of the containing object.
805    pub index: c_int,
806}
807
808impl Default for xcb_randr_mode_info_iterator_t {
809    fn default() -> Self {
810        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
811    }
812}
813
814/// The cookie for the reply to a `RandR::GetScreenResources` request.
815///
816/// Pass this cookie to [`xcb_randr_get_screen_resources_reply`] to retrieve the reply.
817///
818/// [`xcb_randr_get_screen_resources_reply`]: XcbRandr::xcb_randr_get_screen_resources_reply
819#[derive(Copy, Clone, Debug)]
820#[repr(C)]
821pub struct xcb_randr_get_screen_resources_cookie_t {
822    /// The sequence number of the request.
823    pub sequence: c_uint,
824}
825
826impl Default for xcb_randr_get_screen_resources_cookie_t {
827    fn default() -> Self {
828        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
829    }
830}
831
832/// The opcode for `RandR::GetScreenResources` requests.
833///
834/// If this value appears in [`xcb_protocol_request_t::opcode`], and
835/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
836/// [`xcb_randr_get_screen_resources_request_t`].
837pub const XCB_RANDR_GET_SCREEN_RESOURCES: u8 = 8i32 as u8;
838
839/// The `RandR::GetScreenResources` request.
840#[derive(Copy, Clone, Debug)]
841#[repr(C)]
842pub struct xcb_randr_get_screen_resources_request_t {
843    pub major_opcode: u8,
844    pub minor_opcode: u8,
845    pub length: u16,
846    pub window: xcb_window_t,
847}
848
849impl Default for xcb_randr_get_screen_resources_request_t {
850    fn default() -> Self {
851        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
852    }
853}
854
855/// The `RandR::GetScreenResources` reply.
856///
857/// The following fields can be accessed via accessor functions:
858///
859/// - `crtcs`
860/// - `outputs`
861/// - `modes`
862/// - `names`
863#[derive(Copy, Clone, Debug)]
864#[repr(C)]
865pub struct xcb_randr_get_screen_resources_reply_t {
866    pub response_type: u8,
867    pub pad0: u8,
868    pub sequence: u16,
869    pub length: u32,
870    pub timestamp: xcb_timestamp_t,
871    pub config_timestamp: xcb_timestamp_t,
872    pub num_crtcs: u16,
873    pub num_outputs: u16,
874    pub num_modes: u16,
875    pub names_len: u16,
876    pub pad1: [u8; 8],
877}
878
879impl Default for xcb_randr_get_screen_resources_reply_t {
880    fn default() -> Self {
881        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
882    }
883}
884
885/// The `RandR::Connection` enum.
886///
887/// This enum has the following variants:
888///
889/// - [`RandR::Connection::Connected`](XCB_RANDR_CONNECTION_CONNECTED)
890/// - [`RandR::Connection::Disconnected`](XCB_RANDR_CONNECTION_DISCONNECTED)
891/// - [`RandR::Connection::Unknown`](XCB_RANDR_CONNECTION_UNKNOWN)
892pub type xcb_randr_connection_t = u32;
893/// The `RandR::Connection::Connected` enum variant.
894///
895/// This is a variant of [`xcb_randr_connection_t`].
896pub const XCB_RANDR_CONNECTION_CONNECTED: xcb_randr_connection_t = 0;
897/// The `RandR::Connection::Disconnected` enum variant.
898///
899/// This is a variant of [`xcb_randr_connection_t`].
900pub const XCB_RANDR_CONNECTION_DISCONNECTED: xcb_randr_connection_t = 1;
901/// The `RandR::Connection::Unknown` enum variant.
902///
903/// This is a variant of [`xcb_randr_connection_t`].
904pub const XCB_RANDR_CONNECTION_UNKNOWN: xcb_randr_connection_t = 2;
905
906/// The cookie for the reply to a `RandR::GetOutputInfo` request.
907///
908/// Pass this cookie to [`xcb_randr_get_output_info_reply`] to retrieve the reply.
909///
910/// [`xcb_randr_get_output_info_reply`]: XcbRandr::xcb_randr_get_output_info_reply
911#[derive(Copy, Clone, Debug)]
912#[repr(C)]
913pub struct xcb_randr_get_output_info_cookie_t {
914    /// The sequence number of the request.
915    pub sequence: c_uint,
916}
917
918impl Default for xcb_randr_get_output_info_cookie_t {
919    fn default() -> Self {
920        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
921    }
922}
923
924/// The opcode for `RandR::GetOutputInfo` requests.
925///
926/// If this value appears in [`xcb_protocol_request_t::opcode`], and
927/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
928/// [`xcb_randr_get_output_info_request_t`].
929pub const XCB_RANDR_GET_OUTPUT_INFO: u8 = 9i32 as u8;
930
931/// The `RandR::GetOutputInfo` request.
932#[derive(Copy, Clone, Debug)]
933#[repr(C)]
934pub struct xcb_randr_get_output_info_request_t {
935    pub major_opcode: u8,
936    pub minor_opcode: u8,
937    pub length: u16,
938    pub output: xcb_randr_output_t,
939    pub config_timestamp: xcb_timestamp_t,
940}
941
942impl Default for xcb_randr_get_output_info_request_t {
943    fn default() -> Self {
944        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
945    }
946}
947
948/// The `RandR::GetOutputInfo` reply.
949///
950/// The following fields can be accessed via accessor functions:
951///
952/// - `crtcs`
953/// - `modes`
954/// - `clones`
955/// - `name`
956#[derive(Copy, Clone, Debug)]
957#[repr(C)]
958pub struct xcb_randr_get_output_info_reply_t {
959    pub response_type: u8,
960    pub status: u8,
961    pub sequence: u16,
962    pub length: u32,
963    pub timestamp: xcb_timestamp_t,
964    pub crtc: xcb_randr_crtc_t,
965    pub mm_width: u32,
966    pub mm_height: u32,
967    pub connection: u8,
968    pub subpixel_order: u8,
969    pub num_crtcs: u16,
970    pub num_modes: u16,
971    pub num_preferred: u16,
972    pub num_clones: u16,
973    pub name_len: u16,
974}
975
976impl Default for xcb_randr_get_output_info_reply_t {
977    fn default() -> Self {
978        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
979    }
980}
981
982/// The cookie for the reply to a `RandR::ListOutputProperties` request.
983///
984/// Pass this cookie to [`xcb_randr_list_output_properties_reply`] to retrieve the reply.
985///
986/// [`xcb_randr_list_output_properties_reply`]: XcbRandr::xcb_randr_list_output_properties_reply
987#[derive(Copy, Clone, Debug)]
988#[repr(C)]
989pub struct xcb_randr_list_output_properties_cookie_t {
990    /// The sequence number of the request.
991    pub sequence: c_uint,
992}
993
994impl Default for xcb_randr_list_output_properties_cookie_t {
995    fn default() -> Self {
996        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
997    }
998}
999
1000/// The opcode for `RandR::ListOutputProperties` requests.
1001///
1002/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1003/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1004/// [`xcb_randr_list_output_properties_request_t`].
1005pub const XCB_RANDR_LIST_OUTPUT_PROPERTIES: u8 = 10i32 as u8;
1006
1007/// The `RandR::ListOutputProperties` request.
1008#[derive(Copy, Clone, Debug)]
1009#[repr(C)]
1010pub struct xcb_randr_list_output_properties_request_t {
1011    pub major_opcode: u8,
1012    pub minor_opcode: u8,
1013    pub length: u16,
1014    pub output: xcb_randr_output_t,
1015}
1016
1017impl Default for xcb_randr_list_output_properties_request_t {
1018    fn default() -> Self {
1019        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1020    }
1021}
1022
1023/// The `RandR::ListOutputProperties` reply.
1024///
1025/// The following fields can be accessed via accessor functions:
1026///
1027/// - `atoms`
1028#[derive(Copy, Clone, Debug)]
1029#[repr(C)]
1030pub struct xcb_randr_list_output_properties_reply_t {
1031    pub response_type: u8,
1032    pub pad0: u8,
1033    pub sequence: u16,
1034    pub length: u32,
1035    pub num_atoms: u16,
1036    pub pad1: [u8; 22],
1037}
1038
1039impl Default for xcb_randr_list_output_properties_reply_t {
1040    fn default() -> Self {
1041        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1042    }
1043}
1044
1045/// The cookie for the reply to a `RandR::QueryOutputProperty` request.
1046///
1047/// Pass this cookie to [`xcb_randr_query_output_property_reply`] to retrieve the reply.
1048///
1049/// [`xcb_randr_query_output_property_reply`]: XcbRandr::xcb_randr_query_output_property_reply
1050#[derive(Copy, Clone, Debug)]
1051#[repr(C)]
1052pub struct xcb_randr_query_output_property_cookie_t {
1053    /// The sequence number of the request.
1054    pub sequence: c_uint,
1055}
1056
1057impl Default for xcb_randr_query_output_property_cookie_t {
1058    fn default() -> Self {
1059        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1060    }
1061}
1062
1063/// The opcode for `RandR::QueryOutputProperty` requests.
1064///
1065/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1066/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1067/// [`xcb_randr_query_output_property_request_t`].
1068pub const XCB_RANDR_QUERY_OUTPUT_PROPERTY: u8 = 11i32 as u8;
1069
1070/// The `RandR::QueryOutputProperty` request.
1071#[derive(Copy, Clone, Debug)]
1072#[repr(C)]
1073pub struct xcb_randr_query_output_property_request_t {
1074    pub major_opcode: u8,
1075    pub minor_opcode: u8,
1076    pub length: u16,
1077    pub output: xcb_randr_output_t,
1078    pub property: xcb_atom_t,
1079}
1080
1081impl Default for xcb_randr_query_output_property_request_t {
1082    fn default() -> Self {
1083        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1084    }
1085}
1086
1087/// The `RandR::QueryOutputProperty` reply.
1088///
1089/// The following fields can be accessed via accessor functions:
1090///
1091/// - `valid_values`
1092#[derive(Copy, Clone, Debug)]
1093#[repr(C)]
1094pub struct xcb_randr_query_output_property_reply_t {
1095    pub response_type: u8,
1096    pub pad0: u8,
1097    pub sequence: u16,
1098    pub length: u32,
1099    pub pending: u8,
1100    pub range: u8,
1101    pub immutable: u8,
1102    pub pad1: [u8; 21],
1103}
1104
1105impl Default for xcb_randr_query_output_property_reply_t {
1106    fn default() -> Self {
1107        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1108    }
1109}
1110
1111/// The opcode for `RandR::ConfigureOutputProperty` requests.
1112///
1113/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1114/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1115/// [`xcb_randr_configure_output_property_request_t`].
1116pub const XCB_RANDR_CONFIGURE_OUTPUT_PROPERTY: u8 = 12i32 as u8;
1117
1118/// The `RandR::ConfigureOutputProperty` request.
1119///
1120/// The following fields can be accessed via accessor functions:
1121///
1122/// - `values`
1123#[derive(Copy, Clone, Debug)]
1124#[repr(C)]
1125pub struct xcb_randr_configure_output_property_request_t {
1126    pub major_opcode: u8,
1127    pub minor_opcode: u8,
1128    pub length: u16,
1129    pub output: xcb_randr_output_t,
1130    pub property: xcb_atom_t,
1131    pub pending: u8,
1132    pub range: u8,
1133    pub pad0: [u8; 2],
1134}
1135
1136impl Default for xcb_randr_configure_output_property_request_t {
1137    fn default() -> Self {
1138        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1139    }
1140}
1141
1142/// The opcode for `RandR::ChangeOutputProperty` requests.
1143///
1144/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1145/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1146/// [`xcb_randr_change_output_property_request_t`].
1147pub const XCB_RANDR_CHANGE_OUTPUT_PROPERTY: u8 = 13i32 as u8;
1148
1149/// The `RandR::ChangeOutputProperty` request.
1150///
1151/// The following fields can be accessed via accessor functions:
1152///
1153/// - `data`
1154#[derive(Copy, Clone, Debug)]
1155#[repr(C)]
1156pub struct xcb_randr_change_output_property_request_t {
1157    pub major_opcode: u8,
1158    pub minor_opcode: u8,
1159    pub length: u16,
1160    pub output: xcb_randr_output_t,
1161    pub property: xcb_atom_t,
1162    pub type_: xcb_atom_t,
1163    pub format: u8,
1164    pub mode: u8,
1165    pub pad0: [u8; 2],
1166    pub num_units: u32,
1167}
1168
1169impl Default for xcb_randr_change_output_property_request_t {
1170    fn default() -> Self {
1171        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1172    }
1173}
1174
1175/// The opcode for `RandR::DeleteOutputProperty` requests.
1176///
1177/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1178/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1179/// [`xcb_randr_delete_output_property_request_t`].
1180pub const XCB_RANDR_DELETE_OUTPUT_PROPERTY: u8 = 14i32 as u8;
1181
1182/// The `RandR::DeleteOutputProperty` request.
1183#[derive(Copy, Clone, Debug)]
1184#[repr(C)]
1185pub struct xcb_randr_delete_output_property_request_t {
1186    pub major_opcode: u8,
1187    pub minor_opcode: u8,
1188    pub length: u16,
1189    pub output: xcb_randr_output_t,
1190    pub property: xcb_atom_t,
1191}
1192
1193impl Default for xcb_randr_delete_output_property_request_t {
1194    fn default() -> Self {
1195        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1196    }
1197}
1198
1199/// The cookie for the reply to a `RandR::GetOutputProperty` request.
1200///
1201/// Pass this cookie to [`xcb_randr_get_output_property_reply`] to retrieve the reply.
1202///
1203/// [`xcb_randr_get_output_property_reply`]: XcbRandr::xcb_randr_get_output_property_reply
1204#[derive(Copy, Clone, Debug)]
1205#[repr(C)]
1206pub struct xcb_randr_get_output_property_cookie_t {
1207    /// The sequence number of the request.
1208    pub sequence: c_uint,
1209}
1210
1211impl Default for xcb_randr_get_output_property_cookie_t {
1212    fn default() -> Self {
1213        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1214    }
1215}
1216
1217/// The opcode for `RandR::GetOutputProperty` requests.
1218///
1219/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1220/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1221/// [`xcb_randr_get_output_property_request_t`].
1222pub const XCB_RANDR_GET_OUTPUT_PROPERTY: u8 = 15i32 as u8;
1223
1224/// The `RandR::GetOutputProperty` request.
1225#[derive(Copy, Clone, Debug)]
1226#[repr(C)]
1227pub struct xcb_randr_get_output_property_request_t {
1228    pub major_opcode: u8,
1229    pub minor_opcode: u8,
1230    pub length: u16,
1231    pub output: xcb_randr_output_t,
1232    pub property: xcb_atom_t,
1233    pub type_: xcb_atom_t,
1234    pub long_offset: u32,
1235    pub long_length: u32,
1236    pub delete: u8,
1237    pub pending: u8,
1238    pub pad0: [u8; 2],
1239}
1240
1241impl Default for xcb_randr_get_output_property_request_t {
1242    fn default() -> Self {
1243        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1244    }
1245}
1246
1247/// The `RandR::GetOutputProperty` reply.
1248///
1249/// The following fields can be accessed via accessor functions:
1250///
1251/// - `data`
1252#[derive(Copy, Clone, Debug)]
1253#[repr(C)]
1254pub struct xcb_randr_get_output_property_reply_t {
1255    pub response_type: u8,
1256    pub format: u8,
1257    pub sequence: u16,
1258    pub length: u32,
1259    pub type_: xcb_atom_t,
1260    pub bytes_after: u32,
1261    pub num_items: u32,
1262    pub pad0: [u8; 12],
1263}
1264
1265impl Default for xcb_randr_get_output_property_reply_t {
1266    fn default() -> Self {
1267        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1268    }
1269}
1270
1271/// The cookie for the reply to a `RandR::CreateMode` request.
1272///
1273/// Pass this cookie to [`xcb_randr_create_mode_reply`] to retrieve the reply.
1274///
1275/// [`xcb_randr_create_mode_reply`]: XcbRandr::xcb_randr_create_mode_reply
1276#[derive(Copy, Clone, Debug)]
1277#[repr(C)]
1278pub struct xcb_randr_create_mode_cookie_t {
1279    /// The sequence number of the request.
1280    pub sequence: c_uint,
1281}
1282
1283impl Default for xcb_randr_create_mode_cookie_t {
1284    fn default() -> Self {
1285        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1286    }
1287}
1288
1289/// The opcode for `RandR::CreateMode` requests.
1290///
1291/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1292/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1293/// [`xcb_randr_create_mode_request_t`].
1294pub const XCB_RANDR_CREATE_MODE: u8 = 16i32 as u8;
1295
1296/// The `RandR::CreateMode` request.
1297///
1298/// The following fields can be accessed via accessor functions:
1299///
1300/// - `name`
1301#[derive(Copy, Clone, Debug)]
1302#[repr(C)]
1303pub struct xcb_randr_create_mode_request_t {
1304    pub major_opcode: u8,
1305    pub minor_opcode: u8,
1306    pub length: u16,
1307    pub window: xcb_window_t,
1308    pub mode_info: xcb_randr_mode_info_t,
1309}
1310
1311impl Default for xcb_randr_create_mode_request_t {
1312    fn default() -> Self {
1313        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1314    }
1315}
1316
1317/// The `RandR::CreateMode` reply.
1318#[derive(Copy, Clone, Debug)]
1319#[repr(C)]
1320pub struct xcb_randr_create_mode_reply_t {
1321    pub response_type: u8,
1322    pub pad0: u8,
1323    pub sequence: u16,
1324    pub length: u32,
1325    pub mode: xcb_randr_mode_t,
1326    pub pad1: [u8; 20],
1327}
1328
1329impl Default for xcb_randr_create_mode_reply_t {
1330    fn default() -> Self {
1331        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1332    }
1333}
1334
1335/// The opcode for `RandR::DestroyMode` requests.
1336///
1337/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1338/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1339/// [`xcb_randr_destroy_mode_request_t`].
1340pub const XCB_RANDR_DESTROY_MODE: u8 = 17i32 as u8;
1341
1342/// The `RandR::DestroyMode` request.
1343#[derive(Copy, Clone, Debug)]
1344#[repr(C)]
1345pub struct xcb_randr_destroy_mode_request_t {
1346    pub major_opcode: u8,
1347    pub minor_opcode: u8,
1348    pub length: u16,
1349    pub mode: xcb_randr_mode_t,
1350}
1351
1352impl Default for xcb_randr_destroy_mode_request_t {
1353    fn default() -> Self {
1354        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1355    }
1356}
1357
1358/// The opcode for `RandR::AddOutputMode` requests.
1359///
1360/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1361/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1362/// [`xcb_randr_add_output_mode_request_t`].
1363pub const XCB_RANDR_ADD_OUTPUT_MODE: u8 = 18i32 as u8;
1364
1365/// The `RandR::AddOutputMode` request.
1366#[derive(Copy, Clone, Debug)]
1367#[repr(C)]
1368pub struct xcb_randr_add_output_mode_request_t {
1369    pub major_opcode: u8,
1370    pub minor_opcode: u8,
1371    pub length: u16,
1372    pub output: xcb_randr_output_t,
1373    pub mode: xcb_randr_mode_t,
1374}
1375
1376impl Default for xcb_randr_add_output_mode_request_t {
1377    fn default() -> Self {
1378        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1379    }
1380}
1381
1382/// The opcode for `RandR::DeleteOutputMode` requests.
1383///
1384/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1385/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1386/// [`xcb_randr_delete_output_mode_request_t`].
1387pub const XCB_RANDR_DELETE_OUTPUT_MODE: u8 = 19i32 as u8;
1388
1389/// The `RandR::DeleteOutputMode` request.
1390#[derive(Copy, Clone, Debug)]
1391#[repr(C)]
1392pub struct xcb_randr_delete_output_mode_request_t {
1393    pub major_opcode: u8,
1394    pub minor_opcode: u8,
1395    pub length: u16,
1396    pub output: xcb_randr_output_t,
1397    pub mode: xcb_randr_mode_t,
1398}
1399
1400impl Default for xcb_randr_delete_output_mode_request_t {
1401    fn default() -> Self {
1402        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1403    }
1404}
1405
1406/// The cookie for the reply to a `RandR::GetCrtcInfo` request.
1407///
1408/// Pass this cookie to [`xcb_randr_get_crtc_info_reply`] to retrieve the reply.
1409///
1410/// [`xcb_randr_get_crtc_info_reply`]: XcbRandr::xcb_randr_get_crtc_info_reply
1411#[derive(Copy, Clone, Debug)]
1412#[repr(C)]
1413pub struct xcb_randr_get_crtc_info_cookie_t {
1414    /// The sequence number of the request.
1415    pub sequence: c_uint,
1416}
1417
1418impl Default for xcb_randr_get_crtc_info_cookie_t {
1419    fn default() -> Self {
1420        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1421    }
1422}
1423
1424/// The opcode for `RandR::GetCrtcInfo` requests.
1425///
1426/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1427/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1428/// [`xcb_randr_get_crtc_info_request_t`].
1429pub const XCB_RANDR_GET_CRTC_INFO: u8 = 20i32 as u8;
1430
1431/// The `RandR::GetCrtcInfo` request.
1432#[derive(Copy, Clone, Debug)]
1433#[repr(C)]
1434pub struct xcb_randr_get_crtc_info_request_t {
1435    pub major_opcode: u8,
1436    pub minor_opcode: u8,
1437    pub length: u16,
1438    pub crtc: xcb_randr_crtc_t,
1439    pub config_timestamp: xcb_timestamp_t,
1440}
1441
1442impl Default for xcb_randr_get_crtc_info_request_t {
1443    fn default() -> Self {
1444        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1445    }
1446}
1447
1448/// The `RandR::GetCrtcInfo` reply.
1449///
1450/// The following fields can be accessed via accessor functions:
1451///
1452/// - `outputs`
1453/// - `possible`
1454#[derive(Copy, Clone, Debug)]
1455#[repr(C)]
1456pub struct xcb_randr_get_crtc_info_reply_t {
1457    pub response_type: u8,
1458    pub status: u8,
1459    pub sequence: u16,
1460    pub length: u32,
1461    pub timestamp: xcb_timestamp_t,
1462    pub x: i16,
1463    pub y: i16,
1464    pub width: u16,
1465    pub height: u16,
1466    pub mode: xcb_randr_mode_t,
1467    pub rotation: u16,
1468    pub rotations: u16,
1469    pub num_outputs: u16,
1470    pub num_possible_outputs: u16,
1471}
1472
1473impl Default for xcb_randr_get_crtc_info_reply_t {
1474    fn default() -> Self {
1475        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1476    }
1477}
1478
1479/// The cookie for the reply to a `RandR::SetCrtcConfig` request.
1480///
1481/// Pass this cookie to [`xcb_randr_set_crtc_config_reply`] to retrieve the reply.
1482///
1483/// [`xcb_randr_set_crtc_config_reply`]: XcbRandr::xcb_randr_set_crtc_config_reply
1484#[derive(Copy, Clone, Debug)]
1485#[repr(C)]
1486pub struct xcb_randr_set_crtc_config_cookie_t {
1487    /// The sequence number of the request.
1488    pub sequence: c_uint,
1489}
1490
1491impl Default for xcb_randr_set_crtc_config_cookie_t {
1492    fn default() -> Self {
1493        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1494    }
1495}
1496
1497/// The opcode for `RandR::SetCrtcConfig` requests.
1498///
1499/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1500/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1501/// [`xcb_randr_set_crtc_config_request_t`].
1502pub const XCB_RANDR_SET_CRTC_CONFIG: u8 = 21i32 as u8;
1503
1504/// The `RandR::SetCrtcConfig` request.
1505///
1506/// The following fields can be accessed via accessor functions:
1507///
1508/// - `outputs`
1509#[derive(Copy, Clone, Debug)]
1510#[repr(C)]
1511pub struct xcb_randr_set_crtc_config_request_t {
1512    pub major_opcode: u8,
1513    pub minor_opcode: u8,
1514    pub length: u16,
1515    pub crtc: xcb_randr_crtc_t,
1516    pub timestamp: xcb_timestamp_t,
1517    pub config_timestamp: xcb_timestamp_t,
1518    pub x: i16,
1519    pub y: i16,
1520    pub mode: xcb_randr_mode_t,
1521    pub rotation: u16,
1522    pub pad0: [u8; 2],
1523}
1524
1525impl Default for xcb_randr_set_crtc_config_request_t {
1526    fn default() -> Self {
1527        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1528    }
1529}
1530
1531/// The `RandR::SetCrtcConfig` reply.
1532#[derive(Copy, Clone, Debug)]
1533#[repr(C)]
1534pub struct xcb_randr_set_crtc_config_reply_t {
1535    pub response_type: u8,
1536    pub status: u8,
1537    pub sequence: u16,
1538    pub length: u32,
1539    pub timestamp: xcb_timestamp_t,
1540    pub pad0: [u8; 20],
1541}
1542
1543impl Default for xcb_randr_set_crtc_config_reply_t {
1544    fn default() -> Self {
1545        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1546    }
1547}
1548
1549/// The cookie for the reply to a `RandR::GetCrtcGammaSize` request.
1550///
1551/// Pass this cookie to [`xcb_randr_get_crtc_gamma_size_reply`] to retrieve the reply.
1552///
1553/// [`xcb_randr_get_crtc_gamma_size_reply`]: XcbRandr::xcb_randr_get_crtc_gamma_size_reply
1554#[derive(Copy, Clone, Debug)]
1555#[repr(C)]
1556pub struct xcb_randr_get_crtc_gamma_size_cookie_t {
1557    /// The sequence number of the request.
1558    pub sequence: c_uint,
1559}
1560
1561impl Default for xcb_randr_get_crtc_gamma_size_cookie_t {
1562    fn default() -> Self {
1563        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1564    }
1565}
1566
1567/// The opcode for `RandR::GetCrtcGammaSize` requests.
1568///
1569/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1570/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1571/// [`xcb_randr_get_crtc_gamma_size_request_t`].
1572pub const XCB_RANDR_GET_CRTC_GAMMA_SIZE: u8 = 22i32 as u8;
1573
1574/// The `RandR::GetCrtcGammaSize` request.
1575#[derive(Copy, Clone, Debug)]
1576#[repr(C)]
1577pub struct xcb_randr_get_crtc_gamma_size_request_t {
1578    pub major_opcode: u8,
1579    pub minor_opcode: u8,
1580    pub length: u16,
1581    pub crtc: xcb_randr_crtc_t,
1582}
1583
1584impl Default for xcb_randr_get_crtc_gamma_size_request_t {
1585    fn default() -> Self {
1586        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1587    }
1588}
1589
1590/// The `RandR::GetCrtcGammaSize` reply.
1591#[derive(Copy, Clone, Debug)]
1592#[repr(C)]
1593pub struct xcb_randr_get_crtc_gamma_size_reply_t {
1594    pub response_type: u8,
1595    pub pad0: u8,
1596    pub sequence: u16,
1597    pub length: u32,
1598    pub size: u16,
1599    pub pad1: [u8; 22],
1600}
1601
1602impl Default for xcb_randr_get_crtc_gamma_size_reply_t {
1603    fn default() -> Self {
1604        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1605    }
1606}
1607
1608/// The cookie for the reply to a `RandR::GetCrtcGamma` request.
1609///
1610/// Pass this cookie to [`xcb_randr_get_crtc_gamma_reply`] to retrieve the reply.
1611///
1612/// [`xcb_randr_get_crtc_gamma_reply`]: XcbRandr::xcb_randr_get_crtc_gamma_reply
1613#[derive(Copy, Clone, Debug)]
1614#[repr(C)]
1615pub struct xcb_randr_get_crtc_gamma_cookie_t {
1616    /// The sequence number of the request.
1617    pub sequence: c_uint,
1618}
1619
1620impl Default for xcb_randr_get_crtc_gamma_cookie_t {
1621    fn default() -> Self {
1622        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1623    }
1624}
1625
1626/// The opcode for `RandR::GetCrtcGamma` requests.
1627///
1628/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1629/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1630/// [`xcb_randr_get_crtc_gamma_request_t`].
1631pub const XCB_RANDR_GET_CRTC_GAMMA: u8 = 23i32 as u8;
1632
1633/// The `RandR::GetCrtcGamma` request.
1634#[derive(Copy, Clone, Debug)]
1635#[repr(C)]
1636pub struct xcb_randr_get_crtc_gamma_request_t {
1637    pub major_opcode: u8,
1638    pub minor_opcode: u8,
1639    pub length: u16,
1640    pub crtc: xcb_randr_crtc_t,
1641}
1642
1643impl Default for xcb_randr_get_crtc_gamma_request_t {
1644    fn default() -> Self {
1645        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1646    }
1647}
1648
1649/// The `RandR::GetCrtcGamma` reply.
1650///
1651/// The following fields can be accessed via accessor functions:
1652///
1653/// - `red`
1654/// - `green`
1655/// - `blue`
1656#[derive(Copy, Clone, Debug)]
1657#[repr(C)]
1658pub struct xcb_randr_get_crtc_gamma_reply_t {
1659    pub response_type: u8,
1660    pub pad0: u8,
1661    pub sequence: u16,
1662    pub length: u32,
1663    pub size: u16,
1664    pub pad1: [u8; 22],
1665}
1666
1667impl Default for xcb_randr_get_crtc_gamma_reply_t {
1668    fn default() -> Self {
1669        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1670    }
1671}
1672
1673/// The opcode for `RandR::SetCrtcGamma` requests.
1674///
1675/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1676/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1677/// [`xcb_randr_set_crtc_gamma_request_t`].
1678pub const XCB_RANDR_SET_CRTC_GAMMA: u8 = 24i32 as u8;
1679
1680/// The `RandR::SetCrtcGamma` request.
1681///
1682/// The following fields can be accessed via accessor functions:
1683///
1684/// - `red`
1685/// - `green`
1686/// - `blue`
1687#[derive(Copy, Clone, Debug)]
1688#[repr(C)]
1689pub struct xcb_randr_set_crtc_gamma_request_t {
1690    pub major_opcode: u8,
1691    pub minor_opcode: u8,
1692    pub length: u16,
1693    pub crtc: xcb_randr_crtc_t,
1694    pub size: u16,
1695    pub pad0: [u8; 2],
1696}
1697
1698impl Default for xcb_randr_set_crtc_gamma_request_t {
1699    fn default() -> Self {
1700        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1701    }
1702}
1703
1704/// The cookie for the reply to a `RandR::GetScreenResourcesCurrent` request.
1705///
1706/// Pass this cookie to [`xcb_randr_get_screen_resources_current_reply`] to retrieve the reply.
1707///
1708/// [`xcb_randr_get_screen_resources_current_reply`]: XcbRandr::xcb_randr_get_screen_resources_current_reply
1709#[derive(Copy, Clone, Debug)]
1710#[repr(C)]
1711pub struct xcb_randr_get_screen_resources_current_cookie_t {
1712    /// The sequence number of the request.
1713    pub sequence: c_uint,
1714}
1715
1716impl Default for xcb_randr_get_screen_resources_current_cookie_t {
1717    fn default() -> Self {
1718        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1719    }
1720}
1721
1722/// The opcode for `RandR::GetScreenResourcesCurrent` requests.
1723///
1724/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1725/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1726/// [`xcb_randr_get_screen_resources_current_request_t`].
1727pub const XCB_RANDR_GET_SCREEN_RESOURCES_CURRENT: u8 = 25i32 as u8;
1728
1729/// The `RandR::GetScreenResourcesCurrent` request.
1730#[derive(Copy, Clone, Debug)]
1731#[repr(C)]
1732pub struct xcb_randr_get_screen_resources_current_request_t {
1733    pub major_opcode: u8,
1734    pub minor_opcode: u8,
1735    pub length: u16,
1736    pub window: xcb_window_t,
1737}
1738
1739impl Default for xcb_randr_get_screen_resources_current_request_t {
1740    fn default() -> Self {
1741        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1742    }
1743}
1744
1745/// The `RandR::GetScreenResourcesCurrent` reply.
1746///
1747/// The following fields can be accessed via accessor functions:
1748///
1749/// - `crtcs`
1750/// - `outputs`
1751/// - `modes`
1752/// - `names`
1753#[derive(Copy, Clone, Debug)]
1754#[repr(C)]
1755pub struct xcb_randr_get_screen_resources_current_reply_t {
1756    pub response_type: u8,
1757    pub pad0: u8,
1758    pub sequence: u16,
1759    pub length: u32,
1760    pub timestamp: xcb_timestamp_t,
1761    pub config_timestamp: xcb_timestamp_t,
1762    pub num_crtcs: u16,
1763    pub num_outputs: u16,
1764    pub num_modes: u16,
1765    pub names_len: u16,
1766    pub pad1: [u8; 8],
1767}
1768
1769impl Default for xcb_randr_get_screen_resources_current_reply_t {
1770    fn default() -> Self {
1771        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1772    }
1773}
1774
1775/// The `RandR::Transform` enum.
1776///
1777/// This enum has the following variants:
1778///
1779/// - [`RandR::Transform::Unit`](XCB_RANDR_TRANSFORM_UNIT)
1780/// - [`RandR::Transform::ScaleUp`](XCB_RANDR_TRANSFORM_SCALE_UP)
1781/// - [`RandR::Transform::ScaleDown`](XCB_RANDR_TRANSFORM_SCALE_DOWN)
1782/// - [`RandR::Transform::Projective`](XCB_RANDR_TRANSFORM_PROJECTIVE)
1783pub type xcb_randr_transform_t = u32;
1784/// The `RandR::Transform::Unit` enum variant.
1785///
1786/// This is a variant of [`xcb_randr_transform_t`].
1787pub const XCB_RANDR_TRANSFORM_UNIT: xcb_randr_transform_t = 1;
1788/// The `RandR::Transform::ScaleUp` enum variant.
1789///
1790/// This is a variant of [`xcb_randr_transform_t`].
1791pub const XCB_RANDR_TRANSFORM_SCALE_UP: xcb_randr_transform_t = 2;
1792/// The `RandR::Transform::ScaleDown` enum variant.
1793///
1794/// This is a variant of [`xcb_randr_transform_t`].
1795pub const XCB_RANDR_TRANSFORM_SCALE_DOWN: xcb_randr_transform_t = 4;
1796/// The `RandR::Transform::Projective` enum variant.
1797///
1798/// This is a variant of [`xcb_randr_transform_t`].
1799pub const XCB_RANDR_TRANSFORM_PROJECTIVE: xcb_randr_transform_t = 8;
1800
1801/// The opcode for `RandR::SetCrtcTransform` requests.
1802///
1803/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1804/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1805/// [`xcb_randr_set_crtc_transform_request_t`].
1806pub const XCB_RANDR_SET_CRTC_TRANSFORM: u8 = 26i32 as u8;
1807
1808/// The `RandR::SetCrtcTransform` request.
1809///
1810/// The following fields can be accessed via accessor functions:
1811///
1812/// - `filter_name`
1813/// - `filter_params_len`
1814/// - `filter_params`
1815#[derive(Copy, Clone, Debug)]
1816#[repr(C)]
1817pub struct xcb_randr_set_crtc_transform_request_t {
1818    pub major_opcode: u8,
1819    pub minor_opcode: u8,
1820    pub length: u16,
1821    pub crtc: xcb_randr_crtc_t,
1822    pub transform: xcb_render_transform_t,
1823    pub filter_len: u16,
1824    pub pad0: [u8; 2],
1825}
1826
1827impl Default for xcb_randr_set_crtc_transform_request_t {
1828    fn default() -> Self {
1829        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1830    }
1831}
1832
1833/// The cookie for the reply to a `RandR::GetCrtcTransform` request.
1834///
1835/// Pass this cookie to [`xcb_randr_get_crtc_transform_reply`] to retrieve the reply.
1836///
1837/// [`xcb_randr_get_crtc_transform_reply`]: XcbRandr::xcb_randr_get_crtc_transform_reply
1838#[derive(Copy, Clone, Debug)]
1839#[repr(C)]
1840pub struct xcb_randr_get_crtc_transform_cookie_t {
1841    /// The sequence number of the request.
1842    pub sequence: c_uint,
1843}
1844
1845impl Default for xcb_randr_get_crtc_transform_cookie_t {
1846    fn default() -> Self {
1847        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1848    }
1849}
1850
1851/// The opcode for `RandR::GetCrtcTransform` requests.
1852///
1853/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1854/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1855/// [`xcb_randr_get_crtc_transform_request_t`].
1856pub const XCB_RANDR_GET_CRTC_TRANSFORM: u8 = 27i32 as u8;
1857
1858/// The `RandR::GetCrtcTransform` request.
1859#[derive(Copy, Clone, Debug)]
1860#[repr(C)]
1861pub struct xcb_randr_get_crtc_transform_request_t {
1862    pub major_opcode: u8,
1863    pub minor_opcode: u8,
1864    pub length: u16,
1865    pub crtc: xcb_randr_crtc_t,
1866}
1867
1868impl Default for xcb_randr_get_crtc_transform_request_t {
1869    fn default() -> Self {
1870        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1871    }
1872}
1873
1874/// The `RandR::GetCrtcTransform` reply.
1875///
1876/// The following fields can be accessed via accessor functions:
1877///
1878/// - `pending_filter_name`
1879/// - `pending_params`
1880/// - `current_filter_name`
1881/// - `current_params`
1882#[derive(Copy, Clone, Debug)]
1883#[repr(C)]
1884pub struct xcb_randr_get_crtc_transform_reply_t {
1885    pub response_type: u8,
1886    pub pad0: u8,
1887    pub sequence: u16,
1888    pub length: u32,
1889    pub pending_transform: xcb_render_transform_t,
1890    pub has_transforms: u8,
1891    pub pad1: [u8; 3],
1892    pub current_transform: xcb_render_transform_t,
1893    pub pad2: [u8; 4],
1894    pub pending_len: u16,
1895    pub pending_nparams: u16,
1896    pub current_len: u16,
1897    pub current_nparams: u16,
1898}
1899
1900impl Default for xcb_randr_get_crtc_transform_reply_t {
1901    fn default() -> Self {
1902        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1903    }
1904}
1905
1906/// The cookie for the reply to a `RandR::GetPanning` request.
1907///
1908/// Pass this cookie to [`xcb_randr_get_panning_reply`] to retrieve the reply.
1909///
1910/// [`xcb_randr_get_panning_reply`]: XcbRandr::xcb_randr_get_panning_reply
1911#[derive(Copy, Clone, Debug)]
1912#[repr(C)]
1913pub struct xcb_randr_get_panning_cookie_t {
1914    /// The sequence number of the request.
1915    pub sequence: c_uint,
1916}
1917
1918impl Default for xcb_randr_get_panning_cookie_t {
1919    fn default() -> Self {
1920        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1921    }
1922}
1923
1924/// The opcode for `RandR::GetPanning` requests.
1925///
1926/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1927/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1928/// [`xcb_randr_get_panning_request_t`].
1929pub const XCB_RANDR_GET_PANNING: u8 = 28i32 as u8;
1930
1931/// The `RandR::GetPanning` request.
1932#[derive(Copy, Clone, Debug)]
1933#[repr(C)]
1934pub struct xcb_randr_get_panning_request_t {
1935    pub major_opcode: u8,
1936    pub minor_opcode: u8,
1937    pub length: u16,
1938    pub crtc: xcb_randr_crtc_t,
1939}
1940
1941impl Default for xcb_randr_get_panning_request_t {
1942    fn default() -> Self {
1943        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1944    }
1945}
1946
1947/// The `RandR::GetPanning` reply.
1948#[derive(Copy, Clone, Debug)]
1949#[repr(C)]
1950pub struct xcb_randr_get_panning_reply_t {
1951    pub response_type: u8,
1952    pub status: u8,
1953    pub sequence: u16,
1954    pub length: u32,
1955    pub timestamp: xcb_timestamp_t,
1956    pub left: u16,
1957    pub top: u16,
1958    pub width: u16,
1959    pub height: u16,
1960    pub track_left: u16,
1961    pub track_top: u16,
1962    pub track_width: u16,
1963    pub track_height: u16,
1964    pub border_left: i16,
1965    pub border_top: i16,
1966    pub border_right: i16,
1967    pub border_bottom: i16,
1968}
1969
1970impl Default for xcb_randr_get_panning_reply_t {
1971    fn default() -> Self {
1972        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1973    }
1974}
1975
1976/// The cookie for the reply to a `RandR::SetPanning` request.
1977///
1978/// Pass this cookie to [`xcb_randr_set_panning_reply`] to retrieve the reply.
1979///
1980/// [`xcb_randr_set_panning_reply`]: XcbRandr::xcb_randr_set_panning_reply
1981#[derive(Copy, Clone, Debug)]
1982#[repr(C)]
1983pub struct xcb_randr_set_panning_cookie_t {
1984    /// The sequence number of the request.
1985    pub sequence: c_uint,
1986}
1987
1988impl Default for xcb_randr_set_panning_cookie_t {
1989    fn default() -> Self {
1990        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1991    }
1992}
1993
1994/// The opcode for `RandR::SetPanning` requests.
1995///
1996/// If this value appears in [`xcb_protocol_request_t::opcode`], and
1997/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
1998/// [`xcb_randr_set_panning_request_t`].
1999pub const XCB_RANDR_SET_PANNING: u8 = 29i32 as u8;
2000
2001/// The `RandR::SetPanning` request.
2002#[derive(Copy, Clone, Debug)]
2003#[repr(C)]
2004pub struct xcb_randr_set_panning_request_t {
2005    pub major_opcode: u8,
2006    pub minor_opcode: u8,
2007    pub length: u16,
2008    pub crtc: xcb_randr_crtc_t,
2009    pub timestamp: xcb_timestamp_t,
2010    pub left: u16,
2011    pub top: u16,
2012    pub width: u16,
2013    pub height: u16,
2014    pub track_left: u16,
2015    pub track_top: u16,
2016    pub track_width: u16,
2017    pub track_height: u16,
2018    pub border_left: i16,
2019    pub border_top: i16,
2020    pub border_right: i16,
2021    pub border_bottom: i16,
2022}
2023
2024impl Default for xcb_randr_set_panning_request_t {
2025    fn default() -> Self {
2026        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2027    }
2028}
2029
2030/// The `RandR::SetPanning` reply.
2031#[derive(Copy, Clone, Debug)]
2032#[repr(C)]
2033pub struct xcb_randr_set_panning_reply_t {
2034    pub response_type: u8,
2035    pub status: u8,
2036    pub sequence: u16,
2037    pub length: u32,
2038    pub timestamp: xcb_timestamp_t,
2039}
2040
2041impl Default for xcb_randr_set_panning_reply_t {
2042    fn default() -> Self {
2043        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2044    }
2045}
2046
2047/// The opcode for `RandR::SetOutputPrimary` requests.
2048///
2049/// If this value appears in [`xcb_protocol_request_t::opcode`], and
2050/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
2051/// [`xcb_randr_set_output_primary_request_t`].
2052pub const XCB_RANDR_SET_OUTPUT_PRIMARY: u8 = 30i32 as u8;
2053
2054/// The `RandR::SetOutputPrimary` request.
2055#[derive(Copy, Clone, Debug)]
2056#[repr(C)]
2057pub struct xcb_randr_set_output_primary_request_t {
2058    pub major_opcode: u8,
2059    pub minor_opcode: u8,
2060    pub length: u16,
2061    pub window: xcb_window_t,
2062    pub output: xcb_randr_output_t,
2063}
2064
2065impl Default for xcb_randr_set_output_primary_request_t {
2066    fn default() -> Self {
2067        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2068    }
2069}
2070
2071/// The cookie for the reply to a `RandR::GetOutputPrimary` request.
2072///
2073/// Pass this cookie to [`xcb_randr_get_output_primary_reply`] to retrieve the reply.
2074///
2075/// [`xcb_randr_get_output_primary_reply`]: XcbRandr::xcb_randr_get_output_primary_reply
2076#[derive(Copy, Clone, Debug)]
2077#[repr(C)]
2078pub struct xcb_randr_get_output_primary_cookie_t {
2079    /// The sequence number of the request.
2080    pub sequence: c_uint,
2081}
2082
2083impl Default for xcb_randr_get_output_primary_cookie_t {
2084    fn default() -> Self {
2085        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2086    }
2087}
2088
2089/// The opcode for `RandR::GetOutputPrimary` requests.
2090///
2091/// If this value appears in [`xcb_protocol_request_t::opcode`], and
2092/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
2093/// [`xcb_randr_get_output_primary_request_t`].
2094pub const XCB_RANDR_GET_OUTPUT_PRIMARY: u8 = 31i32 as u8;
2095
2096/// The `RandR::GetOutputPrimary` request.
2097#[derive(Copy, Clone, Debug)]
2098#[repr(C)]
2099pub struct xcb_randr_get_output_primary_request_t {
2100    pub major_opcode: u8,
2101    pub minor_opcode: u8,
2102    pub length: u16,
2103    pub window: xcb_window_t,
2104}
2105
2106impl Default for xcb_randr_get_output_primary_request_t {
2107    fn default() -> Self {
2108        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2109    }
2110}
2111
2112/// The `RandR::GetOutputPrimary` reply.
2113#[derive(Copy, Clone, Debug)]
2114#[repr(C)]
2115pub struct xcb_randr_get_output_primary_reply_t {
2116    pub response_type: u8,
2117    pub pad0: u8,
2118    pub sequence: u16,
2119    pub length: u32,
2120    pub output: xcb_randr_output_t,
2121}
2122
2123impl Default for xcb_randr_get_output_primary_reply_t {
2124    fn default() -> Self {
2125        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2126    }
2127}
2128
2129/// The cookie for the reply to a `RandR::GetProviders` request.
2130///
2131/// Pass this cookie to [`xcb_randr_get_providers_reply`] to retrieve the reply.
2132///
2133/// [`xcb_randr_get_providers_reply`]: XcbRandr::xcb_randr_get_providers_reply
2134#[derive(Copy, Clone, Debug)]
2135#[repr(C)]
2136pub struct xcb_randr_get_providers_cookie_t {
2137    /// The sequence number of the request.
2138    pub sequence: c_uint,
2139}
2140
2141impl Default for xcb_randr_get_providers_cookie_t {
2142    fn default() -> Self {
2143        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2144    }
2145}
2146
2147/// The opcode for `RandR::GetProviders` requests.
2148///
2149/// If this value appears in [`xcb_protocol_request_t::opcode`], and
2150/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
2151/// [`xcb_randr_get_providers_request_t`].
2152pub const XCB_RANDR_GET_PROVIDERS: u8 = 32i32 as u8;
2153
2154/// The `RandR::GetProviders` request.
2155#[derive(Copy, Clone, Debug)]
2156#[repr(C)]
2157pub struct xcb_randr_get_providers_request_t {
2158    pub major_opcode: u8,
2159    pub minor_opcode: u8,
2160    pub length: u16,
2161    pub window: xcb_window_t,
2162}
2163
2164impl Default for xcb_randr_get_providers_request_t {
2165    fn default() -> Self {
2166        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2167    }
2168}
2169
2170/// The `RandR::GetProviders` reply.
2171///
2172/// The following fields can be accessed via accessor functions:
2173///
2174/// - `providers`
2175#[derive(Copy, Clone, Debug)]
2176#[repr(C)]
2177pub struct xcb_randr_get_providers_reply_t {
2178    pub response_type: u8,
2179    pub pad0: u8,
2180    pub sequence: u16,
2181    pub length: u32,
2182    pub timestamp: xcb_timestamp_t,
2183    pub num_providers: u16,
2184    pub pad1: [u8; 18],
2185}
2186
2187impl Default for xcb_randr_get_providers_reply_t {
2188    fn default() -> Self {
2189        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2190    }
2191}
2192
2193/// The `RandR::ProviderCapability` enum.
2194///
2195/// This enum has the following variants:
2196///
2197/// - [`RandR::ProviderCapability::SourceOutput`](XCB_RANDR_PROVIDER_CAPABILITY_SOURCE_OUTPUT)
2198/// - [`RandR::ProviderCapability::SinkOutput`](XCB_RANDR_PROVIDER_CAPABILITY_SINK_OUTPUT)
2199/// - [`RandR::ProviderCapability::SourceOffload`](XCB_RANDR_PROVIDER_CAPABILITY_SOURCE_OFFLOAD)
2200/// - [`RandR::ProviderCapability::SinkOffload`](XCB_RANDR_PROVIDER_CAPABILITY_SINK_OFFLOAD)
2201pub type xcb_randr_provider_capability_t = u32;
2202/// The `RandR::ProviderCapability::SourceOutput` enum variant.
2203///
2204/// This is a variant of [`xcb_randr_provider_capability_t`].
2205pub const XCB_RANDR_PROVIDER_CAPABILITY_SOURCE_OUTPUT: xcb_randr_provider_capability_t = 1;
2206/// The `RandR::ProviderCapability::SinkOutput` enum variant.
2207///
2208/// This is a variant of [`xcb_randr_provider_capability_t`].
2209pub const XCB_RANDR_PROVIDER_CAPABILITY_SINK_OUTPUT: xcb_randr_provider_capability_t = 2;
2210/// The `RandR::ProviderCapability::SourceOffload` enum variant.
2211///
2212/// This is a variant of [`xcb_randr_provider_capability_t`].
2213pub const XCB_RANDR_PROVIDER_CAPABILITY_SOURCE_OFFLOAD: xcb_randr_provider_capability_t = 4;
2214/// The `RandR::ProviderCapability::SinkOffload` enum variant.
2215///
2216/// This is a variant of [`xcb_randr_provider_capability_t`].
2217pub const XCB_RANDR_PROVIDER_CAPABILITY_SINK_OFFLOAD: xcb_randr_provider_capability_t = 8;
2218
2219/// The cookie for the reply to a `RandR::GetProviderInfo` request.
2220///
2221/// Pass this cookie to [`xcb_randr_get_provider_info_reply`] to retrieve the reply.
2222///
2223/// [`xcb_randr_get_provider_info_reply`]: XcbRandr::xcb_randr_get_provider_info_reply
2224#[derive(Copy, Clone, Debug)]
2225#[repr(C)]
2226pub struct xcb_randr_get_provider_info_cookie_t {
2227    /// The sequence number of the request.
2228    pub sequence: c_uint,
2229}
2230
2231impl Default for xcb_randr_get_provider_info_cookie_t {
2232    fn default() -> Self {
2233        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2234    }
2235}
2236
2237/// The opcode for `RandR::GetProviderInfo` requests.
2238///
2239/// If this value appears in [`xcb_protocol_request_t::opcode`], and
2240/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
2241/// [`xcb_randr_get_provider_info_request_t`].
2242pub const XCB_RANDR_GET_PROVIDER_INFO: u8 = 33i32 as u8;
2243
2244/// The `RandR::GetProviderInfo` request.
2245#[derive(Copy, Clone, Debug)]
2246#[repr(C)]
2247pub struct xcb_randr_get_provider_info_request_t {
2248    pub major_opcode: u8,
2249    pub minor_opcode: u8,
2250    pub length: u16,
2251    pub provider: xcb_randr_provider_t,
2252    pub config_timestamp: xcb_timestamp_t,
2253}
2254
2255impl Default for xcb_randr_get_provider_info_request_t {
2256    fn default() -> Self {
2257        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2258    }
2259}
2260
2261/// The `RandR::GetProviderInfo` reply.
2262///
2263/// The following fields can be accessed via accessor functions:
2264///
2265/// - `crtcs`
2266/// - `outputs`
2267/// - `associated_providers`
2268/// - `associated_capability`
2269/// - `name`
2270#[derive(Copy, Clone, Debug)]
2271#[repr(C)]
2272pub struct xcb_randr_get_provider_info_reply_t {
2273    pub response_type: u8,
2274    pub status: u8,
2275    pub sequence: u16,
2276    pub length: u32,
2277    pub timestamp: xcb_timestamp_t,
2278    pub capabilities: u32,
2279    pub num_crtcs: u16,
2280    pub num_outputs: u16,
2281    pub num_associated_providers: u16,
2282    pub name_len: u16,
2283    pub pad0: [u8; 8],
2284}
2285
2286impl Default for xcb_randr_get_provider_info_reply_t {
2287    fn default() -> Self {
2288        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2289    }
2290}
2291
2292/// The opcode for `RandR::SetProviderOffloadSink` requests.
2293///
2294/// If this value appears in [`xcb_protocol_request_t::opcode`], and
2295/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
2296/// [`xcb_randr_set_provider_offload_sink_request_t`].
2297pub const XCB_RANDR_SET_PROVIDER_OFFLOAD_SINK: u8 = 34i32 as u8;
2298
2299/// The `RandR::SetProviderOffloadSink` request.
2300#[derive(Copy, Clone, Debug)]
2301#[repr(C)]
2302pub struct xcb_randr_set_provider_offload_sink_request_t {
2303    pub major_opcode: u8,
2304    pub minor_opcode: u8,
2305    pub length: u16,
2306    pub provider: xcb_randr_provider_t,
2307    pub sink_provider: xcb_randr_provider_t,
2308    pub config_timestamp: xcb_timestamp_t,
2309}
2310
2311impl Default for xcb_randr_set_provider_offload_sink_request_t {
2312    fn default() -> Self {
2313        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2314    }
2315}
2316
2317/// The opcode for `RandR::SetProviderOutputSource` requests.
2318///
2319/// If this value appears in [`xcb_protocol_request_t::opcode`], and
2320/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
2321/// [`xcb_randr_set_provider_output_source_request_t`].
2322pub const XCB_RANDR_SET_PROVIDER_OUTPUT_SOURCE: u8 = 35i32 as u8;
2323
2324/// The `RandR::SetProviderOutputSource` request.
2325#[derive(Copy, Clone, Debug)]
2326#[repr(C)]
2327pub struct xcb_randr_set_provider_output_source_request_t {
2328    pub major_opcode: u8,
2329    pub minor_opcode: u8,
2330    pub length: u16,
2331    pub provider: xcb_randr_provider_t,
2332    pub source_provider: xcb_randr_provider_t,
2333    pub config_timestamp: xcb_timestamp_t,
2334}
2335
2336impl Default for xcb_randr_set_provider_output_source_request_t {
2337    fn default() -> Self {
2338        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2339    }
2340}
2341
2342/// The cookie for the reply to a `RandR::ListProviderProperties` request.
2343///
2344/// Pass this cookie to [`xcb_randr_list_provider_properties_reply`] to retrieve the reply.
2345///
2346/// [`xcb_randr_list_provider_properties_reply`]: XcbRandr::xcb_randr_list_provider_properties_reply
2347#[derive(Copy, Clone, Debug)]
2348#[repr(C)]
2349pub struct xcb_randr_list_provider_properties_cookie_t {
2350    /// The sequence number of the request.
2351    pub sequence: c_uint,
2352}
2353
2354impl Default for xcb_randr_list_provider_properties_cookie_t {
2355    fn default() -> Self {
2356        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2357    }
2358}
2359
2360/// The opcode for `RandR::ListProviderProperties` requests.
2361///
2362/// If this value appears in [`xcb_protocol_request_t::opcode`], and
2363/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
2364/// [`xcb_randr_list_provider_properties_request_t`].
2365pub const XCB_RANDR_LIST_PROVIDER_PROPERTIES: u8 = 36i32 as u8;
2366
2367/// The `RandR::ListProviderProperties` request.
2368#[derive(Copy, Clone, Debug)]
2369#[repr(C)]
2370pub struct xcb_randr_list_provider_properties_request_t {
2371    pub major_opcode: u8,
2372    pub minor_opcode: u8,
2373    pub length: u16,
2374    pub provider: xcb_randr_provider_t,
2375}
2376
2377impl Default for xcb_randr_list_provider_properties_request_t {
2378    fn default() -> Self {
2379        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2380    }
2381}
2382
2383/// The `RandR::ListProviderProperties` reply.
2384///
2385/// The following fields can be accessed via accessor functions:
2386///
2387/// - `atoms`
2388#[derive(Copy, Clone, Debug)]
2389#[repr(C)]
2390pub struct xcb_randr_list_provider_properties_reply_t {
2391    pub response_type: u8,
2392    pub pad0: u8,
2393    pub sequence: u16,
2394    pub length: u32,
2395    pub num_atoms: u16,
2396    pub pad1: [u8; 22],
2397}
2398
2399impl Default for xcb_randr_list_provider_properties_reply_t {
2400    fn default() -> Self {
2401        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2402    }
2403}
2404
2405/// The cookie for the reply to a `RandR::QueryProviderProperty` request.
2406///
2407/// Pass this cookie to [`xcb_randr_query_provider_property_reply`] to retrieve the reply.
2408///
2409/// [`xcb_randr_query_provider_property_reply`]: XcbRandr::xcb_randr_query_provider_property_reply
2410#[derive(Copy, Clone, Debug)]
2411#[repr(C)]
2412pub struct xcb_randr_query_provider_property_cookie_t {
2413    /// The sequence number of the request.
2414    pub sequence: c_uint,
2415}
2416
2417impl Default for xcb_randr_query_provider_property_cookie_t {
2418    fn default() -> Self {
2419        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2420    }
2421}
2422
2423/// The opcode for `RandR::QueryProviderProperty` requests.
2424///
2425/// If this value appears in [`xcb_protocol_request_t::opcode`], and
2426/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
2427/// [`xcb_randr_query_provider_property_request_t`].
2428pub const XCB_RANDR_QUERY_PROVIDER_PROPERTY: u8 = 37i32 as u8;
2429
2430/// The `RandR::QueryProviderProperty` request.
2431#[derive(Copy, Clone, Debug)]
2432#[repr(C)]
2433pub struct xcb_randr_query_provider_property_request_t {
2434    pub major_opcode: u8,
2435    pub minor_opcode: u8,
2436    pub length: u16,
2437    pub provider: xcb_randr_provider_t,
2438    pub property: xcb_atom_t,
2439}
2440
2441impl Default for xcb_randr_query_provider_property_request_t {
2442    fn default() -> Self {
2443        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2444    }
2445}
2446
2447/// The `RandR::QueryProviderProperty` reply.
2448///
2449/// The following fields can be accessed via accessor functions:
2450///
2451/// - `valid_values`
2452#[derive(Copy, Clone, Debug)]
2453#[repr(C)]
2454pub struct xcb_randr_query_provider_property_reply_t {
2455    pub response_type: u8,
2456    pub pad0: u8,
2457    pub sequence: u16,
2458    pub length: u32,
2459    pub pending: u8,
2460    pub range: u8,
2461    pub immutable: u8,
2462    pub pad1: [u8; 21],
2463}
2464
2465impl Default for xcb_randr_query_provider_property_reply_t {
2466    fn default() -> Self {
2467        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2468    }
2469}
2470
2471/// The opcode for `RandR::ConfigureProviderProperty` requests.
2472///
2473/// If this value appears in [`xcb_protocol_request_t::opcode`], and
2474/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
2475/// [`xcb_randr_configure_provider_property_request_t`].
2476pub const XCB_RANDR_CONFIGURE_PROVIDER_PROPERTY: u8 = 38i32 as u8;
2477
2478/// The `RandR::ConfigureProviderProperty` request.
2479///
2480/// The following fields can be accessed via accessor functions:
2481///
2482/// - `values`
2483#[derive(Copy, Clone, Debug)]
2484#[repr(C)]
2485pub struct xcb_randr_configure_provider_property_request_t {
2486    pub major_opcode: u8,
2487    pub minor_opcode: u8,
2488    pub length: u16,
2489    pub provider: xcb_randr_provider_t,
2490    pub property: xcb_atom_t,
2491    pub pending: u8,
2492    pub range: u8,
2493    pub pad0: [u8; 2],
2494}
2495
2496impl Default for xcb_randr_configure_provider_property_request_t {
2497    fn default() -> Self {
2498        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2499    }
2500}
2501
2502/// The opcode for `RandR::ChangeProviderProperty` requests.
2503///
2504/// If this value appears in [`xcb_protocol_request_t::opcode`], and
2505/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
2506/// [`xcb_randr_change_provider_property_request_t`].
2507pub const XCB_RANDR_CHANGE_PROVIDER_PROPERTY: u8 = 39i32 as u8;
2508
2509/// The `RandR::ChangeProviderProperty` request.
2510///
2511/// The following fields can be accessed via accessor functions:
2512///
2513/// - `data`
2514#[derive(Copy, Clone, Debug)]
2515#[repr(C)]
2516pub struct xcb_randr_change_provider_property_request_t {
2517    pub major_opcode: u8,
2518    pub minor_opcode: u8,
2519    pub length: u16,
2520    pub provider: xcb_randr_provider_t,
2521    pub property: xcb_atom_t,
2522    pub type_: xcb_atom_t,
2523    pub format: u8,
2524    pub mode: u8,
2525    pub pad0: [u8; 2],
2526    pub num_items: u32,
2527}
2528
2529impl Default for xcb_randr_change_provider_property_request_t {
2530    fn default() -> Self {
2531        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2532    }
2533}
2534
2535/// The opcode for `RandR::DeleteProviderProperty` requests.
2536///
2537/// If this value appears in [`xcb_protocol_request_t::opcode`], and
2538/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
2539/// [`xcb_randr_delete_provider_property_request_t`].
2540pub const XCB_RANDR_DELETE_PROVIDER_PROPERTY: u8 = 40i32 as u8;
2541
2542/// The `RandR::DeleteProviderProperty` request.
2543#[derive(Copy, Clone, Debug)]
2544#[repr(C)]
2545pub struct xcb_randr_delete_provider_property_request_t {
2546    pub major_opcode: u8,
2547    pub minor_opcode: u8,
2548    pub length: u16,
2549    pub provider: xcb_randr_provider_t,
2550    pub property: xcb_atom_t,
2551}
2552
2553impl Default for xcb_randr_delete_provider_property_request_t {
2554    fn default() -> Self {
2555        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2556    }
2557}
2558
2559/// The cookie for the reply to a `RandR::GetProviderProperty` request.
2560///
2561/// Pass this cookie to [`xcb_randr_get_provider_property_reply`] to retrieve the reply.
2562///
2563/// [`xcb_randr_get_provider_property_reply`]: XcbRandr::xcb_randr_get_provider_property_reply
2564#[derive(Copy, Clone, Debug)]
2565#[repr(C)]
2566pub struct xcb_randr_get_provider_property_cookie_t {
2567    /// The sequence number of the request.
2568    pub sequence: c_uint,
2569}
2570
2571impl Default for xcb_randr_get_provider_property_cookie_t {
2572    fn default() -> Self {
2573        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2574    }
2575}
2576
2577/// The opcode for `RandR::GetProviderProperty` requests.
2578///
2579/// If this value appears in [`xcb_protocol_request_t::opcode`], and
2580/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
2581/// [`xcb_randr_get_provider_property_request_t`].
2582pub const XCB_RANDR_GET_PROVIDER_PROPERTY: u8 = 41i32 as u8;
2583
2584/// The `RandR::GetProviderProperty` request.
2585#[derive(Copy, Clone, Debug)]
2586#[repr(C)]
2587pub struct xcb_randr_get_provider_property_request_t {
2588    pub major_opcode: u8,
2589    pub minor_opcode: u8,
2590    pub length: u16,
2591    pub provider: xcb_randr_provider_t,
2592    pub property: xcb_atom_t,
2593    pub type_: xcb_atom_t,
2594    pub long_offset: u32,
2595    pub long_length: u32,
2596    pub delete: u8,
2597    pub pending: u8,
2598    pub pad0: [u8; 2],
2599}
2600
2601impl Default for xcb_randr_get_provider_property_request_t {
2602    fn default() -> Self {
2603        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2604    }
2605}
2606
2607/// The `RandR::GetProviderProperty` reply.
2608///
2609/// The following fields can be accessed via accessor functions:
2610///
2611/// - `data`
2612#[derive(Copy, Clone, Debug)]
2613#[repr(C)]
2614pub struct xcb_randr_get_provider_property_reply_t {
2615    pub response_type: u8,
2616    pub format: u8,
2617    pub sequence: u16,
2618    pub length: u32,
2619    pub type_: xcb_atom_t,
2620    pub bytes_after: u32,
2621    pub num_items: u32,
2622    pub pad0: [u8; 12],
2623}
2624
2625impl Default for xcb_randr_get_provider_property_reply_t {
2626    fn default() -> Self {
2627        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2628    }
2629}
2630
2631/// The opcode for `RandR::ScreenChangeNotify` events.
2632///
2633/// If this value plus the extension event base appears in [`xcb_generic_event_t::response_type`],
2634/// then the type of the event is [`xcb_randr_screen_change_notify_event_t`].
2635pub const XCB_RANDR_SCREEN_CHANGE_NOTIFY: u8 = 0i32 as u8;
2636
2637/// The `RandR::ScreenChangeNotify` event.
2638#[derive(Copy, Clone, Debug)]
2639#[repr(C)]
2640pub struct xcb_randr_screen_change_notify_event_t {
2641    pub response_type: u8,
2642    pub rotation: u8,
2643    pub sequence: u16,
2644    pub timestamp: xcb_timestamp_t,
2645    pub config_timestamp: xcb_timestamp_t,
2646    pub root: xcb_window_t,
2647    pub request_window: xcb_window_t,
2648    pub size_id: u16,
2649    pub subpixel_order: u16,
2650    pub width: u16,
2651    pub height: u16,
2652    pub mwidth: u16,
2653    pub mheight: u16,
2654}
2655
2656impl Default for xcb_randr_screen_change_notify_event_t {
2657    fn default() -> Self {
2658        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2659    }
2660}
2661
2662/// The `RandR::Notify` enum.
2663///
2664/// This enum has the following variants:
2665///
2666/// - [`RandR::Notify::CrtcChange`](XCB_RANDR_NOTIFY_CRTC_CHANGE)
2667/// - [`RandR::Notify::OutputChange`](XCB_RANDR_NOTIFY_OUTPUT_CHANGE)
2668/// - [`RandR::Notify::OutputProperty`](XCB_RANDR_NOTIFY_OUTPUT_PROPERTY)
2669/// - [`RandR::Notify::ProviderChange`](XCB_RANDR_NOTIFY_PROVIDER_CHANGE)
2670/// - [`RandR::Notify::ProviderProperty`](XCB_RANDR_NOTIFY_PROVIDER_PROPERTY)
2671/// - [`RandR::Notify::ResourceChange`](XCB_RANDR_NOTIFY_RESOURCE_CHANGE)
2672/// - [`RandR::Notify::Lease`](XCB_RANDR_NOTIFY_LEASE)
2673pub type xcb_randr_notify_t = u32;
2674/// The `RandR::Notify::CrtcChange` enum variant.
2675///
2676/// This is a variant of [`xcb_randr_notify_t`].
2677pub const XCB_RANDR_NOTIFY_CRTC_CHANGE: xcb_randr_notify_t = 0;
2678/// The `RandR::Notify::OutputChange` enum variant.
2679///
2680/// This is a variant of [`xcb_randr_notify_t`].
2681pub const XCB_RANDR_NOTIFY_OUTPUT_CHANGE: xcb_randr_notify_t = 1;
2682/// The `RandR::Notify::OutputProperty` enum variant.
2683///
2684/// This is a variant of [`xcb_randr_notify_t`].
2685pub const XCB_RANDR_NOTIFY_OUTPUT_PROPERTY: xcb_randr_notify_t = 2;
2686/// The `RandR::Notify::ProviderChange` enum variant.
2687///
2688/// This is a variant of [`xcb_randr_notify_t`].
2689pub const XCB_RANDR_NOTIFY_PROVIDER_CHANGE: xcb_randr_notify_t = 3;
2690/// The `RandR::Notify::ProviderProperty` enum variant.
2691///
2692/// This is a variant of [`xcb_randr_notify_t`].
2693pub const XCB_RANDR_NOTIFY_PROVIDER_PROPERTY: xcb_randr_notify_t = 4;
2694/// The `RandR::Notify::ResourceChange` enum variant.
2695///
2696/// This is a variant of [`xcb_randr_notify_t`].
2697pub const XCB_RANDR_NOTIFY_RESOURCE_CHANGE: xcb_randr_notify_t = 5;
2698/// The `RandR::Notify::Lease` enum variant.
2699///
2700/// This is a variant of [`xcb_randr_notify_t`].
2701pub const XCB_RANDR_NOTIFY_LEASE: xcb_randr_notify_t = 6;
2702
2703/// The `RandR::CrtcChange` struct.
2704#[derive(Copy, Clone, Debug)]
2705#[repr(C)]
2706pub struct xcb_randr_crtc_change_t {
2707    pub timestamp: xcb_timestamp_t,
2708    pub window: xcb_window_t,
2709    pub crtc: xcb_randr_crtc_t,
2710    pub mode: xcb_randr_mode_t,
2711    pub rotation: u16,
2712    pub pad0: [u8; 2],
2713    pub x: i16,
2714    pub y: i16,
2715    pub width: u16,
2716    pub height: u16,
2717}
2718
2719impl Default for xcb_randr_crtc_change_t {
2720    fn default() -> Self {
2721        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2722    }
2723}
2724
2725/// An iterator over `RandR::CrtcChange` objects.
2726#[derive(Copy, Clone, Debug)]
2727#[repr(C)]
2728pub struct xcb_randr_crtc_change_iterator_t {
2729    /// The value of the current iteration.
2730    pub data: *mut xcb_randr_crtc_change_t,
2731    /// The number of elements remaining including this one.
2732    pub rem: c_int,
2733    /// The offset of `data`, in bytes, from the start of the containing object.
2734    pub index: c_int,
2735}
2736
2737impl Default for xcb_randr_crtc_change_iterator_t {
2738    fn default() -> Self {
2739        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2740    }
2741}
2742
2743/// The `RandR::OutputChange` struct.
2744#[derive(Copy, Clone, Debug)]
2745#[repr(C)]
2746pub struct xcb_randr_output_change_t {
2747    pub timestamp: xcb_timestamp_t,
2748    pub config_timestamp: xcb_timestamp_t,
2749    pub window: xcb_window_t,
2750    pub output: xcb_randr_output_t,
2751    pub crtc: xcb_randr_crtc_t,
2752    pub mode: xcb_randr_mode_t,
2753    pub rotation: u16,
2754    pub connection: u8,
2755    pub subpixel_order: u8,
2756}
2757
2758impl Default for xcb_randr_output_change_t {
2759    fn default() -> Self {
2760        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2761    }
2762}
2763
2764/// An iterator over `RandR::OutputChange` objects.
2765#[derive(Copy, Clone, Debug)]
2766#[repr(C)]
2767pub struct xcb_randr_output_change_iterator_t {
2768    /// The value of the current iteration.
2769    pub data: *mut xcb_randr_output_change_t,
2770    /// The number of elements remaining including this one.
2771    pub rem: c_int,
2772    /// The offset of `data`, in bytes, from the start of the containing object.
2773    pub index: c_int,
2774}
2775
2776impl Default for xcb_randr_output_change_iterator_t {
2777    fn default() -> Self {
2778        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2779    }
2780}
2781
2782/// The `RandR::OutputProperty` struct.
2783#[derive(Copy, Clone, Debug)]
2784#[repr(C)]
2785pub struct xcb_randr_output_property_t {
2786    pub window: xcb_window_t,
2787    pub output: xcb_randr_output_t,
2788    pub atom: xcb_atom_t,
2789    pub timestamp: xcb_timestamp_t,
2790    pub status: u8,
2791    pub pad0: [u8; 11],
2792}
2793
2794impl Default for xcb_randr_output_property_t {
2795    fn default() -> Self {
2796        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2797    }
2798}
2799
2800/// An iterator over `RandR::OutputProperty` objects.
2801#[derive(Copy, Clone, Debug)]
2802#[repr(C)]
2803pub struct xcb_randr_output_property_iterator_t {
2804    /// The value of the current iteration.
2805    pub data: *mut xcb_randr_output_property_t,
2806    /// The number of elements remaining including this one.
2807    pub rem: c_int,
2808    /// The offset of `data`, in bytes, from the start of the containing object.
2809    pub index: c_int,
2810}
2811
2812impl Default for xcb_randr_output_property_iterator_t {
2813    fn default() -> Self {
2814        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2815    }
2816}
2817
2818/// The `RandR::ProviderChange` struct.
2819#[derive(Copy, Clone, Debug)]
2820#[repr(C)]
2821pub struct xcb_randr_provider_change_t {
2822    pub timestamp: xcb_timestamp_t,
2823    pub window: xcb_window_t,
2824    pub provider: xcb_randr_provider_t,
2825    pub pad0: [u8; 16],
2826}
2827
2828impl Default for xcb_randr_provider_change_t {
2829    fn default() -> Self {
2830        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2831    }
2832}
2833
2834/// An iterator over `RandR::ProviderChange` objects.
2835#[derive(Copy, Clone, Debug)]
2836#[repr(C)]
2837pub struct xcb_randr_provider_change_iterator_t {
2838    /// The value of the current iteration.
2839    pub data: *mut xcb_randr_provider_change_t,
2840    /// The number of elements remaining including this one.
2841    pub rem: c_int,
2842    /// The offset of `data`, in bytes, from the start of the containing object.
2843    pub index: c_int,
2844}
2845
2846impl Default for xcb_randr_provider_change_iterator_t {
2847    fn default() -> Self {
2848        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2849    }
2850}
2851
2852/// The `RandR::ProviderProperty` struct.
2853#[derive(Copy, Clone, Debug)]
2854#[repr(C)]
2855pub struct xcb_randr_provider_property_t {
2856    pub window: xcb_window_t,
2857    pub provider: xcb_randr_provider_t,
2858    pub atom: xcb_atom_t,
2859    pub timestamp: xcb_timestamp_t,
2860    pub state: u8,
2861    pub pad0: [u8; 11],
2862}
2863
2864impl Default for xcb_randr_provider_property_t {
2865    fn default() -> Self {
2866        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2867    }
2868}
2869
2870/// An iterator over `RandR::ProviderProperty` objects.
2871#[derive(Copy, Clone, Debug)]
2872#[repr(C)]
2873pub struct xcb_randr_provider_property_iterator_t {
2874    /// The value of the current iteration.
2875    pub data: *mut xcb_randr_provider_property_t,
2876    /// The number of elements remaining including this one.
2877    pub rem: c_int,
2878    /// The offset of `data`, in bytes, from the start of the containing object.
2879    pub index: c_int,
2880}
2881
2882impl Default for xcb_randr_provider_property_iterator_t {
2883    fn default() -> Self {
2884        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2885    }
2886}
2887
2888/// The `RandR::ResourceChange` struct.
2889#[derive(Copy, Clone, Debug)]
2890#[repr(C)]
2891pub struct xcb_randr_resource_change_t {
2892    pub timestamp: xcb_timestamp_t,
2893    pub window: xcb_window_t,
2894    pub pad0: [u8; 20],
2895}
2896
2897impl Default for xcb_randr_resource_change_t {
2898    fn default() -> Self {
2899        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2900    }
2901}
2902
2903/// An iterator over `RandR::ResourceChange` objects.
2904#[derive(Copy, Clone, Debug)]
2905#[repr(C)]
2906pub struct xcb_randr_resource_change_iterator_t {
2907    /// The value of the current iteration.
2908    pub data: *mut xcb_randr_resource_change_t,
2909    /// The number of elements remaining including this one.
2910    pub rem: c_int,
2911    /// The offset of `data`, in bytes, from the start of the containing object.
2912    pub index: c_int,
2913}
2914
2915impl Default for xcb_randr_resource_change_iterator_t {
2916    fn default() -> Self {
2917        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2918    }
2919}
2920
2921/// The `RandR::MonitorInfo` struct.
2922///
2923/// The following fields can be accessed via accessor functions:
2924///
2925/// - `outputs`
2926#[derive(Copy, Clone, Debug)]
2927#[repr(C)]
2928pub struct xcb_randr_monitor_info_t {
2929    pub name: xcb_atom_t,
2930    pub primary: u8,
2931    pub automatic: u8,
2932    pub n_output: u16,
2933    pub x: i16,
2934    pub y: i16,
2935    pub width: u16,
2936    pub height: u16,
2937    pub width_in_millimeters: u32,
2938    pub height_in_millimeters: u32,
2939}
2940
2941impl Default for xcb_randr_monitor_info_t {
2942    fn default() -> Self {
2943        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2944    }
2945}
2946
2947/// An iterator over `RandR::MonitorInfo` objects.
2948#[derive(Copy, Clone, Debug)]
2949#[repr(C)]
2950pub struct xcb_randr_monitor_info_iterator_t {
2951    /// The value of the current iteration.
2952    pub data: *mut xcb_randr_monitor_info_t,
2953    /// The number of elements remaining including this one.
2954    pub rem: c_int,
2955    /// The offset of `data`, in bytes, from the start of the containing object.
2956    pub index: c_int,
2957}
2958
2959impl Default for xcb_randr_monitor_info_iterator_t {
2960    fn default() -> Self {
2961        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2962    }
2963}
2964
2965/// The cookie for the reply to a `RandR::GetMonitors` request.
2966///
2967/// Pass this cookie to [`xcb_randr_get_monitors_reply`] to retrieve the reply.
2968///
2969/// [`xcb_randr_get_monitors_reply`]: XcbRandr::xcb_randr_get_monitors_reply
2970#[derive(Copy, Clone, Debug)]
2971#[repr(C)]
2972pub struct xcb_randr_get_monitors_cookie_t {
2973    /// The sequence number of the request.
2974    pub sequence: c_uint,
2975}
2976
2977impl Default for xcb_randr_get_monitors_cookie_t {
2978    fn default() -> Self {
2979        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2980    }
2981}
2982
2983/// The opcode for `RandR::GetMonitors` requests.
2984///
2985/// If this value appears in [`xcb_protocol_request_t::opcode`], and
2986/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
2987/// [`xcb_randr_get_monitors_request_t`].
2988pub const XCB_RANDR_GET_MONITORS: u8 = 42i32 as u8;
2989
2990/// The `RandR::GetMonitors` request.
2991#[derive(Copy, Clone, Debug)]
2992#[repr(C)]
2993pub struct xcb_randr_get_monitors_request_t {
2994    pub major_opcode: u8,
2995    pub minor_opcode: u8,
2996    pub length: u16,
2997    pub window: xcb_window_t,
2998    pub get_active: u8,
2999}
3000
3001impl Default for xcb_randr_get_monitors_request_t {
3002    fn default() -> Self {
3003        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3004    }
3005}
3006
3007/// The `RandR::GetMonitors` reply.
3008///
3009/// The following fields can be accessed via accessor functions:
3010///
3011/// - `monitors`
3012#[derive(Copy, Clone, Debug)]
3013#[repr(C)]
3014pub struct xcb_randr_get_monitors_reply_t {
3015    pub response_type: u8,
3016    pub pad0: u8,
3017    pub sequence: u16,
3018    pub length: u32,
3019    pub timestamp: xcb_timestamp_t,
3020    pub n_monitors: u32,
3021    pub n_outputs: u32,
3022    pub pad1: [u8; 12],
3023}
3024
3025impl Default for xcb_randr_get_monitors_reply_t {
3026    fn default() -> Self {
3027        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3028    }
3029}
3030
3031/// The opcode for `RandR::SetMonitor` requests.
3032///
3033/// If this value appears in [`xcb_protocol_request_t::opcode`], and
3034/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
3035/// [`xcb_randr_set_monitor_request_t`].
3036pub const XCB_RANDR_SET_MONITOR: u8 = 43i32 as u8;
3037
3038/// The `RandR::SetMonitor` request.
3039///
3040/// The following fields can be accessed via accessor functions:
3041///
3042/// - `monitorinfo`
3043#[derive(Copy, Clone, Debug)]
3044#[repr(C)]
3045pub struct xcb_randr_set_monitor_request_t {
3046    pub major_opcode: u8,
3047    pub minor_opcode: u8,
3048    pub length: u16,
3049    pub window: xcb_window_t,
3050}
3051
3052impl Default for xcb_randr_set_monitor_request_t {
3053    fn default() -> Self {
3054        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3055    }
3056}
3057
3058/// The opcode for `RandR::DeleteMonitor` requests.
3059///
3060/// If this value appears in [`xcb_protocol_request_t::opcode`], and
3061/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
3062/// [`xcb_randr_delete_monitor_request_t`].
3063pub const XCB_RANDR_DELETE_MONITOR: u8 = 44i32 as u8;
3064
3065/// The `RandR::DeleteMonitor` request.
3066#[derive(Copy, Clone, Debug)]
3067#[repr(C)]
3068pub struct xcb_randr_delete_monitor_request_t {
3069    pub major_opcode: u8,
3070    pub minor_opcode: u8,
3071    pub length: u16,
3072    pub window: xcb_window_t,
3073    pub name: xcb_atom_t,
3074}
3075
3076impl Default for xcb_randr_delete_monitor_request_t {
3077    fn default() -> Self {
3078        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3079    }
3080}
3081
3082/// The cookie for the reply to a `RandR::CreateLease` request.
3083///
3084/// Pass this cookie to [`xcb_randr_create_lease_reply`] to retrieve the reply.
3085///
3086/// [`xcb_randr_create_lease_reply`]: XcbRandr::xcb_randr_create_lease_reply
3087#[derive(Copy, Clone, Debug)]
3088#[repr(C)]
3089pub struct xcb_randr_create_lease_cookie_t {
3090    /// The sequence number of the request.
3091    pub sequence: c_uint,
3092}
3093
3094impl Default for xcb_randr_create_lease_cookie_t {
3095    fn default() -> Self {
3096        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3097    }
3098}
3099
3100/// The opcode for `RandR::CreateLease` requests.
3101///
3102/// If this value appears in [`xcb_protocol_request_t::opcode`], and
3103/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
3104/// [`xcb_randr_create_lease_request_t`].
3105pub const XCB_RANDR_CREATE_LEASE: u8 = 45i32 as u8;
3106
3107/// The `RandR::CreateLease` request.
3108///
3109/// The following fields can be accessed via accessor functions:
3110///
3111/// - `crtcs`
3112/// - `outputs`
3113#[derive(Copy, Clone, Debug)]
3114#[repr(C)]
3115pub struct xcb_randr_create_lease_request_t {
3116    pub major_opcode: u8,
3117    pub minor_opcode: u8,
3118    pub length: u16,
3119    pub window: xcb_window_t,
3120    pub lid: xcb_randr_lease_t,
3121    pub num_crtcs: u16,
3122    pub num_outputs: u16,
3123}
3124
3125impl Default for xcb_randr_create_lease_request_t {
3126    fn default() -> Self {
3127        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3128    }
3129}
3130
3131/// The `RandR::CreateLease` reply.
3132///
3133/// This reply contains file descriptors that can be accessed with [`xcb_randr_create_lease_reply_fds`].
3134///
3135/// [`xcb_randr_create_lease_reply_fds`]: XcbRandr::xcb_randr_create_lease_reply_fds
3136#[derive(Copy, Clone, Debug)]
3137#[repr(C)]
3138pub struct xcb_randr_create_lease_reply_t {
3139    pub response_type: u8,
3140    pub nfd: u8,
3141    pub sequence: u16,
3142    pub length: u32,
3143    pub pad0: [u8; 24],
3144}
3145
3146impl Default for xcb_randr_create_lease_reply_t {
3147    fn default() -> Self {
3148        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3149    }
3150}
3151
3152/// The opcode for `RandR::FreeLease` requests.
3153///
3154/// If this value appears in [`xcb_protocol_request_t::opcode`], and
3155/// [`xcb_protocol_request_t::ext`] is [`XcbRandr::xcb_randr_id()`], then the type of the request is
3156/// [`xcb_randr_free_lease_request_t`].
3157pub const XCB_RANDR_FREE_LEASE: u8 = 46i32 as u8;
3158
3159/// The `RandR::FreeLease` request.
3160#[derive(Copy, Clone, Debug)]
3161#[repr(C)]
3162pub struct xcb_randr_free_lease_request_t {
3163    pub major_opcode: u8,
3164    pub minor_opcode: u8,
3165    pub length: u16,
3166    pub lid: xcb_randr_lease_t,
3167    pub terminate: u8,
3168}
3169
3170impl Default for xcb_randr_free_lease_request_t {
3171    fn default() -> Self {
3172        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3173    }
3174}
3175
3176/// The `RandR::LeaseNotify` struct.
3177#[derive(Copy, Clone, Debug)]
3178#[repr(C)]
3179pub struct xcb_randr_lease_notify_t {
3180    pub timestamp: xcb_timestamp_t,
3181    pub window: xcb_window_t,
3182    pub lease: xcb_randr_lease_t,
3183    pub created: u8,
3184    pub pad0: [u8; 15],
3185}
3186
3187impl Default for xcb_randr_lease_notify_t {
3188    fn default() -> Self {
3189        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3190    }
3191}
3192
3193/// An iterator over `RandR::LeaseNotify` objects.
3194#[derive(Copy, Clone, Debug)]
3195#[repr(C)]
3196pub struct xcb_randr_lease_notify_iterator_t {
3197    /// The value of the current iteration.
3198    pub data: *mut xcb_randr_lease_notify_t,
3199    /// The number of elements remaining including this one.
3200    pub rem: c_int,
3201    /// The offset of `data`, in bytes, from the start of the containing object.
3202    pub index: c_int,
3203}
3204
3205impl Default for xcb_randr_lease_notify_iterator_t {
3206    fn default() -> Self {
3207        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3208    }
3209}
3210
3211/// The `RandR::NotifyData` union.
3212#[derive(Copy, Clone)]
3213#[repr(C)]
3214pub union xcb_randr_notify_data_t {
3215    pub cc: xcb_randr_crtc_change_t,
3216    pub oc: xcb_randr_output_change_t,
3217    pub op: xcb_randr_output_property_t,
3218    pub pc: xcb_randr_provider_change_t,
3219    pub pp: xcb_randr_provider_property_t,
3220    pub rc: xcb_randr_resource_change_t,
3221    pub lc: xcb_randr_lease_notify_t,
3222}
3223
3224impl Default for xcb_randr_notify_data_t {
3225    fn default() -> Self {
3226        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3227    }
3228}
3229
3230/// An iterator over `RandR::NotifyData` objects.
3231#[derive(Copy, Clone, Debug)]
3232#[repr(C)]
3233pub struct xcb_randr_notify_data_iterator_t {
3234    /// The value of the current iteration.
3235    pub data: *mut xcb_randr_notify_data_t,
3236    /// The number of elements remaining including this one.
3237    pub rem: c_int,
3238    /// The offset of `data`, in bytes, from the start of the containing object.
3239    pub index: c_int,
3240}
3241
3242impl Default for xcb_randr_notify_data_iterator_t {
3243    fn default() -> Self {
3244        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3245    }
3246}
3247
3248/// The opcode for `RandR::Notify` events.
3249///
3250/// If this value plus the extension event base appears in [`xcb_generic_event_t::response_type`],
3251/// then the type of the event is [`xcb_randr_notify_event_t`].
3252pub const XCB_RANDR_NOTIFY: u8 = 1i32 as u8;
3253
3254/// The `RandR::Notify` event.
3255#[derive(Copy, Clone, Debug)]
3256#[repr(C)]
3257pub struct xcb_randr_notify_event_t {
3258    pub response_type: u8,
3259    pub sub_code: u8,
3260    pub sequence: u16,
3261    pub u: xcb_randr_notify_data_t,
3262}
3263
3264impl Default for xcb_randr_notify_event_t {
3265    fn default() -> Self {
3266        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3267    }
3268}
3269
3270#[cfg(feature = "xcb_randr")]
3271pub(crate) struct XcbRandrRandr {
3272    xcb_randr_id: LazySymbol<*mut xcb_extension_t>,
3273    xcb_randr_mode_next: LazySymbol<unsafe fn(i: *mut xcb_randr_mode_iterator_t)>,
3274    xcb_randr_mode_end:
3275        LazySymbol<unsafe fn(i: xcb_randr_mode_iterator_t) -> xcb_generic_iterator_t>,
3276    xcb_randr_crtc_next: LazySymbol<unsafe fn(i: *mut xcb_randr_crtc_iterator_t)>,
3277    xcb_randr_crtc_end:
3278        LazySymbol<unsafe fn(i: xcb_randr_crtc_iterator_t) -> xcb_generic_iterator_t>,
3279    xcb_randr_output_next: LazySymbol<unsafe fn(i: *mut xcb_randr_output_iterator_t)>,
3280    xcb_randr_output_end:
3281        LazySymbol<unsafe fn(i: xcb_randr_output_iterator_t) -> xcb_generic_iterator_t>,
3282    xcb_randr_provider_next: LazySymbol<unsafe fn(i: *mut xcb_randr_provider_iterator_t)>,
3283    xcb_randr_provider_end:
3284        LazySymbol<unsafe fn(i: xcb_randr_provider_iterator_t) -> xcb_generic_iterator_t>,
3285    xcb_randr_lease_next: LazySymbol<unsafe fn(i: *mut xcb_randr_lease_iterator_t)>,
3286    xcb_randr_lease_end:
3287        LazySymbol<unsafe fn(i: xcb_randr_lease_iterator_t) -> xcb_generic_iterator_t>,
3288    xcb_randr_screen_size_next: LazySymbol<unsafe fn(i: *mut xcb_randr_screen_size_iterator_t)>,
3289    xcb_randr_screen_size_end:
3290        LazySymbol<unsafe fn(i: xcb_randr_screen_size_iterator_t) -> xcb_generic_iterator_t>,
3291    xcb_randr_refresh_rates_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
3292    xcb_randr_refresh_rates_rates:
3293        LazySymbol<unsafe fn(r: *const xcb_randr_refresh_rates_t) -> *mut u16>,
3294    xcb_randr_refresh_rates_rates_length:
3295        LazySymbol<unsafe fn(r: *const xcb_randr_refresh_rates_t) -> c_int>,
3296    xcb_randr_refresh_rates_rates_end:
3297        LazySymbol<unsafe fn(r: *const xcb_randr_refresh_rates_t) -> xcb_generic_iterator_t>,
3298    xcb_randr_refresh_rates_next: LazySymbol<unsafe fn(i: *mut xcb_randr_refresh_rates_iterator_t)>,
3299    xcb_randr_refresh_rates_end:
3300        LazySymbol<unsafe fn(i: xcb_randr_refresh_rates_iterator_t) -> xcb_generic_iterator_t>,
3301    xcb_randr_query_version: LazySymbol<
3302        unsafe fn(
3303            c: *mut xcb_connection_t,
3304            major_version: u32,
3305            minor_version: u32,
3306        ) -> xcb_randr_query_version_cookie_t,
3307    >,
3308    xcb_randr_query_version_unchecked: LazySymbol<
3309        unsafe fn(
3310            c: *mut xcb_connection_t,
3311            major_version: u32,
3312            minor_version: u32,
3313        ) -> xcb_randr_query_version_cookie_t,
3314    >,
3315    xcb_randr_query_version_reply: LazySymbol<
3316        unsafe fn(
3317            c: *mut xcb_connection_t,
3318            cookie: xcb_randr_query_version_cookie_t,
3319            e: *mut *mut xcb_generic_error_t,
3320        ) -> *mut xcb_randr_query_version_reply_t,
3321    >,
3322    xcb_randr_set_screen_config: LazySymbol<
3323        unsafe fn(
3324            c: *mut xcb_connection_t,
3325            window: xcb_window_t,
3326            timestamp: xcb_timestamp_t,
3327            config_timestamp: xcb_timestamp_t,
3328            size_id: u16,
3329            rotation: u16,
3330            rate: u16,
3331        ) -> xcb_randr_set_screen_config_cookie_t,
3332    >,
3333    xcb_randr_set_screen_config_unchecked: LazySymbol<
3334        unsafe fn(
3335            c: *mut xcb_connection_t,
3336            window: xcb_window_t,
3337            timestamp: xcb_timestamp_t,
3338            config_timestamp: xcb_timestamp_t,
3339            size_id: u16,
3340            rotation: u16,
3341            rate: u16,
3342        ) -> xcb_randr_set_screen_config_cookie_t,
3343    >,
3344    xcb_randr_set_screen_config_reply: LazySymbol<
3345        unsafe fn(
3346            c: *mut xcb_connection_t,
3347            cookie: xcb_randr_set_screen_config_cookie_t,
3348            e: *mut *mut xcb_generic_error_t,
3349        ) -> *mut xcb_randr_set_screen_config_reply_t,
3350    >,
3351    xcb_randr_select_input_checked: LazySymbol<
3352        unsafe fn(c: *mut xcb_connection_t, window: xcb_window_t, enable: u16) -> xcb_void_cookie_t,
3353    >,
3354    xcb_randr_select_input: LazySymbol<
3355        unsafe fn(c: *mut xcb_connection_t, window: xcb_window_t, enable: u16) -> xcb_void_cookie_t,
3356    >,
3357    xcb_randr_get_screen_info_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
3358    xcb_randr_get_screen_info: LazySymbol<
3359        unsafe fn(
3360            c: *mut xcb_connection_t,
3361            window: xcb_window_t,
3362        ) -> xcb_randr_get_screen_info_cookie_t,
3363    >,
3364    xcb_randr_get_screen_info_unchecked: LazySymbol<
3365        unsafe fn(
3366            c: *mut xcb_connection_t,
3367            window: xcb_window_t,
3368        ) -> xcb_randr_get_screen_info_cookie_t,
3369    >,
3370    xcb_randr_get_screen_info_sizes: LazySymbol<
3371        unsafe fn(r: *const xcb_randr_get_screen_info_reply_t) -> *mut xcb_randr_screen_size_t,
3372    >,
3373    xcb_randr_get_screen_info_sizes_length:
3374        LazySymbol<unsafe fn(r: *const xcb_randr_get_screen_info_reply_t) -> c_int>,
3375    xcb_randr_get_screen_info_sizes_iterator: LazySymbol<
3376        unsafe fn(r: *const xcb_randr_get_screen_info_reply_t) -> xcb_randr_screen_size_iterator_t,
3377    >,
3378    xcb_randr_get_screen_info_rates_length:
3379        LazySymbol<unsafe fn(r: *const xcb_randr_get_screen_info_reply_t) -> c_int>,
3380    xcb_randr_get_screen_info_rates_iterator: LazySymbol<
3381        unsafe fn(
3382            r: *const xcb_randr_get_screen_info_reply_t,
3383        ) -> xcb_randr_refresh_rates_iterator_t,
3384    >,
3385    xcb_randr_get_screen_info_reply: LazySymbol<
3386        unsafe fn(
3387            c: *mut xcb_connection_t,
3388            cookie: xcb_randr_get_screen_info_cookie_t,
3389            e: *mut *mut xcb_generic_error_t,
3390        ) -> *mut xcb_randr_get_screen_info_reply_t,
3391    >,
3392    xcb_randr_get_screen_size_range: LazySymbol<
3393        unsafe fn(
3394            c: *mut xcb_connection_t,
3395            window: xcb_window_t,
3396        ) -> xcb_randr_get_screen_size_range_cookie_t,
3397    >,
3398    xcb_randr_get_screen_size_range_unchecked: LazySymbol<
3399        unsafe fn(
3400            c: *mut xcb_connection_t,
3401            window: xcb_window_t,
3402        ) -> xcb_randr_get_screen_size_range_cookie_t,
3403    >,
3404    xcb_randr_get_screen_size_range_reply: LazySymbol<
3405        unsafe fn(
3406            c: *mut xcb_connection_t,
3407            cookie: xcb_randr_get_screen_size_range_cookie_t,
3408            e: *mut *mut xcb_generic_error_t,
3409        ) -> *mut xcb_randr_get_screen_size_range_reply_t,
3410    >,
3411    xcb_randr_set_screen_size_checked: LazySymbol<
3412        unsafe fn(
3413            c: *mut xcb_connection_t,
3414            window: xcb_window_t,
3415            width: u16,
3416            height: u16,
3417            mm_width: u32,
3418            mm_height: u32,
3419        ) -> xcb_void_cookie_t,
3420    >,
3421    xcb_randr_set_screen_size: LazySymbol<
3422        unsafe fn(
3423            c: *mut xcb_connection_t,
3424            window: xcb_window_t,
3425            width: u16,
3426            height: u16,
3427            mm_width: u32,
3428            mm_height: u32,
3429        ) -> xcb_void_cookie_t,
3430    >,
3431    xcb_randr_mode_info_next: LazySymbol<unsafe fn(i: *mut xcb_randr_mode_info_iterator_t)>,
3432    xcb_randr_mode_info_end:
3433        LazySymbol<unsafe fn(i: xcb_randr_mode_info_iterator_t) -> xcb_generic_iterator_t>,
3434    xcb_randr_get_screen_resources_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
3435    xcb_randr_get_screen_resources: LazySymbol<
3436        unsafe fn(
3437            c: *mut xcb_connection_t,
3438            window: xcb_window_t,
3439        ) -> xcb_randr_get_screen_resources_cookie_t,
3440    >,
3441    xcb_randr_get_screen_resources_unchecked: LazySymbol<
3442        unsafe fn(
3443            c: *mut xcb_connection_t,
3444            window: xcb_window_t,
3445        ) -> xcb_randr_get_screen_resources_cookie_t,
3446    >,
3447    xcb_randr_get_screen_resources_crtcs: LazySymbol<
3448        unsafe fn(r: *const xcb_randr_get_screen_resources_reply_t) -> *mut xcb_randr_crtc_t,
3449    >,
3450    xcb_randr_get_screen_resources_crtcs_length:
3451        LazySymbol<unsafe fn(r: *const xcb_randr_get_screen_resources_reply_t) -> c_int>,
3452    xcb_randr_get_screen_resources_crtcs_end: LazySymbol<
3453        unsafe fn(r: *const xcb_randr_get_screen_resources_reply_t) -> xcb_generic_iterator_t,
3454    >,
3455    xcb_randr_get_screen_resources_outputs: LazySymbol<
3456        unsafe fn(r: *const xcb_randr_get_screen_resources_reply_t) -> *mut xcb_randr_output_t,
3457    >,
3458    xcb_randr_get_screen_resources_outputs_length:
3459        LazySymbol<unsafe fn(r: *const xcb_randr_get_screen_resources_reply_t) -> c_int>,
3460    xcb_randr_get_screen_resources_outputs_end: LazySymbol<
3461        unsafe fn(r: *const xcb_randr_get_screen_resources_reply_t) -> xcb_generic_iterator_t,
3462    >,
3463    xcb_randr_get_screen_resources_modes: LazySymbol<
3464        unsafe fn(r: *const xcb_randr_get_screen_resources_reply_t) -> *mut xcb_randr_mode_info_t,
3465    >,
3466    xcb_randr_get_screen_resources_modes_length:
3467        LazySymbol<unsafe fn(r: *const xcb_randr_get_screen_resources_reply_t) -> c_int>,
3468    xcb_randr_get_screen_resources_modes_iterator: LazySymbol<
3469        unsafe fn(
3470            r: *const xcb_randr_get_screen_resources_reply_t,
3471        ) -> xcb_randr_mode_info_iterator_t,
3472    >,
3473    xcb_randr_get_screen_resources_names:
3474        LazySymbol<unsafe fn(r: *const xcb_randr_get_screen_resources_reply_t) -> *mut u8>,
3475    xcb_randr_get_screen_resources_names_length:
3476        LazySymbol<unsafe fn(r: *const xcb_randr_get_screen_resources_reply_t) -> c_int>,
3477    xcb_randr_get_screen_resources_names_end: LazySymbol<
3478        unsafe fn(r: *const xcb_randr_get_screen_resources_reply_t) -> xcb_generic_iterator_t,
3479    >,
3480    xcb_randr_get_screen_resources_reply: LazySymbol<
3481        unsafe fn(
3482            c: *mut xcb_connection_t,
3483            cookie: xcb_randr_get_screen_resources_cookie_t,
3484            e: *mut *mut xcb_generic_error_t,
3485        ) -> *mut xcb_randr_get_screen_resources_reply_t,
3486    >,
3487    xcb_randr_get_output_info_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
3488    xcb_randr_get_output_info: LazySymbol<
3489        unsafe fn(
3490            c: *mut xcb_connection_t,
3491            output: xcb_randr_output_t,
3492            config_timestamp: xcb_timestamp_t,
3493        ) -> xcb_randr_get_output_info_cookie_t,
3494    >,
3495    xcb_randr_get_output_info_unchecked: LazySymbol<
3496        unsafe fn(
3497            c: *mut xcb_connection_t,
3498            output: xcb_randr_output_t,
3499            config_timestamp: xcb_timestamp_t,
3500        ) -> xcb_randr_get_output_info_cookie_t,
3501    >,
3502    xcb_randr_get_output_info_crtcs:
3503        LazySymbol<unsafe fn(r: *const xcb_randr_get_output_info_reply_t) -> *mut xcb_randr_crtc_t>,
3504    xcb_randr_get_output_info_crtcs_length:
3505        LazySymbol<unsafe fn(r: *const xcb_randr_get_output_info_reply_t) -> c_int>,
3506    xcb_randr_get_output_info_crtcs_end: LazySymbol<
3507        unsafe fn(r: *const xcb_randr_get_output_info_reply_t) -> xcb_generic_iterator_t,
3508    >,
3509    xcb_randr_get_output_info_modes:
3510        LazySymbol<unsafe fn(r: *const xcb_randr_get_output_info_reply_t) -> *mut xcb_randr_mode_t>,
3511    xcb_randr_get_output_info_modes_length:
3512        LazySymbol<unsafe fn(r: *const xcb_randr_get_output_info_reply_t) -> c_int>,
3513    xcb_randr_get_output_info_modes_end: LazySymbol<
3514        unsafe fn(r: *const xcb_randr_get_output_info_reply_t) -> xcb_generic_iterator_t,
3515    >,
3516    xcb_randr_get_output_info_clones: LazySymbol<
3517        unsafe fn(r: *const xcb_randr_get_output_info_reply_t) -> *mut xcb_randr_output_t,
3518    >,
3519    xcb_randr_get_output_info_clones_length:
3520        LazySymbol<unsafe fn(r: *const xcb_randr_get_output_info_reply_t) -> c_int>,
3521    xcb_randr_get_output_info_clones_end: LazySymbol<
3522        unsafe fn(r: *const xcb_randr_get_output_info_reply_t) -> xcb_generic_iterator_t,
3523    >,
3524    xcb_randr_get_output_info_name:
3525        LazySymbol<unsafe fn(r: *const xcb_randr_get_output_info_reply_t) -> *mut u8>,
3526    xcb_randr_get_output_info_name_length:
3527        LazySymbol<unsafe fn(r: *const xcb_randr_get_output_info_reply_t) -> c_int>,
3528    xcb_randr_get_output_info_name_end: LazySymbol<
3529        unsafe fn(r: *const xcb_randr_get_output_info_reply_t) -> xcb_generic_iterator_t,
3530    >,
3531    xcb_randr_get_output_info_reply: LazySymbol<
3532        unsafe fn(
3533            c: *mut xcb_connection_t,
3534            cookie: xcb_randr_get_output_info_cookie_t,
3535            e: *mut *mut xcb_generic_error_t,
3536        ) -> *mut xcb_randr_get_output_info_reply_t,
3537    >,
3538    xcb_randr_list_output_properties_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
3539    xcb_randr_list_output_properties: LazySymbol<
3540        unsafe fn(
3541            c: *mut xcb_connection_t,
3542            output: xcb_randr_output_t,
3543        ) -> xcb_randr_list_output_properties_cookie_t,
3544    >,
3545    xcb_randr_list_output_properties_unchecked: LazySymbol<
3546        unsafe fn(
3547            c: *mut xcb_connection_t,
3548            output: xcb_randr_output_t,
3549        ) -> xcb_randr_list_output_properties_cookie_t,
3550    >,
3551    xcb_randr_list_output_properties_atoms: LazySymbol<
3552        unsafe fn(r: *const xcb_randr_list_output_properties_reply_t) -> *mut xcb_atom_t,
3553    >,
3554    xcb_randr_list_output_properties_atoms_length:
3555        LazySymbol<unsafe fn(r: *const xcb_randr_list_output_properties_reply_t) -> c_int>,
3556    xcb_randr_list_output_properties_atoms_end: LazySymbol<
3557        unsafe fn(r: *const xcb_randr_list_output_properties_reply_t) -> xcb_generic_iterator_t,
3558    >,
3559    xcb_randr_list_output_properties_reply: LazySymbol<
3560        unsafe fn(
3561            c: *mut xcb_connection_t,
3562            cookie: xcb_randr_list_output_properties_cookie_t,
3563            e: *mut *mut xcb_generic_error_t,
3564        ) -> *mut xcb_randr_list_output_properties_reply_t,
3565    >,
3566    xcb_randr_query_output_property_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
3567    xcb_randr_query_output_property: LazySymbol<
3568        unsafe fn(
3569            c: *mut xcb_connection_t,
3570            output: xcb_randr_output_t,
3571            property: xcb_atom_t,
3572        ) -> xcb_randr_query_output_property_cookie_t,
3573    >,
3574    xcb_randr_query_output_property_unchecked: LazySymbol<
3575        unsafe fn(
3576            c: *mut xcb_connection_t,
3577            output: xcb_randr_output_t,
3578            property: xcb_atom_t,
3579        ) -> xcb_randr_query_output_property_cookie_t,
3580    >,
3581    xcb_randr_query_output_property_valid_values:
3582        LazySymbol<unsafe fn(r: *const xcb_randr_query_output_property_reply_t) -> *mut i32>,
3583    xcb_randr_query_output_property_valid_values_length:
3584        LazySymbol<unsafe fn(r: *const xcb_randr_query_output_property_reply_t) -> c_int>,
3585    xcb_randr_query_output_property_valid_values_end: LazySymbol<
3586        unsafe fn(r: *const xcb_randr_query_output_property_reply_t) -> xcb_generic_iterator_t,
3587    >,
3588    xcb_randr_query_output_property_reply: LazySymbol<
3589        unsafe fn(
3590            c: *mut xcb_connection_t,
3591            cookie: xcb_randr_query_output_property_cookie_t,
3592            e: *mut *mut xcb_generic_error_t,
3593        ) -> *mut xcb_randr_query_output_property_reply_t,
3594    >,
3595    xcb_randr_configure_output_property_sizeof:
3596        LazySymbol<unsafe fn(_buffer: *const c_void, values_len: u32) -> c_int>,
3597    xcb_randr_configure_output_property_checked: LazySymbol<
3598        unsafe fn(
3599            c: *mut xcb_connection_t,
3600            output: xcb_randr_output_t,
3601            property: xcb_atom_t,
3602            pending: u8,
3603            range: u8,
3604            values_len: u32,
3605            values: *const i32,
3606        ) -> xcb_void_cookie_t,
3607    >,
3608    xcb_randr_configure_output_property: LazySymbol<
3609        unsafe fn(
3610            c: *mut xcb_connection_t,
3611            output: xcb_randr_output_t,
3612            property: xcb_atom_t,
3613            pending: u8,
3614            range: u8,
3615            values_len: u32,
3616            values: *const i32,
3617        ) -> xcb_void_cookie_t,
3618    >,
3619    xcb_randr_configure_output_property_values:
3620        LazySymbol<unsafe fn(r: *const xcb_randr_configure_output_property_request_t) -> *mut i32>,
3621    xcb_randr_configure_output_property_values_length:
3622        LazySymbol<unsafe fn(r: *const xcb_randr_configure_output_property_request_t) -> c_int>,
3623    xcb_randr_configure_output_property_values_end: LazySymbol<
3624        unsafe fn(
3625            r: *const xcb_randr_configure_output_property_request_t,
3626        ) -> xcb_generic_iterator_t,
3627    >,
3628    xcb_randr_change_output_property_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
3629    xcb_randr_change_output_property_checked: LazySymbol<
3630        unsafe fn(
3631            c: *mut xcb_connection_t,
3632            output: xcb_randr_output_t,
3633            property: xcb_atom_t,
3634            type_: xcb_atom_t,
3635            format: u8,
3636            mode: u8,
3637            num_units: u32,
3638            data: *const c_void,
3639        ) -> xcb_void_cookie_t,
3640    >,
3641    xcb_randr_change_output_property: LazySymbol<
3642        unsafe fn(
3643            c: *mut xcb_connection_t,
3644            output: xcb_randr_output_t,
3645            property: xcb_atom_t,
3646            type_: xcb_atom_t,
3647            format: u8,
3648            mode: u8,
3649            num_units: u32,
3650            data: *const c_void,
3651        ) -> xcb_void_cookie_t,
3652    >,
3653    xcb_randr_change_output_property_data:
3654        LazySymbol<unsafe fn(r: *const xcb_randr_change_output_property_request_t) -> *mut c_void>,
3655    xcb_randr_change_output_property_data_length:
3656        LazySymbol<unsafe fn(r: *const xcb_randr_change_output_property_request_t) -> c_int>,
3657    xcb_randr_change_output_property_data_end: LazySymbol<
3658        unsafe fn(r: *const xcb_randr_change_output_property_request_t) -> xcb_generic_iterator_t,
3659    >,
3660    xcb_randr_delete_output_property_checked: LazySymbol<
3661        unsafe fn(
3662            c: *mut xcb_connection_t,
3663            output: xcb_randr_output_t,
3664            property: xcb_atom_t,
3665        ) -> xcb_void_cookie_t,
3666    >,
3667    xcb_randr_delete_output_property: LazySymbol<
3668        unsafe fn(
3669            c: *mut xcb_connection_t,
3670            output: xcb_randr_output_t,
3671            property: xcb_atom_t,
3672        ) -> xcb_void_cookie_t,
3673    >,
3674    xcb_randr_get_output_property_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
3675    xcb_randr_get_output_property: LazySymbol<
3676        unsafe fn(
3677            c: *mut xcb_connection_t,
3678            output: xcb_randr_output_t,
3679            property: xcb_atom_t,
3680            type_: xcb_atom_t,
3681            long_offset: u32,
3682            long_length: u32,
3683            delete: u8,
3684            pending: u8,
3685        ) -> xcb_randr_get_output_property_cookie_t,
3686    >,
3687    xcb_randr_get_output_property_unchecked: LazySymbol<
3688        unsafe fn(
3689            c: *mut xcb_connection_t,
3690            output: xcb_randr_output_t,
3691            property: xcb_atom_t,
3692            type_: xcb_atom_t,
3693            long_offset: u32,
3694            long_length: u32,
3695            delete: u8,
3696            pending: u8,
3697        ) -> xcb_randr_get_output_property_cookie_t,
3698    >,
3699    xcb_randr_get_output_property_data:
3700        LazySymbol<unsafe fn(r: *const xcb_randr_get_output_property_reply_t) -> *mut u8>,
3701    xcb_randr_get_output_property_data_length:
3702        LazySymbol<unsafe fn(r: *const xcb_randr_get_output_property_reply_t) -> c_int>,
3703    xcb_randr_get_output_property_data_end: LazySymbol<
3704        unsafe fn(r: *const xcb_randr_get_output_property_reply_t) -> xcb_generic_iterator_t,
3705    >,
3706    xcb_randr_get_output_property_reply: LazySymbol<
3707        unsafe fn(
3708            c: *mut xcb_connection_t,
3709            cookie: xcb_randr_get_output_property_cookie_t,
3710            e: *mut *mut xcb_generic_error_t,
3711        ) -> *mut xcb_randr_get_output_property_reply_t,
3712    >,
3713    xcb_randr_create_mode_sizeof:
3714        LazySymbol<unsafe fn(_buffer: *const c_void, name_len: u32) -> c_int>,
3715    xcb_randr_create_mode: LazySymbol<
3716        unsafe fn(
3717            c: *mut xcb_connection_t,
3718            window: xcb_window_t,
3719            mode_info: xcb_randr_mode_info_t,
3720            name_len: u32,
3721            name: *const c_char,
3722        ) -> xcb_randr_create_mode_cookie_t,
3723    >,
3724    xcb_randr_create_mode_unchecked: LazySymbol<
3725        unsafe fn(
3726            c: *mut xcb_connection_t,
3727            window: xcb_window_t,
3728            mode_info: xcb_randr_mode_info_t,
3729            name_len: u32,
3730            name: *const c_char,
3731        ) -> xcb_randr_create_mode_cookie_t,
3732    >,
3733    xcb_randr_create_mode_reply: LazySymbol<
3734        unsafe fn(
3735            c: *mut xcb_connection_t,
3736            cookie: xcb_randr_create_mode_cookie_t,
3737            e: *mut *mut xcb_generic_error_t,
3738        ) -> *mut xcb_randr_create_mode_reply_t,
3739    >,
3740    xcb_randr_destroy_mode_checked: LazySymbol<
3741        unsafe fn(c: *mut xcb_connection_t, mode: xcb_randr_mode_t) -> xcb_void_cookie_t,
3742    >,
3743    xcb_randr_destroy_mode: LazySymbol<
3744        unsafe fn(c: *mut xcb_connection_t, mode: xcb_randr_mode_t) -> xcb_void_cookie_t,
3745    >,
3746    xcb_randr_add_output_mode_checked: LazySymbol<
3747        unsafe fn(
3748            c: *mut xcb_connection_t,
3749            output: xcb_randr_output_t,
3750            mode: xcb_randr_mode_t,
3751        ) -> xcb_void_cookie_t,
3752    >,
3753    xcb_randr_add_output_mode: LazySymbol<
3754        unsafe fn(
3755            c: *mut xcb_connection_t,
3756            output: xcb_randr_output_t,
3757            mode: xcb_randr_mode_t,
3758        ) -> xcb_void_cookie_t,
3759    >,
3760    xcb_randr_delete_output_mode_checked: LazySymbol<
3761        unsafe fn(
3762            c: *mut xcb_connection_t,
3763            output: xcb_randr_output_t,
3764            mode: xcb_randr_mode_t,
3765        ) -> xcb_void_cookie_t,
3766    >,
3767    xcb_randr_delete_output_mode: LazySymbol<
3768        unsafe fn(
3769            c: *mut xcb_connection_t,
3770            output: xcb_randr_output_t,
3771            mode: xcb_randr_mode_t,
3772        ) -> xcb_void_cookie_t,
3773    >,
3774    xcb_randr_get_crtc_info_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
3775    xcb_randr_get_crtc_info: LazySymbol<
3776        unsafe fn(
3777            c: *mut xcb_connection_t,
3778            crtc: xcb_randr_crtc_t,
3779            config_timestamp: xcb_timestamp_t,
3780        ) -> xcb_randr_get_crtc_info_cookie_t,
3781    >,
3782    xcb_randr_get_crtc_info_unchecked: LazySymbol<
3783        unsafe fn(
3784            c: *mut xcb_connection_t,
3785            crtc: xcb_randr_crtc_t,
3786            config_timestamp: xcb_timestamp_t,
3787        ) -> xcb_randr_get_crtc_info_cookie_t,
3788    >,
3789    xcb_randr_get_crtc_info_outputs:
3790        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_info_reply_t) -> *mut xcb_randr_output_t>,
3791    xcb_randr_get_crtc_info_outputs_length:
3792        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_info_reply_t) -> c_int>,
3793    xcb_randr_get_crtc_info_outputs_end:
3794        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_info_reply_t) -> xcb_generic_iterator_t>,
3795    xcb_randr_get_crtc_info_possible:
3796        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_info_reply_t) -> *mut xcb_randr_output_t>,
3797    xcb_randr_get_crtc_info_possible_length:
3798        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_info_reply_t) -> c_int>,
3799    xcb_randr_get_crtc_info_possible_end:
3800        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_info_reply_t) -> xcb_generic_iterator_t>,
3801    xcb_randr_get_crtc_info_reply: LazySymbol<
3802        unsafe fn(
3803            c: *mut xcb_connection_t,
3804            cookie: xcb_randr_get_crtc_info_cookie_t,
3805            e: *mut *mut xcb_generic_error_t,
3806        ) -> *mut xcb_randr_get_crtc_info_reply_t,
3807    >,
3808    xcb_randr_set_crtc_config_sizeof:
3809        LazySymbol<unsafe fn(_buffer: *const c_void, outputs_len: u32) -> c_int>,
3810    xcb_randr_set_crtc_config: LazySymbol<
3811        unsafe fn(
3812            c: *mut xcb_connection_t,
3813            crtc: xcb_randr_crtc_t,
3814            timestamp: xcb_timestamp_t,
3815            config_timestamp: xcb_timestamp_t,
3816            x: i16,
3817            y: i16,
3818            mode: xcb_randr_mode_t,
3819            rotation: u16,
3820            outputs_len: u32,
3821            outputs: *const xcb_randr_output_t,
3822        ) -> xcb_randr_set_crtc_config_cookie_t,
3823    >,
3824    xcb_randr_set_crtc_config_unchecked: LazySymbol<
3825        unsafe fn(
3826            c: *mut xcb_connection_t,
3827            crtc: xcb_randr_crtc_t,
3828            timestamp: xcb_timestamp_t,
3829            config_timestamp: xcb_timestamp_t,
3830            x: i16,
3831            y: i16,
3832            mode: xcb_randr_mode_t,
3833            rotation: u16,
3834            outputs_len: u32,
3835            outputs: *const xcb_randr_output_t,
3836        ) -> xcb_randr_set_crtc_config_cookie_t,
3837    >,
3838    xcb_randr_set_crtc_config_reply: LazySymbol<
3839        unsafe fn(
3840            c: *mut xcb_connection_t,
3841            cookie: xcb_randr_set_crtc_config_cookie_t,
3842            e: *mut *mut xcb_generic_error_t,
3843        ) -> *mut xcb_randr_set_crtc_config_reply_t,
3844    >,
3845    xcb_randr_get_crtc_gamma_size: LazySymbol<
3846        unsafe fn(
3847            c: *mut xcb_connection_t,
3848            crtc: xcb_randr_crtc_t,
3849        ) -> xcb_randr_get_crtc_gamma_size_cookie_t,
3850    >,
3851    xcb_randr_get_crtc_gamma_size_unchecked: LazySymbol<
3852        unsafe fn(
3853            c: *mut xcb_connection_t,
3854            crtc: xcb_randr_crtc_t,
3855        ) -> xcb_randr_get_crtc_gamma_size_cookie_t,
3856    >,
3857    xcb_randr_get_crtc_gamma_size_reply: LazySymbol<
3858        unsafe fn(
3859            c: *mut xcb_connection_t,
3860            cookie: xcb_randr_get_crtc_gamma_size_cookie_t,
3861            e: *mut *mut xcb_generic_error_t,
3862        ) -> *mut xcb_randr_get_crtc_gamma_size_reply_t,
3863    >,
3864    xcb_randr_get_crtc_gamma_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
3865    xcb_randr_get_crtc_gamma: LazySymbol<
3866        unsafe fn(
3867            c: *mut xcb_connection_t,
3868            crtc: xcb_randr_crtc_t,
3869        ) -> xcb_randr_get_crtc_gamma_cookie_t,
3870    >,
3871    xcb_randr_get_crtc_gamma_unchecked: LazySymbol<
3872        unsafe fn(
3873            c: *mut xcb_connection_t,
3874            crtc: xcb_randr_crtc_t,
3875        ) -> xcb_randr_get_crtc_gamma_cookie_t,
3876    >,
3877    xcb_randr_get_crtc_gamma_red:
3878        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_gamma_reply_t) -> *mut u16>,
3879    xcb_randr_get_crtc_gamma_red_length:
3880        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_gamma_reply_t) -> c_int>,
3881    xcb_randr_get_crtc_gamma_red_end:
3882        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_gamma_reply_t) -> xcb_generic_iterator_t>,
3883    xcb_randr_get_crtc_gamma_green:
3884        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_gamma_reply_t) -> *mut u16>,
3885    xcb_randr_get_crtc_gamma_green_length:
3886        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_gamma_reply_t) -> c_int>,
3887    xcb_randr_get_crtc_gamma_green_end:
3888        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_gamma_reply_t) -> xcb_generic_iterator_t>,
3889    xcb_randr_get_crtc_gamma_blue:
3890        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_gamma_reply_t) -> *mut u16>,
3891    xcb_randr_get_crtc_gamma_blue_length:
3892        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_gamma_reply_t) -> c_int>,
3893    xcb_randr_get_crtc_gamma_blue_end:
3894        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_gamma_reply_t) -> xcb_generic_iterator_t>,
3895    xcb_randr_get_crtc_gamma_reply: LazySymbol<
3896        unsafe fn(
3897            c: *mut xcb_connection_t,
3898            cookie: xcb_randr_get_crtc_gamma_cookie_t,
3899            e: *mut *mut xcb_generic_error_t,
3900        ) -> *mut xcb_randr_get_crtc_gamma_reply_t,
3901    >,
3902    xcb_randr_set_crtc_gamma_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
3903    xcb_randr_set_crtc_gamma_checked: LazySymbol<
3904        unsafe fn(
3905            c: *mut xcb_connection_t,
3906            crtc: xcb_randr_crtc_t,
3907            size: u16,
3908            red: *const u16,
3909            green: *const u16,
3910            blue: *const u16,
3911        ) -> xcb_void_cookie_t,
3912    >,
3913    xcb_randr_set_crtc_gamma: LazySymbol<
3914        unsafe fn(
3915            c: *mut xcb_connection_t,
3916            crtc: xcb_randr_crtc_t,
3917            size: u16,
3918            red: *const u16,
3919            green: *const u16,
3920            blue: *const u16,
3921        ) -> xcb_void_cookie_t,
3922    >,
3923    xcb_randr_set_crtc_gamma_red:
3924        LazySymbol<unsafe fn(r: *const xcb_randr_set_crtc_gamma_request_t) -> *mut u16>,
3925    xcb_randr_set_crtc_gamma_red_length:
3926        LazySymbol<unsafe fn(r: *const xcb_randr_set_crtc_gamma_request_t) -> c_int>,
3927    xcb_randr_set_crtc_gamma_red_end: LazySymbol<
3928        unsafe fn(r: *const xcb_randr_set_crtc_gamma_request_t) -> xcb_generic_iterator_t,
3929    >,
3930    xcb_randr_set_crtc_gamma_green:
3931        LazySymbol<unsafe fn(r: *const xcb_randr_set_crtc_gamma_request_t) -> *mut u16>,
3932    xcb_randr_set_crtc_gamma_green_length:
3933        LazySymbol<unsafe fn(r: *const xcb_randr_set_crtc_gamma_request_t) -> c_int>,
3934    xcb_randr_set_crtc_gamma_green_end: LazySymbol<
3935        unsafe fn(r: *const xcb_randr_set_crtc_gamma_request_t) -> xcb_generic_iterator_t,
3936    >,
3937    xcb_randr_set_crtc_gamma_blue:
3938        LazySymbol<unsafe fn(r: *const xcb_randr_set_crtc_gamma_request_t) -> *mut u16>,
3939    xcb_randr_set_crtc_gamma_blue_length:
3940        LazySymbol<unsafe fn(r: *const xcb_randr_set_crtc_gamma_request_t) -> c_int>,
3941    xcb_randr_set_crtc_gamma_blue_end: LazySymbol<
3942        unsafe fn(r: *const xcb_randr_set_crtc_gamma_request_t) -> xcb_generic_iterator_t,
3943    >,
3944    xcb_randr_get_screen_resources_current_sizeof:
3945        LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
3946    xcb_randr_get_screen_resources_current: LazySymbol<
3947        unsafe fn(
3948            c: *mut xcb_connection_t,
3949            window: xcb_window_t,
3950        ) -> xcb_randr_get_screen_resources_current_cookie_t,
3951    >,
3952    xcb_randr_get_screen_resources_current_unchecked: LazySymbol<
3953        unsafe fn(
3954            c: *mut xcb_connection_t,
3955            window: xcb_window_t,
3956        ) -> xcb_randr_get_screen_resources_current_cookie_t,
3957    >,
3958    xcb_randr_get_screen_resources_current_crtcs: LazySymbol<
3959        unsafe fn(
3960            r: *const xcb_randr_get_screen_resources_current_reply_t,
3961        ) -> *mut xcb_randr_crtc_t,
3962    >,
3963    xcb_randr_get_screen_resources_current_crtcs_length:
3964        LazySymbol<unsafe fn(r: *const xcb_randr_get_screen_resources_current_reply_t) -> c_int>,
3965    xcb_randr_get_screen_resources_current_crtcs_end: LazySymbol<
3966        unsafe fn(
3967            r: *const xcb_randr_get_screen_resources_current_reply_t,
3968        ) -> xcb_generic_iterator_t,
3969    >,
3970    xcb_randr_get_screen_resources_current_outputs: LazySymbol<
3971        unsafe fn(
3972            r: *const xcb_randr_get_screen_resources_current_reply_t,
3973        ) -> *mut xcb_randr_output_t,
3974    >,
3975    xcb_randr_get_screen_resources_current_outputs_length:
3976        LazySymbol<unsafe fn(r: *const xcb_randr_get_screen_resources_current_reply_t) -> c_int>,
3977    xcb_randr_get_screen_resources_current_outputs_end: LazySymbol<
3978        unsafe fn(
3979            r: *const xcb_randr_get_screen_resources_current_reply_t,
3980        ) -> xcb_generic_iterator_t,
3981    >,
3982    xcb_randr_get_screen_resources_current_modes: LazySymbol<
3983        unsafe fn(
3984            r: *const xcb_randr_get_screen_resources_current_reply_t,
3985        ) -> *mut xcb_randr_mode_info_t,
3986    >,
3987    xcb_randr_get_screen_resources_current_modes_length:
3988        LazySymbol<unsafe fn(r: *const xcb_randr_get_screen_resources_current_reply_t) -> c_int>,
3989    xcb_randr_get_screen_resources_current_modes_iterator: LazySymbol<
3990        unsafe fn(
3991            r: *const xcb_randr_get_screen_resources_current_reply_t,
3992        ) -> xcb_randr_mode_info_iterator_t,
3993    >,
3994    xcb_randr_get_screen_resources_current_names:
3995        LazySymbol<unsafe fn(r: *const xcb_randr_get_screen_resources_current_reply_t) -> *mut u8>,
3996    xcb_randr_get_screen_resources_current_names_length:
3997        LazySymbol<unsafe fn(r: *const xcb_randr_get_screen_resources_current_reply_t) -> c_int>,
3998    xcb_randr_get_screen_resources_current_names_end: LazySymbol<
3999        unsafe fn(
4000            r: *const xcb_randr_get_screen_resources_current_reply_t,
4001        ) -> xcb_generic_iterator_t,
4002    >,
4003    xcb_randr_get_screen_resources_current_reply: LazySymbol<
4004        unsafe fn(
4005            c: *mut xcb_connection_t,
4006            cookie: xcb_randr_get_screen_resources_current_cookie_t,
4007            e: *mut *mut xcb_generic_error_t,
4008        ) -> *mut xcb_randr_get_screen_resources_current_reply_t,
4009    >,
4010    xcb_randr_set_crtc_transform_sizeof:
4011        LazySymbol<unsafe fn(_buffer: *const c_void, filter_params_len: u32) -> c_int>,
4012    xcb_randr_set_crtc_transform_checked: LazySymbol<
4013        unsafe fn(
4014            c: *mut xcb_connection_t,
4015            crtc: xcb_randr_crtc_t,
4016            transform: xcb_render_transform_t,
4017            filter_len: u16,
4018            filter_name: *const c_char,
4019            filter_params_len: u32,
4020            filter_params: *const xcb_render_fixed_t,
4021        ) -> xcb_void_cookie_t,
4022    >,
4023    xcb_randr_set_crtc_transform: LazySymbol<
4024        unsafe fn(
4025            c: *mut xcb_connection_t,
4026            crtc: xcb_randr_crtc_t,
4027            transform: xcb_render_transform_t,
4028            filter_len: u16,
4029            filter_name: *const c_char,
4030            filter_params_len: u32,
4031            filter_params: *const xcb_render_fixed_t,
4032        ) -> xcb_void_cookie_t,
4033    >,
4034    xcb_randr_set_crtc_transform_filter_name:
4035        LazySymbol<unsafe fn(r: *const xcb_randr_set_crtc_transform_request_t) -> *mut c_char>,
4036    xcb_randr_set_crtc_transform_filter_name_length:
4037        LazySymbol<unsafe fn(r: *const xcb_randr_set_crtc_transform_request_t) -> c_int>,
4038    xcb_randr_set_crtc_transform_filter_name_end: LazySymbol<
4039        unsafe fn(r: *const xcb_randr_set_crtc_transform_request_t) -> xcb_generic_iterator_t,
4040    >,
4041    xcb_randr_set_crtc_transform_filter_params: LazySymbol<
4042        unsafe fn(r: *const xcb_randr_set_crtc_transform_request_t) -> *mut xcb_render_fixed_t,
4043    >,
4044    xcb_randr_set_crtc_transform_filter_params_length:
4045        LazySymbol<unsafe fn(r: *const xcb_randr_set_crtc_transform_request_t) -> c_int>,
4046    xcb_randr_set_crtc_transform_filter_params_end: LazySymbol<
4047        unsafe fn(r: *const xcb_randr_set_crtc_transform_request_t) -> xcb_generic_iterator_t,
4048    >,
4049    xcb_randr_get_crtc_transform_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
4050    xcb_randr_get_crtc_transform: LazySymbol<
4051        unsafe fn(
4052            c: *mut xcb_connection_t,
4053            crtc: xcb_randr_crtc_t,
4054        ) -> xcb_randr_get_crtc_transform_cookie_t,
4055    >,
4056    xcb_randr_get_crtc_transform_unchecked: LazySymbol<
4057        unsafe fn(
4058            c: *mut xcb_connection_t,
4059            crtc: xcb_randr_crtc_t,
4060        ) -> xcb_randr_get_crtc_transform_cookie_t,
4061    >,
4062    xcb_randr_get_crtc_transform_pending_filter_name:
4063        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_transform_reply_t) -> *mut c_char>,
4064    xcb_randr_get_crtc_transform_pending_filter_name_length:
4065        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_transform_reply_t) -> c_int>,
4066    xcb_randr_get_crtc_transform_pending_filter_name_end: LazySymbol<
4067        unsafe fn(r: *const xcb_randr_get_crtc_transform_reply_t) -> xcb_generic_iterator_t,
4068    >,
4069    xcb_randr_get_crtc_transform_pending_params: LazySymbol<
4070        unsafe fn(r: *const xcb_randr_get_crtc_transform_reply_t) -> *mut xcb_render_fixed_t,
4071    >,
4072    xcb_randr_get_crtc_transform_pending_params_length:
4073        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_transform_reply_t) -> c_int>,
4074    xcb_randr_get_crtc_transform_pending_params_end: LazySymbol<
4075        unsafe fn(r: *const xcb_randr_get_crtc_transform_reply_t) -> xcb_generic_iterator_t,
4076    >,
4077    xcb_randr_get_crtc_transform_current_filter_name:
4078        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_transform_reply_t) -> *mut c_char>,
4079    xcb_randr_get_crtc_transform_current_filter_name_length:
4080        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_transform_reply_t) -> c_int>,
4081    xcb_randr_get_crtc_transform_current_filter_name_end: LazySymbol<
4082        unsafe fn(r: *const xcb_randr_get_crtc_transform_reply_t) -> xcb_generic_iterator_t,
4083    >,
4084    xcb_randr_get_crtc_transform_current_params: LazySymbol<
4085        unsafe fn(r: *const xcb_randr_get_crtc_transform_reply_t) -> *mut xcb_render_fixed_t,
4086    >,
4087    xcb_randr_get_crtc_transform_current_params_length:
4088        LazySymbol<unsafe fn(r: *const xcb_randr_get_crtc_transform_reply_t) -> c_int>,
4089    xcb_randr_get_crtc_transform_current_params_end: LazySymbol<
4090        unsafe fn(r: *const xcb_randr_get_crtc_transform_reply_t) -> xcb_generic_iterator_t,
4091    >,
4092    xcb_randr_get_crtc_transform_reply: LazySymbol<
4093        unsafe fn(
4094            c: *mut xcb_connection_t,
4095            cookie: xcb_randr_get_crtc_transform_cookie_t,
4096            e: *mut *mut xcb_generic_error_t,
4097        ) -> *mut xcb_randr_get_crtc_transform_reply_t,
4098    >,
4099    xcb_randr_get_panning: LazySymbol<
4100        unsafe fn(
4101            c: *mut xcb_connection_t,
4102            crtc: xcb_randr_crtc_t,
4103        ) -> xcb_randr_get_panning_cookie_t,
4104    >,
4105    xcb_randr_get_panning_unchecked: LazySymbol<
4106        unsafe fn(
4107            c: *mut xcb_connection_t,
4108            crtc: xcb_randr_crtc_t,
4109        ) -> xcb_randr_get_panning_cookie_t,
4110    >,
4111    xcb_randr_get_panning_reply: LazySymbol<
4112        unsafe fn(
4113            c: *mut xcb_connection_t,
4114            cookie: xcb_randr_get_panning_cookie_t,
4115            e: *mut *mut xcb_generic_error_t,
4116        ) -> *mut xcb_randr_get_panning_reply_t,
4117    >,
4118    xcb_randr_set_panning: LazySymbol<
4119        unsafe fn(
4120            c: *mut xcb_connection_t,
4121            crtc: xcb_randr_crtc_t,
4122            timestamp: xcb_timestamp_t,
4123            left: u16,
4124            top: u16,
4125            width: u16,
4126            height: u16,
4127            track_left: u16,
4128            track_top: u16,
4129            track_width: u16,
4130            track_height: u16,
4131            border_left: i16,
4132            border_top: i16,
4133            border_right: i16,
4134            border_bottom: i16,
4135        ) -> xcb_randr_set_panning_cookie_t,
4136    >,
4137    xcb_randr_set_panning_unchecked: LazySymbol<
4138        unsafe fn(
4139            c: *mut xcb_connection_t,
4140            crtc: xcb_randr_crtc_t,
4141            timestamp: xcb_timestamp_t,
4142            left: u16,
4143            top: u16,
4144            width: u16,
4145            height: u16,
4146            track_left: u16,
4147            track_top: u16,
4148            track_width: u16,
4149            track_height: u16,
4150            border_left: i16,
4151            border_top: i16,
4152            border_right: i16,
4153            border_bottom: i16,
4154        ) -> xcb_randr_set_panning_cookie_t,
4155    >,
4156    xcb_randr_set_panning_reply: LazySymbol<
4157        unsafe fn(
4158            c: *mut xcb_connection_t,
4159            cookie: xcb_randr_set_panning_cookie_t,
4160            e: *mut *mut xcb_generic_error_t,
4161        ) -> *mut xcb_randr_set_panning_reply_t,
4162    >,
4163    xcb_randr_set_output_primary_checked: LazySymbol<
4164        unsafe fn(
4165            c: *mut xcb_connection_t,
4166            window: xcb_window_t,
4167            output: xcb_randr_output_t,
4168        ) -> xcb_void_cookie_t,
4169    >,
4170    xcb_randr_set_output_primary: LazySymbol<
4171        unsafe fn(
4172            c: *mut xcb_connection_t,
4173            window: xcb_window_t,
4174            output: xcb_randr_output_t,
4175        ) -> xcb_void_cookie_t,
4176    >,
4177    xcb_randr_get_output_primary: LazySymbol<
4178        unsafe fn(
4179            c: *mut xcb_connection_t,
4180            window: xcb_window_t,
4181        ) -> xcb_randr_get_output_primary_cookie_t,
4182    >,
4183    xcb_randr_get_output_primary_unchecked: LazySymbol<
4184        unsafe fn(
4185            c: *mut xcb_connection_t,
4186            window: xcb_window_t,
4187        ) -> xcb_randr_get_output_primary_cookie_t,
4188    >,
4189    xcb_randr_get_output_primary_reply: LazySymbol<
4190        unsafe fn(
4191            c: *mut xcb_connection_t,
4192            cookie: xcb_randr_get_output_primary_cookie_t,
4193            e: *mut *mut xcb_generic_error_t,
4194        ) -> *mut xcb_randr_get_output_primary_reply_t,
4195    >,
4196    xcb_randr_get_providers_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
4197    xcb_randr_get_providers: LazySymbol<
4198        unsafe fn(
4199            c: *mut xcb_connection_t,
4200            window: xcb_window_t,
4201        ) -> xcb_randr_get_providers_cookie_t,
4202    >,
4203    xcb_randr_get_providers_unchecked: LazySymbol<
4204        unsafe fn(
4205            c: *mut xcb_connection_t,
4206            window: xcb_window_t,
4207        ) -> xcb_randr_get_providers_cookie_t,
4208    >,
4209    xcb_randr_get_providers_providers: LazySymbol<
4210        unsafe fn(r: *const xcb_randr_get_providers_reply_t) -> *mut xcb_randr_provider_t,
4211    >,
4212    xcb_randr_get_providers_providers_length:
4213        LazySymbol<unsafe fn(r: *const xcb_randr_get_providers_reply_t) -> c_int>,
4214    xcb_randr_get_providers_providers_end:
4215        LazySymbol<unsafe fn(r: *const xcb_randr_get_providers_reply_t) -> xcb_generic_iterator_t>,
4216    xcb_randr_get_providers_reply: LazySymbol<
4217        unsafe fn(
4218            c: *mut xcb_connection_t,
4219            cookie: xcb_randr_get_providers_cookie_t,
4220            e: *mut *mut xcb_generic_error_t,
4221        ) -> *mut xcb_randr_get_providers_reply_t,
4222    >,
4223    xcb_randr_get_provider_info_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
4224    xcb_randr_get_provider_info: LazySymbol<
4225        unsafe fn(
4226            c: *mut xcb_connection_t,
4227            provider: xcb_randr_provider_t,
4228            config_timestamp: xcb_timestamp_t,
4229        ) -> xcb_randr_get_provider_info_cookie_t,
4230    >,
4231    xcb_randr_get_provider_info_unchecked: LazySymbol<
4232        unsafe fn(
4233            c: *mut xcb_connection_t,
4234            provider: xcb_randr_provider_t,
4235            config_timestamp: xcb_timestamp_t,
4236        ) -> xcb_randr_get_provider_info_cookie_t,
4237    >,
4238    xcb_randr_get_provider_info_crtcs: LazySymbol<
4239        unsafe fn(r: *const xcb_randr_get_provider_info_reply_t) -> *mut xcb_randr_crtc_t,
4240    >,
4241    xcb_randr_get_provider_info_crtcs_length:
4242        LazySymbol<unsafe fn(r: *const xcb_randr_get_provider_info_reply_t) -> c_int>,
4243    xcb_randr_get_provider_info_crtcs_end: LazySymbol<
4244        unsafe fn(r: *const xcb_randr_get_provider_info_reply_t) -> xcb_generic_iterator_t,
4245    >,
4246    xcb_randr_get_provider_info_outputs: LazySymbol<
4247        unsafe fn(r: *const xcb_randr_get_provider_info_reply_t) -> *mut xcb_randr_output_t,
4248    >,
4249    xcb_randr_get_provider_info_outputs_length:
4250        LazySymbol<unsafe fn(r: *const xcb_randr_get_provider_info_reply_t) -> c_int>,
4251    xcb_randr_get_provider_info_outputs_end: LazySymbol<
4252        unsafe fn(r: *const xcb_randr_get_provider_info_reply_t) -> xcb_generic_iterator_t,
4253    >,
4254    xcb_randr_get_provider_info_associated_providers: LazySymbol<
4255        unsafe fn(r: *const xcb_randr_get_provider_info_reply_t) -> *mut xcb_randr_provider_t,
4256    >,
4257    xcb_randr_get_provider_info_associated_providers_length:
4258        LazySymbol<unsafe fn(r: *const xcb_randr_get_provider_info_reply_t) -> c_int>,
4259    xcb_randr_get_provider_info_associated_providers_end: LazySymbol<
4260        unsafe fn(r: *const xcb_randr_get_provider_info_reply_t) -> xcb_generic_iterator_t,
4261    >,
4262    xcb_randr_get_provider_info_associated_capability:
4263        LazySymbol<unsafe fn(r: *const xcb_randr_get_provider_info_reply_t) -> *mut u32>,
4264    xcb_randr_get_provider_info_associated_capability_length:
4265        LazySymbol<unsafe fn(r: *const xcb_randr_get_provider_info_reply_t) -> c_int>,
4266    xcb_randr_get_provider_info_associated_capability_end: LazySymbol<
4267        unsafe fn(r: *const xcb_randr_get_provider_info_reply_t) -> xcb_generic_iterator_t,
4268    >,
4269    xcb_randr_get_provider_info_name:
4270        LazySymbol<unsafe fn(r: *const xcb_randr_get_provider_info_reply_t) -> *mut c_char>,
4271    xcb_randr_get_provider_info_name_length:
4272        LazySymbol<unsafe fn(r: *const xcb_randr_get_provider_info_reply_t) -> c_int>,
4273    xcb_randr_get_provider_info_name_end: LazySymbol<
4274        unsafe fn(r: *const xcb_randr_get_provider_info_reply_t) -> xcb_generic_iterator_t,
4275    >,
4276    xcb_randr_get_provider_info_reply: LazySymbol<
4277        unsafe fn(
4278            c: *mut xcb_connection_t,
4279            cookie: xcb_randr_get_provider_info_cookie_t,
4280            e: *mut *mut xcb_generic_error_t,
4281        ) -> *mut xcb_randr_get_provider_info_reply_t,
4282    >,
4283    xcb_randr_set_provider_offload_sink_checked: LazySymbol<
4284        unsafe fn(
4285            c: *mut xcb_connection_t,
4286            provider: xcb_randr_provider_t,
4287            sink_provider: xcb_randr_provider_t,
4288            config_timestamp: xcb_timestamp_t,
4289        ) -> xcb_void_cookie_t,
4290    >,
4291    xcb_randr_set_provider_offload_sink: LazySymbol<
4292        unsafe fn(
4293            c: *mut xcb_connection_t,
4294            provider: xcb_randr_provider_t,
4295            sink_provider: xcb_randr_provider_t,
4296            config_timestamp: xcb_timestamp_t,
4297        ) -> xcb_void_cookie_t,
4298    >,
4299    xcb_randr_set_provider_output_source_checked: LazySymbol<
4300        unsafe fn(
4301            c: *mut xcb_connection_t,
4302            provider: xcb_randr_provider_t,
4303            source_provider: xcb_randr_provider_t,
4304            config_timestamp: xcb_timestamp_t,
4305        ) -> xcb_void_cookie_t,
4306    >,
4307    xcb_randr_set_provider_output_source: LazySymbol<
4308        unsafe fn(
4309            c: *mut xcb_connection_t,
4310            provider: xcb_randr_provider_t,
4311            source_provider: xcb_randr_provider_t,
4312            config_timestamp: xcb_timestamp_t,
4313        ) -> xcb_void_cookie_t,
4314    >,
4315    xcb_randr_list_provider_properties_sizeof:
4316        LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
4317    xcb_randr_list_provider_properties: LazySymbol<
4318        unsafe fn(
4319            c: *mut xcb_connection_t,
4320            provider: xcb_randr_provider_t,
4321        ) -> xcb_randr_list_provider_properties_cookie_t,
4322    >,
4323    xcb_randr_list_provider_properties_unchecked: LazySymbol<
4324        unsafe fn(
4325            c: *mut xcb_connection_t,
4326            provider: xcb_randr_provider_t,
4327        ) -> xcb_randr_list_provider_properties_cookie_t,
4328    >,
4329    xcb_randr_list_provider_properties_atoms: LazySymbol<
4330        unsafe fn(r: *const xcb_randr_list_provider_properties_reply_t) -> *mut xcb_atom_t,
4331    >,
4332    xcb_randr_list_provider_properties_atoms_length:
4333        LazySymbol<unsafe fn(r: *const xcb_randr_list_provider_properties_reply_t) -> c_int>,
4334    xcb_randr_list_provider_properties_atoms_end: LazySymbol<
4335        unsafe fn(r: *const xcb_randr_list_provider_properties_reply_t) -> xcb_generic_iterator_t,
4336    >,
4337    xcb_randr_list_provider_properties_reply: LazySymbol<
4338        unsafe fn(
4339            c: *mut xcb_connection_t,
4340            cookie: xcb_randr_list_provider_properties_cookie_t,
4341            e: *mut *mut xcb_generic_error_t,
4342        ) -> *mut xcb_randr_list_provider_properties_reply_t,
4343    >,
4344    xcb_randr_query_provider_property_sizeof:
4345        LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
4346    xcb_randr_query_provider_property: LazySymbol<
4347        unsafe fn(
4348            c: *mut xcb_connection_t,
4349            provider: xcb_randr_provider_t,
4350            property: xcb_atom_t,
4351        ) -> xcb_randr_query_provider_property_cookie_t,
4352    >,
4353    xcb_randr_query_provider_property_unchecked: LazySymbol<
4354        unsafe fn(
4355            c: *mut xcb_connection_t,
4356            provider: xcb_randr_provider_t,
4357            property: xcb_atom_t,
4358        ) -> xcb_randr_query_provider_property_cookie_t,
4359    >,
4360    xcb_randr_query_provider_property_valid_values:
4361        LazySymbol<unsafe fn(r: *const xcb_randr_query_provider_property_reply_t) -> *mut i32>,
4362    xcb_randr_query_provider_property_valid_values_length:
4363        LazySymbol<unsafe fn(r: *const xcb_randr_query_provider_property_reply_t) -> c_int>,
4364    xcb_randr_query_provider_property_valid_values_end: LazySymbol<
4365        unsafe fn(r: *const xcb_randr_query_provider_property_reply_t) -> xcb_generic_iterator_t,
4366    >,
4367    xcb_randr_query_provider_property_reply: LazySymbol<
4368        unsafe fn(
4369            c: *mut xcb_connection_t,
4370            cookie: xcb_randr_query_provider_property_cookie_t,
4371            e: *mut *mut xcb_generic_error_t,
4372        ) -> *mut xcb_randr_query_provider_property_reply_t,
4373    >,
4374    xcb_randr_configure_provider_property_sizeof:
4375        LazySymbol<unsafe fn(_buffer: *const c_void, values_len: u32) -> c_int>,
4376    xcb_randr_configure_provider_property_checked: LazySymbol<
4377        unsafe fn(
4378            c: *mut xcb_connection_t,
4379            provider: xcb_randr_provider_t,
4380            property: xcb_atom_t,
4381            pending: u8,
4382            range: u8,
4383            values_len: u32,
4384            values: *const i32,
4385        ) -> xcb_void_cookie_t,
4386    >,
4387    xcb_randr_configure_provider_property: LazySymbol<
4388        unsafe fn(
4389            c: *mut xcb_connection_t,
4390            provider: xcb_randr_provider_t,
4391            property: xcb_atom_t,
4392            pending: u8,
4393            range: u8,
4394            values_len: u32,
4395            values: *const i32,
4396        ) -> xcb_void_cookie_t,
4397    >,
4398    xcb_randr_configure_provider_property_values: LazySymbol<
4399        unsafe fn(r: *const xcb_randr_configure_provider_property_request_t) -> *mut i32,
4400    >,
4401    xcb_randr_configure_provider_property_values_length:
4402        LazySymbol<unsafe fn(r: *const xcb_randr_configure_provider_property_request_t) -> c_int>,
4403    xcb_randr_configure_provider_property_values_end: LazySymbol<
4404        unsafe fn(
4405            r: *const xcb_randr_configure_provider_property_request_t,
4406        ) -> xcb_generic_iterator_t,
4407    >,
4408    xcb_randr_change_provider_property_sizeof:
4409        LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
4410    xcb_randr_change_provider_property_checked: LazySymbol<
4411        unsafe fn(
4412            c: *mut xcb_connection_t,
4413            provider: xcb_randr_provider_t,
4414            property: xcb_atom_t,
4415            type_: xcb_atom_t,
4416            format: u8,
4417            mode: u8,
4418            num_items: u32,
4419            data: *const c_void,
4420        ) -> xcb_void_cookie_t,
4421    >,
4422    xcb_randr_change_provider_property: LazySymbol<
4423        unsafe fn(
4424            c: *mut xcb_connection_t,
4425            provider: xcb_randr_provider_t,
4426            property: xcb_atom_t,
4427            type_: xcb_atom_t,
4428            format: u8,
4429            mode: u8,
4430            num_items: u32,
4431            data: *const c_void,
4432        ) -> xcb_void_cookie_t,
4433    >,
4434    xcb_randr_change_provider_property_data: LazySymbol<
4435        unsafe fn(r: *const xcb_randr_change_provider_property_request_t) -> *mut c_void,
4436    >,
4437    xcb_randr_change_provider_property_data_length:
4438        LazySymbol<unsafe fn(r: *const xcb_randr_change_provider_property_request_t) -> c_int>,
4439    xcb_randr_change_provider_property_data_end: LazySymbol<
4440        unsafe fn(r: *const xcb_randr_change_provider_property_request_t) -> xcb_generic_iterator_t,
4441    >,
4442    xcb_randr_delete_provider_property_checked: LazySymbol<
4443        unsafe fn(
4444            c: *mut xcb_connection_t,
4445            provider: xcb_randr_provider_t,
4446            property: xcb_atom_t,
4447        ) -> xcb_void_cookie_t,
4448    >,
4449    xcb_randr_delete_provider_property: LazySymbol<
4450        unsafe fn(
4451            c: *mut xcb_connection_t,
4452            provider: xcb_randr_provider_t,
4453            property: xcb_atom_t,
4454        ) -> xcb_void_cookie_t,
4455    >,
4456    xcb_randr_get_provider_property_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
4457    xcb_randr_get_provider_property: LazySymbol<
4458        unsafe fn(
4459            c: *mut xcb_connection_t,
4460            provider: xcb_randr_provider_t,
4461            property: xcb_atom_t,
4462            type_: xcb_atom_t,
4463            long_offset: u32,
4464            long_length: u32,
4465            delete: u8,
4466            pending: u8,
4467        ) -> xcb_randr_get_provider_property_cookie_t,
4468    >,
4469    xcb_randr_get_provider_property_unchecked: LazySymbol<
4470        unsafe fn(
4471            c: *mut xcb_connection_t,
4472            provider: xcb_randr_provider_t,
4473            property: xcb_atom_t,
4474            type_: xcb_atom_t,
4475            long_offset: u32,
4476            long_length: u32,
4477            delete: u8,
4478            pending: u8,
4479        ) -> xcb_randr_get_provider_property_cookie_t,
4480    >,
4481    xcb_randr_get_provider_property_data:
4482        LazySymbol<unsafe fn(r: *const xcb_randr_get_provider_property_reply_t) -> *mut c_void>,
4483    xcb_randr_get_provider_property_data_length:
4484        LazySymbol<unsafe fn(r: *const xcb_randr_get_provider_property_reply_t) -> c_int>,
4485    xcb_randr_get_provider_property_data_end: LazySymbol<
4486        unsafe fn(r: *const xcb_randr_get_provider_property_reply_t) -> xcb_generic_iterator_t,
4487    >,
4488    xcb_randr_get_provider_property_reply: LazySymbol<
4489        unsafe fn(
4490            c: *mut xcb_connection_t,
4491            cookie: xcb_randr_get_provider_property_cookie_t,
4492            e: *mut *mut xcb_generic_error_t,
4493        ) -> *mut xcb_randr_get_provider_property_reply_t,
4494    >,
4495    xcb_randr_crtc_change_next: LazySymbol<unsafe fn(i: *mut xcb_randr_crtc_change_iterator_t)>,
4496    xcb_randr_crtc_change_end:
4497        LazySymbol<unsafe fn(i: xcb_randr_crtc_change_iterator_t) -> xcb_generic_iterator_t>,
4498    xcb_randr_output_change_next: LazySymbol<unsafe fn(i: *mut xcb_randr_output_change_iterator_t)>,
4499    xcb_randr_output_change_end:
4500        LazySymbol<unsafe fn(i: xcb_randr_output_change_iterator_t) -> xcb_generic_iterator_t>,
4501    xcb_randr_output_property_next:
4502        LazySymbol<unsafe fn(i: *mut xcb_randr_output_property_iterator_t)>,
4503    xcb_randr_output_property_end:
4504        LazySymbol<unsafe fn(i: xcb_randr_output_property_iterator_t) -> xcb_generic_iterator_t>,
4505    xcb_randr_provider_change_next:
4506        LazySymbol<unsafe fn(i: *mut xcb_randr_provider_change_iterator_t)>,
4507    xcb_randr_provider_change_end:
4508        LazySymbol<unsafe fn(i: xcb_randr_provider_change_iterator_t) -> xcb_generic_iterator_t>,
4509    xcb_randr_provider_property_next:
4510        LazySymbol<unsafe fn(i: *mut xcb_randr_provider_property_iterator_t)>,
4511    xcb_randr_provider_property_end:
4512        LazySymbol<unsafe fn(i: xcb_randr_provider_property_iterator_t) -> xcb_generic_iterator_t>,
4513    xcb_randr_resource_change_next:
4514        LazySymbol<unsafe fn(i: *mut xcb_randr_resource_change_iterator_t)>,
4515    xcb_randr_resource_change_end:
4516        LazySymbol<unsafe fn(i: xcb_randr_resource_change_iterator_t) -> xcb_generic_iterator_t>,
4517    xcb_randr_monitor_info_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
4518    xcb_randr_monitor_info_outputs:
4519        LazySymbol<unsafe fn(r: *const xcb_randr_monitor_info_t) -> *mut xcb_randr_output_t>,
4520    xcb_randr_monitor_info_outputs_length:
4521        LazySymbol<unsafe fn(r: *const xcb_randr_monitor_info_t) -> c_int>,
4522    xcb_randr_monitor_info_outputs_end:
4523        LazySymbol<unsafe fn(r: *const xcb_randr_monitor_info_t) -> xcb_generic_iterator_t>,
4524    xcb_randr_monitor_info_next: LazySymbol<unsafe fn(i: *mut xcb_randr_monitor_info_iterator_t)>,
4525    xcb_randr_monitor_info_end:
4526        LazySymbol<unsafe fn(i: xcb_randr_monitor_info_iterator_t) -> xcb_generic_iterator_t>,
4527    xcb_randr_get_monitors_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
4528    xcb_randr_get_monitors: LazySymbol<
4529        unsafe fn(
4530            c: *mut xcb_connection_t,
4531            window: xcb_window_t,
4532            get_active: u8,
4533        ) -> xcb_randr_get_monitors_cookie_t,
4534    >,
4535    xcb_randr_get_monitors_unchecked: LazySymbol<
4536        unsafe fn(
4537            c: *mut xcb_connection_t,
4538            window: xcb_window_t,
4539            get_active: u8,
4540        ) -> xcb_randr_get_monitors_cookie_t,
4541    >,
4542    xcb_randr_get_monitors_monitors_length:
4543        LazySymbol<unsafe fn(r: *const xcb_randr_get_monitors_reply_t) -> c_int>,
4544    xcb_randr_get_monitors_monitors_iterator: LazySymbol<
4545        unsafe fn(r: *const xcb_randr_get_monitors_reply_t) -> xcb_randr_monitor_info_iterator_t,
4546    >,
4547    xcb_randr_get_monitors_reply: LazySymbol<
4548        unsafe fn(
4549            c: *mut xcb_connection_t,
4550            cookie: xcb_randr_get_monitors_cookie_t,
4551            e: *mut *mut xcb_generic_error_t,
4552        ) -> *mut xcb_randr_get_monitors_reply_t,
4553    >,
4554    xcb_randr_set_monitor_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
4555    xcb_randr_set_monitor_checked: LazySymbol<
4556        unsafe fn(
4557            c: *mut xcb_connection_t,
4558            window: xcb_window_t,
4559            monitorinfo: *mut xcb_randr_monitor_info_t,
4560        ) -> xcb_void_cookie_t,
4561    >,
4562    xcb_randr_set_monitor: LazySymbol<
4563        unsafe fn(
4564            c: *mut xcb_connection_t,
4565            window: xcb_window_t,
4566            monitorinfo: *mut xcb_randr_monitor_info_t,
4567        ) -> xcb_void_cookie_t,
4568    >,
4569    xcb_randr_set_monitor_monitorinfo: LazySymbol<
4570        unsafe fn(r: *const xcb_randr_set_monitor_request_t) -> *mut xcb_randr_monitor_info_t,
4571    >,
4572    xcb_randr_delete_monitor_checked: LazySymbol<
4573        unsafe fn(
4574            c: *mut xcb_connection_t,
4575            window: xcb_window_t,
4576            name: xcb_atom_t,
4577        ) -> xcb_void_cookie_t,
4578    >,
4579    xcb_randr_delete_monitor: LazySymbol<
4580        unsafe fn(
4581            c: *mut xcb_connection_t,
4582            window: xcb_window_t,
4583            name: xcb_atom_t,
4584        ) -> xcb_void_cookie_t,
4585    >,
4586    xcb_randr_create_lease_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
4587    xcb_randr_create_lease: LazySymbol<
4588        unsafe fn(
4589            c: *mut xcb_connection_t,
4590            window: xcb_window_t,
4591            lid: xcb_randr_lease_t,
4592            num_crtcs: u16,
4593            num_outputs: u16,
4594            crtcs: *const xcb_randr_crtc_t,
4595            outputs: *const xcb_randr_output_t,
4596        ) -> xcb_randr_create_lease_cookie_t,
4597    >,
4598    xcb_randr_create_lease_unchecked: LazySymbol<
4599        unsafe fn(
4600            c: *mut xcb_connection_t,
4601            window: xcb_window_t,
4602            lid: xcb_randr_lease_t,
4603            num_crtcs: u16,
4604            num_outputs: u16,
4605            crtcs: *const xcb_randr_crtc_t,
4606            outputs: *const xcb_randr_output_t,
4607        ) -> xcb_randr_create_lease_cookie_t,
4608    >,
4609    xcb_randr_create_lease_reply: LazySymbol<
4610        unsafe fn(
4611            c: *mut xcb_connection_t,
4612            cookie: xcb_randr_create_lease_cookie_t,
4613            e: *mut *mut xcb_generic_error_t,
4614        ) -> *mut xcb_randr_create_lease_reply_t,
4615    >,
4616    xcb_randr_create_lease_reply_fds: LazySymbol<
4617        unsafe fn(
4618            c: *mut xcb_connection_t,
4619            reply: *mut xcb_randr_create_lease_reply_t,
4620        ) -> *mut c_int,
4621    >,
4622    xcb_randr_free_lease_checked: LazySymbol<
4623        unsafe fn(
4624            c: *mut xcb_connection_t,
4625            lid: xcb_randr_lease_t,
4626            terminate: u8,
4627        ) -> xcb_void_cookie_t,
4628    >,
4629    xcb_randr_free_lease: LazySymbol<
4630        unsafe fn(
4631            c: *mut xcb_connection_t,
4632            lid: xcb_randr_lease_t,
4633            terminate: u8,
4634        ) -> xcb_void_cookie_t,
4635    >,
4636    xcb_randr_lease_notify_next: LazySymbol<unsafe fn(i: *mut xcb_randr_lease_notify_iterator_t)>,
4637    xcb_randr_lease_notify_end:
4638        LazySymbol<unsafe fn(i: xcb_randr_lease_notify_iterator_t) -> xcb_generic_iterator_t>,
4639    xcb_randr_notify_data_next: LazySymbol<unsafe fn(i: *mut xcb_randr_notify_data_iterator_t)>,
4640    xcb_randr_notify_data_end:
4641        LazySymbol<unsafe fn(i: xcb_randr_notify_data_iterator_t) -> xcb_generic_iterator_t>,
4642}
4643
4644macro_rules! sym {
4645    ($self:expr, $f:ident) => {
4646        $self
4647            .randr
4648            .$f
4649            .get(&$self.lib, concat!(stringify!($f), "\0"))
4650    };
4651}
4652
4653macro_rules! has_sym {
4654    ($self:expr, $f:ident) => {
4655        unsafe {
4656            $self
4657                .randr
4658                .$f
4659                .exists(&$self.lib, concat!(stringify!($f), "\0"))
4660        }
4661    };
4662}
4663
4664#[cfg(feature = "xcb_randr")]
4665impl XcbRandr {
4666    /// The libxcb identifier of the `RandR` extension.
4667    #[inline]
4668    pub fn xcb_randr_id(&self) -> *mut xcb_extension_t {
4669        unsafe { sym!(self, xcb_randr_id) }
4670    }
4671
4672    /// Returns `true` iff the symbol `xcb_randr_id` could be loaded.
4673    #[cfg(feature = "has_symbol")]
4674    pub fn has_xcb_randr_id(&self) -> bool {
4675        has_sym!(self, xcb_randr_id)
4676    }
4677
4678    /// Advances a `xcb_randr_mode_iterator_t` iterator by 1 element.
4679    #[inline]
4680    pub unsafe fn xcb_randr_mode_next(&self, i: *mut xcb_randr_mode_iterator_t) {
4681        sym!(self, xcb_randr_mode_next)(i)
4682    }
4683
4684    /// Returns `true` iff the symbol `xcb_randr_mode_next` could be loaded.
4685    #[cfg(feature = "has_symbol")]
4686    pub fn has_xcb_randr_mode_next(&self) -> bool {
4687        has_sym!(self, xcb_randr_mode_next)
4688    }
4689
4690    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_randr_mode_iterator_t`.
4691    #[inline]
4692    pub unsafe fn xcb_randr_mode_end(
4693        &self,
4694        i: xcb_randr_mode_iterator_t,
4695    ) -> xcb_generic_iterator_t {
4696        sym!(self, xcb_randr_mode_end)(i)
4697    }
4698
4699    /// Returns `true` iff the symbol `xcb_randr_mode_end` could be loaded.
4700    #[cfg(feature = "has_symbol")]
4701    pub fn has_xcb_randr_mode_end(&self) -> bool {
4702        has_sym!(self, xcb_randr_mode_end)
4703    }
4704
4705    /// Advances a `xcb_randr_crtc_iterator_t` iterator by 1 element.
4706    #[inline]
4707    pub unsafe fn xcb_randr_crtc_next(&self, i: *mut xcb_randr_crtc_iterator_t) {
4708        sym!(self, xcb_randr_crtc_next)(i)
4709    }
4710
4711    /// Returns `true` iff the symbol `xcb_randr_crtc_next` could be loaded.
4712    #[cfg(feature = "has_symbol")]
4713    pub fn has_xcb_randr_crtc_next(&self) -> bool {
4714        has_sym!(self, xcb_randr_crtc_next)
4715    }
4716
4717    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_randr_crtc_iterator_t`.
4718    #[inline]
4719    pub unsafe fn xcb_randr_crtc_end(
4720        &self,
4721        i: xcb_randr_crtc_iterator_t,
4722    ) -> xcb_generic_iterator_t {
4723        sym!(self, xcb_randr_crtc_end)(i)
4724    }
4725
4726    /// Returns `true` iff the symbol `xcb_randr_crtc_end` could be loaded.
4727    #[cfg(feature = "has_symbol")]
4728    pub fn has_xcb_randr_crtc_end(&self) -> bool {
4729        has_sym!(self, xcb_randr_crtc_end)
4730    }
4731
4732    /// Advances a `xcb_randr_output_iterator_t` iterator by 1 element.
4733    #[inline]
4734    pub unsafe fn xcb_randr_output_next(&self, i: *mut xcb_randr_output_iterator_t) {
4735        sym!(self, xcb_randr_output_next)(i)
4736    }
4737
4738    /// Returns `true` iff the symbol `xcb_randr_output_next` could be loaded.
4739    #[cfg(feature = "has_symbol")]
4740    pub fn has_xcb_randr_output_next(&self) -> bool {
4741        has_sym!(self, xcb_randr_output_next)
4742    }
4743
4744    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_randr_output_iterator_t`.
4745    #[inline]
4746    pub unsafe fn xcb_randr_output_end(
4747        &self,
4748        i: xcb_randr_output_iterator_t,
4749    ) -> xcb_generic_iterator_t {
4750        sym!(self, xcb_randr_output_end)(i)
4751    }
4752
4753    /// Returns `true` iff the symbol `xcb_randr_output_end` could be loaded.
4754    #[cfg(feature = "has_symbol")]
4755    pub fn has_xcb_randr_output_end(&self) -> bool {
4756        has_sym!(self, xcb_randr_output_end)
4757    }
4758
4759    /// Advances a `xcb_randr_provider_iterator_t` iterator by 1 element.
4760    #[inline]
4761    pub unsafe fn xcb_randr_provider_next(&self, i: *mut xcb_randr_provider_iterator_t) {
4762        sym!(self, xcb_randr_provider_next)(i)
4763    }
4764
4765    /// Returns `true` iff the symbol `xcb_randr_provider_next` could be loaded.
4766    #[cfg(feature = "has_symbol")]
4767    pub fn has_xcb_randr_provider_next(&self) -> bool {
4768        has_sym!(self, xcb_randr_provider_next)
4769    }
4770
4771    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_randr_provider_iterator_t`.
4772    #[inline]
4773    pub unsafe fn xcb_randr_provider_end(
4774        &self,
4775        i: xcb_randr_provider_iterator_t,
4776    ) -> xcb_generic_iterator_t {
4777        sym!(self, xcb_randr_provider_end)(i)
4778    }
4779
4780    /// Returns `true` iff the symbol `xcb_randr_provider_end` could be loaded.
4781    #[cfg(feature = "has_symbol")]
4782    pub fn has_xcb_randr_provider_end(&self) -> bool {
4783        has_sym!(self, xcb_randr_provider_end)
4784    }
4785
4786    /// Advances a `xcb_randr_lease_iterator_t` iterator by 1 element.
4787    #[inline]
4788    pub unsafe fn xcb_randr_lease_next(&self, i: *mut xcb_randr_lease_iterator_t) {
4789        sym!(self, xcb_randr_lease_next)(i)
4790    }
4791
4792    /// Returns `true` iff the symbol `xcb_randr_lease_next` could be loaded.
4793    #[cfg(feature = "has_symbol")]
4794    pub fn has_xcb_randr_lease_next(&self) -> bool {
4795        has_sym!(self, xcb_randr_lease_next)
4796    }
4797
4798    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_randr_lease_iterator_t`.
4799    #[inline]
4800    pub unsafe fn xcb_randr_lease_end(
4801        &self,
4802        i: xcb_randr_lease_iterator_t,
4803    ) -> xcb_generic_iterator_t {
4804        sym!(self, xcb_randr_lease_end)(i)
4805    }
4806
4807    /// Returns `true` iff the symbol `xcb_randr_lease_end` could be loaded.
4808    #[cfg(feature = "has_symbol")]
4809    pub fn has_xcb_randr_lease_end(&self) -> bool {
4810        has_sym!(self, xcb_randr_lease_end)
4811    }
4812
4813    /// Advances a `xcb_randr_screen_size_iterator_t` iterator by 1 element.
4814    #[inline]
4815    pub unsafe fn xcb_randr_screen_size_next(&self, i: *mut xcb_randr_screen_size_iterator_t) {
4816        sym!(self, xcb_randr_screen_size_next)(i)
4817    }
4818
4819    /// Returns `true` iff the symbol `xcb_randr_screen_size_next` could be loaded.
4820    #[cfg(feature = "has_symbol")]
4821    pub fn has_xcb_randr_screen_size_next(&self) -> bool {
4822        has_sym!(self, xcb_randr_screen_size_next)
4823    }
4824
4825    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_randr_screen_size_iterator_t`.
4826    #[inline]
4827    pub unsafe fn xcb_randr_screen_size_end(
4828        &self,
4829        i: xcb_randr_screen_size_iterator_t,
4830    ) -> xcb_generic_iterator_t {
4831        sym!(self, xcb_randr_screen_size_end)(i)
4832    }
4833
4834    /// Returns `true` iff the symbol `xcb_randr_screen_size_end` could be loaded.
4835    #[cfg(feature = "has_symbol")]
4836    pub fn has_xcb_randr_screen_size_end(&self) -> bool {
4837        has_sym!(self, xcb_randr_screen_size_end)
4838    }
4839
4840    /// Computes the size of a `xcb_randr_refresh_rates_t` object.
4841    #[inline]
4842    pub unsafe fn xcb_randr_refresh_rates_sizeof(&self, _buffer: *const c_void) -> c_int {
4843        sym!(self, xcb_randr_refresh_rates_sizeof)(_buffer)
4844    }
4845
4846    /// Returns `true` iff the symbol `xcb_randr_refresh_rates_sizeof` could be loaded.
4847    #[cfg(feature = "has_symbol")]
4848    pub fn has_xcb_randr_refresh_rates_sizeof(&self) -> bool {
4849        has_sym!(self, xcb_randr_refresh_rates_sizeof)
4850    }
4851
4852    /// Returns a pointer to the `rates` field of a `xcb_randr_refresh_rates_t` struct.
4853    #[inline]
4854    pub unsafe fn xcb_randr_refresh_rates_rates(
4855        &self,
4856        r: *const xcb_randr_refresh_rates_t,
4857    ) -> *mut u16 {
4858        sym!(self, xcb_randr_refresh_rates_rates)(r)
4859    }
4860
4861    /// Returns `true` iff the symbol `xcb_randr_refresh_rates_rates` could be loaded.
4862    #[cfg(feature = "has_symbol")]
4863    pub fn has_xcb_randr_refresh_rates_rates(&self) -> bool {
4864        has_sym!(self, xcb_randr_refresh_rates_rates)
4865    }
4866
4867    /// Returns the number of elements of the `rates` field of a `xcb_randr_refresh_rates_t` struct.
4868    #[inline]
4869    pub unsafe fn xcb_randr_refresh_rates_rates_length(
4870        &self,
4871        r: *const xcb_randr_refresh_rates_t,
4872    ) -> c_int {
4873        sym!(self, xcb_randr_refresh_rates_rates_length)(r)
4874    }
4875
4876    /// Returns `true` iff the symbol `xcb_randr_refresh_rates_rates_length` could be loaded.
4877    #[cfg(feature = "has_symbol")]
4878    pub fn has_xcb_randr_refresh_rates_rates_length(&self) -> bool {
4879        has_sym!(self, xcb_randr_refresh_rates_rates_length)
4880    }
4881
4882    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
4883    /// `rates` field of a `xcb_randr_refresh_rates_t` struct.
4884    #[inline]
4885    pub unsafe fn xcb_randr_refresh_rates_rates_end(
4886        &self,
4887        r: *const xcb_randr_refresh_rates_t,
4888    ) -> xcb_generic_iterator_t {
4889        sym!(self, xcb_randr_refresh_rates_rates_end)(r)
4890    }
4891
4892    /// Returns `true` iff the symbol `xcb_randr_refresh_rates_rates_end` could be loaded.
4893    #[cfg(feature = "has_symbol")]
4894    pub fn has_xcb_randr_refresh_rates_rates_end(&self) -> bool {
4895        has_sym!(self, xcb_randr_refresh_rates_rates_end)
4896    }
4897
4898    /// Advances a `xcb_randr_refresh_rates_iterator_t` iterator by 1 element.
4899    #[inline]
4900    pub unsafe fn xcb_randr_refresh_rates_next(&self, i: *mut xcb_randr_refresh_rates_iterator_t) {
4901        sym!(self, xcb_randr_refresh_rates_next)(i)
4902    }
4903
4904    /// Returns `true` iff the symbol `xcb_randr_refresh_rates_next` could be loaded.
4905    #[cfg(feature = "has_symbol")]
4906    pub fn has_xcb_randr_refresh_rates_next(&self) -> bool {
4907        has_sym!(self, xcb_randr_refresh_rates_next)
4908    }
4909
4910    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_randr_refresh_rates_iterator_t`.
4911    #[inline]
4912    pub unsafe fn xcb_randr_refresh_rates_end(
4913        &self,
4914        i: xcb_randr_refresh_rates_iterator_t,
4915    ) -> xcb_generic_iterator_t {
4916        sym!(self, xcb_randr_refresh_rates_end)(i)
4917    }
4918
4919    /// Returns `true` iff the symbol `xcb_randr_refresh_rates_end` could be loaded.
4920    #[cfg(feature = "has_symbol")]
4921    pub fn has_xcb_randr_refresh_rates_end(&self) -> bool {
4922        has_sym!(self, xcb_randr_refresh_rates_end)
4923    }
4924
4925    /// Sends a `RandR::QueryVersion` request (checked).
4926    ///
4927    /// This request generates a reply. You must either discard it with
4928    /// [`discard_reply`] or retrieve it with [`xcb_randr_query_version_reply`].
4929    ///
4930    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
4931    /// [`xcb_randr_query_version_reply`]: Self::xcb_randr_query_version_reply
4932    #[inline]
4933    pub unsafe fn xcb_randr_query_version(
4934        &self,
4935        c: *mut xcb_connection_t,
4936        major_version: u32,
4937        minor_version: u32,
4938    ) -> xcb_randr_query_version_cookie_t {
4939        sym!(self, xcb_randr_query_version)(c, major_version, minor_version)
4940    }
4941
4942    /// Returns `true` iff the symbol `xcb_randr_query_version` could be loaded.
4943    #[cfg(feature = "has_symbol")]
4944    pub fn has_xcb_randr_query_version(&self) -> bool {
4945        has_sym!(self, xcb_randr_query_version)
4946    }
4947
4948    /// Sends a `RandR::QueryVersion` request (unchecked).
4949    ///
4950    /// This request generates a reply. You must either discard it with
4951    /// [`discard_reply`] or retrieve it with [`xcb_randr_query_version_reply`].
4952    ///
4953    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
4954    /// [`xcb_randr_query_version_reply`]: Self::xcb_randr_query_version_reply
4955    #[inline]
4956    pub unsafe fn xcb_randr_query_version_unchecked(
4957        &self,
4958        c: *mut xcb_connection_t,
4959        major_version: u32,
4960        minor_version: u32,
4961    ) -> xcb_randr_query_version_cookie_t {
4962        sym!(self, xcb_randr_query_version_unchecked)(c, major_version, minor_version)
4963    }
4964
4965    /// Returns `true` iff the symbol `xcb_randr_query_version_unchecked` could be loaded.
4966    #[cfg(feature = "has_symbol")]
4967    pub fn has_xcb_randr_query_version_unchecked(&self) -> bool {
4968        has_sym!(self, xcb_randr_query_version_unchecked)
4969    }
4970
4971    /// Waits for the reply to a `RandR::QueryVersion` request.
4972    #[inline]
4973    pub unsafe fn xcb_randr_query_version_reply(
4974        &self,
4975        c: *mut xcb_connection_t,
4976        cookie: xcb_randr_query_version_cookie_t,
4977        e: *mut *mut xcb_generic_error_t,
4978    ) -> *mut xcb_randr_query_version_reply_t {
4979        sym!(self, xcb_randr_query_version_reply)(c, cookie, e)
4980    }
4981
4982    /// Returns `true` iff the symbol `xcb_randr_query_version_reply` could be loaded.
4983    #[cfg(feature = "has_symbol")]
4984    pub fn has_xcb_randr_query_version_reply(&self) -> bool {
4985        has_sym!(self, xcb_randr_query_version_reply)
4986    }
4987
4988    /// Sends a `RandR::SetScreenConfig` request (checked).
4989    ///
4990    /// This request generates a reply. You must either discard it with
4991    /// [`discard_reply`] or retrieve it with [`xcb_randr_set_screen_config_reply`].
4992    ///
4993    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
4994    /// [`xcb_randr_set_screen_config_reply`]: Self::xcb_randr_set_screen_config_reply
4995    #[inline]
4996    pub unsafe fn xcb_randr_set_screen_config(
4997        &self,
4998        c: *mut xcb_connection_t,
4999        window: xcb_window_t,
5000        timestamp: xcb_timestamp_t,
5001        config_timestamp: xcb_timestamp_t,
5002        size_id: u16,
5003        rotation: u16,
5004        rate: u16,
5005    ) -> xcb_randr_set_screen_config_cookie_t {
5006        sym!(self, xcb_randr_set_screen_config)(
5007            c,
5008            window,
5009            timestamp,
5010            config_timestamp,
5011            size_id,
5012            rotation,
5013            rate,
5014        )
5015    }
5016
5017    /// Returns `true` iff the symbol `xcb_randr_set_screen_config` could be loaded.
5018    #[cfg(feature = "has_symbol")]
5019    pub fn has_xcb_randr_set_screen_config(&self) -> bool {
5020        has_sym!(self, xcb_randr_set_screen_config)
5021    }
5022
5023    /// Sends a `RandR::SetScreenConfig` request (unchecked).
5024    ///
5025    /// This request generates a reply. You must either discard it with
5026    /// [`discard_reply`] or retrieve it with [`xcb_randr_set_screen_config_reply`].
5027    ///
5028    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
5029    /// [`xcb_randr_set_screen_config_reply`]: Self::xcb_randr_set_screen_config_reply
5030    #[inline]
5031    pub unsafe fn xcb_randr_set_screen_config_unchecked(
5032        &self,
5033        c: *mut xcb_connection_t,
5034        window: xcb_window_t,
5035        timestamp: xcb_timestamp_t,
5036        config_timestamp: xcb_timestamp_t,
5037        size_id: u16,
5038        rotation: u16,
5039        rate: u16,
5040    ) -> xcb_randr_set_screen_config_cookie_t {
5041        sym!(self, xcb_randr_set_screen_config_unchecked)(
5042            c,
5043            window,
5044            timestamp,
5045            config_timestamp,
5046            size_id,
5047            rotation,
5048            rate,
5049        )
5050    }
5051
5052    /// Returns `true` iff the symbol `xcb_randr_set_screen_config_unchecked` could be loaded.
5053    #[cfg(feature = "has_symbol")]
5054    pub fn has_xcb_randr_set_screen_config_unchecked(&self) -> bool {
5055        has_sym!(self, xcb_randr_set_screen_config_unchecked)
5056    }
5057
5058    /// Waits for the reply to a `RandR::SetScreenConfig` request.
5059    #[inline]
5060    pub unsafe fn xcb_randr_set_screen_config_reply(
5061        &self,
5062        c: *mut xcb_connection_t,
5063        cookie: xcb_randr_set_screen_config_cookie_t,
5064        e: *mut *mut xcb_generic_error_t,
5065    ) -> *mut xcb_randr_set_screen_config_reply_t {
5066        sym!(self, xcb_randr_set_screen_config_reply)(c, cookie, e)
5067    }
5068
5069    /// Returns `true` iff the symbol `xcb_randr_set_screen_config_reply` could be loaded.
5070    #[cfg(feature = "has_symbol")]
5071    pub fn has_xcb_randr_set_screen_config_reply(&self) -> bool {
5072        has_sym!(self, xcb_randr_set_screen_config_reply)
5073    }
5074
5075    /// Sends a `RandR::SelectInput` request (checked).
5076    ///
5077    /// This request generates a reply. You must either discard it with
5078    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
5079    ///
5080    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
5081    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
5082    #[inline]
5083    pub unsafe fn xcb_randr_select_input_checked(
5084        &self,
5085        c: *mut xcb_connection_t,
5086        window: xcb_window_t,
5087        enable: u16,
5088    ) -> xcb_void_cookie_t {
5089        sym!(self, xcb_randr_select_input_checked)(c, window, enable)
5090    }
5091
5092    /// Returns `true` iff the symbol `xcb_randr_select_input_checked` could be loaded.
5093    #[cfg(feature = "has_symbol")]
5094    pub fn has_xcb_randr_select_input_checked(&self) -> bool {
5095        has_sym!(self, xcb_randr_select_input_checked)
5096    }
5097
5098    /// Sends a `RandR::SelectInput` request (unchecked).
5099    #[inline]
5100    pub unsafe fn xcb_randr_select_input(
5101        &self,
5102        c: *mut xcb_connection_t,
5103        window: xcb_window_t,
5104        enable: u16,
5105    ) -> xcb_void_cookie_t {
5106        sym!(self, xcb_randr_select_input)(c, window, enable)
5107    }
5108
5109    /// Returns `true` iff the symbol `xcb_randr_select_input` could be loaded.
5110    #[cfg(feature = "has_symbol")]
5111    pub fn has_xcb_randr_select_input(&self) -> bool {
5112        has_sym!(self, xcb_randr_select_input)
5113    }
5114
5115    /// Computes the size of a `xcb_randr_get_screen_info_reply_t` object.
5116    #[inline]
5117    pub unsafe fn xcb_randr_get_screen_info_sizeof(&self, _buffer: *const c_void) -> c_int {
5118        sym!(self, xcb_randr_get_screen_info_sizeof)(_buffer)
5119    }
5120
5121    /// Returns `true` iff the symbol `xcb_randr_get_screen_info_sizeof` could be loaded.
5122    #[cfg(feature = "has_symbol")]
5123    pub fn has_xcb_randr_get_screen_info_sizeof(&self) -> bool {
5124        has_sym!(self, xcb_randr_get_screen_info_sizeof)
5125    }
5126
5127    /// Sends a `RandR::GetScreenInfo` request (checked).
5128    ///
5129    /// This request generates a reply. You must either discard it with
5130    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_screen_info_reply`].
5131    ///
5132    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
5133    /// [`xcb_randr_get_screen_info_reply`]: Self::xcb_randr_get_screen_info_reply
5134    #[inline]
5135    pub unsafe fn xcb_randr_get_screen_info(
5136        &self,
5137        c: *mut xcb_connection_t,
5138        window: xcb_window_t,
5139    ) -> xcb_randr_get_screen_info_cookie_t {
5140        sym!(self, xcb_randr_get_screen_info)(c, window)
5141    }
5142
5143    /// Returns `true` iff the symbol `xcb_randr_get_screen_info` could be loaded.
5144    #[cfg(feature = "has_symbol")]
5145    pub fn has_xcb_randr_get_screen_info(&self) -> bool {
5146        has_sym!(self, xcb_randr_get_screen_info)
5147    }
5148
5149    /// Sends a `RandR::GetScreenInfo` request (unchecked).
5150    ///
5151    /// This request generates a reply. You must either discard it with
5152    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_screen_info_reply`].
5153    ///
5154    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
5155    /// [`xcb_randr_get_screen_info_reply`]: Self::xcb_randr_get_screen_info_reply
5156    #[inline]
5157    pub unsafe fn xcb_randr_get_screen_info_unchecked(
5158        &self,
5159        c: *mut xcb_connection_t,
5160        window: xcb_window_t,
5161    ) -> xcb_randr_get_screen_info_cookie_t {
5162        sym!(self, xcb_randr_get_screen_info_unchecked)(c, window)
5163    }
5164
5165    /// Returns `true` iff the symbol `xcb_randr_get_screen_info_unchecked` could be loaded.
5166    #[cfg(feature = "has_symbol")]
5167    pub fn has_xcb_randr_get_screen_info_unchecked(&self) -> bool {
5168        has_sym!(self, xcb_randr_get_screen_info_unchecked)
5169    }
5170
5171    /// Returns a pointer to the `sizes` field of a `xcb_randr_get_screen_info_reply_t` struct.
5172    #[inline]
5173    pub unsafe fn xcb_randr_get_screen_info_sizes(
5174        &self,
5175        r: *const xcb_randr_get_screen_info_reply_t,
5176    ) -> *mut xcb_randr_screen_size_t {
5177        sym!(self, xcb_randr_get_screen_info_sizes)(r)
5178    }
5179
5180    /// Returns `true` iff the symbol `xcb_randr_get_screen_info_sizes` could be loaded.
5181    #[cfg(feature = "has_symbol")]
5182    pub fn has_xcb_randr_get_screen_info_sizes(&self) -> bool {
5183        has_sym!(self, xcb_randr_get_screen_info_sizes)
5184    }
5185
5186    /// Returns the number of elements of the `sizes` field of a `xcb_randr_get_screen_info_reply_t` struct.
5187    #[inline]
5188    pub unsafe fn xcb_randr_get_screen_info_sizes_length(
5189        &self,
5190        r: *const xcb_randr_get_screen_info_reply_t,
5191    ) -> c_int {
5192        sym!(self, xcb_randr_get_screen_info_sizes_length)(r)
5193    }
5194
5195    /// Returns `true` iff the symbol `xcb_randr_get_screen_info_sizes_length` could be loaded.
5196    #[cfg(feature = "has_symbol")]
5197    pub fn has_xcb_randr_get_screen_info_sizes_length(&self) -> bool {
5198        has_sym!(self, xcb_randr_get_screen_info_sizes_length)
5199    }
5200
5201    /// Returns an iterator over the elements of the
5202    /// `sizes` field of a `xcb_randr_get_screen_info_reply_t` struct.
5203    #[inline]
5204    pub unsafe fn xcb_randr_get_screen_info_sizes_iterator(
5205        &self,
5206        r: *const xcb_randr_get_screen_info_reply_t,
5207    ) -> xcb_randr_screen_size_iterator_t {
5208        sym!(self, xcb_randr_get_screen_info_sizes_iterator)(r)
5209    }
5210
5211    /// Returns `true` iff the symbol `xcb_randr_get_screen_info_sizes_iterator` could be loaded.
5212    #[cfg(feature = "has_symbol")]
5213    pub fn has_xcb_randr_get_screen_info_sizes_iterator(&self) -> bool {
5214        has_sym!(self, xcb_randr_get_screen_info_sizes_iterator)
5215    }
5216
5217    /// Returns the number of elements of the `rates` field of a `xcb_randr_get_screen_info_reply_t` struct.
5218    #[inline]
5219    pub unsafe fn xcb_randr_get_screen_info_rates_length(
5220        &self,
5221        r: *const xcb_randr_get_screen_info_reply_t,
5222    ) -> c_int {
5223        sym!(self, xcb_randr_get_screen_info_rates_length)(r)
5224    }
5225
5226    /// Returns `true` iff the symbol `xcb_randr_get_screen_info_rates_length` could be loaded.
5227    #[cfg(feature = "has_symbol")]
5228    pub fn has_xcb_randr_get_screen_info_rates_length(&self) -> bool {
5229        has_sym!(self, xcb_randr_get_screen_info_rates_length)
5230    }
5231
5232    /// Returns an iterator over the elements of the
5233    /// `rates` field of a `xcb_randr_get_screen_info_reply_t` struct.
5234    #[inline]
5235    pub unsafe fn xcb_randr_get_screen_info_rates_iterator(
5236        &self,
5237        r: *const xcb_randr_get_screen_info_reply_t,
5238    ) -> xcb_randr_refresh_rates_iterator_t {
5239        sym!(self, xcb_randr_get_screen_info_rates_iterator)(r)
5240    }
5241
5242    /// Returns `true` iff the symbol `xcb_randr_get_screen_info_rates_iterator` could be loaded.
5243    #[cfg(feature = "has_symbol")]
5244    pub fn has_xcb_randr_get_screen_info_rates_iterator(&self) -> bool {
5245        has_sym!(self, xcb_randr_get_screen_info_rates_iterator)
5246    }
5247
5248    /// Waits for the reply to a `RandR::GetScreenInfo` request.
5249    #[inline]
5250    pub unsafe fn xcb_randr_get_screen_info_reply(
5251        &self,
5252        c: *mut xcb_connection_t,
5253        cookie: xcb_randr_get_screen_info_cookie_t,
5254        e: *mut *mut xcb_generic_error_t,
5255    ) -> *mut xcb_randr_get_screen_info_reply_t {
5256        sym!(self, xcb_randr_get_screen_info_reply)(c, cookie, e)
5257    }
5258
5259    /// Returns `true` iff the symbol `xcb_randr_get_screen_info_reply` could be loaded.
5260    #[cfg(feature = "has_symbol")]
5261    pub fn has_xcb_randr_get_screen_info_reply(&self) -> bool {
5262        has_sym!(self, xcb_randr_get_screen_info_reply)
5263    }
5264
5265    /// Sends a `RandR::GetScreenSizeRange` request (checked).
5266    ///
5267    /// This request generates a reply. You must either discard it with
5268    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_screen_size_range_reply`].
5269    ///
5270    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
5271    /// [`xcb_randr_get_screen_size_range_reply`]: Self::xcb_randr_get_screen_size_range_reply
5272    #[inline]
5273    pub unsafe fn xcb_randr_get_screen_size_range(
5274        &self,
5275        c: *mut xcb_connection_t,
5276        window: xcb_window_t,
5277    ) -> xcb_randr_get_screen_size_range_cookie_t {
5278        sym!(self, xcb_randr_get_screen_size_range)(c, window)
5279    }
5280
5281    /// Returns `true` iff the symbol `xcb_randr_get_screen_size_range` could be loaded.
5282    #[cfg(feature = "has_symbol")]
5283    pub fn has_xcb_randr_get_screen_size_range(&self) -> bool {
5284        has_sym!(self, xcb_randr_get_screen_size_range)
5285    }
5286
5287    /// Sends a `RandR::GetScreenSizeRange` request (unchecked).
5288    ///
5289    /// This request generates a reply. You must either discard it with
5290    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_screen_size_range_reply`].
5291    ///
5292    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
5293    /// [`xcb_randr_get_screen_size_range_reply`]: Self::xcb_randr_get_screen_size_range_reply
5294    #[inline]
5295    pub unsafe fn xcb_randr_get_screen_size_range_unchecked(
5296        &self,
5297        c: *mut xcb_connection_t,
5298        window: xcb_window_t,
5299    ) -> xcb_randr_get_screen_size_range_cookie_t {
5300        sym!(self, xcb_randr_get_screen_size_range_unchecked)(c, window)
5301    }
5302
5303    /// Returns `true` iff the symbol `xcb_randr_get_screen_size_range_unchecked` could be loaded.
5304    #[cfg(feature = "has_symbol")]
5305    pub fn has_xcb_randr_get_screen_size_range_unchecked(&self) -> bool {
5306        has_sym!(self, xcb_randr_get_screen_size_range_unchecked)
5307    }
5308
5309    /// Waits for the reply to a `RandR::GetScreenSizeRange` request.
5310    #[inline]
5311    pub unsafe fn xcb_randr_get_screen_size_range_reply(
5312        &self,
5313        c: *mut xcb_connection_t,
5314        cookie: xcb_randr_get_screen_size_range_cookie_t,
5315        e: *mut *mut xcb_generic_error_t,
5316    ) -> *mut xcb_randr_get_screen_size_range_reply_t {
5317        sym!(self, xcb_randr_get_screen_size_range_reply)(c, cookie, e)
5318    }
5319
5320    /// Returns `true` iff the symbol `xcb_randr_get_screen_size_range_reply` could be loaded.
5321    #[cfg(feature = "has_symbol")]
5322    pub fn has_xcb_randr_get_screen_size_range_reply(&self) -> bool {
5323        has_sym!(self, xcb_randr_get_screen_size_range_reply)
5324    }
5325
5326    /// Sends a `RandR::SetScreenSize` request (checked).
5327    ///
5328    /// This request generates a reply. You must either discard it with
5329    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
5330    ///
5331    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
5332    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
5333    #[inline]
5334    pub unsafe fn xcb_randr_set_screen_size_checked(
5335        &self,
5336        c: *mut xcb_connection_t,
5337        window: xcb_window_t,
5338        width: u16,
5339        height: u16,
5340        mm_width: u32,
5341        mm_height: u32,
5342    ) -> xcb_void_cookie_t {
5343        sym!(self, xcb_randr_set_screen_size_checked)(c, window, width, height, mm_width, mm_height)
5344    }
5345
5346    /// Returns `true` iff the symbol `xcb_randr_set_screen_size_checked` could be loaded.
5347    #[cfg(feature = "has_symbol")]
5348    pub fn has_xcb_randr_set_screen_size_checked(&self) -> bool {
5349        has_sym!(self, xcb_randr_set_screen_size_checked)
5350    }
5351
5352    /// Sends a `RandR::SetScreenSize` request (unchecked).
5353    #[inline]
5354    pub unsafe fn xcb_randr_set_screen_size(
5355        &self,
5356        c: *mut xcb_connection_t,
5357        window: xcb_window_t,
5358        width: u16,
5359        height: u16,
5360        mm_width: u32,
5361        mm_height: u32,
5362    ) -> xcb_void_cookie_t {
5363        sym!(self, xcb_randr_set_screen_size)(c, window, width, height, mm_width, mm_height)
5364    }
5365
5366    /// Returns `true` iff the symbol `xcb_randr_set_screen_size` could be loaded.
5367    #[cfg(feature = "has_symbol")]
5368    pub fn has_xcb_randr_set_screen_size(&self) -> bool {
5369        has_sym!(self, xcb_randr_set_screen_size)
5370    }
5371
5372    /// Advances a `xcb_randr_mode_info_iterator_t` iterator by 1 element.
5373    #[inline]
5374    pub unsafe fn xcb_randr_mode_info_next(&self, i: *mut xcb_randr_mode_info_iterator_t) {
5375        sym!(self, xcb_randr_mode_info_next)(i)
5376    }
5377
5378    /// Returns `true` iff the symbol `xcb_randr_mode_info_next` could be loaded.
5379    #[cfg(feature = "has_symbol")]
5380    pub fn has_xcb_randr_mode_info_next(&self) -> bool {
5381        has_sym!(self, xcb_randr_mode_info_next)
5382    }
5383
5384    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_randr_mode_info_iterator_t`.
5385    #[inline]
5386    pub unsafe fn xcb_randr_mode_info_end(
5387        &self,
5388        i: xcb_randr_mode_info_iterator_t,
5389    ) -> xcb_generic_iterator_t {
5390        sym!(self, xcb_randr_mode_info_end)(i)
5391    }
5392
5393    /// Returns `true` iff the symbol `xcb_randr_mode_info_end` could be loaded.
5394    #[cfg(feature = "has_symbol")]
5395    pub fn has_xcb_randr_mode_info_end(&self) -> bool {
5396        has_sym!(self, xcb_randr_mode_info_end)
5397    }
5398
5399    /// Computes the size of a `xcb_randr_get_screen_resources_reply_t` object.
5400    #[inline]
5401    pub unsafe fn xcb_randr_get_screen_resources_sizeof(&self, _buffer: *const c_void) -> c_int {
5402        sym!(self, xcb_randr_get_screen_resources_sizeof)(_buffer)
5403    }
5404
5405    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_sizeof` could be loaded.
5406    #[cfg(feature = "has_symbol")]
5407    pub fn has_xcb_randr_get_screen_resources_sizeof(&self) -> bool {
5408        has_sym!(self, xcb_randr_get_screen_resources_sizeof)
5409    }
5410
5411    /// Sends a `RandR::GetScreenResources` request (checked).
5412    ///
5413    /// This request generates a reply. You must either discard it with
5414    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_screen_resources_reply`].
5415    ///
5416    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
5417    /// [`xcb_randr_get_screen_resources_reply`]: Self::xcb_randr_get_screen_resources_reply
5418    #[inline]
5419    pub unsafe fn xcb_randr_get_screen_resources(
5420        &self,
5421        c: *mut xcb_connection_t,
5422        window: xcb_window_t,
5423    ) -> xcb_randr_get_screen_resources_cookie_t {
5424        sym!(self, xcb_randr_get_screen_resources)(c, window)
5425    }
5426
5427    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources` could be loaded.
5428    #[cfg(feature = "has_symbol")]
5429    pub fn has_xcb_randr_get_screen_resources(&self) -> bool {
5430        has_sym!(self, xcb_randr_get_screen_resources)
5431    }
5432
5433    /// Sends a `RandR::GetScreenResources` request (unchecked).
5434    ///
5435    /// This request generates a reply. You must either discard it with
5436    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_screen_resources_reply`].
5437    ///
5438    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
5439    /// [`xcb_randr_get_screen_resources_reply`]: Self::xcb_randr_get_screen_resources_reply
5440    #[inline]
5441    pub unsafe fn xcb_randr_get_screen_resources_unchecked(
5442        &self,
5443        c: *mut xcb_connection_t,
5444        window: xcb_window_t,
5445    ) -> xcb_randr_get_screen_resources_cookie_t {
5446        sym!(self, xcb_randr_get_screen_resources_unchecked)(c, window)
5447    }
5448
5449    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_unchecked` could be loaded.
5450    #[cfg(feature = "has_symbol")]
5451    pub fn has_xcb_randr_get_screen_resources_unchecked(&self) -> bool {
5452        has_sym!(self, xcb_randr_get_screen_resources_unchecked)
5453    }
5454
5455    /// Returns a pointer to the `crtcs` field of a `xcb_randr_get_screen_resources_reply_t` struct.
5456    #[inline]
5457    pub unsafe fn xcb_randr_get_screen_resources_crtcs(
5458        &self,
5459        r: *const xcb_randr_get_screen_resources_reply_t,
5460    ) -> *mut xcb_randr_crtc_t {
5461        sym!(self, xcb_randr_get_screen_resources_crtcs)(r)
5462    }
5463
5464    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_crtcs` could be loaded.
5465    #[cfg(feature = "has_symbol")]
5466    pub fn has_xcb_randr_get_screen_resources_crtcs(&self) -> bool {
5467        has_sym!(self, xcb_randr_get_screen_resources_crtcs)
5468    }
5469
5470    /// Returns the number of elements of the `crtcs` field of a `xcb_randr_get_screen_resources_reply_t` struct.
5471    #[inline]
5472    pub unsafe fn xcb_randr_get_screen_resources_crtcs_length(
5473        &self,
5474        r: *const xcb_randr_get_screen_resources_reply_t,
5475    ) -> c_int {
5476        sym!(self, xcb_randr_get_screen_resources_crtcs_length)(r)
5477    }
5478
5479    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_crtcs_length` could be loaded.
5480    #[cfg(feature = "has_symbol")]
5481    pub fn has_xcb_randr_get_screen_resources_crtcs_length(&self) -> bool {
5482        has_sym!(self, xcb_randr_get_screen_resources_crtcs_length)
5483    }
5484
5485    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
5486    /// `crtcs` field of a `xcb_randr_get_screen_resources_reply_t` struct.
5487    #[inline]
5488    pub unsafe fn xcb_randr_get_screen_resources_crtcs_end(
5489        &self,
5490        r: *const xcb_randr_get_screen_resources_reply_t,
5491    ) -> xcb_generic_iterator_t {
5492        sym!(self, xcb_randr_get_screen_resources_crtcs_end)(r)
5493    }
5494
5495    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_crtcs_end` could be loaded.
5496    #[cfg(feature = "has_symbol")]
5497    pub fn has_xcb_randr_get_screen_resources_crtcs_end(&self) -> bool {
5498        has_sym!(self, xcb_randr_get_screen_resources_crtcs_end)
5499    }
5500
5501    /// Returns a pointer to the `outputs` field of a `xcb_randr_get_screen_resources_reply_t` struct.
5502    #[inline]
5503    pub unsafe fn xcb_randr_get_screen_resources_outputs(
5504        &self,
5505        r: *const xcb_randr_get_screen_resources_reply_t,
5506    ) -> *mut xcb_randr_output_t {
5507        sym!(self, xcb_randr_get_screen_resources_outputs)(r)
5508    }
5509
5510    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_outputs` could be loaded.
5511    #[cfg(feature = "has_symbol")]
5512    pub fn has_xcb_randr_get_screen_resources_outputs(&self) -> bool {
5513        has_sym!(self, xcb_randr_get_screen_resources_outputs)
5514    }
5515
5516    /// Returns the number of elements of the `outputs` field of a `xcb_randr_get_screen_resources_reply_t` struct.
5517    #[inline]
5518    pub unsafe fn xcb_randr_get_screen_resources_outputs_length(
5519        &self,
5520        r: *const xcb_randr_get_screen_resources_reply_t,
5521    ) -> c_int {
5522        sym!(self, xcb_randr_get_screen_resources_outputs_length)(r)
5523    }
5524
5525    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_outputs_length` could be loaded.
5526    #[cfg(feature = "has_symbol")]
5527    pub fn has_xcb_randr_get_screen_resources_outputs_length(&self) -> bool {
5528        has_sym!(self, xcb_randr_get_screen_resources_outputs_length)
5529    }
5530
5531    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
5532    /// `outputs` field of a `xcb_randr_get_screen_resources_reply_t` struct.
5533    #[inline]
5534    pub unsafe fn xcb_randr_get_screen_resources_outputs_end(
5535        &self,
5536        r: *const xcb_randr_get_screen_resources_reply_t,
5537    ) -> xcb_generic_iterator_t {
5538        sym!(self, xcb_randr_get_screen_resources_outputs_end)(r)
5539    }
5540
5541    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_outputs_end` could be loaded.
5542    #[cfg(feature = "has_symbol")]
5543    pub fn has_xcb_randr_get_screen_resources_outputs_end(&self) -> bool {
5544        has_sym!(self, xcb_randr_get_screen_resources_outputs_end)
5545    }
5546
5547    /// Returns a pointer to the `modes` field of a `xcb_randr_get_screen_resources_reply_t` struct.
5548    #[inline]
5549    pub unsafe fn xcb_randr_get_screen_resources_modes(
5550        &self,
5551        r: *const xcb_randr_get_screen_resources_reply_t,
5552    ) -> *mut xcb_randr_mode_info_t {
5553        sym!(self, xcb_randr_get_screen_resources_modes)(r)
5554    }
5555
5556    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_modes` could be loaded.
5557    #[cfg(feature = "has_symbol")]
5558    pub fn has_xcb_randr_get_screen_resources_modes(&self) -> bool {
5559        has_sym!(self, xcb_randr_get_screen_resources_modes)
5560    }
5561
5562    /// Returns the number of elements of the `modes` field of a `xcb_randr_get_screen_resources_reply_t` struct.
5563    #[inline]
5564    pub unsafe fn xcb_randr_get_screen_resources_modes_length(
5565        &self,
5566        r: *const xcb_randr_get_screen_resources_reply_t,
5567    ) -> c_int {
5568        sym!(self, xcb_randr_get_screen_resources_modes_length)(r)
5569    }
5570
5571    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_modes_length` could be loaded.
5572    #[cfg(feature = "has_symbol")]
5573    pub fn has_xcb_randr_get_screen_resources_modes_length(&self) -> bool {
5574        has_sym!(self, xcb_randr_get_screen_resources_modes_length)
5575    }
5576
5577    /// Returns an iterator over the elements of the
5578    /// `modes` field of a `xcb_randr_get_screen_resources_reply_t` struct.
5579    #[inline]
5580    pub unsafe fn xcb_randr_get_screen_resources_modes_iterator(
5581        &self,
5582        r: *const xcb_randr_get_screen_resources_reply_t,
5583    ) -> xcb_randr_mode_info_iterator_t {
5584        sym!(self, xcb_randr_get_screen_resources_modes_iterator)(r)
5585    }
5586
5587    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_modes_iterator` could be loaded.
5588    #[cfg(feature = "has_symbol")]
5589    pub fn has_xcb_randr_get_screen_resources_modes_iterator(&self) -> bool {
5590        has_sym!(self, xcb_randr_get_screen_resources_modes_iterator)
5591    }
5592
5593    /// Returns a pointer to the `names` field of a `xcb_randr_get_screen_resources_reply_t` struct.
5594    #[inline]
5595    pub unsafe fn xcb_randr_get_screen_resources_names(
5596        &self,
5597        r: *const xcb_randr_get_screen_resources_reply_t,
5598    ) -> *mut u8 {
5599        sym!(self, xcb_randr_get_screen_resources_names)(r)
5600    }
5601
5602    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_names` could be loaded.
5603    #[cfg(feature = "has_symbol")]
5604    pub fn has_xcb_randr_get_screen_resources_names(&self) -> bool {
5605        has_sym!(self, xcb_randr_get_screen_resources_names)
5606    }
5607
5608    /// Returns the number of elements of the `names` field of a `xcb_randr_get_screen_resources_reply_t` struct.
5609    #[inline]
5610    pub unsafe fn xcb_randr_get_screen_resources_names_length(
5611        &self,
5612        r: *const xcb_randr_get_screen_resources_reply_t,
5613    ) -> c_int {
5614        sym!(self, xcb_randr_get_screen_resources_names_length)(r)
5615    }
5616
5617    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_names_length` could be loaded.
5618    #[cfg(feature = "has_symbol")]
5619    pub fn has_xcb_randr_get_screen_resources_names_length(&self) -> bool {
5620        has_sym!(self, xcb_randr_get_screen_resources_names_length)
5621    }
5622
5623    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
5624    /// `names` field of a `xcb_randr_get_screen_resources_reply_t` struct.
5625    #[inline]
5626    pub unsafe fn xcb_randr_get_screen_resources_names_end(
5627        &self,
5628        r: *const xcb_randr_get_screen_resources_reply_t,
5629    ) -> xcb_generic_iterator_t {
5630        sym!(self, xcb_randr_get_screen_resources_names_end)(r)
5631    }
5632
5633    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_names_end` could be loaded.
5634    #[cfg(feature = "has_symbol")]
5635    pub fn has_xcb_randr_get_screen_resources_names_end(&self) -> bool {
5636        has_sym!(self, xcb_randr_get_screen_resources_names_end)
5637    }
5638
5639    /// Waits for the reply to a `RandR::GetScreenResources` request.
5640    #[inline]
5641    pub unsafe fn xcb_randr_get_screen_resources_reply(
5642        &self,
5643        c: *mut xcb_connection_t,
5644        cookie: xcb_randr_get_screen_resources_cookie_t,
5645        e: *mut *mut xcb_generic_error_t,
5646    ) -> *mut xcb_randr_get_screen_resources_reply_t {
5647        sym!(self, xcb_randr_get_screen_resources_reply)(c, cookie, e)
5648    }
5649
5650    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_reply` could be loaded.
5651    #[cfg(feature = "has_symbol")]
5652    pub fn has_xcb_randr_get_screen_resources_reply(&self) -> bool {
5653        has_sym!(self, xcb_randr_get_screen_resources_reply)
5654    }
5655
5656    /// Computes the size of a `xcb_randr_get_output_info_reply_t` object.
5657    #[inline]
5658    pub unsafe fn xcb_randr_get_output_info_sizeof(&self, _buffer: *const c_void) -> c_int {
5659        sym!(self, xcb_randr_get_output_info_sizeof)(_buffer)
5660    }
5661
5662    /// Returns `true` iff the symbol `xcb_randr_get_output_info_sizeof` could be loaded.
5663    #[cfg(feature = "has_symbol")]
5664    pub fn has_xcb_randr_get_output_info_sizeof(&self) -> bool {
5665        has_sym!(self, xcb_randr_get_output_info_sizeof)
5666    }
5667
5668    /// Sends a `RandR::GetOutputInfo` request (checked).
5669    ///
5670    /// This request generates a reply. You must either discard it with
5671    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_output_info_reply`].
5672    ///
5673    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
5674    /// [`xcb_randr_get_output_info_reply`]: Self::xcb_randr_get_output_info_reply
5675    #[inline]
5676    pub unsafe fn xcb_randr_get_output_info(
5677        &self,
5678        c: *mut xcb_connection_t,
5679        output: xcb_randr_output_t,
5680        config_timestamp: xcb_timestamp_t,
5681    ) -> xcb_randr_get_output_info_cookie_t {
5682        sym!(self, xcb_randr_get_output_info)(c, output, config_timestamp)
5683    }
5684
5685    /// Returns `true` iff the symbol `xcb_randr_get_output_info` could be loaded.
5686    #[cfg(feature = "has_symbol")]
5687    pub fn has_xcb_randr_get_output_info(&self) -> bool {
5688        has_sym!(self, xcb_randr_get_output_info)
5689    }
5690
5691    /// Sends a `RandR::GetOutputInfo` request (unchecked).
5692    ///
5693    /// This request generates a reply. You must either discard it with
5694    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_output_info_reply`].
5695    ///
5696    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
5697    /// [`xcb_randr_get_output_info_reply`]: Self::xcb_randr_get_output_info_reply
5698    #[inline]
5699    pub unsafe fn xcb_randr_get_output_info_unchecked(
5700        &self,
5701        c: *mut xcb_connection_t,
5702        output: xcb_randr_output_t,
5703        config_timestamp: xcb_timestamp_t,
5704    ) -> xcb_randr_get_output_info_cookie_t {
5705        sym!(self, xcb_randr_get_output_info_unchecked)(c, output, config_timestamp)
5706    }
5707
5708    /// Returns `true` iff the symbol `xcb_randr_get_output_info_unchecked` could be loaded.
5709    #[cfg(feature = "has_symbol")]
5710    pub fn has_xcb_randr_get_output_info_unchecked(&self) -> bool {
5711        has_sym!(self, xcb_randr_get_output_info_unchecked)
5712    }
5713
5714    /// Returns a pointer to the `crtcs` field of a `xcb_randr_get_output_info_reply_t` struct.
5715    #[inline]
5716    pub unsafe fn xcb_randr_get_output_info_crtcs(
5717        &self,
5718        r: *const xcb_randr_get_output_info_reply_t,
5719    ) -> *mut xcb_randr_crtc_t {
5720        sym!(self, xcb_randr_get_output_info_crtcs)(r)
5721    }
5722
5723    /// Returns `true` iff the symbol `xcb_randr_get_output_info_crtcs` could be loaded.
5724    #[cfg(feature = "has_symbol")]
5725    pub fn has_xcb_randr_get_output_info_crtcs(&self) -> bool {
5726        has_sym!(self, xcb_randr_get_output_info_crtcs)
5727    }
5728
5729    /// Returns the number of elements of the `crtcs` field of a `xcb_randr_get_output_info_reply_t` struct.
5730    #[inline]
5731    pub unsafe fn xcb_randr_get_output_info_crtcs_length(
5732        &self,
5733        r: *const xcb_randr_get_output_info_reply_t,
5734    ) -> c_int {
5735        sym!(self, xcb_randr_get_output_info_crtcs_length)(r)
5736    }
5737
5738    /// Returns `true` iff the symbol `xcb_randr_get_output_info_crtcs_length` could be loaded.
5739    #[cfg(feature = "has_symbol")]
5740    pub fn has_xcb_randr_get_output_info_crtcs_length(&self) -> bool {
5741        has_sym!(self, xcb_randr_get_output_info_crtcs_length)
5742    }
5743
5744    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
5745    /// `crtcs` field of a `xcb_randr_get_output_info_reply_t` struct.
5746    #[inline]
5747    pub unsafe fn xcb_randr_get_output_info_crtcs_end(
5748        &self,
5749        r: *const xcb_randr_get_output_info_reply_t,
5750    ) -> xcb_generic_iterator_t {
5751        sym!(self, xcb_randr_get_output_info_crtcs_end)(r)
5752    }
5753
5754    /// Returns `true` iff the symbol `xcb_randr_get_output_info_crtcs_end` could be loaded.
5755    #[cfg(feature = "has_symbol")]
5756    pub fn has_xcb_randr_get_output_info_crtcs_end(&self) -> bool {
5757        has_sym!(self, xcb_randr_get_output_info_crtcs_end)
5758    }
5759
5760    /// Returns a pointer to the `modes` field of a `xcb_randr_get_output_info_reply_t` struct.
5761    #[inline]
5762    pub unsafe fn xcb_randr_get_output_info_modes(
5763        &self,
5764        r: *const xcb_randr_get_output_info_reply_t,
5765    ) -> *mut xcb_randr_mode_t {
5766        sym!(self, xcb_randr_get_output_info_modes)(r)
5767    }
5768
5769    /// Returns `true` iff the symbol `xcb_randr_get_output_info_modes` could be loaded.
5770    #[cfg(feature = "has_symbol")]
5771    pub fn has_xcb_randr_get_output_info_modes(&self) -> bool {
5772        has_sym!(self, xcb_randr_get_output_info_modes)
5773    }
5774
5775    /// Returns the number of elements of the `modes` field of a `xcb_randr_get_output_info_reply_t` struct.
5776    #[inline]
5777    pub unsafe fn xcb_randr_get_output_info_modes_length(
5778        &self,
5779        r: *const xcb_randr_get_output_info_reply_t,
5780    ) -> c_int {
5781        sym!(self, xcb_randr_get_output_info_modes_length)(r)
5782    }
5783
5784    /// Returns `true` iff the symbol `xcb_randr_get_output_info_modes_length` could be loaded.
5785    #[cfg(feature = "has_symbol")]
5786    pub fn has_xcb_randr_get_output_info_modes_length(&self) -> bool {
5787        has_sym!(self, xcb_randr_get_output_info_modes_length)
5788    }
5789
5790    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
5791    /// `modes` field of a `xcb_randr_get_output_info_reply_t` struct.
5792    #[inline]
5793    pub unsafe fn xcb_randr_get_output_info_modes_end(
5794        &self,
5795        r: *const xcb_randr_get_output_info_reply_t,
5796    ) -> xcb_generic_iterator_t {
5797        sym!(self, xcb_randr_get_output_info_modes_end)(r)
5798    }
5799
5800    /// Returns `true` iff the symbol `xcb_randr_get_output_info_modes_end` could be loaded.
5801    #[cfg(feature = "has_symbol")]
5802    pub fn has_xcb_randr_get_output_info_modes_end(&self) -> bool {
5803        has_sym!(self, xcb_randr_get_output_info_modes_end)
5804    }
5805
5806    /// Returns a pointer to the `clones` field of a `xcb_randr_get_output_info_reply_t` struct.
5807    #[inline]
5808    pub unsafe fn xcb_randr_get_output_info_clones(
5809        &self,
5810        r: *const xcb_randr_get_output_info_reply_t,
5811    ) -> *mut xcb_randr_output_t {
5812        sym!(self, xcb_randr_get_output_info_clones)(r)
5813    }
5814
5815    /// Returns `true` iff the symbol `xcb_randr_get_output_info_clones` could be loaded.
5816    #[cfg(feature = "has_symbol")]
5817    pub fn has_xcb_randr_get_output_info_clones(&self) -> bool {
5818        has_sym!(self, xcb_randr_get_output_info_clones)
5819    }
5820
5821    /// Returns the number of elements of the `clones` field of a `xcb_randr_get_output_info_reply_t` struct.
5822    #[inline]
5823    pub unsafe fn xcb_randr_get_output_info_clones_length(
5824        &self,
5825        r: *const xcb_randr_get_output_info_reply_t,
5826    ) -> c_int {
5827        sym!(self, xcb_randr_get_output_info_clones_length)(r)
5828    }
5829
5830    /// Returns `true` iff the symbol `xcb_randr_get_output_info_clones_length` could be loaded.
5831    #[cfg(feature = "has_symbol")]
5832    pub fn has_xcb_randr_get_output_info_clones_length(&self) -> bool {
5833        has_sym!(self, xcb_randr_get_output_info_clones_length)
5834    }
5835
5836    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
5837    /// `clones` field of a `xcb_randr_get_output_info_reply_t` struct.
5838    #[inline]
5839    pub unsafe fn xcb_randr_get_output_info_clones_end(
5840        &self,
5841        r: *const xcb_randr_get_output_info_reply_t,
5842    ) -> xcb_generic_iterator_t {
5843        sym!(self, xcb_randr_get_output_info_clones_end)(r)
5844    }
5845
5846    /// Returns `true` iff the symbol `xcb_randr_get_output_info_clones_end` could be loaded.
5847    #[cfg(feature = "has_symbol")]
5848    pub fn has_xcb_randr_get_output_info_clones_end(&self) -> bool {
5849        has_sym!(self, xcb_randr_get_output_info_clones_end)
5850    }
5851
5852    /// Returns a pointer to the `name` field of a `xcb_randr_get_output_info_reply_t` struct.
5853    #[inline]
5854    pub unsafe fn xcb_randr_get_output_info_name(
5855        &self,
5856        r: *const xcb_randr_get_output_info_reply_t,
5857    ) -> *mut u8 {
5858        sym!(self, xcb_randr_get_output_info_name)(r)
5859    }
5860
5861    /// Returns `true` iff the symbol `xcb_randr_get_output_info_name` could be loaded.
5862    #[cfg(feature = "has_symbol")]
5863    pub fn has_xcb_randr_get_output_info_name(&self) -> bool {
5864        has_sym!(self, xcb_randr_get_output_info_name)
5865    }
5866
5867    /// Returns the number of elements of the `name` field of a `xcb_randr_get_output_info_reply_t` struct.
5868    #[inline]
5869    pub unsafe fn xcb_randr_get_output_info_name_length(
5870        &self,
5871        r: *const xcb_randr_get_output_info_reply_t,
5872    ) -> c_int {
5873        sym!(self, xcb_randr_get_output_info_name_length)(r)
5874    }
5875
5876    /// Returns `true` iff the symbol `xcb_randr_get_output_info_name_length` could be loaded.
5877    #[cfg(feature = "has_symbol")]
5878    pub fn has_xcb_randr_get_output_info_name_length(&self) -> bool {
5879        has_sym!(self, xcb_randr_get_output_info_name_length)
5880    }
5881
5882    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
5883    /// `name` field of a `xcb_randr_get_output_info_reply_t` struct.
5884    #[inline]
5885    pub unsafe fn xcb_randr_get_output_info_name_end(
5886        &self,
5887        r: *const xcb_randr_get_output_info_reply_t,
5888    ) -> xcb_generic_iterator_t {
5889        sym!(self, xcb_randr_get_output_info_name_end)(r)
5890    }
5891
5892    /// Returns `true` iff the symbol `xcb_randr_get_output_info_name_end` could be loaded.
5893    #[cfg(feature = "has_symbol")]
5894    pub fn has_xcb_randr_get_output_info_name_end(&self) -> bool {
5895        has_sym!(self, xcb_randr_get_output_info_name_end)
5896    }
5897
5898    /// Waits for the reply to a `RandR::GetOutputInfo` request.
5899    #[inline]
5900    pub unsafe fn xcb_randr_get_output_info_reply(
5901        &self,
5902        c: *mut xcb_connection_t,
5903        cookie: xcb_randr_get_output_info_cookie_t,
5904        e: *mut *mut xcb_generic_error_t,
5905    ) -> *mut xcb_randr_get_output_info_reply_t {
5906        sym!(self, xcb_randr_get_output_info_reply)(c, cookie, e)
5907    }
5908
5909    /// Returns `true` iff the symbol `xcb_randr_get_output_info_reply` could be loaded.
5910    #[cfg(feature = "has_symbol")]
5911    pub fn has_xcb_randr_get_output_info_reply(&self) -> bool {
5912        has_sym!(self, xcb_randr_get_output_info_reply)
5913    }
5914
5915    /// Computes the size of a `xcb_randr_list_output_properties_reply_t` object.
5916    #[inline]
5917    pub unsafe fn xcb_randr_list_output_properties_sizeof(&self, _buffer: *const c_void) -> c_int {
5918        sym!(self, xcb_randr_list_output_properties_sizeof)(_buffer)
5919    }
5920
5921    /// Returns `true` iff the symbol `xcb_randr_list_output_properties_sizeof` could be loaded.
5922    #[cfg(feature = "has_symbol")]
5923    pub fn has_xcb_randr_list_output_properties_sizeof(&self) -> bool {
5924        has_sym!(self, xcb_randr_list_output_properties_sizeof)
5925    }
5926
5927    /// Sends a `RandR::ListOutputProperties` request (checked).
5928    ///
5929    /// This request generates a reply. You must either discard it with
5930    /// [`discard_reply`] or retrieve it with [`xcb_randr_list_output_properties_reply`].
5931    ///
5932    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
5933    /// [`xcb_randr_list_output_properties_reply`]: Self::xcb_randr_list_output_properties_reply
5934    #[inline]
5935    pub unsafe fn xcb_randr_list_output_properties(
5936        &self,
5937        c: *mut xcb_connection_t,
5938        output: xcb_randr_output_t,
5939    ) -> xcb_randr_list_output_properties_cookie_t {
5940        sym!(self, xcb_randr_list_output_properties)(c, output)
5941    }
5942
5943    /// Returns `true` iff the symbol `xcb_randr_list_output_properties` could be loaded.
5944    #[cfg(feature = "has_symbol")]
5945    pub fn has_xcb_randr_list_output_properties(&self) -> bool {
5946        has_sym!(self, xcb_randr_list_output_properties)
5947    }
5948
5949    /// Sends a `RandR::ListOutputProperties` request (unchecked).
5950    ///
5951    /// This request generates a reply. You must either discard it with
5952    /// [`discard_reply`] or retrieve it with [`xcb_randr_list_output_properties_reply`].
5953    ///
5954    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
5955    /// [`xcb_randr_list_output_properties_reply`]: Self::xcb_randr_list_output_properties_reply
5956    #[inline]
5957    pub unsafe fn xcb_randr_list_output_properties_unchecked(
5958        &self,
5959        c: *mut xcb_connection_t,
5960        output: xcb_randr_output_t,
5961    ) -> xcb_randr_list_output_properties_cookie_t {
5962        sym!(self, xcb_randr_list_output_properties_unchecked)(c, output)
5963    }
5964
5965    /// Returns `true` iff the symbol `xcb_randr_list_output_properties_unchecked` could be loaded.
5966    #[cfg(feature = "has_symbol")]
5967    pub fn has_xcb_randr_list_output_properties_unchecked(&self) -> bool {
5968        has_sym!(self, xcb_randr_list_output_properties_unchecked)
5969    }
5970
5971    /// Returns a pointer to the `atoms` field of a `xcb_randr_list_output_properties_reply_t` struct.
5972    #[inline]
5973    pub unsafe fn xcb_randr_list_output_properties_atoms(
5974        &self,
5975        r: *const xcb_randr_list_output_properties_reply_t,
5976    ) -> *mut xcb_atom_t {
5977        sym!(self, xcb_randr_list_output_properties_atoms)(r)
5978    }
5979
5980    /// Returns `true` iff the symbol `xcb_randr_list_output_properties_atoms` could be loaded.
5981    #[cfg(feature = "has_symbol")]
5982    pub fn has_xcb_randr_list_output_properties_atoms(&self) -> bool {
5983        has_sym!(self, xcb_randr_list_output_properties_atoms)
5984    }
5985
5986    /// Returns the number of elements of the `atoms` field of a `xcb_randr_list_output_properties_reply_t` struct.
5987    #[inline]
5988    pub unsafe fn xcb_randr_list_output_properties_atoms_length(
5989        &self,
5990        r: *const xcb_randr_list_output_properties_reply_t,
5991    ) -> c_int {
5992        sym!(self, xcb_randr_list_output_properties_atoms_length)(r)
5993    }
5994
5995    /// Returns `true` iff the symbol `xcb_randr_list_output_properties_atoms_length` could be loaded.
5996    #[cfg(feature = "has_symbol")]
5997    pub fn has_xcb_randr_list_output_properties_atoms_length(&self) -> bool {
5998        has_sym!(self, xcb_randr_list_output_properties_atoms_length)
5999    }
6000
6001    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
6002    /// `atoms` field of a `xcb_randr_list_output_properties_reply_t` struct.
6003    #[inline]
6004    pub unsafe fn xcb_randr_list_output_properties_atoms_end(
6005        &self,
6006        r: *const xcb_randr_list_output_properties_reply_t,
6007    ) -> xcb_generic_iterator_t {
6008        sym!(self, xcb_randr_list_output_properties_atoms_end)(r)
6009    }
6010
6011    /// Returns `true` iff the symbol `xcb_randr_list_output_properties_atoms_end` could be loaded.
6012    #[cfg(feature = "has_symbol")]
6013    pub fn has_xcb_randr_list_output_properties_atoms_end(&self) -> bool {
6014        has_sym!(self, xcb_randr_list_output_properties_atoms_end)
6015    }
6016
6017    /// Waits for the reply to a `RandR::ListOutputProperties` request.
6018    #[inline]
6019    pub unsafe fn xcb_randr_list_output_properties_reply(
6020        &self,
6021        c: *mut xcb_connection_t,
6022        cookie: xcb_randr_list_output_properties_cookie_t,
6023        e: *mut *mut xcb_generic_error_t,
6024    ) -> *mut xcb_randr_list_output_properties_reply_t {
6025        sym!(self, xcb_randr_list_output_properties_reply)(c, cookie, e)
6026    }
6027
6028    /// Returns `true` iff the symbol `xcb_randr_list_output_properties_reply` could be loaded.
6029    #[cfg(feature = "has_symbol")]
6030    pub fn has_xcb_randr_list_output_properties_reply(&self) -> bool {
6031        has_sym!(self, xcb_randr_list_output_properties_reply)
6032    }
6033
6034    /// Computes the size of a `xcb_randr_query_output_property_reply_t` object.
6035    #[inline]
6036    pub unsafe fn xcb_randr_query_output_property_sizeof(&self, _buffer: *const c_void) -> c_int {
6037        sym!(self, xcb_randr_query_output_property_sizeof)(_buffer)
6038    }
6039
6040    /// Returns `true` iff the symbol `xcb_randr_query_output_property_sizeof` could be loaded.
6041    #[cfg(feature = "has_symbol")]
6042    pub fn has_xcb_randr_query_output_property_sizeof(&self) -> bool {
6043        has_sym!(self, xcb_randr_query_output_property_sizeof)
6044    }
6045
6046    /// Sends a `RandR::QueryOutputProperty` request (checked).
6047    ///
6048    /// This request generates a reply. You must either discard it with
6049    /// [`discard_reply`] or retrieve it with [`xcb_randr_query_output_property_reply`].
6050    ///
6051    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
6052    /// [`xcb_randr_query_output_property_reply`]: Self::xcb_randr_query_output_property_reply
6053    #[inline]
6054    pub unsafe fn xcb_randr_query_output_property(
6055        &self,
6056        c: *mut xcb_connection_t,
6057        output: xcb_randr_output_t,
6058        property: xcb_atom_t,
6059    ) -> xcb_randr_query_output_property_cookie_t {
6060        sym!(self, xcb_randr_query_output_property)(c, output, property)
6061    }
6062
6063    /// Returns `true` iff the symbol `xcb_randr_query_output_property` could be loaded.
6064    #[cfg(feature = "has_symbol")]
6065    pub fn has_xcb_randr_query_output_property(&self) -> bool {
6066        has_sym!(self, xcb_randr_query_output_property)
6067    }
6068
6069    /// Sends a `RandR::QueryOutputProperty` request (unchecked).
6070    ///
6071    /// This request generates a reply. You must either discard it with
6072    /// [`discard_reply`] or retrieve it with [`xcb_randr_query_output_property_reply`].
6073    ///
6074    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
6075    /// [`xcb_randr_query_output_property_reply`]: Self::xcb_randr_query_output_property_reply
6076    #[inline]
6077    pub unsafe fn xcb_randr_query_output_property_unchecked(
6078        &self,
6079        c: *mut xcb_connection_t,
6080        output: xcb_randr_output_t,
6081        property: xcb_atom_t,
6082    ) -> xcb_randr_query_output_property_cookie_t {
6083        sym!(self, xcb_randr_query_output_property_unchecked)(c, output, property)
6084    }
6085
6086    /// Returns `true` iff the symbol `xcb_randr_query_output_property_unchecked` could be loaded.
6087    #[cfg(feature = "has_symbol")]
6088    pub fn has_xcb_randr_query_output_property_unchecked(&self) -> bool {
6089        has_sym!(self, xcb_randr_query_output_property_unchecked)
6090    }
6091
6092    /// Returns a pointer to the `validValues` field of a `xcb_randr_query_output_property_reply_t` struct.
6093    #[inline]
6094    pub unsafe fn xcb_randr_query_output_property_valid_values(
6095        &self,
6096        r: *const xcb_randr_query_output_property_reply_t,
6097    ) -> *mut i32 {
6098        sym!(self, xcb_randr_query_output_property_valid_values)(r)
6099    }
6100
6101    /// Returns `true` iff the symbol `xcb_randr_query_output_property_valid_values` could be loaded.
6102    #[cfg(feature = "has_symbol")]
6103    pub fn has_xcb_randr_query_output_property_valid_values(&self) -> bool {
6104        has_sym!(self, xcb_randr_query_output_property_valid_values)
6105    }
6106
6107    /// Returns the number of elements of the `validValues` field of a `xcb_randr_query_output_property_reply_t` struct.
6108    #[inline]
6109    pub unsafe fn xcb_randr_query_output_property_valid_values_length(
6110        &self,
6111        r: *const xcb_randr_query_output_property_reply_t,
6112    ) -> c_int {
6113        sym!(self, xcb_randr_query_output_property_valid_values_length)(r)
6114    }
6115
6116    /// Returns `true` iff the symbol `xcb_randr_query_output_property_valid_values_length` could be loaded.
6117    #[cfg(feature = "has_symbol")]
6118    pub fn has_xcb_randr_query_output_property_valid_values_length(&self) -> bool {
6119        has_sym!(self, xcb_randr_query_output_property_valid_values_length)
6120    }
6121
6122    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
6123    /// `validValues` field of a `xcb_randr_query_output_property_reply_t` struct.
6124    #[inline]
6125    pub unsafe fn xcb_randr_query_output_property_valid_values_end(
6126        &self,
6127        r: *const xcb_randr_query_output_property_reply_t,
6128    ) -> xcb_generic_iterator_t {
6129        sym!(self, xcb_randr_query_output_property_valid_values_end)(r)
6130    }
6131
6132    /// Returns `true` iff the symbol `xcb_randr_query_output_property_valid_values_end` could be loaded.
6133    #[cfg(feature = "has_symbol")]
6134    pub fn has_xcb_randr_query_output_property_valid_values_end(&self) -> bool {
6135        has_sym!(self, xcb_randr_query_output_property_valid_values_end)
6136    }
6137
6138    /// Waits for the reply to a `RandR::QueryOutputProperty` request.
6139    #[inline]
6140    pub unsafe fn xcb_randr_query_output_property_reply(
6141        &self,
6142        c: *mut xcb_connection_t,
6143        cookie: xcb_randr_query_output_property_cookie_t,
6144        e: *mut *mut xcb_generic_error_t,
6145    ) -> *mut xcb_randr_query_output_property_reply_t {
6146        sym!(self, xcb_randr_query_output_property_reply)(c, cookie, e)
6147    }
6148
6149    /// Returns `true` iff the symbol `xcb_randr_query_output_property_reply` could be loaded.
6150    #[cfg(feature = "has_symbol")]
6151    pub fn has_xcb_randr_query_output_property_reply(&self) -> bool {
6152        has_sym!(self, xcb_randr_query_output_property_reply)
6153    }
6154
6155    /// Computes the size of a `xcb_randr_configure_output_property_request_t` object.
6156    #[inline]
6157    pub unsafe fn xcb_randr_configure_output_property_sizeof(
6158        &self,
6159        _buffer: *const c_void,
6160        values_len: u32,
6161    ) -> c_int {
6162        sym!(self, xcb_randr_configure_output_property_sizeof)(_buffer, values_len)
6163    }
6164
6165    /// Returns `true` iff the symbol `xcb_randr_configure_output_property_sizeof` could be loaded.
6166    #[cfg(feature = "has_symbol")]
6167    pub fn has_xcb_randr_configure_output_property_sizeof(&self) -> bool {
6168        has_sym!(self, xcb_randr_configure_output_property_sizeof)
6169    }
6170
6171    /// Sends a `RandR::ConfigureOutputProperty` request (checked).
6172    ///
6173    /// This request generates a reply. You must either discard it with
6174    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
6175    ///
6176    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
6177    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
6178    #[inline]
6179    pub unsafe fn xcb_randr_configure_output_property_checked(
6180        &self,
6181        c: *mut xcb_connection_t,
6182        output: xcb_randr_output_t,
6183        property: xcb_atom_t,
6184        pending: u8,
6185        range: u8,
6186        values_len: u32,
6187        values: *const i32,
6188    ) -> xcb_void_cookie_t {
6189        sym!(self, xcb_randr_configure_output_property_checked)(
6190            c, output, property, pending, range, values_len, values,
6191        )
6192    }
6193
6194    /// Returns `true` iff the symbol `xcb_randr_configure_output_property_checked` could be loaded.
6195    #[cfg(feature = "has_symbol")]
6196    pub fn has_xcb_randr_configure_output_property_checked(&self) -> bool {
6197        has_sym!(self, xcb_randr_configure_output_property_checked)
6198    }
6199
6200    /// Sends a `RandR::ConfigureOutputProperty` request (unchecked).
6201    #[inline]
6202    pub unsafe fn xcb_randr_configure_output_property(
6203        &self,
6204        c: *mut xcb_connection_t,
6205        output: xcb_randr_output_t,
6206        property: xcb_atom_t,
6207        pending: u8,
6208        range: u8,
6209        values_len: u32,
6210        values: *const i32,
6211    ) -> xcb_void_cookie_t {
6212        sym!(self, xcb_randr_configure_output_property)(
6213            c, output, property, pending, range, values_len, values,
6214        )
6215    }
6216
6217    /// Returns `true` iff the symbol `xcb_randr_configure_output_property` could be loaded.
6218    #[cfg(feature = "has_symbol")]
6219    pub fn has_xcb_randr_configure_output_property(&self) -> bool {
6220        has_sym!(self, xcb_randr_configure_output_property)
6221    }
6222
6223    /// Returns a pointer to the `values` field of a `xcb_randr_configure_output_property_request_t` struct.
6224    #[inline]
6225    pub unsafe fn xcb_randr_configure_output_property_values(
6226        &self,
6227        r: *const xcb_randr_configure_output_property_request_t,
6228    ) -> *mut i32 {
6229        sym!(self, xcb_randr_configure_output_property_values)(r)
6230    }
6231
6232    /// Returns `true` iff the symbol `xcb_randr_configure_output_property_values` could be loaded.
6233    #[cfg(feature = "has_symbol")]
6234    pub fn has_xcb_randr_configure_output_property_values(&self) -> bool {
6235        has_sym!(self, xcb_randr_configure_output_property_values)
6236    }
6237
6238    /// Returns the number of elements of the `values` field of a `xcb_randr_configure_output_property_request_t` struct.
6239    #[inline]
6240    pub unsafe fn xcb_randr_configure_output_property_values_length(
6241        &self,
6242        r: *const xcb_randr_configure_output_property_request_t,
6243    ) -> c_int {
6244        sym!(self, xcb_randr_configure_output_property_values_length)(r)
6245    }
6246
6247    /// Returns `true` iff the symbol `xcb_randr_configure_output_property_values_length` could be loaded.
6248    #[cfg(feature = "has_symbol")]
6249    pub fn has_xcb_randr_configure_output_property_values_length(&self) -> bool {
6250        has_sym!(self, xcb_randr_configure_output_property_values_length)
6251    }
6252
6253    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
6254    /// `values` field of a `xcb_randr_configure_output_property_request_t` struct.
6255    #[inline]
6256    pub unsafe fn xcb_randr_configure_output_property_values_end(
6257        &self,
6258        r: *const xcb_randr_configure_output_property_request_t,
6259    ) -> xcb_generic_iterator_t {
6260        sym!(self, xcb_randr_configure_output_property_values_end)(r)
6261    }
6262
6263    /// Returns `true` iff the symbol `xcb_randr_configure_output_property_values_end` could be loaded.
6264    #[cfg(feature = "has_symbol")]
6265    pub fn has_xcb_randr_configure_output_property_values_end(&self) -> bool {
6266        has_sym!(self, xcb_randr_configure_output_property_values_end)
6267    }
6268
6269    /// Computes the size of a `xcb_randr_change_output_property_request_t` object.
6270    #[inline]
6271    pub unsafe fn xcb_randr_change_output_property_sizeof(&self, _buffer: *const c_void) -> c_int {
6272        sym!(self, xcb_randr_change_output_property_sizeof)(_buffer)
6273    }
6274
6275    /// Returns `true` iff the symbol `xcb_randr_change_output_property_sizeof` could be loaded.
6276    #[cfg(feature = "has_symbol")]
6277    pub fn has_xcb_randr_change_output_property_sizeof(&self) -> bool {
6278        has_sym!(self, xcb_randr_change_output_property_sizeof)
6279    }
6280
6281    /// Sends a `RandR::ChangeOutputProperty` request (checked).
6282    ///
6283    /// This request generates a reply. You must either discard it with
6284    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
6285    ///
6286    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
6287    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
6288    #[inline]
6289    pub unsafe fn xcb_randr_change_output_property_checked(
6290        &self,
6291        c: *mut xcb_connection_t,
6292        output: xcb_randr_output_t,
6293        property: xcb_atom_t,
6294        type_: xcb_atom_t,
6295        format: u8,
6296        mode: u8,
6297        num_units: u32,
6298        data: *const c_void,
6299    ) -> xcb_void_cookie_t {
6300        sym!(self, xcb_randr_change_output_property_checked)(
6301            c, output, property, type_, format, mode, num_units, data,
6302        )
6303    }
6304
6305    /// Returns `true` iff the symbol `xcb_randr_change_output_property_checked` could be loaded.
6306    #[cfg(feature = "has_symbol")]
6307    pub fn has_xcb_randr_change_output_property_checked(&self) -> bool {
6308        has_sym!(self, xcb_randr_change_output_property_checked)
6309    }
6310
6311    /// Sends a `RandR::ChangeOutputProperty` request (unchecked).
6312    #[inline]
6313    pub unsafe fn xcb_randr_change_output_property(
6314        &self,
6315        c: *mut xcb_connection_t,
6316        output: xcb_randr_output_t,
6317        property: xcb_atom_t,
6318        type_: xcb_atom_t,
6319        format: u8,
6320        mode: u8,
6321        num_units: u32,
6322        data: *const c_void,
6323    ) -> xcb_void_cookie_t {
6324        sym!(self, xcb_randr_change_output_property)(
6325            c, output, property, type_, format, mode, num_units, data,
6326        )
6327    }
6328
6329    /// Returns `true` iff the symbol `xcb_randr_change_output_property` could be loaded.
6330    #[cfg(feature = "has_symbol")]
6331    pub fn has_xcb_randr_change_output_property(&self) -> bool {
6332        has_sym!(self, xcb_randr_change_output_property)
6333    }
6334
6335    /// Returns a pointer to the `data` field of a `xcb_randr_change_output_property_request_t` struct.
6336    #[inline]
6337    pub unsafe fn xcb_randr_change_output_property_data(
6338        &self,
6339        r: *const xcb_randr_change_output_property_request_t,
6340    ) -> *mut c_void {
6341        sym!(self, xcb_randr_change_output_property_data)(r)
6342    }
6343
6344    /// Returns `true` iff the symbol `xcb_randr_change_output_property_data` could be loaded.
6345    #[cfg(feature = "has_symbol")]
6346    pub fn has_xcb_randr_change_output_property_data(&self) -> bool {
6347        has_sym!(self, xcb_randr_change_output_property_data)
6348    }
6349
6350    /// Returns the number of elements of the `data` field of a `xcb_randr_change_output_property_request_t` struct.
6351    #[inline]
6352    pub unsafe fn xcb_randr_change_output_property_data_length(
6353        &self,
6354        r: *const xcb_randr_change_output_property_request_t,
6355    ) -> c_int {
6356        sym!(self, xcb_randr_change_output_property_data_length)(r)
6357    }
6358
6359    /// Returns `true` iff the symbol `xcb_randr_change_output_property_data_length` could be loaded.
6360    #[cfg(feature = "has_symbol")]
6361    pub fn has_xcb_randr_change_output_property_data_length(&self) -> bool {
6362        has_sym!(self, xcb_randr_change_output_property_data_length)
6363    }
6364
6365    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
6366    /// `data` field of a `xcb_randr_change_output_property_request_t` struct.
6367    #[inline]
6368    pub unsafe fn xcb_randr_change_output_property_data_end(
6369        &self,
6370        r: *const xcb_randr_change_output_property_request_t,
6371    ) -> xcb_generic_iterator_t {
6372        sym!(self, xcb_randr_change_output_property_data_end)(r)
6373    }
6374
6375    /// Returns `true` iff the symbol `xcb_randr_change_output_property_data_end` could be loaded.
6376    #[cfg(feature = "has_symbol")]
6377    pub fn has_xcb_randr_change_output_property_data_end(&self) -> bool {
6378        has_sym!(self, xcb_randr_change_output_property_data_end)
6379    }
6380
6381    /// Sends a `RandR::DeleteOutputProperty` request (checked).
6382    ///
6383    /// This request generates a reply. You must either discard it with
6384    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
6385    ///
6386    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
6387    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
6388    #[inline]
6389    pub unsafe fn xcb_randr_delete_output_property_checked(
6390        &self,
6391        c: *mut xcb_connection_t,
6392        output: xcb_randr_output_t,
6393        property: xcb_atom_t,
6394    ) -> xcb_void_cookie_t {
6395        sym!(self, xcb_randr_delete_output_property_checked)(c, output, property)
6396    }
6397
6398    /// Returns `true` iff the symbol `xcb_randr_delete_output_property_checked` could be loaded.
6399    #[cfg(feature = "has_symbol")]
6400    pub fn has_xcb_randr_delete_output_property_checked(&self) -> bool {
6401        has_sym!(self, xcb_randr_delete_output_property_checked)
6402    }
6403
6404    /// Sends a `RandR::DeleteOutputProperty` request (unchecked).
6405    #[inline]
6406    pub unsafe fn xcb_randr_delete_output_property(
6407        &self,
6408        c: *mut xcb_connection_t,
6409        output: xcb_randr_output_t,
6410        property: xcb_atom_t,
6411    ) -> xcb_void_cookie_t {
6412        sym!(self, xcb_randr_delete_output_property)(c, output, property)
6413    }
6414
6415    /// Returns `true` iff the symbol `xcb_randr_delete_output_property` could be loaded.
6416    #[cfg(feature = "has_symbol")]
6417    pub fn has_xcb_randr_delete_output_property(&self) -> bool {
6418        has_sym!(self, xcb_randr_delete_output_property)
6419    }
6420
6421    /// Computes the size of a `xcb_randr_get_output_property_reply_t` object.
6422    #[inline]
6423    pub unsafe fn xcb_randr_get_output_property_sizeof(&self, _buffer: *const c_void) -> c_int {
6424        sym!(self, xcb_randr_get_output_property_sizeof)(_buffer)
6425    }
6426
6427    /// Returns `true` iff the symbol `xcb_randr_get_output_property_sizeof` could be loaded.
6428    #[cfg(feature = "has_symbol")]
6429    pub fn has_xcb_randr_get_output_property_sizeof(&self) -> bool {
6430        has_sym!(self, xcb_randr_get_output_property_sizeof)
6431    }
6432
6433    /// Sends a `RandR::GetOutputProperty` request (checked).
6434    ///
6435    /// This request generates a reply. You must either discard it with
6436    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_output_property_reply`].
6437    ///
6438    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
6439    /// [`xcb_randr_get_output_property_reply`]: Self::xcb_randr_get_output_property_reply
6440    #[inline]
6441    pub unsafe fn xcb_randr_get_output_property(
6442        &self,
6443        c: *mut xcb_connection_t,
6444        output: xcb_randr_output_t,
6445        property: xcb_atom_t,
6446        type_: xcb_atom_t,
6447        long_offset: u32,
6448        long_length: u32,
6449        delete: u8,
6450        pending: u8,
6451    ) -> xcb_randr_get_output_property_cookie_t {
6452        sym!(self, xcb_randr_get_output_property)(
6453            c,
6454            output,
6455            property,
6456            type_,
6457            long_offset,
6458            long_length,
6459            delete,
6460            pending,
6461        )
6462    }
6463
6464    /// Returns `true` iff the symbol `xcb_randr_get_output_property` could be loaded.
6465    #[cfg(feature = "has_symbol")]
6466    pub fn has_xcb_randr_get_output_property(&self) -> bool {
6467        has_sym!(self, xcb_randr_get_output_property)
6468    }
6469
6470    /// Sends a `RandR::GetOutputProperty` request (unchecked).
6471    ///
6472    /// This request generates a reply. You must either discard it with
6473    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_output_property_reply`].
6474    ///
6475    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
6476    /// [`xcb_randr_get_output_property_reply`]: Self::xcb_randr_get_output_property_reply
6477    #[inline]
6478    pub unsafe fn xcb_randr_get_output_property_unchecked(
6479        &self,
6480        c: *mut xcb_connection_t,
6481        output: xcb_randr_output_t,
6482        property: xcb_atom_t,
6483        type_: xcb_atom_t,
6484        long_offset: u32,
6485        long_length: u32,
6486        delete: u8,
6487        pending: u8,
6488    ) -> xcb_randr_get_output_property_cookie_t {
6489        sym!(self, xcb_randr_get_output_property_unchecked)(
6490            c,
6491            output,
6492            property,
6493            type_,
6494            long_offset,
6495            long_length,
6496            delete,
6497            pending,
6498        )
6499    }
6500
6501    /// Returns `true` iff the symbol `xcb_randr_get_output_property_unchecked` could be loaded.
6502    #[cfg(feature = "has_symbol")]
6503    pub fn has_xcb_randr_get_output_property_unchecked(&self) -> bool {
6504        has_sym!(self, xcb_randr_get_output_property_unchecked)
6505    }
6506
6507    /// Returns a pointer to the `data` field of a `xcb_randr_get_output_property_reply_t` struct.
6508    #[inline]
6509    pub unsafe fn xcb_randr_get_output_property_data(
6510        &self,
6511        r: *const xcb_randr_get_output_property_reply_t,
6512    ) -> *mut u8 {
6513        sym!(self, xcb_randr_get_output_property_data)(r)
6514    }
6515
6516    /// Returns `true` iff the symbol `xcb_randr_get_output_property_data` could be loaded.
6517    #[cfg(feature = "has_symbol")]
6518    pub fn has_xcb_randr_get_output_property_data(&self) -> bool {
6519        has_sym!(self, xcb_randr_get_output_property_data)
6520    }
6521
6522    /// Returns the number of elements of the `data` field of a `xcb_randr_get_output_property_reply_t` struct.
6523    #[inline]
6524    pub unsafe fn xcb_randr_get_output_property_data_length(
6525        &self,
6526        r: *const xcb_randr_get_output_property_reply_t,
6527    ) -> c_int {
6528        sym!(self, xcb_randr_get_output_property_data_length)(r)
6529    }
6530
6531    /// Returns `true` iff the symbol `xcb_randr_get_output_property_data_length` could be loaded.
6532    #[cfg(feature = "has_symbol")]
6533    pub fn has_xcb_randr_get_output_property_data_length(&self) -> bool {
6534        has_sym!(self, xcb_randr_get_output_property_data_length)
6535    }
6536
6537    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
6538    /// `data` field of a `xcb_randr_get_output_property_reply_t` struct.
6539    #[inline]
6540    pub unsafe fn xcb_randr_get_output_property_data_end(
6541        &self,
6542        r: *const xcb_randr_get_output_property_reply_t,
6543    ) -> xcb_generic_iterator_t {
6544        sym!(self, xcb_randr_get_output_property_data_end)(r)
6545    }
6546
6547    /// Returns `true` iff the symbol `xcb_randr_get_output_property_data_end` could be loaded.
6548    #[cfg(feature = "has_symbol")]
6549    pub fn has_xcb_randr_get_output_property_data_end(&self) -> bool {
6550        has_sym!(self, xcb_randr_get_output_property_data_end)
6551    }
6552
6553    /// Waits for the reply to a `RandR::GetOutputProperty` request.
6554    #[inline]
6555    pub unsafe fn xcb_randr_get_output_property_reply(
6556        &self,
6557        c: *mut xcb_connection_t,
6558        cookie: xcb_randr_get_output_property_cookie_t,
6559        e: *mut *mut xcb_generic_error_t,
6560    ) -> *mut xcb_randr_get_output_property_reply_t {
6561        sym!(self, xcb_randr_get_output_property_reply)(c, cookie, e)
6562    }
6563
6564    /// Returns `true` iff the symbol `xcb_randr_get_output_property_reply` could be loaded.
6565    #[cfg(feature = "has_symbol")]
6566    pub fn has_xcb_randr_get_output_property_reply(&self) -> bool {
6567        has_sym!(self, xcb_randr_get_output_property_reply)
6568    }
6569
6570    /// Computes the size of a `xcb_randr_create_mode_request_t` object.
6571    #[inline]
6572    pub unsafe fn xcb_randr_create_mode_sizeof(
6573        &self,
6574        _buffer: *const c_void,
6575        name_len: u32,
6576    ) -> c_int {
6577        sym!(self, xcb_randr_create_mode_sizeof)(_buffer, name_len)
6578    }
6579
6580    /// Returns `true` iff the symbol `xcb_randr_create_mode_sizeof` could be loaded.
6581    #[cfg(feature = "has_symbol")]
6582    pub fn has_xcb_randr_create_mode_sizeof(&self) -> bool {
6583        has_sym!(self, xcb_randr_create_mode_sizeof)
6584    }
6585
6586    /// Sends a `RandR::CreateMode` request (checked).
6587    ///
6588    /// This request generates a reply. You must either discard it with
6589    /// [`discard_reply`] or retrieve it with [`xcb_randr_create_mode_reply`].
6590    ///
6591    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
6592    /// [`xcb_randr_create_mode_reply`]: Self::xcb_randr_create_mode_reply
6593    #[inline]
6594    pub unsafe fn xcb_randr_create_mode(
6595        &self,
6596        c: *mut xcb_connection_t,
6597        window: xcb_window_t,
6598        mode_info: xcb_randr_mode_info_t,
6599        name_len: u32,
6600        name: *const c_char,
6601    ) -> xcb_randr_create_mode_cookie_t {
6602        sym!(self, xcb_randr_create_mode)(c, window, mode_info, name_len, name)
6603    }
6604
6605    /// Returns `true` iff the symbol `xcb_randr_create_mode` could be loaded.
6606    #[cfg(feature = "has_symbol")]
6607    pub fn has_xcb_randr_create_mode(&self) -> bool {
6608        has_sym!(self, xcb_randr_create_mode)
6609    }
6610
6611    /// Sends a `RandR::CreateMode` request (unchecked).
6612    ///
6613    /// This request generates a reply. You must either discard it with
6614    /// [`discard_reply`] or retrieve it with [`xcb_randr_create_mode_reply`].
6615    ///
6616    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
6617    /// [`xcb_randr_create_mode_reply`]: Self::xcb_randr_create_mode_reply
6618    #[inline]
6619    pub unsafe fn xcb_randr_create_mode_unchecked(
6620        &self,
6621        c: *mut xcb_connection_t,
6622        window: xcb_window_t,
6623        mode_info: xcb_randr_mode_info_t,
6624        name_len: u32,
6625        name: *const c_char,
6626    ) -> xcb_randr_create_mode_cookie_t {
6627        sym!(self, xcb_randr_create_mode_unchecked)(c, window, mode_info, name_len, name)
6628    }
6629
6630    /// Returns `true` iff the symbol `xcb_randr_create_mode_unchecked` could be loaded.
6631    #[cfg(feature = "has_symbol")]
6632    pub fn has_xcb_randr_create_mode_unchecked(&self) -> bool {
6633        has_sym!(self, xcb_randr_create_mode_unchecked)
6634    }
6635
6636    /// Waits for the reply to a `RandR::CreateMode` request.
6637    #[inline]
6638    pub unsafe fn xcb_randr_create_mode_reply(
6639        &self,
6640        c: *mut xcb_connection_t,
6641        cookie: xcb_randr_create_mode_cookie_t,
6642        e: *mut *mut xcb_generic_error_t,
6643    ) -> *mut xcb_randr_create_mode_reply_t {
6644        sym!(self, xcb_randr_create_mode_reply)(c, cookie, e)
6645    }
6646
6647    /// Returns `true` iff the symbol `xcb_randr_create_mode_reply` could be loaded.
6648    #[cfg(feature = "has_symbol")]
6649    pub fn has_xcb_randr_create_mode_reply(&self) -> bool {
6650        has_sym!(self, xcb_randr_create_mode_reply)
6651    }
6652
6653    /// Sends a `RandR::DestroyMode` request (checked).
6654    ///
6655    /// This request generates a reply. You must either discard it with
6656    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
6657    ///
6658    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
6659    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
6660    #[inline]
6661    pub unsafe fn xcb_randr_destroy_mode_checked(
6662        &self,
6663        c: *mut xcb_connection_t,
6664        mode: xcb_randr_mode_t,
6665    ) -> xcb_void_cookie_t {
6666        sym!(self, xcb_randr_destroy_mode_checked)(c, mode)
6667    }
6668
6669    /// Returns `true` iff the symbol `xcb_randr_destroy_mode_checked` could be loaded.
6670    #[cfg(feature = "has_symbol")]
6671    pub fn has_xcb_randr_destroy_mode_checked(&self) -> bool {
6672        has_sym!(self, xcb_randr_destroy_mode_checked)
6673    }
6674
6675    /// Sends a `RandR::DestroyMode` request (unchecked).
6676    #[inline]
6677    pub unsafe fn xcb_randr_destroy_mode(
6678        &self,
6679        c: *mut xcb_connection_t,
6680        mode: xcb_randr_mode_t,
6681    ) -> xcb_void_cookie_t {
6682        sym!(self, xcb_randr_destroy_mode)(c, mode)
6683    }
6684
6685    /// Returns `true` iff the symbol `xcb_randr_destroy_mode` could be loaded.
6686    #[cfg(feature = "has_symbol")]
6687    pub fn has_xcb_randr_destroy_mode(&self) -> bool {
6688        has_sym!(self, xcb_randr_destroy_mode)
6689    }
6690
6691    /// Sends a `RandR::AddOutputMode` request (checked).
6692    ///
6693    /// This request generates a reply. You must either discard it with
6694    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
6695    ///
6696    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
6697    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
6698    #[inline]
6699    pub unsafe fn xcb_randr_add_output_mode_checked(
6700        &self,
6701        c: *mut xcb_connection_t,
6702        output: xcb_randr_output_t,
6703        mode: xcb_randr_mode_t,
6704    ) -> xcb_void_cookie_t {
6705        sym!(self, xcb_randr_add_output_mode_checked)(c, output, mode)
6706    }
6707
6708    /// Returns `true` iff the symbol `xcb_randr_add_output_mode_checked` could be loaded.
6709    #[cfg(feature = "has_symbol")]
6710    pub fn has_xcb_randr_add_output_mode_checked(&self) -> bool {
6711        has_sym!(self, xcb_randr_add_output_mode_checked)
6712    }
6713
6714    /// Sends a `RandR::AddOutputMode` request (unchecked).
6715    #[inline]
6716    pub unsafe fn xcb_randr_add_output_mode(
6717        &self,
6718        c: *mut xcb_connection_t,
6719        output: xcb_randr_output_t,
6720        mode: xcb_randr_mode_t,
6721    ) -> xcb_void_cookie_t {
6722        sym!(self, xcb_randr_add_output_mode)(c, output, mode)
6723    }
6724
6725    /// Returns `true` iff the symbol `xcb_randr_add_output_mode` could be loaded.
6726    #[cfg(feature = "has_symbol")]
6727    pub fn has_xcb_randr_add_output_mode(&self) -> bool {
6728        has_sym!(self, xcb_randr_add_output_mode)
6729    }
6730
6731    /// Sends a `RandR::DeleteOutputMode` request (checked).
6732    ///
6733    /// This request generates a reply. You must either discard it with
6734    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
6735    ///
6736    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
6737    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
6738    #[inline]
6739    pub unsafe fn xcb_randr_delete_output_mode_checked(
6740        &self,
6741        c: *mut xcb_connection_t,
6742        output: xcb_randr_output_t,
6743        mode: xcb_randr_mode_t,
6744    ) -> xcb_void_cookie_t {
6745        sym!(self, xcb_randr_delete_output_mode_checked)(c, output, mode)
6746    }
6747
6748    /// Returns `true` iff the symbol `xcb_randr_delete_output_mode_checked` could be loaded.
6749    #[cfg(feature = "has_symbol")]
6750    pub fn has_xcb_randr_delete_output_mode_checked(&self) -> bool {
6751        has_sym!(self, xcb_randr_delete_output_mode_checked)
6752    }
6753
6754    /// Sends a `RandR::DeleteOutputMode` request (unchecked).
6755    #[inline]
6756    pub unsafe fn xcb_randr_delete_output_mode(
6757        &self,
6758        c: *mut xcb_connection_t,
6759        output: xcb_randr_output_t,
6760        mode: xcb_randr_mode_t,
6761    ) -> xcb_void_cookie_t {
6762        sym!(self, xcb_randr_delete_output_mode)(c, output, mode)
6763    }
6764
6765    /// Returns `true` iff the symbol `xcb_randr_delete_output_mode` could be loaded.
6766    #[cfg(feature = "has_symbol")]
6767    pub fn has_xcb_randr_delete_output_mode(&self) -> bool {
6768        has_sym!(self, xcb_randr_delete_output_mode)
6769    }
6770
6771    /// Computes the size of a `xcb_randr_get_crtc_info_reply_t` object.
6772    #[inline]
6773    pub unsafe fn xcb_randr_get_crtc_info_sizeof(&self, _buffer: *const c_void) -> c_int {
6774        sym!(self, xcb_randr_get_crtc_info_sizeof)(_buffer)
6775    }
6776
6777    /// Returns `true` iff the symbol `xcb_randr_get_crtc_info_sizeof` could be loaded.
6778    #[cfg(feature = "has_symbol")]
6779    pub fn has_xcb_randr_get_crtc_info_sizeof(&self) -> bool {
6780        has_sym!(self, xcb_randr_get_crtc_info_sizeof)
6781    }
6782
6783    /// Sends a `RandR::GetCrtcInfo` request (checked).
6784    ///
6785    /// This request generates a reply. You must either discard it with
6786    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_crtc_info_reply`].
6787    ///
6788    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
6789    /// [`xcb_randr_get_crtc_info_reply`]: Self::xcb_randr_get_crtc_info_reply
6790    #[inline]
6791    pub unsafe fn xcb_randr_get_crtc_info(
6792        &self,
6793        c: *mut xcb_connection_t,
6794        crtc: xcb_randr_crtc_t,
6795        config_timestamp: xcb_timestamp_t,
6796    ) -> xcb_randr_get_crtc_info_cookie_t {
6797        sym!(self, xcb_randr_get_crtc_info)(c, crtc, config_timestamp)
6798    }
6799
6800    /// Returns `true` iff the symbol `xcb_randr_get_crtc_info` could be loaded.
6801    #[cfg(feature = "has_symbol")]
6802    pub fn has_xcb_randr_get_crtc_info(&self) -> bool {
6803        has_sym!(self, xcb_randr_get_crtc_info)
6804    }
6805
6806    /// Sends a `RandR::GetCrtcInfo` request (unchecked).
6807    ///
6808    /// This request generates a reply. You must either discard it with
6809    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_crtc_info_reply`].
6810    ///
6811    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
6812    /// [`xcb_randr_get_crtc_info_reply`]: Self::xcb_randr_get_crtc_info_reply
6813    #[inline]
6814    pub unsafe fn xcb_randr_get_crtc_info_unchecked(
6815        &self,
6816        c: *mut xcb_connection_t,
6817        crtc: xcb_randr_crtc_t,
6818        config_timestamp: xcb_timestamp_t,
6819    ) -> xcb_randr_get_crtc_info_cookie_t {
6820        sym!(self, xcb_randr_get_crtc_info_unchecked)(c, crtc, config_timestamp)
6821    }
6822
6823    /// Returns `true` iff the symbol `xcb_randr_get_crtc_info_unchecked` could be loaded.
6824    #[cfg(feature = "has_symbol")]
6825    pub fn has_xcb_randr_get_crtc_info_unchecked(&self) -> bool {
6826        has_sym!(self, xcb_randr_get_crtc_info_unchecked)
6827    }
6828
6829    /// Returns a pointer to the `outputs` field of a `xcb_randr_get_crtc_info_reply_t` struct.
6830    #[inline]
6831    pub unsafe fn xcb_randr_get_crtc_info_outputs(
6832        &self,
6833        r: *const xcb_randr_get_crtc_info_reply_t,
6834    ) -> *mut xcb_randr_output_t {
6835        sym!(self, xcb_randr_get_crtc_info_outputs)(r)
6836    }
6837
6838    /// Returns `true` iff the symbol `xcb_randr_get_crtc_info_outputs` could be loaded.
6839    #[cfg(feature = "has_symbol")]
6840    pub fn has_xcb_randr_get_crtc_info_outputs(&self) -> bool {
6841        has_sym!(self, xcb_randr_get_crtc_info_outputs)
6842    }
6843
6844    /// Returns the number of elements of the `outputs` field of a `xcb_randr_get_crtc_info_reply_t` struct.
6845    #[inline]
6846    pub unsafe fn xcb_randr_get_crtc_info_outputs_length(
6847        &self,
6848        r: *const xcb_randr_get_crtc_info_reply_t,
6849    ) -> c_int {
6850        sym!(self, xcb_randr_get_crtc_info_outputs_length)(r)
6851    }
6852
6853    /// Returns `true` iff the symbol `xcb_randr_get_crtc_info_outputs_length` could be loaded.
6854    #[cfg(feature = "has_symbol")]
6855    pub fn has_xcb_randr_get_crtc_info_outputs_length(&self) -> bool {
6856        has_sym!(self, xcb_randr_get_crtc_info_outputs_length)
6857    }
6858
6859    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
6860    /// `outputs` field of a `xcb_randr_get_crtc_info_reply_t` struct.
6861    #[inline]
6862    pub unsafe fn xcb_randr_get_crtc_info_outputs_end(
6863        &self,
6864        r: *const xcb_randr_get_crtc_info_reply_t,
6865    ) -> xcb_generic_iterator_t {
6866        sym!(self, xcb_randr_get_crtc_info_outputs_end)(r)
6867    }
6868
6869    /// Returns `true` iff the symbol `xcb_randr_get_crtc_info_outputs_end` could be loaded.
6870    #[cfg(feature = "has_symbol")]
6871    pub fn has_xcb_randr_get_crtc_info_outputs_end(&self) -> bool {
6872        has_sym!(self, xcb_randr_get_crtc_info_outputs_end)
6873    }
6874
6875    /// Returns a pointer to the `possible` field of a `xcb_randr_get_crtc_info_reply_t` struct.
6876    #[inline]
6877    pub unsafe fn xcb_randr_get_crtc_info_possible(
6878        &self,
6879        r: *const xcb_randr_get_crtc_info_reply_t,
6880    ) -> *mut xcb_randr_output_t {
6881        sym!(self, xcb_randr_get_crtc_info_possible)(r)
6882    }
6883
6884    /// Returns `true` iff the symbol `xcb_randr_get_crtc_info_possible` could be loaded.
6885    #[cfg(feature = "has_symbol")]
6886    pub fn has_xcb_randr_get_crtc_info_possible(&self) -> bool {
6887        has_sym!(self, xcb_randr_get_crtc_info_possible)
6888    }
6889
6890    /// Returns the number of elements of the `possible` field of a `xcb_randr_get_crtc_info_reply_t` struct.
6891    #[inline]
6892    pub unsafe fn xcb_randr_get_crtc_info_possible_length(
6893        &self,
6894        r: *const xcb_randr_get_crtc_info_reply_t,
6895    ) -> c_int {
6896        sym!(self, xcb_randr_get_crtc_info_possible_length)(r)
6897    }
6898
6899    /// Returns `true` iff the symbol `xcb_randr_get_crtc_info_possible_length` could be loaded.
6900    #[cfg(feature = "has_symbol")]
6901    pub fn has_xcb_randr_get_crtc_info_possible_length(&self) -> bool {
6902        has_sym!(self, xcb_randr_get_crtc_info_possible_length)
6903    }
6904
6905    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
6906    /// `possible` field of a `xcb_randr_get_crtc_info_reply_t` struct.
6907    #[inline]
6908    pub unsafe fn xcb_randr_get_crtc_info_possible_end(
6909        &self,
6910        r: *const xcb_randr_get_crtc_info_reply_t,
6911    ) -> xcb_generic_iterator_t {
6912        sym!(self, xcb_randr_get_crtc_info_possible_end)(r)
6913    }
6914
6915    /// Returns `true` iff the symbol `xcb_randr_get_crtc_info_possible_end` could be loaded.
6916    #[cfg(feature = "has_symbol")]
6917    pub fn has_xcb_randr_get_crtc_info_possible_end(&self) -> bool {
6918        has_sym!(self, xcb_randr_get_crtc_info_possible_end)
6919    }
6920
6921    /// Waits for the reply to a `RandR::GetCrtcInfo` request.
6922    #[inline]
6923    pub unsafe fn xcb_randr_get_crtc_info_reply(
6924        &self,
6925        c: *mut xcb_connection_t,
6926        cookie: xcb_randr_get_crtc_info_cookie_t,
6927        e: *mut *mut xcb_generic_error_t,
6928    ) -> *mut xcb_randr_get_crtc_info_reply_t {
6929        sym!(self, xcb_randr_get_crtc_info_reply)(c, cookie, e)
6930    }
6931
6932    /// Returns `true` iff the symbol `xcb_randr_get_crtc_info_reply` could be loaded.
6933    #[cfg(feature = "has_symbol")]
6934    pub fn has_xcb_randr_get_crtc_info_reply(&self) -> bool {
6935        has_sym!(self, xcb_randr_get_crtc_info_reply)
6936    }
6937
6938    /// Computes the size of a `xcb_randr_set_crtc_config_request_t` object.
6939    #[inline]
6940    pub unsafe fn xcb_randr_set_crtc_config_sizeof(
6941        &self,
6942        _buffer: *const c_void,
6943        outputs_len: u32,
6944    ) -> c_int {
6945        sym!(self, xcb_randr_set_crtc_config_sizeof)(_buffer, outputs_len)
6946    }
6947
6948    /// Returns `true` iff the symbol `xcb_randr_set_crtc_config_sizeof` could be loaded.
6949    #[cfg(feature = "has_symbol")]
6950    pub fn has_xcb_randr_set_crtc_config_sizeof(&self) -> bool {
6951        has_sym!(self, xcb_randr_set_crtc_config_sizeof)
6952    }
6953
6954    /// Sends a `RandR::SetCrtcConfig` request (checked).
6955    ///
6956    /// This request generates a reply. You must either discard it with
6957    /// [`discard_reply`] or retrieve it with [`xcb_randr_set_crtc_config_reply`].
6958    ///
6959    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
6960    /// [`xcb_randr_set_crtc_config_reply`]: Self::xcb_randr_set_crtc_config_reply
6961    #[inline]
6962    pub unsafe fn xcb_randr_set_crtc_config(
6963        &self,
6964        c: *mut xcb_connection_t,
6965        crtc: xcb_randr_crtc_t,
6966        timestamp: xcb_timestamp_t,
6967        config_timestamp: xcb_timestamp_t,
6968        x: i16,
6969        y: i16,
6970        mode: xcb_randr_mode_t,
6971        rotation: u16,
6972        outputs_len: u32,
6973        outputs: *const xcb_randr_output_t,
6974    ) -> xcb_randr_set_crtc_config_cookie_t {
6975        sym!(self, xcb_randr_set_crtc_config)(
6976            c,
6977            crtc,
6978            timestamp,
6979            config_timestamp,
6980            x,
6981            y,
6982            mode,
6983            rotation,
6984            outputs_len,
6985            outputs,
6986        )
6987    }
6988
6989    /// Returns `true` iff the symbol `xcb_randr_set_crtc_config` could be loaded.
6990    #[cfg(feature = "has_symbol")]
6991    pub fn has_xcb_randr_set_crtc_config(&self) -> bool {
6992        has_sym!(self, xcb_randr_set_crtc_config)
6993    }
6994
6995    /// Sends a `RandR::SetCrtcConfig` request (unchecked).
6996    ///
6997    /// This request generates a reply. You must either discard it with
6998    /// [`discard_reply`] or retrieve it with [`xcb_randr_set_crtc_config_reply`].
6999    ///
7000    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
7001    /// [`xcb_randr_set_crtc_config_reply`]: Self::xcb_randr_set_crtc_config_reply
7002    #[inline]
7003    pub unsafe fn xcb_randr_set_crtc_config_unchecked(
7004        &self,
7005        c: *mut xcb_connection_t,
7006        crtc: xcb_randr_crtc_t,
7007        timestamp: xcb_timestamp_t,
7008        config_timestamp: xcb_timestamp_t,
7009        x: i16,
7010        y: i16,
7011        mode: xcb_randr_mode_t,
7012        rotation: u16,
7013        outputs_len: u32,
7014        outputs: *const xcb_randr_output_t,
7015    ) -> xcb_randr_set_crtc_config_cookie_t {
7016        sym!(self, xcb_randr_set_crtc_config_unchecked)(
7017            c,
7018            crtc,
7019            timestamp,
7020            config_timestamp,
7021            x,
7022            y,
7023            mode,
7024            rotation,
7025            outputs_len,
7026            outputs,
7027        )
7028    }
7029
7030    /// Returns `true` iff the symbol `xcb_randr_set_crtc_config_unchecked` could be loaded.
7031    #[cfg(feature = "has_symbol")]
7032    pub fn has_xcb_randr_set_crtc_config_unchecked(&self) -> bool {
7033        has_sym!(self, xcb_randr_set_crtc_config_unchecked)
7034    }
7035
7036    /// Waits for the reply to a `RandR::SetCrtcConfig` request.
7037    #[inline]
7038    pub unsafe fn xcb_randr_set_crtc_config_reply(
7039        &self,
7040        c: *mut xcb_connection_t,
7041        cookie: xcb_randr_set_crtc_config_cookie_t,
7042        e: *mut *mut xcb_generic_error_t,
7043    ) -> *mut xcb_randr_set_crtc_config_reply_t {
7044        sym!(self, xcb_randr_set_crtc_config_reply)(c, cookie, e)
7045    }
7046
7047    /// Returns `true` iff the symbol `xcb_randr_set_crtc_config_reply` could be loaded.
7048    #[cfg(feature = "has_symbol")]
7049    pub fn has_xcb_randr_set_crtc_config_reply(&self) -> bool {
7050        has_sym!(self, xcb_randr_set_crtc_config_reply)
7051    }
7052
7053    /// Sends a `RandR::GetCrtcGammaSize` request (checked).
7054    ///
7055    /// This request generates a reply. You must either discard it with
7056    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_crtc_gamma_size_reply`].
7057    ///
7058    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
7059    /// [`xcb_randr_get_crtc_gamma_size_reply`]: Self::xcb_randr_get_crtc_gamma_size_reply
7060    #[inline]
7061    pub unsafe fn xcb_randr_get_crtc_gamma_size(
7062        &self,
7063        c: *mut xcb_connection_t,
7064        crtc: xcb_randr_crtc_t,
7065    ) -> xcb_randr_get_crtc_gamma_size_cookie_t {
7066        sym!(self, xcb_randr_get_crtc_gamma_size)(c, crtc)
7067    }
7068
7069    /// Returns `true` iff the symbol `xcb_randr_get_crtc_gamma_size` could be loaded.
7070    #[cfg(feature = "has_symbol")]
7071    pub fn has_xcb_randr_get_crtc_gamma_size(&self) -> bool {
7072        has_sym!(self, xcb_randr_get_crtc_gamma_size)
7073    }
7074
7075    /// Sends a `RandR::GetCrtcGammaSize` request (unchecked).
7076    ///
7077    /// This request generates a reply. You must either discard it with
7078    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_crtc_gamma_size_reply`].
7079    ///
7080    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
7081    /// [`xcb_randr_get_crtc_gamma_size_reply`]: Self::xcb_randr_get_crtc_gamma_size_reply
7082    #[inline]
7083    pub unsafe fn xcb_randr_get_crtc_gamma_size_unchecked(
7084        &self,
7085        c: *mut xcb_connection_t,
7086        crtc: xcb_randr_crtc_t,
7087    ) -> xcb_randr_get_crtc_gamma_size_cookie_t {
7088        sym!(self, xcb_randr_get_crtc_gamma_size_unchecked)(c, crtc)
7089    }
7090
7091    /// Returns `true` iff the symbol `xcb_randr_get_crtc_gamma_size_unchecked` could be loaded.
7092    #[cfg(feature = "has_symbol")]
7093    pub fn has_xcb_randr_get_crtc_gamma_size_unchecked(&self) -> bool {
7094        has_sym!(self, xcb_randr_get_crtc_gamma_size_unchecked)
7095    }
7096
7097    /// Waits for the reply to a `RandR::GetCrtcGammaSize` request.
7098    #[inline]
7099    pub unsafe fn xcb_randr_get_crtc_gamma_size_reply(
7100        &self,
7101        c: *mut xcb_connection_t,
7102        cookie: xcb_randr_get_crtc_gamma_size_cookie_t,
7103        e: *mut *mut xcb_generic_error_t,
7104    ) -> *mut xcb_randr_get_crtc_gamma_size_reply_t {
7105        sym!(self, xcb_randr_get_crtc_gamma_size_reply)(c, cookie, e)
7106    }
7107
7108    /// Returns `true` iff the symbol `xcb_randr_get_crtc_gamma_size_reply` could be loaded.
7109    #[cfg(feature = "has_symbol")]
7110    pub fn has_xcb_randr_get_crtc_gamma_size_reply(&self) -> bool {
7111        has_sym!(self, xcb_randr_get_crtc_gamma_size_reply)
7112    }
7113
7114    /// Computes the size of a `xcb_randr_get_crtc_gamma_reply_t` object.
7115    #[inline]
7116    pub unsafe fn xcb_randr_get_crtc_gamma_sizeof(&self, _buffer: *const c_void) -> c_int {
7117        sym!(self, xcb_randr_get_crtc_gamma_sizeof)(_buffer)
7118    }
7119
7120    /// Returns `true` iff the symbol `xcb_randr_get_crtc_gamma_sizeof` could be loaded.
7121    #[cfg(feature = "has_symbol")]
7122    pub fn has_xcb_randr_get_crtc_gamma_sizeof(&self) -> bool {
7123        has_sym!(self, xcb_randr_get_crtc_gamma_sizeof)
7124    }
7125
7126    /// Sends a `RandR::GetCrtcGamma` request (checked).
7127    ///
7128    /// This request generates a reply. You must either discard it with
7129    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_crtc_gamma_reply`].
7130    ///
7131    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
7132    /// [`xcb_randr_get_crtc_gamma_reply`]: Self::xcb_randr_get_crtc_gamma_reply
7133    #[inline]
7134    pub unsafe fn xcb_randr_get_crtc_gamma(
7135        &self,
7136        c: *mut xcb_connection_t,
7137        crtc: xcb_randr_crtc_t,
7138    ) -> xcb_randr_get_crtc_gamma_cookie_t {
7139        sym!(self, xcb_randr_get_crtc_gamma)(c, crtc)
7140    }
7141
7142    /// Returns `true` iff the symbol `xcb_randr_get_crtc_gamma` could be loaded.
7143    #[cfg(feature = "has_symbol")]
7144    pub fn has_xcb_randr_get_crtc_gamma(&self) -> bool {
7145        has_sym!(self, xcb_randr_get_crtc_gamma)
7146    }
7147
7148    /// Sends a `RandR::GetCrtcGamma` request (unchecked).
7149    ///
7150    /// This request generates a reply. You must either discard it with
7151    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_crtc_gamma_reply`].
7152    ///
7153    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
7154    /// [`xcb_randr_get_crtc_gamma_reply`]: Self::xcb_randr_get_crtc_gamma_reply
7155    #[inline]
7156    pub unsafe fn xcb_randr_get_crtc_gamma_unchecked(
7157        &self,
7158        c: *mut xcb_connection_t,
7159        crtc: xcb_randr_crtc_t,
7160    ) -> xcb_randr_get_crtc_gamma_cookie_t {
7161        sym!(self, xcb_randr_get_crtc_gamma_unchecked)(c, crtc)
7162    }
7163
7164    /// Returns `true` iff the symbol `xcb_randr_get_crtc_gamma_unchecked` could be loaded.
7165    #[cfg(feature = "has_symbol")]
7166    pub fn has_xcb_randr_get_crtc_gamma_unchecked(&self) -> bool {
7167        has_sym!(self, xcb_randr_get_crtc_gamma_unchecked)
7168    }
7169
7170    /// Returns a pointer to the `red` field of a `xcb_randr_get_crtc_gamma_reply_t` struct.
7171    #[inline]
7172    pub unsafe fn xcb_randr_get_crtc_gamma_red(
7173        &self,
7174        r: *const xcb_randr_get_crtc_gamma_reply_t,
7175    ) -> *mut u16 {
7176        sym!(self, xcb_randr_get_crtc_gamma_red)(r)
7177    }
7178
7179    /// Returns `true` iff the symbol `xcb_randr_get_crtc_gamma_red` could be loaded.
7180    #[cfg(feature = "has_symbol")]
7181    pub fn has_xcb_randr_get_crtc_gamma_red(&self) -> bool {
7182        has_sym!(self, xcb_randr_get_crtc_gamma_red)
7183    }
7184
7185    /// Returns the number of elements of the `red` field of a `xcb_randr_get_crtc_gamma_reply_t` struct.
7186    #[inline]
7187    pub unsafe fn xcb_randr_get_crtc_gamma_red_length(
7188        &self,
7189        r: *const xcb_randr_get_crtc_gamma_reply_t,
7190    ) -> c_int {
7191        sym!(self, xcb_randr_get_crtc_gamma_red_length)(r)
7192    }
7193
7194    /// Returns `true` iff the symbol `xcb_randr_get_crtc_gamma_red_length` could be loaded.
7195    #[cfg(feature = "has_symbol")]
7196    pub fn has_xcb_randr_get_crtc_gamma_red_length(&self) -> bool {
7197        has_sym!(self, xcb_randr_get_crtc_gamma_red_length)
7198    }
7199
7200    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
7201    /// `red` field of a `xcb_randr_get_crtc_gamma_reply_t` struct.
7202    #[inline]
7203    pub unsafe fn xcb_randr_get_crtc_gamma_red_end(
7204        &self,
7205        r: *const xcb_randr_get_crtc_gamma_reply_t,
7206    ) -> xcb_generic_iterator_t {
7207        sym!(self, xcb_randr_get_crtc_gamma_red_end)(r)
7208    }
7209
7210    /// Returns `true` iff the symbol `xcb_randr_get_crtc_gamma_red_end` could be loaded.
7211    #[cfg(feature = "has_symbol")]
7212    pub fn has_xcb_randr_get_crtc_gamma_red_end(&self) -> bool {
7213        has_sym!(self, xcb_randr_get_crtc_gamma_red_end)
7214    }
7215
7216    /// Returns a pointer to the `green` field of a `xcb_randr_get_crtc_gamma_reply_t` struct.
7217    #[inline]
7218    pub unsafe fn xcb_randr_get_crtc_gamma_green(
7219        &self,
7220        r: *const xcb_randr_get_crtc_gamma_reply_t,
7221    ) -> *mut u16 {
7222        sym!(self, xcb_randr_get_crtc_gamma_green)(r)
7223    }
7224
7225    /// Returns `true` iff the symbol `xcb_randr_get_crtc_gamma_green` could be loaded.
7226    #[cfg(feature = "has_symbol")]
7227    pub fn has_xcb_randr_get_crtc_gamma_green(&self) -> bool {
7228        has_sym!(self, xcb_randr_get_crtc_gamma_green)
7229    }
7230
7231    /// Returns the number of elements of the `green` field of a `xcb_randr_get_crtc_gamma_reply_t` struct.
7232    #[inline]
7233    pub unsafe fn xcb_randr_get_crtc_gamma_green_length(
7234        &self,
7235        r: *const xcb_randr_get_crtc_gamma_reply_t,
7236    ) -> c_int {
7237        sym!(self, xcb_randr_get_crtc_gamma_green_length)(r)
7238    }
7239
7240    /// Returns `true` iff the symbol `xcb_randr_get_crtc_gamma_green_length` could be loaded.
7241    #[cfg(feature = "has_symbol")]
7242    pub fn has_xcb_randr_get_crtc_gamma_green_length(&self) -> bool {
7243        has_sym!(self, xcb_randr_get_crtc_gamma_green_length)
7244    }
7245
7246    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
7247    /// `green` field of a `xcb_randr_get_crtc_gamma_reply_t` struct.
7248    #[inline]
7249    pub unsafe fn xcb_randr_get_crtc_gamma_green_end(
7250        &self,
7251        r: *const xcb_randr_get_crtc_gamma_reply_t,
7252    ) -> xcb_generic_iterator_t {
7253        sym!(self, xcb_randr_get_crtc_gamma_green_end)(r)
7254    }
7255
7256    /// Returns `true` iff the symbol `xcb_randr_get_crtc_gamma_green_end` could be loaded.
7257    #[cfg(feature = "has_symbol")]
7258    pub fn has_xcb_randr_get_crtc_gamma_green_end(&self) -> bool {
7259        has_sym!(self, xcb_randr_get_crtc_gamma_green_end)
7260    }
7261
7262    /// Returns a pointer to the `blue` field of a `xcb_randr_get_crtc_gamma_reply_t` struct.
7263    #[inline]
7264    pub unsafe fn xcb_randr_get_crtc_gamma_blue(
7265        &self,
7266        r: *const xcb_randr_get_crtc_gamma_reply_t,
7267    ) -> *mut u16 {
7268        sym!(self, xcb_randr_get_crtc_gamma_blue)(r)
7269    }
7270
7271    /// Returns `true` iff the symbol `xcb_randr_get_crtc_gamma_blue` could be loaded.
7272    #[cfg(feature = "has_symbol")]
7273    pub fn has_xcb_randr_get_crtc_gamma_blue(&self) -> bool {
7274        has_sym!(self, xcb_randr_get_crtc_gamma_blue)
7275    }
7276
7277    /// Returns the number of elements of the `blue` field of a `xcb_randr_get_crtc_gamma_reply_t` struct.
7278    #[inline]
7279    pub unsafe fn xcb_randr_get_crtc_gamma_blue_length(
7280        &self,
7281        r: *const xcb_randr_get_crtc_gamma_reply_t,
7282    ) -> c_int {
7283        sym!(self, xcb_randr_get_crtc_gamma_blue_length)(r)
7284    }
7285
7286    /// Returns `true` iff the symbol `xcb_randr_get_crtc_gamma_blue_length` could be loaded.
7287    #[cfg(feature = "has_symbol")]
7288    pub fn has_xcb_randr_get_crtc_gamma_blue_length(&self) -> bool {
7289        has_sym!(self, xcb_randr_get_crtc_gamma_blue_length)
7290    }
7291
7292    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
7293    /// `blue` field of a `xcb_randr_get_crtc_gamma_reply_t` struct.
7294    #[inline]
7295    pub unsafe fn xcb_randr_get_crtc_gamma_blue_end(
7296        &self,
7297        r: *const xcb_randr_get_crtc_gamma_reply_t,
7298    ) -> xcb_generic_iterator_t {
7299        sym!(self, xcb_randr_get_crtc_gamma_blue_end)(r)
7300    }
7301
7302    /// Returns `true` iff the symbol `xcb_randr_get_crtc_gamma_blue_end` could be loaded.
7303    #[cfg(feature = "has_symbol")]
7304    pub fn has_xcb_randr_get_crtc_gamma_blue_end(&self) -> bool {
7305        has_sym!(self, xcb_randr_get_crtc_gamma_blue_end)
7306    }
7307
7308    /// Waits for the reply to a `RandR::GetCrtcGamma` request.
7309    #[inline]
7310    pub unsafe fn xcb_randr_get_crtc_gamma_reply(
7311        &self,
7312        c: *mut xcb_connection_t,
7313        cookie: xcb_randr_get_crtc_gamma_cookie_t,
7314        e: *mut *mut xcb_generic_error_t,
7315    ) -> *mut xcb_randr_get_crtc_gamma_reply_t {
7316        sym!(self, xcb_randr_get_crtc_gamma_reply)(c, cookie, e)
7317    }
7318
7319    /// Returns `true` iff the symbol `xcb_randr_get_crtc_gamma_reply` could be loaded.
7320    #[cfg(feature = "has_symbol")]
7321    pub fn has_xcb_randr_get_crtc_gamma_reply(&self) -> bool {
7322        has_sym!(self, xcb_randr_get_crtc_gamma_reply)
7323    }
7324
7325    /// Computes the size of a `xcb_randr_set_crtc_gamma_request_t` object.
7326    #[inline]
7327    pub unsafe fn xcb_randr_set_crtc_gamma_sizeof(&self, _buffer: *const c_void) -> c_int {
7328        sym!(self, xcb_randr_set_crtc_gamma_sizeof)(_buffer)
7329    }
7330
7331    /// Returns `true` iff the symbol `xcb_randr_set_crtc_gamma_sizeof` could be loaded.
7332    #[cfg(feature = "has_symbol")]
7333    pub fn has_xcb_randr_set_crtc_gamma_sizeof(&self) -> bool {
7334        has_sym!(self, xcb_randr_set_crtc_gamma_sizeof)
7335    }
7336
7337    /// Sends a `RandR::SetCrtcGamma` request (checked).
7338    ///
7339    /// This request generates a reply. You must either discard it with
7340    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
7341    ///
7342    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
7343    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
7344    #[inline]
7345    pub unsafe fn xcb_randr_set_crtc_gamma_checked(
7346        &self,
7347        c: *mut xcb_connection_t,
7348        crtc: xcb_randr_crtc_t,
7349        size: u16,
7350        red: *const u16,
7351        green: *const u16,
7352        blue: *const u16,
7353    ) -> xcb_void_cookie_t {
7354        sym!(self, xcb_randr_set_crtc_gamma_checked)(c, crtc, size, red, green, blue)
7355    }
7356
7357    /// Returns `true` iff the symbol `xcb_randr_set_crtc_gamma_checked` could be loaded.
7358    #[cfg(feature = "has_symbol")]
7359    pub fn has_xcb_randr_set_crtc_gamma_checked(&self) -> bool {
7360        has_sym!(self, xcb_randr_set_crtc_gamma_checked)
7361    }
7362
7363    /// Sends a `RandR::SetCrtcGamma` request (unchecked).
7364    #[inline]
7365    pub unsafe fn xcb_randr_set_crtc_gamma(
7366        &self,
7367        c: *mut xcb_connection_t,
7368        crtc: xcb_randr_crtc_t,
7369        size: u16,
7370        red: *const u16,
7371        green: *const u16,
7372        blue: *const u16,
7373    ) -> xcb_void_cookie_t {
7374        sym!(self, xcb_randr_set_crtc_gamma)(c, crtc, size, red, green, blue)
7375    }
7376
7377    /// Returns `true` iff the symbol `xcb_randr_set_crtc_gamma` could be loaded.
7378    #[cfg(feature = "has_symbol")]
7379    pub fn has_xcb_randr_set_crtc_gamma(&self) -> bool {
7380        has_sym!(self, xcb_randr_set_crtc_gamma)
7381    }
7382
7383    /// Returns a pointer to the `red` field of a `xcb_randr_set_crtc_gamma_request_t` struct.
7384    #[inline]
7385    pub unsafe fn xcb_randr_set_crtc_gamma_red(
7386        &self,
7387        r: *const xcb_randr_set_crtc_gamma_request_t,
7388    ) -> *mut u16 {
7389        sym!(self, xcb_randr_set_crtc_gamma_red)(r)
7390    }
7391
7392    /// Returns `true` iff the symbol `xcb_randr_set_crtc_gamma_red` could be loaded.
7393    #[cfg(feature = "has_symbol")]
7394    pub fn has_xcb_randr_set_crtc_gamma_red(&self) -> bool {
7395        has_sym!(self, xcb_randr_set_crtc_gamma_red)
7396    }
7397
7398    /// Returns the number of elements of the `red` field of a `xcb_randr_set_crtc_gamma_request_t` struct.
7399    #[inline]
7400    pub unsafe fn xcb_randr_set_crtc_gamma_red_length(
7401        &self,
7402        r: *const xcb_randr_set_crtc_gamma_request_t,
7403    ) -> c_int {
7404        sym!(self, xcb_randr_set_crtc_gamma_red_length)(r)
7405    }
7406
7407    /// Returns `true` iff the symbol `xcb_randr_set_crtc_gamma_red_length` could be loaded.
7408    #[cfg(feature = "has_symbol")]
7409    pub fn has_xcb_randr_set_crtc_gamma_red_length(&self) -> bool {
7410        has_sym!(self, xcb_randr_set_crtc_gamma_red_length)
7411    }
7412
7413    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
7414    /// `red` field of a `xcb_randr_set_crtc_gamma_request_t` struct.
7415    #[inline]
7416    pub unsafe fn xcb_randr_set_crtc_gamma_red_end(
7417        &self,
7418        r: *const xcb_randr_set_crtc_gamma_request_t,
7419    ) -> xcb_generic_iterator_t {
7420        sym!(self, xcb_randr_set_crtc_gamma_red_end)(r)
7421    }
7422
7423    /// Returns `true` iff the symbol `xcb_randr_set_crtc_gamma_red_end` could be loaded.
7424    #[cfg(feature = "has_symbol")]
7425    pub fn has_xcb_randr_set_crtc_gamma_red_end(&self) -> bool {
7426        has_sym!(self, xcb_randr_set_crtc_gamma_red_end)
7427    }
7428
7429    /// Returns a pointer to the `green` field of a `xcb_randr_set_crtc_gamma_request_t` struct.
7430    #[inline]
7431    pub unsafe fn xcb_randr_set_crtc_gamma_green(
7432        &self,
7433        r: *const xcb_randr_set_crtc_gamma_request_t,
7434    ) -> *mut u16 {
7435        sym!(self, xcb_randr_set_crtc_gamma_green)(r)
7436    }
7437
7438    /// Returns `true` iff the symbol `xcb_randr_set_crtc_gamma_green` could be loaded.
7439    #[cfg(feature = "has_symbol")]
7440    pub fn has_xcb_randr_set_crtc_gamma_green(&self) -> bool {
7441        has_sym!(self, xcb_randr_set_crtc_gamma_green)
7442    }
7443
7444    /// Returns the number of elements of the `green` field of a `xcb_randr_set_crtc_gamma_request_t` struct.
7445    #[inline]
7446    pub unsafe fn xcb_randr_set_crtc_gamma_green_length(
7447        &self,
7448        r: *const xcb_randr_set_crtc_gamma_request_t,
7449    ) -> c_int {
7450        sym!(self, xcb_randr_set_crtc_gamma_green_length)(r)
7451    }
7452
7453    /// Returns `true` iff the symbol `xcb_randr_set_crtc_gamma_green_length` could be loaded.
7454    #[cfg(feature = "has_symbol")]
7455    pub fn has_xcb_randr_set_crtc_gamma_green_length(&self) -> bool {
7456        has_sym!(self, xcb_randr_set_crtc_gamma_green_length)
7457    }
7458
7459    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
7460    /// `green` field of a `xcb_randr_set_crtc_gamma_request_t` struct.
7461    #[inline]
7462    pub unsafe fn xcb_randr_set_crtc_gamma_green_end(
7463        &self,
7464        r: *const xcb_randr_set_crtc_gamma_request_t,
7465    ) -> xcb_generic_iterator_t {
7466        sym!(self, xcb_randr_set_crtc_gamma_green_end)(r)
7467    }
7468
7469    /// Returns `true` iff the symbol `xcb_randr_set_crtc_gamma_green_end` could be loaded.
7470    #[cfg(feature = "has_symbol")]
7471    pub fn has_xcb_randr_set_crtc_gamma_green_end(&self) -> bool {
7472        has_sym!(self, xcb_randr_set_crtc_gamma_green_end)
7473    }
7474
7475    /// Returns a pointer to the `blue` field of a `xcb_randr_set_crtc_gamma_request_t` struct.
7476    #[inline]
7477    pub unsafe fn xcb_randr_set_crtc_gamma_blue(
7478        &self,
7479        r: *const xcb_randr_set_crtc_gamma_request_t,
7480    ) -> *mut u16 {
7481        sym!(self, xcb_randr_set_crtc_gamma_blue)(r)
7482    }
7483
7484    /// Returns `true` iff the symbol `xcb_randr_set_crtc_gamma_blue` could be loaded.
7485    #[cfg(feature = "has_symbol")]
7486    pub fn has_xcb_randr_set_crtc_gamma_blue(&self) -> bool {
7487        has_sym!(self, xcb_randr_set_crtc_gamma_blue)
7488    }
7489
7490    /// Returns the number of elements of the `blue` field of a `xcb_randr_set_crtc_gamma_request_t` struct.
7491    #[inline]
7492    pub unsafe fn xcb_randr_set_crtc_gamma_blue_length(
7493        &self,
7494        r: *const xcb_randr_set_crtc_gamma_request_t,
7495    ) -> c_int {
7496        sym!(self, xcb_randr_set_crtc_gamma_blue_length)(r)
7497    }
7498
7499    /// Returns `true` iff the symbol `xcb_randr_set_crtc_gamma_blue_length` could be loaded.
7500    #[cfg(feature = "has_symbol")]
7501    pub fn has_xcb_randr_set_crtc_gamma_blue_length(&self) -> bool {
7502        has_sym!(self, xcb_randr_set_crtc_gamma_blue_length)
7503    }
7504
7505    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
7506    /// `blue` field of a `xcb_randr_set_crtc_gamma_request_t` struct.
7507    #[inline]
7508    pub unsafe fn xcb_randr_set_crtc_gamma_blue_end(
7509        &self,
7510        r: *const xcb_randr_set_crtc_gamma_request_t,
7511    ) -> xcb_generic_iterator_t {
7512        sym!(self, xcb_randr_set_crtc_gamma_blue_end)(r)
7513    }
7514
7515    /// Returns `true` iff the symbol `xcb_randr_set_crtc_gamma_blue_end` could be loaded.
7516    #[cfg(feature = "has_symbol")]
7517    pub fn has_xcb_randr_set_crtc_gamma_blue_end(&self) -> bool {
7518        has_sym!(self, xcb_randr_set_crtc_gamma_blue_end)
7519    }
7520
7521    /// Computes the size of a `xcb_randr_get_screen_resources_current_reply_t` object.
7522    #[inline]
7523    pub unsafe fn xcb_randr_get_screen_resources_current_sizeof(
7524        &self,
7525        _buffer: *const c_void,
7526    ) -> c_int {
7527        sym!(self, xcb_randr_get_screen_resources_current_sizeof)(_buffer)
7528    }
7529
7530    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_current_sizeof` could be loaded.
7531    #[cfg(feature = "has_symbol")]
7532    pub fn has_xcb_randr_get_screen_resources_current_sizeof(&self) -> bool {
7533        has_sym!(self, xcb_randr_get_screen_resources_current_sizeof)
7534    }
7535
7536    /// Sends a `RandR::GetScreenResourcesCurrent` request (checked).
7537    ///
7538    /// This request generates a reply. You must either discard it with
7539    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_screen_resources_current_reply`].
7540    ///
7541    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
7542    /// [`xcb_randr_get_screen_resources_current_reply`]: Self::xcb_randr_get_screen_resources_current_reply
7543    #[inline]
7544    pub unsafe fn xcb_randr_get_screen_resources_current(
7545        &self,
7546        c: *mut xcb_connection_t,
7547        window: xcb_window_t,
7548    ) -> xcb_randr_get_screen_resources_current_cookie_t {
7549        sym!(self, xcb_randr_get_screen_resources_current)(c, window)
7550    }
7551
7552    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_current` could be loaded.
7553    #[cfg(feature = "has_symbol")]
7554    pub fn has_xcb_randr_get_screen_resources_current(&self) -> bool {
7555        has_sym!(self, xcb_randr_get_screen_resources_current)
7556    }
7557
7558    /// Sends a `RandR::GetScreenResourcesCurrent` request (unchecked).
7559    ///
7560    /// This request generates a reply. You must either discard it with
7561    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_screen_resources_current_reply`].
7562    ///
7563    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
7564    /// [`xcb_randr_get_screen_resources_current_reply`]: Self::xcb_randr_get_screen_resources_current_reply
7565    #[inline]
7566    pub unsafe fn xcb_randr_get_screen_resources_current_unchecked(
7567        &self,
7568        c: *mut xcb_connection_t,
7569        window: xcb_window_t,
7570    ) -> xcb_randr_get_screen_resources_current_cookie_t {
7571        sym!(self, xcb_randr_get_screen_resources_current_unchecked)(c, window)
7572    }
7573
7574    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_current_unchecked` could be loaded.
7575    #[cfg(feature = "has_symbol")]
7576    pub fn has_xcb_randr_get_screen_resources_current_unchecked(&self) -> bool {
7577        has_sym!(self, xcb_randr_get_screen_resources_current_unchecked)
7578    }
7579
7580    /// Returns a pointer to the `crtcs` field of a `xcb_randr_get_screen_resources_current_reply_t` struct.
7581    #[inline]
7582    pub unsafe fn xcb_randr_get_screen_resources_current_crtcs(
7583        &self,
7584        r: *const xcb_randr_get_screen_resources_current_reply_t,
7585    ) -> *mut xcb_randr_crtc_t {
7586        sym!(self, xcb_randr_get_screen_resources_current_crtcs)(r)
7587    }
7588
7589    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_current_crtcs` could be loaded.
7590    #[cfg(feature = "has_symbol")]
7591    pub fn has_xcb_randr_get_screen_resources_current_crtcs(&self) -> bool {
7592        has_sym!(self, xcb_randr_get_screen_resources_current_crtcs)
7593    }
7594
7595    /// Returns the number of elements of the `crtcs` field of a `xcb_randr_get_screen_resources_current_reply_t` struct.
7596    #[inline]
7597    pub unsafe fn xcb_randr_get_screen_resources_current_crtcs_length(
7598        &self,
7599        r: *const xcb_randr_get_screen_resources_current_reply_t,
7600    ) -> c_int {
7601        sym!(self, xcb_randr_get_screen_resources_current_crtcs_length)(r)
7602    }
7603
7604    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_current_crtcs_length` could be loaded.
7605    #[cfg(feature = "has_symbol")]
7606    pub fn has_xcb_randr_get_screen_resources_current_crtcs_length(&self) -> bool {
7607        has_sym!(self, xcb_randr_get_screen_resources_current_crtcs_length)
7608    }
7609
7610    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
7611    /// `crtcs` field of a `xcb_randr_get_screen_resources_current_reply_t` struct.
7612    #[inline]
7613    pub unsafe fn xcb_randr_get_screen_resources_current_crtcs_end(
7614        &self,
7615        r: *const xcb_randr_get_screen_resources_current_reply_t,
7616    ) -> xcb_generic_iterator_t {
7617        sym!(self, xcb_randr_get_screen_resources_current_crtcs_end)(r)
7618    }
7619
7620    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_current_crtcs_end` could be loaded.
7621    #[cfg(feature = "has_symbol")]
7622    pub fn has_xcb_randr_get_screen_resources_current_crtcs_end(&self) -> bool {
7623        has_sym!(self, xcb_randr_get_screen_resources_current_crtcs_end)
7624    }
7625
7626    /// Returns a pointer to the `outputs` field of a `xcb_randr_get_screen_resources_current_reply_t` struct.
7627    #[inline]
7628    pub unsafe fn xcb_randr_get_screen_resources_current_outputs(
7629        &self,
7630        r: *const xcb_randr_get_screen_resources_current_reply_t,
7631    ) -> *mut xcb_randr_output_t {
7632        sym!(self, xcb_randr_get_screen_resources_current_outputs)(r)
7633    }
7634
7635    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_current_outputs` could be loaded.
7636    #[cfg(feature = "has_symbol")]
7637    pub fn has_xcb_randr_get_screen_resources_current_outputs(&self) -> bool {
7638        has_sym!(self, xcb_randr_get_screen_resources_current_outputs)
7639    }
7640
7641    /// Returns the number of elements of the `outputs` field of a `xcb_randr_get_screen_resources_current_reply_t` struct.
7642    #[inline]
7643    pub unsafe fn xcb_randr_get_screen_resources_current_outputs_length(
7644        &self,
7645        r: *const xcb_randr_get_screen_resources_current_reply_t,
7646    ) -> c_int {
7647        sym!(self, xcb_randr_get_screen_resources_current_outputs_length)(r)
7648    }
7649
7650    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_current_outputs_length` could be loaded.
7651    #[cfg(feature = "has_symbol")]
7652    pub fn has_xcb_randr_get_screen_resources_current_outputs_length(&self) -> bool {
7653        has_sym!(self, xcb_randr_get_screen_resources_current_outputs_length)
7654    }
7655
7656    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
7657    /// `outputs` field of a `xcb_randr_get_screen_resources_current_reply_t` struct.
7658    #[inline]
7659    pub unsafe fn xcb_randr_get_screen_resources_current_outputs_end(
7660        &self,
7661        r: *const xcb_randr_get_screen_resources_current_reply_t,
7662    ) -> xcb_generic_iterator_t {
7663        sym!(self, xcb_randr_get_screen_resources_current_outputs_end)(r)
7664    }
7665
7666    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_current_outputs_end` could be loaded.
7667    #[cfg(feature = "has_symbol")]
7668    pub fn has_xcb_randr_get_screen_resources_current_outputs_end(&self) -> bool {
7669        has_sym!(self, xcb_randr_get_screen_resources_current_outputs_end)
7670    }
7671
7672    /// Returns a pointer to the `modes` field of a `xcb_randr_get_screen_resources_current_reply_t` struct.
7673    #[inline]
7674    pub unsafe fn xcb_randr_get_screen_resources_current_modes(
7675        &self,
7676        r: *const xcb_randr_get_screen_resources_current_reply_t,
7677    ) -> *mut xcb_randr_mode_info_t {
7678        sym!(self, xcb_randr_get_screen_resources_current_modes)(r)
7679    }
7680
7681    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_current_modes` could be loaded.
7682    #[cfg(feature = "has_symbol")]
7683    pub fn has_xcb_randr_get_screen_resources_current_modes(&self) -> bool {
7684        has_sym!(self, xcb_randr_get_screen_resources_current_modes)
7685    }
7686
7687    /// Returns the number of elements of the `modes` field of a `xcb_randr_get_screen_resources_current_reply_t` struct.
7688    #[inline]
7689    pub unsafe fn xcb_randr_get_screen_resources_current_modes_length(
7690        &self,
7691        r: *const xcb_randr_get_screen_resources_current_reply_t,
7692    ) -> c_int {
7693        sym!(self, xcb_randr_get_screen_resources_current_modes_length)(r)
7694    }
7695
7696    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_current_modes_length` could be loaded.
7697    #[cfg(feature = "has_symbol")]
7698    pub fn has_xcb_randr_get_screen_resources_current_modes_length(&self) -> bool {
7699        has_sym!(self, xcb_randr_get_screen_resources_current_modes_length)
7700    }
7701
7702    /// Returns an iterator over the elements of the
7703    /// `modes` field of a `xcb_randr_get_screen_resources_current_reply_t` struct.
7704    #[inline]
7705    pub unsafe fn xcb_randr_get_screen_resources_current_modes_iterator(
7706        &self,
7707        r: *const xcb_randr_get_screen_resources_current_reply_t,
7708    ) -> xcb_randr_mode_info_iterator_t {
7709        sym!(self, xcb_randr_get_screen_resources_current_modes_iterator)(r)
7710    }
7711
7712    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_current_modes_iterator` could be loaded.
7713    #[cfg(feature = "has_symbol")]
7714    pub fn has_xcb_randr_get_screen_resources_current_modes_iterator(&self) -> bool {
7715        has_sym!(self, xcb_randr_get_screen_resources_current_modes_iterator)
7716    }
7717
7718    /// Returns a pointer to the `names` field of a `xcb_randr_get_screen_resources_current_reply_t` struct.
7719    #[inline]
7720    pub unsafe fn xcb_randr_get_screen_resources_current_names(
7721        &self,
7722        r: *const xcb_randr_get_screen_resources_current_reply_t,
7723    ) -> *mut u8 {
7724        sym!(self, xcb_randr_get_screen_resources_current_names)(r)
7725    }
7726
7727    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_current_names` could be loaded.
7728    #[cfg(feature = "has_symbol")]
7729    pub fn has_xcb_randr_get_screen_resources_current_names(&self) -> bool {
7730        has_sym!(self, xcb_randr_get_screen_resources_current_names)
7731    }
7732
7733    /// Returns the number of elements of the `names` field of a `xcb_randr_get_screen_resources_current_reply_t` struct.
7734    #[inline]
7735    pub unsafe fn xcb_randr_get_screen_resources_current_names_length(
7736        &self,
7737        r: *const xcb_randr_get_screen_resources_current_reply_t,
7738    ) -> c_int {
7739        sym!(self, xcb_randr_get_screen_resources_current_names_length)(r)
7740    }
7741
7742    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_current_names_length` could be loaded.
7743    #[cfg(feature = "has_symbol")]
7744    pub fn has_xcb_randr_get_screen_resources_current_names_length(&self) -> bool {
7745        has_sym!(self, xcb_randr_get_screen_resources_current_names_length)
7746    }
7747
7748    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
7749    /// `names` field of a `xcb_randr_get_screen_resources_current_reply_t` struct.
7750    #[inline]
7751    pub unsafe fn xcb_randr_get_screen_resources_current_names_end(
7752        &self,
7753        r: *const xcb_randr_get_screen_resources_current_reply_t,
7754    ) -> xcb_generic_iterator_t {
7755        sym!(self, xcb_randr_get_screen_resources_current_names_end)(r)
7756    }
7757
7758    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_current_names_end` could be loaded.
7759    #[cfg(feature = "has_symbol")]
7760    pub fn has_xcb_randr_get_screen_resources_current_names_end(&self) -> bool {
7761        has_sym!(self, xcb_randr_get_screen_resources_current_names_end)
7762    }
7763
7764    /// Waits for the reply to a `RandR::GetScreenResourcesCurrent` request.
7765    #[inline]
7766    pub unsafe fn xcb_randr_get_screen_resources_current_reply(
7767        &self,
7768        c: *mut xcb_connection_t,
7769        cookie: xcb_randr_get_screen_resources_current_cookie_t,
7770        e: *mut *mut xcb_generic_error_t,
7771    ) -> *mut xcb_randr_get_screen_resources_current_reply_t {
7772        sym!(self, xcb_randr_get_screen_resources_current_reply)(c, cookie, e)
7773    }
7774
7775    /// Returns `true` iff the symbol `xcb_randr_get_screen_resources_current_reply` could be loaded.
7776    #[cfg(feature = "has_symbol")]
7777    pub fn has_xcb_randr_get_screen_resources_current_reply(&self) -> bool {
7778        has_sym!(self, xcb_randr_get_screen_resources_current_reply)
7779    }
7780
7781    /// Computes the size of a `xcb_randr_set_crtc_transform_request_t` object.
7782    #[inline]
7783    pub unsafe fn xcb_randr_set_crtc_transform_sizeof(
7784        &self,
7785        _buffer: *const c_void,
7786        filter_params_len: u32,
7787    ) -> c_int {
7788        sym!(self, xcb_randr_set_crtc_transform_sizeof)(_buffer, filter_params_len)
7789    }
7790
7791    /// Returns `true` iff the symbol `xcb_randr_set_crtc_transform_sizeof` could be loaded.
7792    #[cfg(feature = "has_symbol")]
7793    pub fn has_xcb_randr_set_crtc_transform_sizeof(&self) -> bool {
7794        has_sym!(self, xcb_randr_set_crtc_transform_sizeof)
7795    }
7796
7797    /// Sends a `RandR::SetCrtcTransform` request (checked).
7798    ///
7799    /// This request generates a reply. You must either discard it with
7800    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
7801    ///
7802    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
7803    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
7804    #[inline]
7805    pub unsafe fn xcb_randr_set_crtc_transform_checked(
7806        &self,
7807        c: *mut xcb_connection_t,
7808        crtc: xcb_randr_crtc_t,
7809        transform: xcb_render_transform_t,
7810        filter_len: u16,
7811        filter_name: *const c_char,
7812        filter_params_len: u32,
7813        filter_params: *const xcb_render_fixed_t,
7814    ) -> xcb_void_cookie_t {
7815        sym!(self, xcb_randr_set_crtc_transform_checked)(
7816            c,
7817            crtc,
7818            transform,
7819            filter_len,
7820            filter_name,
7821            filter_params_len,
7822            filter_params,
7823        )
7824    }
7825
7826    /// Returns `true` iff the symbol `xcb_randr_set_crtc_transform_checked` could be loaded.
7827    #[cfg(feature = "has_symbol")]
7828    pub fn has_xcb_randr_set_crtc_transform_checked(&self) -> bool {
7829        has_sym!(self, xcb_randr_set_crtc_transform_checked)
7830    }
7831
7832    /// Sends a `RandR::SetCrtcTransform` request (unchecked).
7833    #[inline]
7834    pub unsafe fn xcb_randr_set_crtc_transform(
7835        &self,
7836        c: *mut xcb_connection_t,
7837        crtc: xcb_randr_crtc_t,
7838        transform: xcb_render_transform_t,
7839        filter_len: u16,
7840        filter_name: *const c_char,
7841        filter_params_len: u32,
7842        filter_params: *const xcb_render_fixed_t,
7843    ) -> xcb_void_cookie_t {
7844        sym!(self, xcb_randr_set_crtc_transform)(
7845            c,
7846            crtc,
7847            transform,
7848            filter_len,
7849            filter_name,
7850            filter_params_len,
7851            filter_params,
7852        )
7853    }
7854
7855    /// Returns `true` iff the symbol `xcb_randr_set_crtc_transform` could be loaded.
7856    #[cfg(feature = "has_symbol")]
7857    pub fn has_xcb_randr_set_crtc_transform(&self) -> bool {
7858        has_sym!(self, xcb_randr_set_crtc_transform)
7859    }
7860
7861    /// Returns a pointer to the `filter_name` field of a `xcb_randr_set_crtc_transform_request_t` struct.
7862    #[inline]
7863    pub unsafe fn xcb_randr_set_crtc_transform_filter_name(
7864        &self,
7865        r: *const xcb_randr_set_crtc_transform_request_t,
7866    ) -> *mut c_char {
7867        sym!(self, xcb_randr_set_crtc_transform_filter_name)(r)
7868    }
7869
7870    /// Returns `true` iff the symbol `xcb_randr_set_crtc_transform_filter_name` could be loaded.
7871    #[cfg(feature = "has_symbol")]
7872    pub fn has_xcb_randr_set_crtc_transform_filter_name(&self) -> bool {
7873        has_sym!(self, xcb_randr_set_crtc_transform_filter_name)
7874    }
7875
7876    /// Returns the number of elements of the `filter_name` field of a `xcb_randr_set_crtc_transform_request_t` struct.
7877    #[inline]
7878    pub unsafe fn xcb_randr_set_crtc_transform_filter_name_length(
7879        &self,
7880        r: *const xcb_randr_set_crtc_transform_request_t,
7881    ) -> c_int {
7882        sym!(self, xcb_randr_set_crtc_transform_filter_name_length)(r)
7883    }
7884
7885    /// Returns `true` iff the symbol `xcb_randr_set_crtc_transform_filter_name_length` could be loaded.
7886    #[cfg(feature = "has_symbol")]
7887    pub fn has_xcb_randr_set_crtc_transform_filter_name_length(&self) -> bool {
7888        has_sym!(self, xcb_randr_set_crtc_transform_filter_name_length)
7889    }
7890
7891    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
7892    /// `filter_name` field of a `xcb_randr_set_crtc_transform_request_t` struct.
7893    #[inline]
7894    pub unsafe fn xcb_randr_set_crtc_transform_filter_name_end(
7895        &self,
7896        r: *const xcb_randr_set_crtc_transform_request_t,
7897    ) -> xcb_generic_iterator_t {
7898        sym!(self, xcb_randr_set_crtc_transform_filter_name_end)(r)
7899    }
7900
7901    /// Returns `true` iff the symbol `xcb_randr_set_crtc_transform_filter_name_end` could be loaded.
7902    #[cfg(feature = "has_symbol")]
7903    pub fn has_xcb_randr_set_crtc_transform_filter_name_end(&self) -> bool {
7904        has_sym!(self, xcb_randr_set_crtc_transform_filter_name_end)
7905    }
7906
7907    /// Returns a pointer to the `filter_params` field of a `xcb_randr_set_crtc_transform_request_t` struct.
7908    #[inline]
7909    pub unsafe fn xcb_randr_set_crtc_transform_filter_params(
7910        &self,
7911        r: *const xcb_randr_set_crtc_transform_request_t,
7912    ) -> *mut xcb_render_fixed_t {
7913        sym!(self, xcb_randr_set_crtc_transform_filter_params)(r)
7914    }
7915
7916    /// Returns `true` iff the symbol `xcb_randr_set_crtc_transform_filter_params` could be loaded.
7917    #[cfg(feature = "has_symbol")]
7918    pub fn has_xcb_randr_set_crtc_transform_filter_params(&self) -> bool {
7919        has_sym!(self, xcb_randr_set_crtc_transform_filter_params)
7920    }
7921
7922    /// Returns the number of elements of the `filter_params` field of a `xcb_randr_set_crtc_transform_request_t` struct.
7923    #[inline]
7924    pub unsafe fn xcb_randr_set_crtc_transform_filter_params_length(
7925        &self,
7926        r: *const xcb_randr_set_crtc_transform_request_t,
7927    ) -> c_int {
7928        sym!(self, xcb_randr_set_crtc_transform_filter_params_length)(r)
7929    }
7930
7931    /// Returns `true` iff the symbol `xcb_randr_set_crtc_transform_filter_params_length` could be loaded.
7932    #[cfg(feature = "has_symbol")]
7933    pub fn has_xcb_randr_set_crtc_transform_filter_params_length(&self) -> bool {
7934        has_sym!(self, xcb_randr_set_crtc_transform_filter_params_length)
7935    }
7936
7937    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
7938    /// `filter_params` field of a `xcb_randr_set_crtc_transform_request_t` struct.
7939    #[inline]
7940    pub unsafe fn xcb_randr_set_crtc_transform_filter_params_end(
7941        &self,
7942        r: *const xcb_randr_set_crtc_transform_request_t,
7943    ) -> xcb_generic_iterator_t {
7944        sym!(self, xcb_randr_set_crtc_transform_filter_params_end)(r)
7945    }
7946
7947    /// Returns `true` iff the symbol `xcb_randr_set_crtc_transform_filter_params_end` could be loaded.
7948    #[cfg(feature = "has_symbol")]
7949    pub fn has_xcb_randr_set_crtc_transform_filter_params_end(&self) -> bool {
7950        has_sym!(self, xcb_randr_set_crtc_transform_filter_params_end)
7951    }
7952
7953    /// Computes the size of a `xcb_randr_get_crtc_transform_reply_t` object.
7954    #[inline]
7955    pub unsafe fn xcb_randr_get_crtc_transform_sizeof(&self, _buffer: *const c_void) -> c_int {
7956        sym!(self, xcb_randr_get_crtc_transform_sizeof)(_buffer)
7957    }
7958
7959    /// Returns `true` iff the symbol `xcb_randr_get_crtc_transform_sizeof` could be loaded.
7960    #[cfg(feature = "has_symbol")]
7961    pub fn has_xcb_randr_get_crtc_transform_sizeof(&self) -> bool {
7962        has_sym!(self, xcb_randr_get_crtc_transform_sizeof)
7963    }
7964
7965    /// Sends a `RandR::GetCrtcTransform` request (checked).
7966    ///
7967    /// This request generates a reply. You must either discard it with
7968    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_crtc_transform_reply`].
7969    ///
7970    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
7971    /// [`xcb_randr_get_crtc_transform_reply`]: Self::xcb_randr_get_crtc_transform_reply
7972    #[inline]
7973    pub unsafe fn xcb_randr_get_crtc_transform(
7974        &self,
7975        c: *mut xcb_connection_t,
7976        crtc: xcb_randr_crtc_t,
7977    ) -> xcb_randr_get_crtc_transform_cookie_t {
7978        sym!(self, xcb_randr_get_crtc_transform)(c, crtc)
7979    }
7980
7981    /// Returns `true` iff the symbol `xcb_randr_get_crtc_transform` could be loaded.
7982    #[cfg(feature = "has_symbol")]
7983    pub fn has_xcb_randr_get_crtc_transform(&self) -> bool {
7984        has_sym!(self, xcb_randr_get_crtc_transform)
7985    }
7986
7987    /// Sends a `RandR::GetCrtcTransform` request (unchecked).
7988    ///
7989    /// This request generates a reply. You must either discard it with
7990    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_crtc_transform_reply`].
7991    ///
7992    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
7993    /// [`xcb_randr_get_crtc_transform_reply`]: Self::xcb_randr_get_crtc_transform_reply
7994    #[inline]
7995    pub unsafe fn xcb_randr_get_crtc_transform_unchecked(
7996        &self,
7997        c: *mut xcb_connection_t,
7998        crtc: xcb_randr_crtc_t,
7999    ) -> xcb_randr_get_crtc_transform_cookie_t {
8000        sym!(self, xcb_randr_get_crtc_transform_unchecked)(c, crtc)
8001    }
8002
8003    /// Returns `true` iff the symbol `xcb_randr_get_crtc_transform_unchecked` could be loaded.
8004    #[cfg(feature = "has_symbol")]
8005    pub fn has_xcb_randr_get_crtc_transform_unchecked(&self) -> bool {
8006        has_sym!(self, xcb_randr_get_crtc_transform_unchecked)
8007    }
8008
8009    /// Returns a pointer to the `pending_filter_name` field of a `xcb_randr_get_crtc_transform_reply_t` struct.
8010    #[inline]
8011    pub unsafe fn xcb_randr_get_crtc_transform_pending_filter_name(
8012        &self,
8013        r: *const xcb_randr_get_crtc_transform_reply_t,
8014    ) -> *mut c_char {
8015        sym!(self, xcb_randr_get_crtc_transform_pending_filter_name)(r)
8016    }
8017
8018    /// Returns `true` iff the symbol `xcb_randr_get_crtc_transform_pending_filter_name` could be loaded.
8019    #[cfg(feature = "has_symbol")]
8020    pub fn has_xcb_randr_get_crtc_transform_pending_filter_name(&self) -> bool {
8021        has_sym!(self, xcb_randr_get_crtc_transform_pending_filter_name)
8022    }
8023
8024    /// Returns the number of elements of the `pending_filter_name` field of a `xcb_randr_get_crtc_transform_reply_t` struct.
8025    #[inline]
8026    pub unsafe fn xcb_randr_get_crtc_transform_pending_filter_name_length(
8027        &self,
8028        r: *const xcb_randr_get_crtc_transform_reply_t,
8029    ) -> c_int {
8030        sym!(
8031            self,
8032            xcb_randr_get_crtc_transform_pending_filter_name_length
8033        )(r)
8034    }
8035
8036    /// Returns `true` iff the symbol `xcb_randr_get_crtc_transform_pending_filter_name_length` could be loaded.
8037    #[cfg(feature = "has_symbol")]
8038    pub fn has_xcb_randr_get_crtc_transform_pending_filter_name_length(&self) -> bool {
8039        has_sym!(
8040            self,
8041            xcb_randr_get_crtc_transform_pending_filter_name_length
8042        )
8043    }
8044
8045    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
8046    /// `pending_filter_name` field of a `xcb_randr_get_crtc_transform_reply_t` struct.
8047    #[inline]
8048    pub unsafe fn xcb_randr_get_crtc_transform_pending_filter_name_end(
8049        &self,
8050        r: *const xcb_randr_get_crtc_transform_reply_t,
8051    ) -> xcb_generic_iterator_t {
8052        sym!(self, xcb_randr_get_crtc_transform_pending_filter_name_end)(r)
8053    }
8054
8055    /// Returns `true` iff the symbol `xcb_randr_get_crtc_transform_pending_filter_name_end` could be loaded.
8056    #[cfg(feature = "has_symbol")]
8057    pub fn has_xcb_randr_get_crtc_transform_pending_filter_name_end(&self) -> bool {
8058        has_sym!(self, xcb_randr_get_crtc_transform_pending_filter_name_end)
8059    }
8060
8061    /// Returns a pointer to the `pending_params` field of a `xcb_randr_get_crtc_transform_reply_t` struct.
8062    #[inline]
8063    pub unsafe fn xcb_randr_get_crtc_transform_pending_params(
8064        &self,
8065        r: *const xcb_randr_get_crtc_transform_reply_t,
8066    ) -> *mut xcb_render_fixed_t {
8067        sym!(self, xcb_randr_get_crtc_transform_pending_params)(r)
8068    }
8069
8070    /// Returns `true` iff the symbol `xcb_randr_get_crtc_transform_pending_params` could be loaded.
8071    #[cfg(feature = "has_symbol")]
8072    pub fn has_xcb_randr_get_crtc_transform_pending_params(&self) -> bool {
8073        has_sym!(self, xcb_randr_get_crtc_transform_pending_params)
8074    }
8075
8076    /// Returns the number of elements of the `pending_params` field of a `xcb_randr_get_crtc_transform_reply_t` struct.
8077    #[inline]
8078    pub unsafe fn xcb_randr_get_crtc_transform_pending_params_length(
8079        &self,
8080        r: *const xcb_randr_get_crtc_transform_reply_t,
8081    ) -> c_int {
8082        sym!(self, xcb_randr_get_crtc_transform_pending_params_length)(r)
8083    }
8084
8085    /// Returns `true` iff the symbol `xcb_randr_get_crtc_transform_pending_params_length` could be loaded.
8086    #[cfg(feature = "has_symbol")]
8087    pub fn has_xcb_randr_get_crtc_transform_pending_params_length(&self) -> bool {
8088        has_sym!(self, xcb_randr_get_crtc_transform_pending_params_length)
8089    }
8090
8091    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
8092    /// `pending_params` field of a `xcb_randr_get_crtc_transform_reply_t` struct.
8093    #[inline]
8094    pub unsafe fn xcb_randr_get_crtc_transform_pending_params_end(
8095        &self,
8096        r: *const xcb_randr_get_crtc_transform_reply_t,
8097    ) -> xcb_generic_iterator_t {
8098        sym!(self, xcb_randr_get_crtc_transform_pending_params_end)(r)
8099    }
8100
8101    /// Returns `true` iff the symbol `xcb_randr_get_crtc_transform_pending_params_end` could be loaded.
8102    #[cfg(feature = "has_symbol")]
8103    pub fn has_xcb_randr_get_crtc_transform_pending_params_end(&self) -> bool {
8104        has_sym!(self, xcb_randr_get_crtc_transform_pending_params_end)
8105    }
8106
8107    /// Returns a pointer to the `current_filter_name` field of a `xcb_randr_get_crtc_transform_reply_t` struct.
8108    #[inline]
8109    pub unsafe fn xcb_randr_get_crtc_transform_current_filter_name(
8110        &self,
8111        r: *const xcb_randr_get_crtc_transform_reply_t,
8112    ) -> *mut c_char {
8113        sym!(self, xcb_randr_get_crtc_transform_current_filter_name)(r)
8114    }
8115
8116    /// Returns `true` iff the symbol `xcb_randr_get_crtc_transform_current_filter_name` could be loaded.
8117    #[cfg(feature = "has_symbol")]
8118    pub fn has_xcb_randr_get_crtc_transform_current_filter_name(&self) -> bool {
8119        has_sym!(self, xcb_randr_get_crtc_transform_current_filter_name)
8120    }
8121
8122    /// Returns the number of elements of the `current_filter_name` field of a `xcb_randr_get_crtc_transform_reply_t` struct.
8123    #[inline]
8124    pub unsafe fn xcb_randr_get_crtc_transform_current_filter_name_length(
8125        &self,
8126        r: *const xcb_randr_get_crtc_transform_reply_t,
8127    ) -> c_int {
8128        sym!(
8129            self,
8130            xcb_randr_get_crtc_transform_current_filter_name_length
8131        )(r)
8132    }
8133
8134    /// Returns `true` iff the symbol `xcb_randr_get_crtc_transform_current_filter_name_length` could be loaded.
8135    #[cfg(feature = "has_symbol")]
8136    pub fn has_xcb_randr_get_crtc_transform_current_filter_name_length(&self) -> bool {
8137        has_sym!(
8138            self,
8139            xcb_randr_get_crtc_transform_current_filter_name_length
8140        )
8141    }
8142
8143    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
8144    /// `current_filter_name` field of a `xcb_randr_get_crtc_transform_reply_t` struct.
8145    #[inline]
8146    pub unsafe fn xcb_randr_get_crtc_transform_current_filter_name_end(
8147        &self,
8148        r: *const xcb_randr_get_crtc_transform_reply_t,
8149    ) -> xcb_generic_iterator_t {
8150        sym!(self, xcb_randr_get_crtc_transform_current_filter_name_end)(r)
8151    }
8152
8153    /// Returns `true` iff the symbol `xcb_randr_get_crtc_transform_current_filter_name_end` could be loaded.
8154    #[cfg(feature = "has_symbol")]
8155    pub fn has_xcb_randr_get_crtc_transform_current_filter_name_end(&self) -> bool {
8156        has_sym!(self, xcb_randr_get_crtc_transform_current_filter_name_end)
8157    }
8158
8159    /// Returns a pointer to the `current_params` field of a `xcb_randr_get_crtc_transform_reply_t` struct.
8160    #[inline]
8161    pub unsafe fn xcb_randr_get_crtc_transform_current_params(
8162        &self,
8163        r: *const xcb_randr_get_crtc_transform_reply_t,
8164    ) -> *mut xcb_render_fixed_t {
8165        sym!(self, xcb_randr_get_crtc_transform_current_params)(r)
8166    }
8167
8168    /// Returns `true` iff the symbol `xcb_randr_get_crtc_transform_current_params` could be loaded.
8169    #[cfg(feature = "has_symbol")]
8170    pub fn has_xcb_randr_get_crtc_transform_current_params(&self) -> bool {
8171        has_sym!(self, xcb_randr_get_crtc_transform_current_params)
8172    }
8173
8174    /// Returns the number of elements of the `current_params` field of a `xcb_randr_get_crtc_transform_reply_t` struct.
8175    #[inline]
8176    pub unsafe fn xcb_randr_get_crtc_transform_current_params_length(
8177        &self,
8178        r: *const xcb_randr_get_crtc_transform_reply_t,
8179    ) -> c_int {
8180        sym!(self, xcb_randr_get_crtc_transform_current_params_length)(r)
8181    }
8182
8183    /// Returns `true` iff the symbol `xcb_randr_get_crtc_transform_current_params_length` could be loaded.
8184    #[cfg(feature = "has_symbol")]
8185    pub fn has_xcb_randr_get_crtc_transform_current_params_length(&self) -> bool {
8186        has_sym!(self, xcb_randr_get_crtc_transform_current_params_length)
8187    }
8188
8189    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
8190    /// `current_params` field of a `xcb_randr_get_crtc_transform_reply_t` struct.
8191    #[inline]
8192    pub unsafe fn xcb_randr_get_crtc_transform_current_params_end(
8193        &self,
8194        r: *const xcb_randr_get_crtc_transform_reply_t,
8195    ) -> xcb_generic_iterator_t {
8196        sym!(self, xcb_randr_get_crtc_transform_current_params_end)(r)
8197    }
8198
8199    /// Returns `true` iff the symbol `xcb_randr_get_crtc_transform_current_params_end` could be loaded.
8200    #[cfg(feature = "has_symbol")]
8201    pub fn has_xcb_randr_get_crtc_transform_current_params_end(&self) -> bool {
8202        has_sym!(self, xcb_randr_get_crtc_transform_current_params_end)
8203    }
8204
8205    /// Waits for the reply to a `RandR::GetCrtcTransform` request.
8206    #[inline]
8207    pub unsafe fn xcb_randr_get_crtc_transform_reply(
8208        &self,
8209        c: *mut xcb_connection_t,
8210        cookie: xcb_randr_get_crtc_transform_cookie_t,
8211        e: *mut *mut xcb_generic_error_t,
8212    ) -> *mut xcb_randr_get_crtc_transform_reply_t {
8213        sym!(self, xcb_randr_get_crtc_transform_reply)(c, cookie, e)
8214    }
8215
8216    /// Returns `true` iff the symbol `xcb_randr_get_crtc_transform_reply` could be loaded.
8217    #[cfg(feature = "has_symbol")]
8218    pub fn has_xcb_randr_get_crtc_transform_reply(&self) -> bool {
8219        has_sym!(self, xcb_randr_get_crtc_transform_reply)
8220    }
8221
8222    /// Sends a `RandR::GetPanning` request (checked).
8223    ///
8224    /// This request generates a reply. You must either discard it with
8225    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_panning_reply`].
8226    ///
8227    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
8228    /// [`xcb_randr_get_panning_reply`]: Self::xcb_randr_get_panning_reply
8229    #[inline]
8230    pub unsafe fn xcb_randr_get_panning(
8231        &self,
8232        c: *mut xcb_connection_t,
8233        crtc: xcb_randr_crtc_t,
8234    ) -> xcb_randr_get_panning_cookie_t {
8235        sym!(self, xcb_randr_get_panning)(c, crtc)
8236    }
8237
8238    /// Returns `true` iff the symbol `xcb_randr_get_panning` could be loaded.
8239    #[cfg(feature = "has_symbol")]
8240    pub fn has_xcb_randr_get_panning(&self) -> bool {
8241        has_sym!(self, xcb_randr_get_panning)
8242    }
8243
8244    /// Sends a `RandR::GetPanning` request (unchecked).
8245    ///
8246    /// This request generates a reply. You must either discard it with
8247    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_panning_reply`].
8248    ///
8249    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
8250    /// [`xcb_randr_get_panning_reply`]: Self::xcb_randr_get_panning_reply
8251    #[inline]
8252    pub unsafe fn xcb_randr_get_panning_unchecked(
8253        &self,
8254        c: *mut xcb_connection_t,
8255        crtc: xcb_randr_crtc_t,
8256    ) -> xcb_randr_get_panning_cookie_t {
8257        sym!(self, xcb_randr_get_panning_unchecked)(c, crtc)
8258    }
8259
8260    /// Returns `true` iff the symbol `xcb_randr_get_panning_unchecked` could be loaded.
8261    #[cfg(feature = "has_symbol")]
8262    pub fn has_xcb_randr_get_panning_unchecked(&self) -> bool {
8263        has_sym!(self, xcb_randr_get_panning_unchecked)
8264    }
8265
8266    /// Waits for the reply to a `RandR::GetPanning` request.
8267    #[inline]
8268    pub unsafe fn xcb_randr_get_panning_reply(
8269        &self,
8270        c: *mut xcb_connection_t,
8271        cookie: xcb_randr_get_panning_cookie_t,
8272        e: *mut *mut xcb_generic_error_t,
8273    ) -> *mut xcb_randr_get_panning_reply_t {
8274        sym!(self, xcb_randr_get_panning_reply)(c, cookie, e)
8275    }
8276
8277    /// Returns `true` iff the symbol `xcb_randr_get_panning_reply` could be loaded.
8278    #[cfg(feature = "has_symbol")]
8279    pub fn has_xcb_randr_get_panning_reply(&self) -> bool {
8280        has_sym!(self, xcb_randr_get_panning_reply)
8281    }
8282
8283    /// Sends a `RandR::SetPanning` request (checked).
8284    ///
8285    /// This request generates a reply. You must either discard it with
8286    /// [`discard_reply`] or retrieve it with [`xcb_randr_set_panning_reply`].
8287    ///
8288    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
8289    /// [`xcb_randr_set_panning_reply`]: Self::xcb_randr_set_panning_reply
8290    #[inline]
8291    pub unsafe fn xcb_randr_set_panning(
8292        &self,
8293        c: *mut xcb_connection_t,
8294        crtc: xcb_randr_crtc_t,
8295        timestamp: xcb_timestamp_t,
8296        left: u16,
8297        top: u16,
8298        width: u16,
8299        height: u16,
8300        track_left: u16,
8301        track_top: u16,
8302        track_width: u16,
8303        track_height: u16,
8304        border_left: i16,
8305        border_top: i16,
8306        border_right: i16,
8307        border_bottom: i16,
8308    ) -> xcb_randr_set_panning_cookie_t {
8309        sym!(self, xcb_randr_set_panning)(
8310            c,
8311            crtc,
8312            timestamp,
8313            left,
8314            top,
8315            width,
8316            height,
8317            track_left,
8318            track_top,
8319            track_width,
8320            track_height,
8321            border_left,
8322            border_top,
8323            border_right,
8324            border_bottom,
8325        )
8326    }
8327
8328    /// Returns `true` iff the symbol `xcb_randr_set_panning` could be loaded.
8329    #[cfg(feature = "has_symbol")]
8330    pub fn has_xcb_randr_set_panning(&self) -> bool {
8331        has_sym!(self, xcb_randr_set_panning)
8332    }
8333
8334    /// Sends a `RandR::SetPanning` request (unchecked).
8335    ///
8336    /// This request generates a reply. You must either discard it with
8337    /// [`discard_reply`] or retrieve it with [`xcb_randr_set_panning_reply`].
8338    ///
8339    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
8340    /// [`xcb_randr_set_panning_reply`]: Self::xcb_randr_set_panning_reply
8341    #[inline]
8342    pub unsafe fn xcb_randr_set_panning_unchecked(
8343        &self,
8344        c: *mut xcb_connection_t,
8345        crtc: xcb_randr_crtc_t,
8346        timestamp: xcb_timestamp_t,
8347        left: u16,
8348        top: u16,
8349        width: u16,
8350        height: u16,
8351        track_left: u16,
8352        track_top: u16,
8353        track_width: u16,
8354        track_height: u16,
8355        border_left: i16,
8356        border_top: i16,
8357        border_right: i16,
8358        border_bottom: i16,
8359    ) -> xcb_randr_set_panning_cookie_t {
8360        sym!(self, xcb_randr_set_panning_unchecked)(
8361            c,
8362            crtc,
8363            timestamp,
8364            left,
8365            top,
8366            width,
8367            height,
8368            track_left,
8369            track_top,
8370            track_width,
8371            track_height,
8372            border_left,
8373            border_top,
8374            border_right,
8375            border_bottom,
8376        )
8377    }
8378
8379    /// Returns `true` iff the symbol `xcb_randr_set_panning_unchecked` could be loaded.
8380    #[cfg(feature = "has_symbol")]
8381    pub fn has_xcb_randr_set_panning_unchecked(&self) -> bool {
8382        has_sym!(self, xcb_randr_set_panning_unchecked)
8383    }
8384
8385    /// Waits for the reply to a `RandR::SetPanning` request.
8386    #[inline]
8387    pub unsafe fn xcb_randr_set_panning_reply(
8388        &self,
8389        c: *mut xcb_connection_t,
8390        cookie: xcb_randr_set_panning_cookie_t,
8391        e: *mut *mut xcb_generic_error_t,
8392    ) -> *mut xcb_randr_set_panning_reply_t {
8393        sym!(self, xcb_randr_set_panning_reply)(c, cookie, e)
8394    }
8395
8396    /// Returns `true` iff the symbol `xcb_randr_set_panning_reply` could be loaded.
8397    #[cfg(feature = "has_symbol")]
8398    pub fn has_xcb_randr_set_panning_reply(&self) -> bool {
8399        has_sym!(self, xcb_randr_set_panning_reply)
8400    }
8401
8402    /// Sends a `RandR::SetOutputPrimary` request (checked).
8403    ///
8404    /// This request generates a reply. You must either discard it with
8405    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
8406    ///
8407    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
8408    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
8409    #[inline]
8410    pub unsafe fn xcb_randr_set_output_primary_checked(
8411        &self,
8412        c: *mut xcb_connection_t,
8413        window: xcb_window_t,
8414        output: xcb_randr_output_t,
8415    ) -> xcb_void_cookie_t {
8416        sym!(self, xcb_randr_set_output_primary_checked)(c, window, output)
8417    }
8418
8419    /// Returns `true` iff the symbol `xcb_randr_set_output_primary_checked` could be loaded.
8420    #[cfg(feature = "has_symbol")]
8421    pub fn has_xcb_randr_set_output_primary_checked(&self) -> bool {
8422        has_sym!(self, xcb_randr_set_output_primary_checked)
8423    }
8424
8425    /// Sends a `RandR::SetOutputPrimary` request (unchecked).
8426    #[inline]
8427    pub unsafe fn xcb_randr_set_output_primary(
8428        &self,
8429        c: *mut xcb_connection_t,
8430        window: xcb_window_t,
8431        output: xcb_randr_output_t,
8432    ) -> xcb_void_cookie_t {
8433        sym!(self, xcb_randr_set_output_primary)(c, window, output)
8434    }
8435
8436    /// Returns `true` iff the symbol `xcb_randr_set_output_primary` could be loaded.
8437    #[cfg(feature = "has_symbol")]
8438    pub fn has_xcb_randr_set_output_primary(&self) -> bool {
8439        has_sym!(self, xcb_randr_set_output_primary)
8440    }
8441
8442    /// Sends a `RandR::GetOutputPrimary` request (checked).
8443    ///
8444    /// This request generates a reply. You must either discard it with
8445    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_output_primary_reply`].
8446    ///
8447    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
8448    /// [`xcb_randr_get_output_primary_reply`]: Self::xcb_randr_get_output_primary_reply
8449    #[inline]
8450    pub unsafe fn xcb_randr_get_output_primary(
8451        &self,
8452        c: *mut xcb_connection_t,
8453        window: xcb_window_t,
8454    ) -> xcb_randr_get_output_primary_cookie_t {
8455        sym!(self, xcb_randr_get_output_primary)(c, window)
8456    }
8457
8458    /// Returns `true` iff the symbol `xcb_randr_get_output_primary` could be loaded.
8459    #[cfg(feature = "has_symbol")]
8460    pub fn has_xcb_randr_get_output_primary(&self) -> bool {
8461        has_sym!(self, xcb_randr_get_output_primary)
8462    }
8463
8464    /// Sends a `RandR::GetOutputPrimary` request (unchecked).
8465    ///
8466    /// This request generates a reply. You must either discard it with
8467    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_output_primary_reply`].
8468    ///
8469    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
8470    /// [`xcb_randr_get_output_primary_reply`]: Self::xcb_randr_get_output_primary_reply
8471    #[inline]
8472    pub unsafe fn xcb_randr_get_output_primary_unchecked(
8473        &self,
8474        c: *mut xcb_connection_t,
8475        window: xcb_window_t,
8476    ) -> xcb_randr_get_output_primary_cookie_t {
8477        sym!(self, xcb_randr_get_output_primary_unchecked)(c, window)
8478    }
8479
8480    /// Returns `true` iff the symbol `xcb_randr_get_output_primary_unchecked` could be loaded.
8481    #[cfg(feature = "has_symbol")]
8482    pub fn has_xcb_randr_get_output_primary_unchecked(&self) -> bool {
8483        has_sym!(self, xcb_randr_get_output_primary_unchecked)
8484    }
8485
8486    /// Waits for the reply to a `RandR::GetOutputPrimary` request.
8487    #[inline]
8488    pub unsafe fn xcb_randr_get_output_primary_reply(
8489        &self,
8490        c: *mut xcb_connection_t,
8491        cookie: xcb_randr_get_output_primary_cookie_t,
8492        e: *mut *mut xcb_generic_error_t,
8493    ) -> *mut xcb_randr_get_output_primary_reply_t {
8494        sym!(self, xcb_randr_get_output_primary_reply)(c, cookie, e)
8495    }
8496
8497    /// Returns `true` iff the symbol `xcb_randr_get_output_primary_reply` could be loaded.
8498    #[cfg(feature = "has_symbol")]
8499    pub fn has_xcb_randr_get_output_primary_reply(&self) -> bool {
8500        has_sym!(self, xcb_randr_get_output_primary_reply)
8501    }
8502
8503    /// Computes the size of a `xcb_randr_get_providers_reply_t` object.
8504    #[inline]
8505    pub unsafe fn xcb_randr_get_providers_sizeof(&self, _buffer: *const c_void) -> c_int {
8506        sym!(self, xcb_randr_get_providers_sizeof)(_buffer)
8507    }
8508
8509    /// Returns `true` iff the symbol `xcb_randr_get_providers_sizeof` could be loaded.
8510    #[cfg(feature = "has_symbol")]
8511    pub fn has_xcb_randr_get_providers_sizeof(&self) -> bool {
8512        has_sym!(self, xcb_randr_get_providers_sizeof)
8513    }
8514
8515    /// Sends a `RandR::GetProviders` request (checked).
8516    ///
8517    /// This request generates a reply. You must either discard it with
8518    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_providers_reply`].
8519    ///
8520    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
8521    /// [`xcb_randr_get_providers_reply`]: Self::xcb_randr_get_providers_reply
8522    #[inline]
8523    pub unsafe fn xcb_randr_get_providers(
8524        &self,
8525        c: *mut xcb_connection_t,
8526        window: xcb_window_t,
8527    ) -> xcb_randr_get_providers_cookie_t {
8528        sym!(self, xcb_randr_get_providers)(c, window)
8529    }
8530
8531    /// Returns `true` iff the symbol `xcb_randr_get_providers` could be loaded.
8532    #[cfg(feature = "has_symbol")]
8533    pub fn has_xcb_randr_get_providers(&self) -> bool {
8534        has_sym!(self, xcb_randr_get_providers)
8535    }
8536
8537    /// Sends a `RandR::GetProviders` request (unchecked).
8538    ///
8539    /// This request generates a reply. You must either discard it with
8540    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_providers_reply`].
8541    ///
8542    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
8543    /// [`xcb_randr_get_providers_reply`]: Self::xcb_randr_get_providers_reply
8544    #[inline]
8545    pub unsafe fn xcb_randr_get_providers_unchecked(
8546        &self,
8547        c: *mut xcb_connection_t,
8548        window: xcb_window_t,
8549    ) -> xcb_randr_get_providers_cookie_t {
8550        sym!(self, xcb_randr_get_providers_unchecked)(c, window)
8551    }
8552
8553    /// Returns `true` iff the symbol `xcb_randr_get_providers_unchecked` could be loaded.
8554    #[cfg(feature = "has_symbol")]
8555    pub fn has_xcb_randr_get_providers_unchecked(&self) -> bool {
8556        has_sym!(self, xcb_randr_get_providers_unchecked)
8557    }
8558
8559    /// Returns a pointer to the `providers` field of a `xcb_randr_get_providers_reply_t` struct.
8560    #[inline]
8561    pub unsafe fn xcb_randr_get_providers_providers(
8562        &self,
8563        r: *const xcb_randr_get_providers_reply_t,
8564    ) -> *mut xcb_randr_provider_t {
8565        sym!(self, xcb_randr_get_providers_providers)(r)
8566    }
8567
8568    /// Returns `true` iff the symbol `xcb_randr_get_providers_providers` could be loaded.
8569    #[cfg(feature = "has_symbol")]
8570    pub fn has_xcb_randr_get_providers_providers(&self) -> bool {
8571        has_sym!(self, xcb_randr_get_providers_providers)
8572    }
8573
8574    /// Returns the number of elements of the `providers` field of a `xcb_randr_get_providers_reply_t` struct.
8575    #[inline]
8576    pub unsafe fn xcb_randr_get_providers_providers_length(
8577        &self,
8578        r: *const xcb_randr_get_providers_reply_t,
8579    ) -> c_int {
8580        sym!(self, xcb_randr_get_providers_providers_length)(r)
8581    }
8582
8583    /// Returns `true` iff the symbol `xcb_randr_get_providers_providers_length` could be loaded.
8584    #[cfg(feature = "has_symbol")]
8585    pub fn has_xcb_randr_get_providers_providers_length(&self) -> bool {
8586        has_sym!(self, xcb_randr_get_providers_providers_length)
8587    }
8588
8589    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
8590    /// `providers` field of a `xcb_randr_get_providers_reply_t` struct.
8591    #[inline]
8592    pub unsafe fn xcb_randr_get_providers_providers_end(
8593        &self,
8594        r: *const xcb_randr_get_providers_reply_t,
8595    ) -> xcb_generic_iterator_t {
8596        sym!(self, xcb_randr_get_providers_providers_end)(r)
8597    }
8598
8599    /// Returns `true` iff the symbol `xcb_randr_get_providers_providers_end` could be loaded.
8600    #[cfg(feature = "has_symbol")]
8601    pub fn has_xcb_randr_get_providers_providers_end(&self) -> bool {
8602        has_sym!(self, xcb_randr_get_providers_providers_end)
8603    }
8604
8605    /// Waits for the reply to a `RandR::GetProviders` request.
8606    #[inline]
8607    pub unsafe fn xcb_randr_get_providers_reply(
8608        &self,
8609        c: *mut xcb_connection_t,
8610        cookie: xcb_randr_get_providers_cookie_t,
8611        e: *mut *mut xcb_generic_error_t,
8612    ) -> *mut xcb_randr_get_providers_reply_t {
8613        sym!(self, xcb_randr_get_providers_reply)(c, cookie, e)
8614    }
8615
8616    /// Returns `true` iff the symbol `xcb_randr_get_providers_reply` could be loaded.
8617    #[cfg(feature = "has_symbol")]
8618    pub fn has_xcb_randr_get_providers_reply(&self) -> bool {
8619        has_sym!(self, xcb_randr_get_providers_reply)
8620    }
8621
8622    /// Computes the size of a `xcb_randr_get_provider_info_reply_t` object.
8623    #[inline]
8624    pub unsafe fn xcb_randr_get_provider_info_sizeof(&self, _buffer: *const c_void) -> c_int {
8625        sym!(self, xcb_randr_get_provider_info_sizeof)(_buffer)
8626    }
8627
8628    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_sizeof` could be loaded.
8629    #[cfg(feature = "has_symbol")]
8630    pub fn has_xcb_randr_get_provider_info_sizeof(&self) -> bool {
8631        has_sym!(self, xcb_randr_get_provider_info_sizeof)
8632    }
8633
8634    /// Sends a `RandR::GetProviderInfo` request (checked).
8635    ///
8636    /// This request generates a reply. You must either discard it with
8637    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_provider_info_reply`].
8638    ///
8639    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
8640    /// [`xcb_randr_get_provider_info_reply`]: Self::xcb_randr_get_provider_info_reply
8641    #[inline]
8642    pub unsafe fn xcb_randr_get_provider_info(
8643        &self,
8644        c: *mut xcb_connection_t,
8645        provider: xcb_randr_provider_t,
8646        config_timestamp: xcb_timestamp_t,
8647    ) -> xcb_randr_get_provider_info_cookie_t {
8648        sym!(self, xcb_randr_get_provider_info)(c, provider, config_timestamp)
8649    }
8650
8651    /// Returns `true` iff the symbol `xcb_randr_get_provider_info` could be loaded.
8652    #[cfg(feature = "has_symbol")]
8653    pub fn has_xcb_randr_get_provider_info(&self) -> bool {
8654        has_sym!(self, xcb_randr_get_provider_info)
8655    }
8656
8657    /// Sends a `RandR::GetProviderInfo` request (unchecked).
8658    ///
8659    /// This request generates a reply. You must either discard it with
8660    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_provider_info_reply`].
8661    ///
8662    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
8663    /// [`xcb_randr_get_provider_info_reply`]: Self::xcb_randr_get_provider_info_reply
8664    #[inline]
8665    pub unsafe fn xcb_randr_get_provider_info_unchecked(
8666        &self,
8667        c: *mut xcb_connection_t,
8668        provider: xcb_randr_provider_t,
8669        config_timestamp: xcb_timestamp_t,
8670    ) -> xcb_randr_get_provider_info_cookie_t {
8671        sym!(self, xcb_randr_get_provider_info_unchecked)(c, provider, config_timestamp)
8672    }
8673
8674    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_unchecked` could be loaded.
8675    #[cfg(feature = "has_symbol")]
8676    pub fn has_xcb_randr_get_provider_info_unchecked(&self) -> bool {
8677        has_sym!(self, xcb_randr_get_provider_info_unchecked)
8678    }
8679
8680    /// Returns a pointer to the `crtcs` field of a `xcb_randr_get_provider_info_reply_t` struct.
8681    #[inline]
8682    pub unsafe fn xcb_randr_get_provider_info_crtcs(
8683        &self,
8684        r: *const xcb_randr_get_provider_info_reply_t,
8685    ) -> *mut xcb_randr_crtc_t {
8686        sym!(self, xcb_randr_get_provider_info_crtcs)(r)
8687    }
8688
8689    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_crtcs` could be loaded.
8690    #[cfg(feature = "has_symbol")]
8691    pub fn has_xcb_randr_get_provider_info_crtcs(&self) -> bool {
8692        has_sym!(self, xcb_randr_get_provider_info_crtcs)
8693    }
8694
8695    /// Returns the number of elements of the `crtcs` field of a `xcb_randr_get_provider_info_reply_t` struct.
8696    #[inline]
8697    pub unsafe fn xcb_randr_get_provider_info_crtcs_length(
8698        &self,
8699        r: *const xcb_randr_get_provider_info_reply_t,
8700    ) -> c_int {
8701        sym!(self, xcb_randr_get_provider_info_crtcs_length)(r)
8702    }
8703
8704    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_crtcs_length` could be loaded.
8705    #[cfg(feature = "has_symbol")]
8706    pub fn has_xcb_randr_get_provider_info_crtcs_length(&self) -> bool {
8707        has_sym!(self, xcb_randr_get_provider_info_crtcs_length)
8708    }
8709
8710    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
8711    /// `crtcs` field of a `xcb_randr_get_provider_info_reply_t` struct.
8712    #[inline]
8713    pub unsafe fn xcb_randr_get_provider_info_crtcs_end(
8714        &self,
8715        r: *const xcb_randr_get_provider_info_reply_t,
8716    ) -> xcb_generic_iterator_t {
8717        sym!(self, xcb_randr_get_provider_info_crtcs_end)(r)
8718    }
8719
8720    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_crtcs_end` could be loaded.
8721    #[cfg(feature = "has_symbol")]
8722    pub fn has_xcb_randr_get_provider_info_crtcs_end(&self) -> bool {
8723        has_sym!(self, xcb_randr_get_provider_info_crtcs_end)
8724    }
8725
8726    /// Returns a pointer to the `outputs` field of a `xcb_randr_get_provider_info_reply_t` struct.
8727    #[inline]
8728    pub unsafe fn xcb_randr_get_provider_info_outputs(
8729        &self,
8730        r: *const xcb_randr_get_provider_info_reply_t,
8731    ) -> *mut xcb_randr_output_t {
8732        sym!(self, xcb_randr_get_provider_info_outputs)(r)
8733    }
8734
8735    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_outputs` could be loaded.
8736    #[cfg(feature = "has_symbol")]
8737    pub fn has_xcb_randr_get_provider_info_outputs(&self) -> bool {
8738        has_sym!(self, xcb_randr_get_provider_info_outputs)
8739    }
8740
8741    /// Returns the number of elements of the `outputs` field of a `xcb_randr_get_provider_info_reply_t` struct.
8742    #[inline]
8743    pub unsafe fn xcb_randr_get_provider_info_outputs_length(
8744        &self,
8745        r: *const xcb_randr_get_provider_info_reply_t,
8746    ) -> c_int {
8747        sym!(self, xcb_randr_get_provider_info_outputs_length)(r)
8748    }
8749
8750    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_outputs_length` could be loaded.
8751    #[cfg(feature = "has_symbol")]
8752    pub fn has_xcb_randr_get_provider_info_outputs_length(&self) -> bool {
8753        has_sym!(self, xcb_randr_get_provider_info_outputs_length)
8754    }
8755
8756    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
8757    /// `outputs` field of a `xcb_randr_get_provider_info_reply_t` struct.
8758    #[inline]
8759    pub unsafe fn xcb_randr_get_provider_info_outputs_end(
8760        &self,
8761        r: *const xcb_randr_get_provider_info_reply_t,
8762    ) -> xcb_generic_iterator_t {
8763        sym!(self, xcb_randr_get_provider_info_outputs_end)(r)
8764    }
8765
8766    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_outputs_end` could be loaded.
8767    #[cfg(feature = "has_symbol")]
8768    pub fn has_xcb_randr_get_provider_info_outputs_end(&self) -> bool {
8769        has_sym!(self, xcb_randr_get_provider_info_outputs_end)
8770    }
8771
8772    /// Returns a pointer to the `associated_providers` field of a `xcb_randr_get_provider_info_reply_t` struct.
8773    #[inline]
8774    pub unsafe fn xcb_randr_get_provider_info_associated_providers(
8775        &self,
8776        r: *const xcb_randr_get_provider_info_reply_t,
8777    ) -> *mut xcb_randr_provider_t {
8778        sym!(self, xcb_randr_get_provider_info_associated_providers)(r)
8779    }
8780
8781    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_associated_providers` could be loaded.
8782    #[cfg(feature = "has_symbol")]
8783    pub fn has_xcb_randr_get_provider_info_associated_providers(&self) -> bool {
8784        has_sym!(self, xcb_randr_get_provider_info_associated_providers)
8785    }
8786
8787    /// Returns the number of elements of the `associated_providers` field of a `xcb_randr_get_provider_info_reply_t` struct.
8788    #[inline]
8789    pub unsafe fn xcb_randr_get_provider_info_associated_providers_length(
8790        &self,
8791        r: *const xcb_randr_get_provider_info_reply_t,
8792    ) -> c_int {
8793        sym!(
8794            self,
8795            xcb_randr_get_provider_info_associated_providers_length
8796        )(r)
8797    }
8798
8799    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_associated_providers_length` could be loaded.
8800    #[cfg(feature = "has_symbol")]
8801    pub fn has_xcb_randr_get_provider_info_associated_providers_length(&self) -> bool {
8802        has_sym!(
8803            self,
8804            xcb_randr_get_provider_info_associated_providers_length
8805        )
8806    }
8807
8808    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
8809    /// `associated_providers` field of a `xcb_randr_get_provider_info_reply_t` struct.
8810    #[inline]
8811    pub unsafe fn xcb_randr_get_provider_info_associated_providers_end(
8812        &self,
8813        r: *const xcb_randr_get_provider_info_reply_t,
8814    ) -> xcb_generic_iterator_t {
8815        sym!(self, xcb_randr_get_provider_info_associated_providers_end)(r)
8816    }
8817
8818    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_associated_providers_end` could be loaded.
8819    #[cfg(feature = "has_symbol")]
8820    pub fn has_xcb_randr_get_provider_info_associated_providers_end(&self) -> bool {
8821        has_sym!(self, xcb_randr_get_provider_info_associated_providers_end)
8822    }
8823
8824    /// Returns a pointer to the `associated_capability` field of a `xcb_randr_get_provider_info_reply_t` struct.
8825    #[inline]
8826    pub unsafe fn xcb_randr_get_provider_info_associated_capability(
8827        &self,
8828        r: *const xcb_randr_get_provider_info_reply_t,
8829    ) -> *mut u32 {
8830        sym!(self, xcb_randr_get_provider_info_associated_capability)(r)
8831    }
8832
8833    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_associated_capability` could be loaded.
8834    #[cfg(feature = "has_symbol")]
8835    pub fn has_xcb_randr_get_provider_info_associated_capability(&self) -> bool {
8836        has_sym!(self, xcb_randr_get_provider_info_associated_capability)
8837    }
8838
8839    /// Returns the number of elements of the `associated_capability` field of a `xcb_randr_get_provider_info_reply_t` struct.
8840    #[inline]
8841    pub unsafe fn xcb_randr_get_provider_info_associated_capability_length(
8842        &self,
8843        r: *const xcb_randr_get_provider_info_reply_t,
8844    ) -> c_int {
8845        sym!(
8846            self,
8847            xcb_randr_get_provider_info_associated_capability_length
8848        )(r)
8849    }
8850
8851    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_associated_capability_length` could be loaded.
8852    #[cfg(feature = "has_symbol")]
8853    pub fn has_xcb_randr_get_provider_info_associated_capability_length(&self) -> bool {
8854        has_sym!(
8855            self,
8856            xcb_randr_get_provider_info_associated_capability_length
8857        )
8858    }
8859
8860    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
8861    /// `associated_capability` field of a `xcb_randr_get_provider_info_reply_t` struct.
8862    #[inline]
8863    pub unsafe fn xcb_randr_get_provider_info_associated_capability_end(
8864        &self,
8865        r: *const xcb_randr_get_provider_info_reply_t,
8866    ) -> xcb_generic_iterator_t {
8867        sym!(self, xcb_randr_get_provider_info_associated_capability_end)(r)
8868    }
8869
8870    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_associated_capability_end` could be loaded.
8871    #[cfg(feature = "has_symbol")]
8872    pub fn has_xcb_randr_get_provider_info_associated_capability_end(&self) -> bool {
8873        has_sym!(self, xcb_randr_get_provider_info_associated_capability_end)
8874    }
8875
8876    /// Returns a pointer to the `name` field of a `xcb_randr_get_provider_info_reply_t` struct.
8877    #[inline]
8878    pub unsafe fn xcb_randr_get_provider_info_name(
8879        &self,
8880        r: *const xcb_randr_get_provider_info_reply_t,
8881    ) -> *mut c_char {
8882        sym!(self, xcb_randr_get_provider_info_name)(r)
8883    }
8884
8885    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_name` could be loaded.
8886    #[cfg(feature = "has_symbol")]
8887    pub fn has_xcb_randr_get_provider_info_name(&self) -> bool {
8888        has_sym!(self, xcb_randr_get_provider_info_name)
8889    }
8890
8891    /// Returns the number of elements of the `name` field of a `xcb_randr_get_provider_info_reply_t` struct.
8892    #[inline]
8893    pub unsafe fn xcb_randr_get_provider_info_name_length(
8894        &self,
8895        r: *const xcb_randr_get_provider_info_reply_t,
8896    ) -> c_int {
8897        sym!(self, xcb_randr_get_provider_info_name_length)(r)
8898    }
8899
8900    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_name_length` could be loaded.
8901    #[cfg(feature = "has_symbol")]
8902    pub fn has_xcb_randr_get_provider_info_name_length(&self) -> bool {
8903        has_sym!(self, xcb_randr_get_provider_info_name_length)
8904    }
8905
8906    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
8907    /// `name` field of a `xcb_randr_get_provider_info_reply_t` struct.
8908    #[inline]
8909    pub unsafe fn xcb_randr_get_provider_info_name_end(
8910        &self,
8911        r: *const xcb_randr_get_provider_info_reply_t,
8912    ) -> xcb_generic_iterator_t {
8913        sym!(self, xcb_randr_get_provider_info_name_end)(r)
8914    }
8915
8916    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_name_end` could be loaded.
8917    #[cfg(feature = "has_symbol")]
8918    pub fn has_xcb_randr_get_provider_info_name_end(&self) -> bool {
8919        has_sym!(self, xcb_randr_get_provider_info_name_end)
8920    }
8921
8922    /// Waits for the reply to a `RandR::GetProviderInfo` request.
8923    #[inline]
8924    pub unsafe fn xcb_randr_get_provider_info_reply(
8925        &self,
8926        c: *mut xcb_connection_t,
8927        cookie: xcb_randr_get_provider_info_cookie_t,
8928        e: *mut *mut xcb_generic_error_t,
8929    ) -> *mut xcb_randr_get_provider_info_reply_t {
8930        sym!(self, xcb_randr_get_provider_info_reply)(c, cookie, e)
8931    }
8932
8933    /// Returns `true` iff the symbol `xcb_randr_get_provider_info_reply` could be loaded.
8934    #[cfg(feature = "has_symbol")]
8935    pub fn has_xcb_randr_get_provider_info_reply(&self) -> bool {
8936        has_sym!(self, xcb_randr_get_provider_info_reply)
8937    }
8938
8939    /// Sends a `RandR::SetProviderOffloadSink` request (checked).
8940    ///
8941    /// This request generates a reply. You must either discard it with
8942    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
8943    ///
8944    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
8945    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
8946    #[inline]
8947    pub unsafe fn xcb_randr_set_provider_offload_sink_checked(
8948        &self,
8949        c: *mut xcb_connection_t,
8950        provider: xcb_randr_provider_t,
8951        sink_provider: xcb_randr_provider_t,
8952        config_timestamp: xcb_timestamp_t,
8953    ) -> xcb_void_cookie_t {
8954        sym!(self, xcb_randr_set_provider_offload_sink_checked)(
8955            c,
8956            provider,
8957            sink_provider,
8958            config_timestamp,
8959        )
8960    }
8961
8962    /// Returns `true` iff the symbol `xcb_randr_set_provider_offload_sink_checked` could be loaded.
8963    #[cfg(feature = "has_symbol")]
8964    pub fn has_xcb_randr_set_provider_offload_sink_checked(&self) -> bool {
8965        has_sym!(self, xcb_randr_set_provider_offload_sink_checked)
8966    }
8967
8968    /// Sends a `RandR::SetProviderOffloadSink` request (unchecked).
8969    #[inline]
8970    pub unsafe fn xcb_randr_set_provider_offload_sink(
8971        &self,
8972        c: *mut xcb_connection_t,
8973        provider: xcb_randr_provider_t,
8974        sink_provider: xcb_randr_provider_t,
8975        config_timestamp: xcb_timestamp_t,
8976    ) -> xcb_void_cookie_t {
8977        sym!(self, xcb_randr_set_provider_offload_sink)(
8978            c,
8979            provider,
8980            sink_provider,
8981            config_timestamp,
8982        )
8983    }
8984
8985    /// Returns `true` iff the symbol `xcb_randr_set_provider_offload_sink` could be loaded.
8986    #[cfg(feature = "has_symbol")]
8987    pub fn has_xcb_randr_set_provider_offload_sink(&self) -> bool {
8988        has_sym!(self, xcb_randr_set_provider_offload_sink)
8989    }
8990
8991    /// Sends a `RandR::SetProviderOutputSource` request (checked).
8992    ///
8993    /// This request generates a reply. You must either discard it with
8994    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
8995    ///
8996    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
8997    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
8998    #[inline]
8999    pub unsafe fn xcb_randr_set_provider_output_source_checked(
9000        &self,
9001        c: *mut xcb_connection_t,
9002        provider: xcb_randr_provider_t,
9003        source_provider: xcb_randr_provider_t,
9004        config_timestamp: xcb_timestamp_t,
9005    ) -> xcb_void_cookie_t {
9006        sym!(self, xcb_randr_set_provider_output_source_checked)(
9007            c,
9008            provider,
9009            source_provider,
9010            config_timestamp,
9011        )
9012    }
9013
9014    /// Returns `true` iff the symbol `xcb_randr_set_provider_output_source_checked` could be loaded.
9015    #[cfg(feature = "has_symbol")]
9016    pub fn has_xcb_randr_set_provider_output_source_checked(&self) -> bool {
9017        has_sym!(self, xcb_randr_set_provider_output_source_checked)
9018    }
9019
9020    /// Sends a `RandR::SetProviderOutputSource` request (unchecked).
9021    #[inline]
9022    pub unsafe fn xcb_randr_set_provider_output_source(
9023        &self,
9024        c: *mut xcb_connection_t,
9025        provider: xcb_randr_provider_t,
9026        source_provider: xcb_randr_provider_t,
9027        config_timestamp: xcb_timestamp_t,
9028    ) -> xcb_void_cookie_t {
9029        sym!(self, xcb_randr_set_provider_output_source)(
9030            c,
9031            provider,
9032            source_provider,
9033            config_timestamp,
9034        )
9035    }
9036
9037    /// Returns `true` iff the symbol `xcb_randr_set_provider_output_source` could be loaded.
9038    #[cfg(feature = "has_symbol")]
9039    pub fn has_xcb_randr_set_provider_output_source(&self) -> bool {
9040        has_sym!(self, xcb_randr_set_provider_output_source)
9041    }
9042
9043    /// Computes the size of a `xcb_randr_list_provider_properties_reply_t` object.
9044    #[inline]
9045    pub unsafe fn xcb_randr_list_provider_properties_sizeof(
9046        &self,
9047        _buffer: *const c_void,
9048    ) -> c_int {
9049        sym!(self, xcb_randr_list_provider_properties_sizeof)(_buffer)
9050    }
9051
9052    /// Returns `true` iff the symbol `xcb_randr_list_provider_properties_sizeof` could be loaded.
9053    #[cfg(feature = "has_symbol")]
9054    pub fn has_xcb_randr_list_provider_properties_sizeof(&self) -> bool {
9055        has_sym!(self, xcb_randr_list_provider_properties_sizeof)
9056    }
9057
9058    /// Sends a `RandR::ListProviderProperties` request (checked).
9059    ///
9060    /// This request generates a reply. You must either discard it with
9061    /// [`discard_reply`] or retrieve it with [`xcb_randr_list_provider_properties_reply`].
9062    ///
9063    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
9064    /// [`xcb_randr_list_provider_properties_reply`]: Self::xcb_randr_list_provider_properties_reply
9065    #[inline]
9066    pub unsafe fn xcb_randr_list_provider_properties(
9067        &self,
9068        c: *mut xcb_connection_t,
9069        provider: xcb_randr_provider_t,
9070    ) -> xcb_randr_list_provider_properties_cookie_t {
9071        sym!(self, xcb_randr_list_provider_properties)(c, provider)
9072    }
9073
9074    /// Returns `true` iff the symbol `xcb_randr_list_provider_properties` could be loaded.
9075    #[cfg(feature = "has_symbol")]
9076    pub fn has_xcb_randr_list_provider_properties(&self) -> bool {
9077        has_sym!(self, xcb_randr_list_provider_properties)
9078    }
9079
9080    /// Sends a `RandR::ListProviderProperties` request (unchecked).
9081    ///
9082    /// This request generates a reply. You must either discard it with
9083    /// [`discard_reply`] or retrieve it with [`xcb_randr_list_provider_properties_reply`].
9084    ///
9085    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
9086    /// [`xcb_randr_list_provider_properties_reply`]: Self::xcb_randr_list_provider_properties_reply
9087    #[inline]
9088    pub unsafe fn xcb_randr_list_provider_properties_unchecked(
9089        &self,
9090        c: *mut xcb_connection_t,
9091        provider: xcb_randr_provider_t,
9092    ) -> xcb_randr_list_provider_properties_cookie_t {
9093        sym!(self, xcb_randr_list_provider_properties_unchecked)(c, provider)
9094    }
9095
9096    /// Returns `true` iff the symbol `xcb_randr_list_provider_properties_unchecked` could be loaded.
9097    #[cfg(feature = "has_symbol")]
9098    pub fn has_xcb_randr_list_provider_properties_unchecked(&self) -> bool {
9099        has_sym!(self, xcb_randr_list_provider_properties_unchecked)
9100    }
9101
9102    /// Returns a pointer to the `atoms` field of a `xcb_randr_list_provider_properties_reply_t` struct.
9103    #[inline]
9104    pub unsafe fn xcb_randr_list_provider_properties_atoms(
9105        &self,
9106        r: *const xcb_randr_list_provider_properties_reply_t,
9107    ) -> *mut xcb_atom_t {
9108        sym!(self, xcb_randr_list_provider_properties_atoms)(r)
9109    }
9110
9111    /// Returns `true` iff the symbol `xcb_randr_list_provider_properties_atoms` could be loaded.
9112    #[cfg(feature = "has_symbol")]
9113    pub fn has_xcb_randr_list_provider_properties_atoms(&self) -> bool {
9114        has_sym!(self, xcb_randr_list_provider_properties_atoms)
9115    }
9116
9117    /// Returns the number of elements of the `atoms` field of a `xcb_randr_list_provider_properties_reply_t` struct.
9118    #[inline]
9119    pub unsafe fn xcb_randr_list_provider_properties_atoms_length(
9120        &self,
9121        r: *const xcb_randr_list_provider_properties_reply_t,
9122    ) -> c_int {
9123        sym!(self, xcb_randr_list_provider_properties_atoms_length)(r)
9124    }
9125
9126    /// Returns `true` iff the symbol `xcb_randr_list_provider_properties_atoms_length` could be loaded.
9127    #[cfg(feature = "has_symbol")]
9128    pub fn has_xcb_randr_list_provider_properties_atoms_length(&self) -> bool {
9129        has_sym!(self, xcb_randr_list_provider_properties_atoms_length)
9130    }
9131
9132    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
9133    /// `atoms` field of a `xcb_randr_list_provider_properties_reply_t` struct.
9134    #[inline]
9135    pub unsafe fn xcb_randr_list_provider_properties_atoms_end(
9136        &self,
9137        r: *const xcb_randr_list_provider_properties_reply_t,
9138    ) -> xcb_generic_iterator_t {
9139        sym!(self, xcb_randr_list_provider_properties_atoms_end)(r)
9140    }
9141
9142    /// Returns `true` iff the symbol `xcb_randr_list_provider_properties_atoms_end` could be loaded.
9143    #[cfg(feature = "has_symbol")]
9144    pub fn has_xcb_randr_list_provider_properties_atoms_end(&self) -> bool {
9145        has_sym!(self, xcb_randr_list_provider_properties_atoms_end)
9146    }
9147
9148    /// Waits for the reply to a `RandR::ListProviderProperties` request.
9149    #[inline]
9150    pub unsafe fn xcb_randr_list_provider_properties_reply(
9151        &self,
9152        c: *mut xcb_connection_t,
9153        cookie: xcb_randr_list_provider_properties_cookie_t,
9154        e: *mut *mut xcb_generic_error_t,
9155    ) -> *mut xcb_randr_list_provider_properties_reply_t {
9156        sym!(self, xcb_randr_list_provider_properties_reply)(c, cookie, e)
9157    }
9158
9159    /// Returns `true` iff the symbol `xcb_randr_list_provider_properties_reply` could be loaded.
9160    #[cfg(feature = "has_symbol")]
9161    pub fn has_xcb_randr_list_provider_properties_reply(&self) -> bool {
9162        has_sym!(self, xcb_randr_list_provider_properties_reply)
9163    }
9164
9165    /// Computes the size of a `xcb_randr_query_provider_property_reply_t` object.
9166    #[inline]
9167    pub unsafe fn xcb_randr_query_provider_property_sizeof(&self, _buffer: *const c_void) -> c_int {
9168        sym!(self, xcb_randr_query_provider_property_sizeof)(_buffer)
9169    }
9170
9171    /// Returns `true` iff the symbol `xcb_randr_query_provider_property_sizeof` could be loaded.
9172    #[cfg(feature = "has_symbol")]
9173    pub fn has_xcb_randr_query_provider_property_sizeof(&self) -> bool {
9174        has_sym!(self, xcb_randr_query_provider_property_sizeof)
9175    }
9176
9177    /// Sends a `RandR::QueryProviderProperty` request (checked).
9178    ///
9179    /// This request generates a reply. You must either discard it with
9180    /// [`discard_reply`] or retrieve it with [`xcb_randr_query_provider_property_reply`].
9181    ///
9182    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
9183    /// [`xcb_randr_query_provider_property_reply`]: Self::xcb_randr_query_provider_property_reply
9184    #[inline]
9185    pub unsafe fn xcb_randr_query_provider_property(
9186        &self,
9187        c: *mut xcb_connection_t,
9188        provider: xcb_randr_provider_t,
9189        property: xcb_atom_t,
9190    ) -> xcb_randr_query_provider_property_cookie_t {
9191        sym!(self, xcb_randr_query_provider_property)(c, provider, property)
9192    }
9193
9194    /// Returns `true` iff the symbol `xcb_randr_query_provider_property` could be loaded.
9195    #[cfg(feature = "has_symbol")]
9196    pub fn has_xcb_randr_query_provider_property(&self) -> bool {
9197        has_sym!(self, xcb_randr_query_provider_property)
9198    }
9199
9200    /// Sends a `RandR::QueryProviderProperty` request (unchecked).
9201    ///
9202    /// This request generates a reply. You must either discard it with
9203    /// [`discard_reply`] or retrieve it with [`xcb_randr_query_provider_property_reply`].
9204    ///
9205    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
9206    /// [`xcb_randr_query_provider_property_reply`]: Self::xcb_randr_query_provider_property_reply
9207    #[inline]
9208    pub unsafe fn xcb_randr_query_provider_property_unchecked(
9209        &self,
9210        c: *mut xcb_connection_t,
9211        provider: xcb_randr_provider_t,
9212        property: xcb_atom_t,
9213    ) -> xcb_randr_query_provider_property_cookie_t {
9214        sym!(self, xcb_randr_query_provider_property_unchecked)(c, provider, property)
9215    }
9216
9217    /// Returns `true` iff the symbol `xcb_randr_query_provider_property_unchecked` could be loaded.
9218    #[cfg(feature = "has_symbol")]
9219    pub fn has_xcb_randr_query_provider_property_unchecked(&self) -> bool {
9220        has_sym!(self, xcb_randr_query_provider_property_unchecked)
9221    }
9222
9223    /// Returns a pointer to the `valid_values` field of a `xcb_randr_query_provider_property_reply_t` struct.
9224    #[inline]
9225    pub unsafe fn xcb_randr_query_provider_property_valid_values(
9226        &self,
9227        r: *const xcb_randr_query_provider_property_reply_t,
9228    ) -> *mut i32 {
9229        sym!(self, xcb_randr_query_provider_property_valid_values)(r)
9230    }
9231
9232    /// Returns `true` iff the symbol `xcb_randr_query_provider_property_valid_values` could be loaded.
9233    #[cfg(feature = "has_symbol")]
9234    pub fn has_xcb_randr_query_provider_property_valid_values(&self) -> bool {
9235        has_sym!(self, xcb_randr_query_provider_property_valid_values)
9236    }
9237
9238    /// Returns the number of elements of the `valid_values` field of a `xcb_randr_query_provider_property_reply_t` struct.
9239    #[inline]
9240    pub unsafe fn xcb_randr_query_provider_property_valid_values_length(
9241        &self,
9242        r: *const xcb_randr_query_provider_property_reply_t,
9243    ) -> c_int {
9244        sym!(self, xcb_randr_query_provider_property_valid_values_length)(r)
9245    }
9246
9247    /// Returns `true` iff the symbol `xcb_randr_query_provider_property_valid_values_length` could be loaded.
9248    #[cfg(feature = "has_symbol")]
9249    pub fn has_xcb_randr_query_provider_property_valid_values_length(&self) -> bool {
9250        has_sym!(self, xcb_randr_query_provider_property_valid_values_length)
9251    }
9252
9253    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
9254    /// `valid_values` field of a `xcb_randr_query_provider_property_reply_t` struct.
9255    #[inline]
9256    pub unsafe fn xcb_randr_query_provider_property_valid_values_end(
9257        &self,
9258        r: *const xcb_randr_query_provider_property_reply_t,
9259    ) -> xcb_generic_iterator_t {
9260        sym!(self, xcb_randr_query_provider_property_valid_values_end)(r)
9261    }
9262
9263    /// Returns `true` iff the symbol `xcb_randr_query_provider_property_valid_values_end` could be loaded.
9264    #[cfg(feature = "has_symbol")]
9265    pub fn has_xcb_randr_query_provider_property_valid_values_end(&self) -> bool {
9266        has_sym!(self, xcb_randr_query_provider_property_valid_values_end)
9267    }
9268
9269    /// Waits for the reply to a `RandR::QueryProviderProperty` request.
9270    #[inline]
9271    pub unsafe fn xcb_randr_query_provider_property_reply(
9272        &self,
9273        c: *mut xcb_connection_t,
9274        cookie: xcb_randr_query_provider_property_cookie_t,
9275        e: *mut *mut xcb_generic_error_t,
9276    ) -> *mut xcb_randr_query_provider_property_reply_t {
9277        sym!(self, xcb_randr_query_provider_property_reply)(c, cookie, e)
9278    }
9279
9280    /// Returns `true` iff the symbol `xcb_randr_query_provider_property_reply` could be loaded.
9281    #[cfg(feature = "has_symbol")]
9282    pub fn has_xcb_randr_query_provider_property_reply(&self) -> bool {
9283        has_sym!(self, xcb_randr_query_provider_property_reply)
9284    }
9285
9286    /// Computes the size of a `xcb_randr_configure_provider_property_request_t` object.
9287    #[inline]
9288    pub unsafe fn xcb_randr_configure_provider_property_sizeof(
9289        &self,
9290        _buffer: *const c_void,
9291        values_len: u32,
9292    ) -> c_int {
9293        sym!(self, xcb_randr_configure_provider_property_sizeof)(_buffer, values_len)
9294    }
9295
9296    /// Returns `true` iff the symbol `xcb_randr_configure_provider_property_sizeof` could be loaded.
9297    #[cfg(feature = "has_symbol")]
9298    pub fn has_xcb_randr_configure_provider_property_sizeof(&self) -> bool {
9299        has_sym!(self, xcb_randr_configure_provider_property_sizeof)
9300    }
9301
9302    /// Sends a `RandR::ConfigureProviderProperty` request (checked).
9303    ///
9304    /// This request generates a reply. You must either discard it with
9305    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
9306    ///
9307    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
9308    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
9309    #[inline]
9310    pub unsafe fn xcb_randr_configure_provider_property_checked(
9311        &self,
9312        c: *mut xcb_connection_t,
9313        provider: xcb_randr_provider_t,
9314        property: xcb_atom_t,
9315        pending: u8,
9316        range: u8,
9317        values_len: u32,
9318        values: *const i32,
9319    ) -> xcb_void_cookie_t {
9320        sym!(self, xcb_randr_configure_provider_property_checked)(
9321            c, provider, property, pending, range, values_len, values,
9322        )
9323    }
9324
9325    /// Returns `true` iff the symbol `xcb_randr_configure_provider_property_checked` could be loaded.
9326    #[cfg(feature = "has_symbol")]
9327    pub fn has_xcb_randr_configure_provider_property_checked(&self) -> bool {
9328        has_sym!(self, xcb_randr_configure_provider_property_checked)
9329    }
9330
9331    /// Sends a `RandR::ConfigureProviderProperty` request (unchecked).
9332    #[inline]
9333    pub unsafe fn xcb_randr_configure_provider_property(
9334        &self,
9335        c: *mut xcb_connection_t,
9336        provider: xcb_randr_provider_t,
9337        property: xcb_atom_t,
9338        pending: u8,
9339        range: u8,
9340        values_len: u32,
9341        values: *const i32,
9342    ) -> xcb_void_cookie_t {
9343        sym!(self, xcb_randr_configure_provider_property)(
9344            c, provider, property, pending, range, values_len, values,
9345        )
9346    }
9347
9348    /// Returns `true` iff the symbol `xcb_randr_configure_provider_property` could be loaded.
9349    #[cfg(feature = "has_symbol")]
9350    pub fn has_xcb_randr_configure_provider_property(&self) -> bool {
9351        has_sym!(self, xcb_randr_configure_provider_property)
9352    }
9353
9354    /// Returns a pointer to the `values` field of a `xcb_randr_configure_provider_property_request_t` struct.
9355    #[inline]
9356    pub unsafe fn xcb_randr_configure_provider_property_values(
9357        &self,
9358        r: *const xcb_randr_configure_provider_property_request_t,
9359    ) -> *mut i32 {
9360        sym!(self, xcb_randr_configure_provider_property_values)(r)
9361    }
9362
9363    /// Returns `true` iff the symbol `xcb_randr_configure_provider_property_values` could be loaded.
9364    #[cfg(feature = "has_symbol")]
9365    pub fn has_xcb_randr_configure_provider_property_values(&self) -> bool {
9366        has_sym!(self, xcb_randr_configure_provider_property_values)
9367    }
9368
9369    /// Returns the number of elements of the `values` field of a `xcb_randr_configure_provider_property_request_t` struct.
9370    #[inline]
9371    pub unsafe fn xcb_randr_configure_provider_property_values_length(
9372        &self,
9373        r: *const xcb_randr_configure_provider_property_request_t,
9374    ) -> c_int {
9375        sym!(self, xcb_randr_configure_provider_property_values_length)(r)
9376    }
9377
9378    /// Returns `true` iff the symbol `xcb_randr_configure_provider_property_values_length` could be loaded.
9379    #[cfg(feature = "has_symbol")]
9380    pub fn has_xcb_randr_configure_provider_property_values_length(&self) -> bool {
9381        has_sym!(self, xcb_randr_configure_provider_property_values_length)
9382    }
9383
9384    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
9385    /// `values` field of a `xcb_randr_configure_provider_property_request_t` struct.
9386    #[inline]
9387    pub unsafe fn xcb_randr_configure_provider_property_values_end(
9388        &self,
9389        r: *const xcb_randr_configure_provider_property_request_t,
9390    ) -> xcb_generic_iterator_t {
9391        sym!(self, xcb_randr_configure_provider_property_values_end)(r)
9392    }
9393
9394    /// Returns `true` iff the symbol `xcb_randr_configure_provider_property_values_end` could be loaded.
9395    #[cfg(feature = "has_symbol")]
9396    pub fn has_xcb_randr_configure_provider_property_values_end(&self) -> bool {
9397        has_sym!(self, xcb_randr_configure_provider_property_values_end)
9398    }
9399
9400    /// Computes the size of a `xcb_randr_change_provider_property_request_t` object.
9401    #[inline]
9402    pub unsafe fn xcb_randr_change_provider_property_sizeof(
9403        &self,
9404        _buffer: *const c_void,
9405    ) -> c_int {
9406        sym!(self, xcb_randr_change_provider_property_sizeof)(_buffer)
9407    }
9408
9409    /// Returns `true` iff the symbol `xcb_randr_change_provider_property_sizeof` could be loaded.
9410    #[cfg(feature = "has_symbol")]
9411    pub fn has_xcb_randr_change_provider_property_sizeof(&self) -> bool {
9412        has_sym!(self, xcb_randr_change_provider_property_sizeof)
9413    }
9414
9415    /// Sends a `RandR::ChangeProviderProperty` request (checked).
9416    ///
9417    /// This request generates a reply. You must either discard it with
9418    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
9419    ///
9420    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
9421    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
9422    #[inline]
9423    pub unsafe fn xcb_randr_change_provider_property_checked(
9424        &self,
9425        c: *mut xcb_connection_t,
9426        provider: xcb_randr_provider_t,
9427        property: xcb_atom_t,
9428        type_: xcb_atom_t,
9429        format: u8,
9430        mode: u8,
9431        num_items: u32,
9432        data: *const c_void,
9433    ) -> xcb_void_cookie_t {
9434        sym!(self, xcb_randr_change_provider_property_checked)(
9435            c, provider, property, type_, format, mode, num_items, data,
9436        )
9437    }
9438
9439    /// Returns `true` iff the symbol `xcb_randr_change_provider_property_checked` could be loaded.
9440    #[cfg(feature = "has_symbol")]
9441    pub fn has_xcb_randr_change_provider_property_checked(&self) -> bool {
9442        has_sym!(self, xcb_randr_change_provider_property_checked)
9443    }
9444
9445    /// Sends a `RandR::ChangeProviderProperty` request (unchecked).
9446    #[inline]
9447    pub unsafe fn xcb_randr_change_provider_property(
9448        &self,
9449        c: *mut xcb_connection_t,
9450        provider: xcb_randr_provider_t,
9451        property: xcb_atom_t,
9452        type_: xcb_atom_t,
9453        format: u8,
9454        mode: u8,
9455        num_items: u32,
9456        data: *const c_void,
9457    ) -> xcb_void_cookie_t {
9458        sym!(self, xcb_randr_change_provider_property)(
9459            c, provider, property, type_, format, mode, num_items, data,
9460        )
9461    }
9462
9463    /// Returns `true` iff the symbol `xcb_randr_change_provider_property` could be loaded.
9464    #[cfg(feature = "has_symbol")]
9465    pub fn has_xcb_randr_change_provider_property(&self) -> bool {
9466        has_sym!(self, xcb_randr_change_provider_property)
9467    }
9468
9469    /// Returns a pointer to the `data` field of a `xcb_randr_change_provider_property_request_t` struct.
9470    #[inline]
9471    pub unsafe fn xcb_randr_change_provider_property_data(
9472        &self,
9473        r: *const xcb_randr_change_provider_property_request_t,
9474    ) -> *mut c_void {
9475        sym!(self, xcb_randr_change_provider_property_data)(r)
9476    }
9477
9478    /// Returns `true` iff the symbol `xcb_randr_change_provider_property_data` could be loaded.
9479    #[cfg(feature = "has_symbol")]
9480    pub fn has_xcb_randr_change_provider_property_data(&self) -> bool {
9481        has_sym!(self, xcb_randr_change_provider_property_data)
9482    }
9483
9484    /// Returns the number of elements of the `data` field of a `xcb_randr_change_provider_property_request_t` struct.
9485    #[inline]
9486    pub unsafe fn xcb_randr_change_provider_property_data_length(
9487        &self,
9488        r: *const xcb_randr_change_provider_property_request_t,
9489    ) -> c_int {
9490        sym!(self, xcb_randr_change_provider_property_data_length)(r)
9491    }
9492
9493    /// Returns `true` iff the symbol `xcb_randr_change_provider_property_data_length` could be loaded.
9494    #[cfg(feature = "has_symbol")]
9495    pub fn has_xcb_randr_change_provider_property_data_length(&self) -> bool {
9496        has_sym!(self, xcb_randr_change_provider_property_data_length)
9497    }
9498
9499    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
9500    /// `data` field of a `xcb_randr_change_provider_property_request_t` struct.
9501    #[inline]
9502    pub unsafe fn xcb_randr_change_provider_property_data_end(
9503        &self,
9504        r: *const xcb_randr_change_provider_property_request_t,
9505    ) -> xcb_generic_iterator_t {
9506        sym!(self, xcb_randr_change_provider_property_data_end)(r)
9507    }
9508
9509    /// Returns `true` iff the symbol `xcb_randr_change_provider_property_data_end` could be loaded.
9510    #[cfg(feature = "has_symbol")]
9511    pub fn has_xcb_randr_change_provider_property_data_end(&self) -> bool {
9512        has_sym!(self, xcb_randr_change_provider_property_data_end)
9513    }
9514
9515    /// Sends a `RandR::DeleteProviderProperty` request (checked).
9516    ///
9517    /// This request generates a reply. You must either discard it with
9518    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
9519    ///
9520    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
9521    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
9522    #[inline]
9523    pub unsafe fn xcb_randr_delete_provider_property_checked(
9524        &self,
9525        c: *mut xcb_connection_t,
9526        provider: xcb_randr_provider_t,
9527        property: xcb_atom_t,
9528    ) -> xcb_void_cookie_t {
9529        sym!(self, xcb_randr_delete_provider_property_checked)(c, provider, property)
9530    }
9531
9532    /// Returns `true` iff the symbol `xcb_randr_delete_provider_property_checked` could be loaded.
9533    #[cfg(feature = "has_symbol")]
9534    pub fn has_xcb_randr_delete_provider_property_checked(&self) -> bool {
9535        has_sym!(self, xcb_randr_delete_provider_property_checked)
9536    }
9537
9538    /// Sends a `RandR::DeleteProviderProperty` request (unchecked).
9539    #[inline]
9540    pub unsafe fn xcb_randr_delete_provider_property(
9541        &self,
9542        c: *mut xcb_connection_t,
9543        provider: xcb_randr_provider_t,
9544        property: xcb_atom_t,
9545    ) -> xcb_void_cookie_t {
9546        sym!(self, xcb_randr_delete_provider_property)(c, provider, property)
9547    }
9548
9549    /// Returns `true` iff the symbol `xcb_randr_delete_provider_property` could be loaded.
9550    #[cfg(feature = "has_symbol")]
9551    pub fn has_xcb_randr_delete_provider_property(&self) -> bool {
9552        has_sym!(self, xcb_randr_delete_provider_property)
9553    }
9554
9555    /// Computes the size of a `xcb_randr_get_provider_property_reply_t` object.
9556    #[inline]
9557    pub unsafe fn xcb_randr_get_provider_property_sizeof(&self, _buffer: *const c_void) -> c_int {
9558        sym!(self, xcb_randr_get_provider_property_sizeof)(_buffer)
9559    }
9560
9561    /// Returns `true` iff the symbol `xcb_randr_get_provider_property_sizeof` could be loaded.
9562    #[cfg(feature = "has_symbol")]
9563    pub fn has_xcb_randr_get_provider_property_sizeof(&self) -> bool {
9564        has_sym!(self, xcb_randr_get_provider_property_sizeof)
9565    }
9566
9567    /// Sends a `RandR::GetProviderProperty` request (checked).
9568    ///
9569    /// This request generates a reply. You must either discard it with
9570    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_provider_property_reply`].
9571    ///
9572    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
9573    /// [`xcb_randr_get_provider_property_reply`]: Self::xcb_randr_get_provider_property_reply
9574    #[inline]
9575    pub unsafe fn xcb_randr_get_provider_property(
9576        &self,
9577        c: *mut xcb_connection_t,
9578        provider: xcb_randr_provider_t,
9579        property: xcb_atom_t,
9580        type_: xcb_atom_t,
9581        long_offset: u32,
9582        long_length: u32,
9583        delete: u8,
9584        pending: u8,
9585    ) -> xcb_randr_get_provider_property_cookie_t {
9586        sym!(self, xcb_randr_get_provider_property)(
9587            c,
9588            provider,
9589            property,
9590            type_,
9591            long_offset,
9592            long_length,
9593            delete,
9594            pending,
9595        )
9596    }
9597
9598    /// Returns `true` iff the symbol `xcb_randr_get_provider_property` could be loaded.
9599    #[cfg(feature = "has_symbol")]
9600    pub fn has_xcb_randr_get_provider_property(&self) -> bool {
9601        has_sym!(self, xcb_randr_get_provider_property)
9602    }
9603
9604    /// Sends a `RandR::GetProviderProperty` request (unchecked).
9605    ///
9606    /// This request generates a reply. You must either discard it with
9607    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_provider_property_reply`].
9608    ///
9609    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
9610    /// [`xcb_randr_get_provider_property_reply`]: Self::xcb_randr_get_provider_property_reply
9611    #[inline]
9612    pub unsafe fn xcb_randr_get_provider_property_unchecked(
9613        &self,
9614        c: *mut xcb_connection_t,
9615        provider: xcb_randr_provider_t,
9616        property: xcb_atom_t,
9617        type_: xcb_atom_t,
9618        long_offset: u32,
9619        long_length: u32,
9620        delete: u8,
9621        pending: u8,
9622    ) -> xcb_randr_get_provider_property_cookie_t {
9623        sym!(self, xcb_randr_get_provider_property_unchecked)(
9624            c,
9625            provider,
9626            property,
9627            type_,
9628            long_offset,
9629            long_length,
9630            delete,
9631            pending,
9632        )
9633    }
9634
9635    /// Returns `true` iff the symbol `xcb_randr_get_provider_property_unchecked` could be loaded.
9636    #[cfg(feature = "has_symbol")]
9637    pub fn has_xcb_randr_get_provider_property_unchecked(&self) -> bool {
9638        has_sym!(self, xcb_randr_get_provider_property_unchecked)
9639    }
9640
9641    /// Returns a pointer to the `data` field of a `xcb_randr_get_provider_property_reply_t` struct.
9642    #[inline]
9643    pub unsafe fn xcb_randr_get_provider_property_data(
9644        &self,
9645        r: *const xcb_randr_get_provider_property_reply_t,
9646    ) -> *mut c_void {
9647        sym!(self, xcb_randr_get_provider_property_data)(r)
9648    }
9649
9650    /// Returns `true` iff the symbol `xcb_randr_get_provider_property_data` could be loaded.
9651    #[cfg(feature = "has_symbol")]
9652    pub fn has_xcb_randr_get_provider_property_data(&self) -> bool {
9653        has_sym!(self, xcb_randr_get_provider_property_data)
9654    }
9655
9656    /// Returns the number of elements of the `data` field of a `xcb_randr_get_provider_property_reply_t` struct.
9657    #[inline]
9658    pub unsafe fn xcb_randr_get_provider_property_data_length(
9659        &self,
9660        r: *const xcb_randr_get_provider_property_reply_t,
9661    ) -> c_int {
9662        sym!(self, xcb_randr_get_provider_property_data_length)(r)
9663    }
9664
9665    /// Returns `true` iff the symbol `xcb_randr_get_provider_property_data_length` could be loaded.
9666    #[cfg(feature = "has_symbol")]
9667    pub fn has_xcb_randr_get_provider_property_data_length(&self) -> bool {
9668        has_sym!(self, xcb_randr_get_provider_property_data_length)
9669    }
9670
9671    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
9672    /// `data` field of a `xcb_randr_get_provider_property_reply_t` struct.
9673    #[inline]
9674    pub unsafe fn xcb_randr_get_provider_property_data_end(
9675        &self,
9676        r: *const xcb_randr_get_provider_property_reply_t,
9677    ) -> xcb_generic_iterator_t {
9678        sym!(self, xcb_randr_get_provider_property_data_end)(r)
9679    }
9680
9681    /// Returns `true` iff the symbol `xcb_randr_get_provider_property_data_end` could be loaded.
9682    #[cfg(feature = "has_symbol")]
9683    pub fn has_xcb_randr_get_provider_property_data_end(&self) -> bool {
9684        has_sym!(self, xcb_randr_get_provider_property_data_end)
9685    }
9686
9687    /// Waits for the reply to a `RandR::GetProviderProperty` request.
9688    #[inline]
9689    pub unsafe fn xcb_randr_get_provider_property_reply(
9690        &self,
9691        c: *mut xcb_connection_t,
9692        cookie: xcb_randr_get_provider_property_cookie_t,
9693        e: *mut *mut xcb_generic_error_t,
9694    ) -> *mut xcb_randr_get_provider_property_reply_t {
9695        sym!(self, xcb_randr_get_provider_property_reply)(c, cookie, e)
9696    }
9697
9698    /// Returns `true` iff the symbol `xcb_randr_get_provider_property_reply` could be loaded.
9699    #[cfg(feature = "has_symbol")]
9700    pub fn has_xcb_randr_get_provider_property_reply(&self) -> bool {
9701        has_sym!(self, xcb_randr_get_provider_property_reply)
9702    }
9703
9704    /// Advances a `xcb_randr_crtc_change_iterator_t` iterator by 1 element.
9705    #[inline]
9706    pub unsafe fn xcb_randr_crtc_change_next(&self, i: *mut xcb_randr_crtc_change_iterator_t) {
9707        sym!(self, xcb_randr_crtc_change_next)(i)
9708    }
9709
9710    /// Returns `true` iff the symbol `xcb_randr_crtc_change_next` could be loaded.
9711    #[cfg(feature = "has_symbol")]
9712    pub fn has_xcb_randr_crtc_change_next(&self) -> bool {
9713        has_sym!(self, xcb_randr_crtc_change_next)
9714    }
9715
9716    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_randr_crtc_change_iterator_t`.
9717    #[inline]
9718    pub unsafe fn xcb_randr_crtc_change_end(
9719        &self,
9720        i: xcb_randr_crtc_change_iterator_t,
9721    ) -> xcb_generic_iterator_t {
9722        sym!(self, xcb_randr_crtc_change_end)(i)
9723    }
9724
9725    /// Returns `true` iff the symbol `xcb_randr_crtc_change_end` could be loaded.
9726    #[cfg(feature = "has_symbol")]
9727    pub fn has_xcb_randr_crtc_change_end(&self) -> bool {
9728        has_sym!(self, xcb_randr_crtc_change_end)
9729    }
9730
9731    /// Advances a `xcb_randr_output_change_iterator_t` iterator by 1 element.
9732    #[inline]
9733    pub unsafe fn xcb_randr_output_change_next(&self, i: *mut xcb_randr_output_change_iterator_t) {
9734        sym!(self, xcb_randr_output_change_next)(i)
9735    }
9736
9737    /// Returns `true` iff the symbol `xcb_randr_output_change_next` could be loaded.
9738    #[cfg(feature = "has_symbol")]
9739    pub fn has_xcb_randr_output_change_next(&self) -> bool {
9740        has_sym!(self, xcb_randr_output_change_next)
9741    }
9742
9743    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_randr_output_change_iterator_t`.
9744    #[inline]
9745    pub unsafe fn xcb_randr_output_change_end(
9746        &self,
9747        i: xcb_randr_output_change_iterator_t,
9748    ) -> xcb_generic_iterator_t {
9749        sym!(self, xcb_randr_output_change_end)(i)
9750    }
9751
9752    /// Returns `true` iff the symbol `xcb_randr_output_change_end` could be loaded.
9753    #[cfg(feature = "has_symbol")]
9754    pub fn has_xcb_randr_output_change_end(&self) -> bool {
9755        has_sym!(self, xcb_randr_output_change_end)
9756    }
9757
9758    /// Advances a `xcb_randr_output_property_iterator_t` iterator by 1 element.
9759    #[inline]
9760    pub unsafe fn xcb_randr_output_property_next(
9761        &self,
9762        i: *mut xcb_randr_output_property_iterator_t,
9763    ) {
9764        sym!(self, xcb_randr_output_property_next)(i)
9765    }
9766
9767    /// Returns `true` iff the symbol `xcb_randr_output_property_next` could be loaded.
9768    #[cfg(feature = "has_symbol")]
9769    pub fn has_xcb_randr_output_property_next(&self) -> bool {
9770        has_sym!(self, xcb_randr_output_property_next)
9771    }
9772
9773    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_randr_output_property_iterator_t`.
9774    #[inline]
9775    pub unsafe fn xcb_randr_output_property_end(
9776        &self,
9777        i: xcb_randr_output_property_iterator_t,
9778    ) -> xcb_generic_iterator_t {
9779        sym!(self, xcb_randr_output_property_end)(i)
9780    }
9781
9782    /// Returns `true` iff the symbol `xcb_randr_output_property_end` could be loaded.
9783    #[cfg(feature = "has_symbol")]
9784    pub fn has_xcb_randr_output_property_end(&self) -> bool {
9785        has_sym!(self, xcb_randr_output_property_end)
9786    }
9787
9788    /// Advances a `xcb_randr_provider_change_iterator_t` iterator by 1 element.
9789    #[inline]
9790    pub unsafe fn xcb_randr_provider_change_next(
9791        &self,
9792        i: *mut xcb_randr_provider_change_iterator_t,
9793    ) {
9794        sym!(self, xcb_randr_provider_change_next)(i)
9795    }
9796
9797    /// Returns `true` iff the symbol `xcb_randr_provider_change_next` could be loaded.
9798    #[cfg(feature = "has_symbol")]
9799    pub fn has_xcb_randr_provider_change_next(&self) -> bool {
9800        has_sym!(self, xcb_randr_provider_change_next)
9801    }
9802
9803    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_randr_provider_change_iterator_t`.
9804    #[inline]
9805    pub unsafe fn xcb_randr_provider_change_end(
9806        &self,
9807        i: xcb_randr_provider_change_iterator_t,
9808    ) -> xcb_generic_iterator_t {
9809        sym!(self, xcb_randr_provider_change_end)(i)
9810    }
9811
9812    /// Returns `true` iff the symbol `xcb_randr_provider_change_end` could be loaded.
9813    #[cfg(feature = "has_symbol")]
9814    pub fn has_xcb_randr_provider_change_end(&self) -> bool {
9815        has_sym!(self, xcb_randr_provider_change_end)
9816    }
9817
9818    /// Advances a `xcb_randr_provider_property_iterator_t` iterator by 1 element.
9819    #[inline]
9820    pub unsafe fn xcb_randr_provider_property_next(
9821        &self,
9822        i: *mut xcb_randr_provider_property_iterator_t,
9823    ) {
9824        sym!(self, xcb_randr_provider_property_next)(i)
9825    }
9826
9827    /// Returns `true` iff the symbol `xcb_randr_provider_property_next` could be loaded.
9828    #[cfg(feature = "has_symbol")]
9829    pub fn has_xcb_randr_provider_property_next(&self) -> bool {
9830        has_sym!(self, xcb_randr_provider_property_next)
9831    }
9832
9833    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_randr_provider_property_iterator_t`.
9834    #[inline]
9835    pub unsafe fn xcb_randr_provider_property_end(
9836        &self,
9837        i: xcb_randr_provider_property_iterator_t,
9838    ) -> xcb_generic_iterator_t {
9839        sym!(self, xcb_randr_provider_property_end)(i)
9840    }
9841
9842    /// Returns `true` iff the symbol `xcb_randr_provider_property_end` could be loaded.
9843    #[cfg(feature = "has_symbol")]
9844    pub fn has_xcb_randr_provider_property_end(&self) -> bool {
9845        has_sym!(self, xcb_randr_provider_property_end)
9846    }
9847
9848    /// Advances a `xcb_randr_resource_change_iterator_t` iterator by 1 element.
9849    #[inline]
9850    pub unsafe fn xcb_randr_resource_change_next(
9851        &self,
9852        i: *mut xcb_randr_resource_change_iterator_t,
9853    ) {
9854        sym!(self, xcb_randr_resource_change_next)(i)
9855    }
9856
9857    /// Returns `true` iff the symbol `xcb_randr_resource_change_next` could be loaded.
9858    #[cfg(feature = "has_symbol")]
9859    pub fn has_xcb_randr_resource_change_next(&self) -> bool {
9860        has_sym!(self, xcb_randr_resource_change_next)
9861    }
9862
9863    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_randr_resource_change_iterator_t`.
9864    #[inline]
9865    pub unsafe fn xcb_randr_resource_change_end(
9866        &self,
9867        i: xcb_randr_resource_change_iterator_t,
9868    ) -> xcb_generic_iterator_t {
9869        sym!(self, xcb_randr_resource_change_end)(i)
9870    }
9871
9872    /// Returns `true` iff the symbol `xcb_randr_resource_change_end` could be loaded.
9873    #[cfg(feature = "has_symbol")]
9874    pub fn has_xcb_randr_resource_change_end(&self) -> bool {
9875        has_sym!(self, xcb_randr_resource_change_end)
9876    }
9877
9878    /// Computes the size of a `xcb_randr_monitor_info_t` object.
9879    #[inline]
9880    pub unsafe fn xcb_randr_monitor_info_sizeof(&self, _buffer: *const c_void) -> c_int {
9881        sym!(self, xcb_randr_monitor_info_sizeof)(_buffer)
9882    }
9883
9884    /// Returns `true` iff the symbol `xcb_randr_monitor_info_sizeof` could be loaded.
9885    #[cfg(feature = "has_symbol")]
9886    pub fn has_xcb_randr_monitor_info_sizeof(&self) -> bool {
9887        has_sym!(self, xcb_randr_monitor_info_sizeof)
9888    }
9889
9890    /// Returns a pointer to the `outputs` field of a `xcb_randr_monitor_info_t` struct.
9891    #[inline]
9892    pub unsafe fn xcb_randr_monitor_info_outputs(
9893        &self,
9894        r: *const xcb_randr_monitor_info_t,
9895    ) -> *mut xcb_randr_output_t {
9896        sym!(self, xcb_randr_monitor_info_outputs)(r)
9897    }
9898
9899    /// Returns `true` iff the symbol `xcb_randr_monitor_info_outputs` could be loaded.
9900    #[cfg(feature = "has_symbol")]
9901    pub fn has_xcb_randr_monitor_info_outputs(&self) -> bool {
9902        has_sym!(self, xcb_randr_monitor_info_outputs)
9903    }
9904
9905    /// Returns the number of elements of the `outputs` field of a `xcb_randr_monitor_info_t` struct.
9906    #[inline]
9907    pub unsafe fn xcb_randr_monitor_info_outputs_length(
9908        &self,
9909        r: *const xcb_randr_monitor_info_t,
9910    ) -> c_int {
9911        sym!(self, xcb_randr_monitor_info_outputs_length)(r)
9912    }
9913
9914    /// Returns `true` iff the symbol `xcb_randr_monitor_info_outputs_length` could be loaded.
9915    #[cfg(feature = "has_symbol")]
9916    pub fn has_xcb_randr_monitor_info_outputs_length(&self) -> bool {
9917        has_sym!(self, xcb_randr_monitor_info_outputs_length)
9918    }
9919
9920    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
9921    /// `outputs` field of a `xcb_randr_monitor_info_t` struct.
9922    #[inline]
9923    pub unsafe fn xcb_randr_monitor_info_outputs_end(
9924        &self,
9925        r: *const xcb_randr_monitor_info_t,
9926    ) -> xcb_generic_iterator_t {
9927        sym!(self, xcb_randr_monitor_info_outputs_end)(r)
9928    }
9929
9930    /// Returns `true` iff the symbol `xcb_randr_monitor_info_outputs_end` could be loaded.
9931    #[cfg(feature = "has_symbol")]
9932    pub fn has_xcb_randr_monitor_info_outputs_end(&self) -> bool {
9933        has_sym!(self, xcb_randr_monitor_info_outputs_end)
9934    }
9935
9936    /// Advances a `xcb_randr_monitor_info_iterator_t` iterator by 1 element.
9937    #[inline]
9938    pub unsafe fn xcb_randr_monitor_info_next(&self, i: *mut xcb_randr_monitor_info_iterator_t) {
9939        sym!(self, xcb_randr_monitor_info_next)(i)
9940    }
9941
9942    /// Returns `true` iff the symbol `xcb_randr_monitor_info_next` could be loaded.
9943    #[cfg(feature = "has_symbol")]
9944    pub fn has_xcb_randr_monitor_info_next(&self) -> bool {
9945        has_sym!(self, xcb_randr_monitor_info_next)
9946    }
9947
9948    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_randr_monitor_info_iterator_t`.
9949    #[inline]
9950    pub unsafe fn xcb_randr_monitor_info_end(
9951        &self,
9952        i: xcb_randr_monitor_info_iterator_t,
9953    ) -> xcb_generic_iterator_t {
9954        sym!(self, xcb_randr_monitor_info_end)(i)
9955    }
9956
9957    /// Returns `true` iff the symbol `xcb_randr_monitor_info_end` could be loaded.
9958    #[cfg(feature = "has_symbol")]
9959    pub fn has_xcb_randr_monitor_info_end(&self) -> bool {
9960        has_sym!(self, xcb_randr_monitor_info_end)
9961    }
9962
9963    /// Computes the size of a `xcb_randr_get_monitors_reply_t` object.
9964    #[inline]
9965    pub unsafe fn xcb_randr_get_monitors_sizeof(&self, _buffer: *const c_void) -> c_int {
9966        sym!(self, xcb_randr_get_monitors_sizeof)(_buffer)
9967    }
9968
9969    /// Returns `true` iff the symbol `xcb_randr_get_monitors_sizeof` could be loaded.
9970    #[cfg(feature = "has_symbol")]
9971    pub fn has_xcb_randr_get_monitors_sizeof(&self) -> bool {
9972        has_sym!(self, xcb_randr_get_monitors_sizeof)
9973    }
9974
9975    /// Sends a `RandR::GetMonitors` request (checked).
9976    ///
9977    /// This request generates a reply. You must either discard it with
9978    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_monitors_reply`].
9979    ///
9980    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
9981    /// [`xcb_randr_get_monitors_reply`]: Self::xcb_randr_get_monitors_reply
9982    #[inline]
9983    pub unsafe fn xcb_randr_get_monitors(
9984        &self,
9985        c: *mut xcb_connection_t,
9986        window: xcb_window_t,
9987        get_active: u8,
9988    ) -> xcb_randr_get_monitors_cookie_t {
9989        sym!(self, xcb_randr_get_monitors)(c, window, get_active)
9990    }
9991
9992    /// Returns `true` iff the symbol `xcb_randr_get_monitors` could be loaded.
9993    #[cfg(feature = "has_symbol")]
9994    pub fn has_xcb_randr_get_monitors(&self) -> bool {
9995        has_sym!(self, xcb_randr_get_monitors)
9996    }
9997
9998    /// Sends a `RandR::GetMonitors` request (unchecked).
9999    ///
10000    /// This request generates a reply. You must either discard it with
10001    /// [`discard_reply`] or retrieve it with [`xcb_randr_get_monitors_reply`].
10002    ///
10003    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
10004    /// [`xcb_randr_get_monitors_reply`]: Self::xcb_randr_get_monitors_reply
10005    #[inline]
10006    pub unsafe fn xcb_randr_get_monitors_unchecked(
10007        &self,
10008        c: *mut xcb_connection_t,
10009        window: xcb_window_t,
10010        get_active: u8,
10011    ) -> xcb_randr_get_monitors_cookie_t {
10012        sym!(self, xcb_randr_get_monitors_unchecked)(c, window, get_active)
10013    }
10014
10015    /// Returns `true` iff the symbol `xcb_randr_get_monitors_unchecked` could be loaded.
10016    #[cfg(feature = "has_symbol")]
10017    pub fn has_xcb_randr_get_monitors_unchecked(&self) -> bool {
10018        has_sym!(self, xcb_randr_get_monitors_unchecked)
10019    }
10020
10021    /// Returns the number of elements of the `monitors` field of a `xcb_randr_get_monitors_reply_t` struct.
10022    #[inline]
10023    pub unsafe fn xcb_randr_get_monitors_monitors_length(
10024        &self,
10025        r: *const xcb_randr_get_monitors_reply_t,
10026    ) -> c_int {
10027        sym!(self, xcb_randr_get_monitors_monitors_length)(r)
10028    }
10029
10030    /// Returns `true` iff the symbol `xcb_randr_get_monitors_monitors_length` could be loaded.
10031    #[cfg(feature = "has_symbol")]
10032    pub fn has_xcb_randr_get_monitors_monitors_length(&self) -> bool {
10033        has_sym!(self, xcb_randr_get_monitors_monitors_length)
10034    }
10035
10036    /// Returns an iterator over the elements of the
10037    /// `monitors` field of a `xcb_randr_get_monitors_reply_t` struct.
10038    #[inline]
10039    pub unsafe fn xcb_randr_get_monitors_monitors_iterator(
10040        &self,
10041        r: *const xcb_randr_get_monitors_reply_t,
10042    ) -> xcb_randr_monitor_info_iterator_t {
10043        sym!(self, xcb_randr_get_monitors_monitors_iterator)(r)
10044    }
10045
10046    /// Returns `true` iff the symbol `xcb_randr_get_monitors_monitors_iterator` could be loaded.
10047    #[cfg(feature = "has_symbol")]
10048    pub fn has_xcb_randr_get_monitors_monitors_iterator(&self) -> bool {
10049        has_sym!(self, xcb_randr_get_monitors_monitors_iterator)
10050    }
10051
10052    /// Waits for the reply to a `RandR::GetMonitors` request.
10053    #[inline]
10054    pub unsafe fn xcb_randr_get_monitors_reply(
10055        &self,
10056        c: *mut xcb_connection_t,
10057        cookie: xcb_randr_get_monitors_cookie_t,
10058        e: *mut *mut xcb_generic_error_t,
10059    ) -> *mut xcb_randr_get_monitors_reply_t {
10060        sym!(self, xcb_randr_get_monitors_reply)(c, cookie, e)
10061    }
10062
10063    /// Returns `true` iff the symbol `xcb_randr_get_monitors_reply` could be loaded.
10064    #[cfg(feature = "has_symbol")]
10065    pub fn has_xcb_randr_get_monitors_reply(&self) -> bool {
10066        has_sym!(self, xcb_randr_get_monitors_reply)
10067    }
10068
10069    /// Computes the size of a `xcb_randr_set_monitor_request_t` object.
10070    #[inline]
10071    pub unsafe fn xcb_randr_set_monitor_sizeof(&self, _buffer: *const c_void) -> c_int {
10072        sym!(self, xcb_randr_set_monitor_sizeof)(_buffer)
10073    }
10074
10075    /// Returns `true` iff the symbol `xcb_randr_set_monitor_sizeof` could be loaded.
10076    #[cfg(feature = "has_symbol")]
10077    pub fn has_xcb_randr_set_monitor_sizeof(&self) -> bool {
10078        has_sym!(self, xcb_randr_set_monitor_sizeof)
10079    }
10080
10081    /// Sends a `RandR::SetMonitor` request (checked).
10082    ///
10083    /// This request generates a reply. You must either discard it with
10084    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
10085    ///
10086    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
10087    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
10088    #[inline]
10089    pub unsafe fn xcb_randr_set_monitor_checked(
10090        &self,
10091        c: *mut xcb_connection_t,
10092        window: xcb_window_t,
10093        monitorinfo: *mut xcb_randr_monitor_info_t,
10094    ) -> xcb_void_cookie_t {
10095        sym!(self, xcb_randr_set_monitor_checked)(c, window, monitorinfo)
10096    }
10097
10098    /// Returns `true` iff the symbol `xcb_randr_set_monitor_checked` could be loaded.
10099    #[cfg(feature = "has_symbol")]
10100    pub fn has_xcb_randr_set_monitor_checked(&self) -> bool {
10101        has_sym!(self, xcb_randr_set_monitor_checked)
10102    }
10103
10104    /// Sends a `RandR::SetMonitor` request (unchecked).
10105    #[inline]
10106    pub unsafe fn xcb_randr_set_monitor(
10107        &self,
10108        c: *mut xcb_connection_t,
10109        window: xcb_window_t,
10110        monitorinfo: *mut xcb_randr_monitor_info_t,
10111    ) -> xcb_void_cookie_t {
10112        sym!(self, xcb_randr_set_monitor)(c, window, monitorinfo)
10113    }
10114
10115    /// Returns `true` iff the symbol `xcb_randr_set_monitor` could be loaded.
10116    #[cfg(feature = "has_symbol")]
10117    pub fn has_xcb_randr_set_monitor(&self) -> bool {
10118        has_sym!(self, xcb_randr_set_monitor)
10119    }
10120
10121    /// Returns a pointer to the `monitorinfo` field of a `xcb_randr_set_monitor_request_t` struct.
10122    #[inline]
10123    pub unsafe fn xcb_randr_set_monitor_monitorinfo(
10124        &self,
10125        r: *const xcb_randr_set_monitor_request_t,
10126    ) -> *mut xcb_randr_monitor_info_t {
10127        sym!(self, xcb_randr_set_monitor_monitorinfo)(r)
10128    }
10129
10130    /// Returns `true` iff the symbol `xcb_randr_set_monitor_monitorinfo` could be loaded.
10131    #[cfg(feature = "has_symbol")]
10132    pub fn has_xcb_randr_set_monitor_monitorinfo(&self) -> bool {
10133        has_sym!(self, xcb_randr_set_monitor_monitorinfo)
10134    }
10135
10136    /// Sends a `RandR::DeleteMonitor` request (checked).
10137    ///
10138    /// This request generates a reply. You must either discard it with
10139    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
10140    ///
10141    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
10142    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
10143    #[inline]
10144    pub unsafe fn xcb_randr_delete_monitor_checked(
10145        &self,
10146        c: *mut xcb_connection_t,
10147        window: xcb_window_t,
10148        name: xcb_atom_t,
10149    ) -> xcb_void_cookie_t {
10150        sym!(self, xcb_randr_delete_monitor_checked)(c, window, name)
10151    }
10152
10153    /// Returns `true` iff the symbol `xcb_randr_delete_monitor_checked` could be loaded.
10154    #[cfg(feature = "has_symbol")]
10155    pub fn has_xcb_randr_delete_monitor_checked(&self) -> bool {
10156        has_sym!(self, xcb_randr_delete_monitor_checked)
10157    }
10158
10159    /// Sends a `RandR::DeleteMonitor` request (unchecked).
10160    #[inline]
10161    pub unsafe fn xcb_randr_delete_monitor(
10162        &self,
10163        c: *mut xcb_connection_t,
10164        window: xcb_window_t,
10165        name: xcb_atom_t,
10166    ) -> xcb_void_cookie_t {
10167        sym!(self, xcb_randr_delete_monitor)(c, window, name)
10168    }
10169
10170    /// Returns `true` iff the symbol `xcb_randr_delete_monitor` could be loaded.
10171    #[cfg(feature = "has_symbol")]
10172    pub fn has_xcb_randr_delete_monitor(&self) -> bool {
10173        has_sym!(self, xcb_randr_delete_monitor)
10174    }
10175
10176    /// Computes the size of a `xcb_randr_create_lease_request_t` object.
10177    #[inline]
10178    pub unsafe fn xcb_randr_create_lease_sizeof(&self, _buffer: *const c_void) -> c_int {
10179        sym!(self, xcb_randr_create_lease_sizeof)(_buffer)
10180    }
10181
10182    /// Returns `true` iff the symbol `xcb_randr_create_lease_sizeof` could be loaded.
10183    #[cfg(feature = "has_symbol")]
10184    pub fn has_xcb_randr_create_lease_sizeof(&self) -> bool {
10185        has_sym!(self, xcb_randr_create_lease_sizeof)
10186    }
10187
10188    /// Sends a `RandR::CreateLease` request (checked).
10189    ///
10190    /// This request generates a reply. You must either discard it with
10191    /// [`discard_reply`] or retrieve it with [`xcb_randr_create_lease_reply`].
10192    ///
10193    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
10194    /// [`xcb_randr_create_lease_reply`]: Self::xcb_randr_create_lease_reply
10195    #[inline]
10196    pub unsafe fn xcb_randr_create_lease(
10197        &self,
10198        c: *mut xcb_connection_t,
10199        window: xcb_window_t,
10200        lid: xcb_randr_lease_t,
10201        num_crtcs: u16,
10202        num_outputs: u16,
10203        crtcs: *const xcb_randr_crtc_t,
10204        outputs: *const xcb_randr_output_t,
10205    ) -> xcb_randr_create_lease_cookie_t {
10206        sym!(self, xcb_randr_create_lease)(c, window, lid, num_crtcs, num_outputs, crtcs, outputs)
10207    }
10208
10209    /// Returns `true` iff the symbol `xcb_randr_create_lease` could be loaded.
10210    #[cfg(feature = "has_symbol")]
10211    pub fn has_xcb_randr_create_lease(&self) -> bool {
10212        has_sym!(self, xcb_randr_create_lease)
10213    }
10214
10215    /// Sends a `RandR::CreateLease` request (unchecked).
10216    ///
10217    /// This request generates a reply. You must either discard it with
10218    /// [`discard_reply`] or retrieve it with [`xcb_randr_create_lease_reply`].
10219    ///
10220    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
10221    /// [`xcb_randr_create_lease_reply`]: Self::xcb_randr_create_lease_reply
10222    #[inline]
10223    pub unsafe fn xcb_randr_create_lease_unchecked(
10224        &self,
10225        c: *mut xcb_connection_t,
10226        window: xcb_window_t,
10227        lid: xcb_randr_lease_t,
10228        num_crtcs: u16,
10229        num_outputs: u16,
10230        crtcs: *const xcb_randr_crtc_t,
10231        outputs: *const xcb_randr_output_t,
10232    ) -> xcb_randr_create_lease_cookie_t {
10233        sym!(self, xcb_randr_create_lease_unchecked)(
10234            c,
10235            window,
10236            lid,
10237            num_crtcs,
10238            num_outputs,
10239            crtcs,
10240            outputs,
10241        )
10242    }
10243
10244    /// Returns `true` iff the symbol `xcb_randr_create_lease_unchecked` could be loaded.
10245    #[cfg(feature = "has_symbol")]
10246    pub fn has_xcb_randr_create_lease_unchecked(&self) -> bool {
10247        has_sym!(self, xcb_randr_create_lease_unchecked)
10248    }
10249
10250    /// Waits for the reply to a `RandR::CreateLease` request.
10251    #[inline]
10252    pub unsafe fn xcb_randr_create_lease_reply(
10253        &self,
10254        c: *mut xcb_connection_t,
10255        cookie: xcb_randr_create_lease_cookie_t,
10256        e: *mut *mut xcb_generic_error_t,
10257    ) -> *mut xcb_randr_create_lease_reply_t {
10258        sym!(self, xcb_randr_create_lease_reply)(c, cookie, e)
10259    }
10260
10261    /// Returns `true` iff the symbol `xcb_randr_create_lease_reply` could be loaded.
10262    #[cfg(feature = "has_symbol")]
10263    pub fn has_xcb_randr_create_lease_reply(&self) -> bool {
10264        has_sym!(self, xcb_randr_create_lease_reply)
10265    }
10266
10267    /// Retrieves the file descriptors from the reply to a `RandR::CreateLease` request.
10268    ///
10269    /// The returned pointer must be freed with `libc::free`.
10270    #[inline]
10271    pub unsafe fn xcb_randr_create_lease_reply_fds(
10272        &self,
10273        c: *mut xcb_connection_t,
10274        reply: *mut xcb_randr_create_lease_reply_t,
10275    ) -> *mut c_int {
10276        sym!(self, xcb_randr_create_lease_reply_fds)(c, reply)
10277    }
10278
10279    /// Returns `true` iff the symbol `xcb_randr_create_lease_reply_fds` could be loaded.
10280    #[cfg(feature = "has_symbol")]
10281    pub fn has_xcb_randr_create_lease_reply_fds(&self) -> bool {
10282        has_sym!(self, xcb_randr_create_lease_reply_fds)
10283    }
10284
10285    /// Sends a `RandR::FreeLease` request (checked).
10286    ///
10287    /// This request generates a reply. You must either discard it with
10288    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
10289    ///
10290    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
10291    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
10292    #[inline]
10293    pub unsafe fn xcb_randr_free_lease_checked(
10294        &self,
10295        c: *mut xcb_connection_t,
10296        lid: xcb_randr_lease_t,
10297        terminate: u8,
10298    ) -> xcb_void_cookie_t {
10299        sym!(self, xcb_randr_free_lease_checked)(c, lid, terminate)
10300    }
10301
10302    /// Returns `true` iff the symbol `xcb_randr_free_lease_checked` could be loaded.
10303    #[cfg(feature = "has_symbol")]
10304    pub fn has_xcb_randr_free_lease_checked(&self) -> bool {
10305        has_sym!(self, xcb_randr_free_lease_checked)
10306    }
10307
10308    /// Sends a `RandR::FreeLease` request (unchecked).
10309    #[inline]
10310    pub unsafe fn xcb_randr_free_lease(
10311        &self,
10312        c: *mut xcb_connection_t,
10313        lid: xcb_randr_lease_t,
10314        terminate: u8,
10315    ) -> xcb_void_cookie_t {
10316        sym!(self, xcb_randr_free_lease)(c, lid, terminate)
10317    }
10318
10319    /// Returns `true` iff the symbol `xcb_randr_free_lease` could be loaded.
10320    #[cfg(feature = "has_symbol")]
10321    pub fn has_xcb_randr_free_lease(&self) -> bool {
10322        has_sym!(self, xcb_randr_free_lease)
10323    }
10324
10325    /// Advances a `xcb_randr_lease_notify_iterator_t` iterator by 1 element.
10326    #[inline]
10327    pub unsafe fn xcb_randr_lease_notify_next(&self, i: *mut xcb_randr_lease_notify_iterator_t) {
10328        sym!(self, xcb_randr_lease_notify_next)(i)
10329    }
10330
10331    /// Returns `true` iff the symbol `xcb_randr_lease_notify_next` could be loaded.
10332    #[cfg(feature = "has_symbol")]
10333    pub fn has_xcb_randr_lease_notify_next(&self) -> bool {
10334        has_sym!(self, xcb_randr_lease_notify_next)
10335    }
10336
10337    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_randr_lease_notify_iterator_t`.
10338    #[inline]
10339    pub unsafe fn xcb_randr_lease_notify_end(
10340        &self,
10341        i: xcb_randr_lease_notify_iterator_t,
10342    ) -> xcb_generic_iterator_t {
10343        sym!(self, xcb_randr_lease_notify_end)(i)
10344    }
10345
10346    /// Returns `true` iff the symbol `xcb_randr_lease_notify_end` could be loaded.
10347    #[cfg(feature = "has_symbol")]
10348    pub fn has_xcb_randr_lease_notify_end(&self) -> bool {
10349        has_sym!(self, xcb_randr_lease_notify_end)
10350    }
10351
10352    /// Advances a `xcb_randr_notify_data_iterator_t` iterator by 1 element.
10353    #[inline]
10354    pub unsafe fn xcb_randr_notify_data_next(&self, i: *mut xcb_randr_notify_data_iterator_t) {
10355        sym!(self, xcb_randr_notify_data_next)(i)
10356    }
10357
10358    /// Returns `true` iff the symbol `xcb_randr_notify_data_next` could be loaded.
10359    #[cfg(feature = "has_symbol")]
10360    pub fn has_xcb_randr_notify_data_next(&self) -> bool {
10361        has_sym!(self, xcb_randr_notify_data_next)
10362    }
10363
10364    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_randr_notify_data_iterator_t`.
10365    #[inline]
10366    pub unsafe fn xcb_randr_notify_data_end(
10367        &self,
10368        i: xcb_randr_notify_data_iterator_t,
10369    ) -> xcb_generic_iterator_t {
10370        sym!(self, xcb_randr_notify_data_end)(i)
10371    }
10372
10373    /// Returns `true` iff the symbol `xcb_randr_notify_data_end` could be loaded.
10374    #[cfg(feature = "has_symbol")]
10375    pub fn has_xcb_randr_notify_data_end(&self) -> bool {
10376        has_sym!(self, xcb_randr_notify_data_end)
10377    }
10378}
10379
10380#[cfg(feature = "xcb_randr")]
10381#[cfg(all(test, feature = "has_symbol"))]
10382mod test {
10383    #[test]
10384    fn has_all() {
10385        let lib = unsafe { crate::XcbRandr::load().unwrap() };
10386        assert!(lib.has_xcb_randr_id());
10387        assert!(lib.has_xcb_randr_mode_next());
10388        assert!(lib.has_xcb_randr_mode_end());
10389        assert!(lib.has_xcb_randr_crtc_next());
10390        assert!(lib.has_xcb_randr_crtc_end());
10391        assert!(lib.has_xcb_randr_output_next());
10392        assert!(lib.has_xcb_randr_output_end());
10393        assert!(lib.has_xcb_randr_provider_next());
10394        assert!(lib.has_xcb_randr_provider_end());
10395        assert!(lib.has_xcb_randr_lease_next());
10396        assert!(lib.has_xcb_randr_lease_end());
10397        assert!(lib.has_xcb_randr_screen_size_next());
10398        assert!(lib.has_xcb_randr_screen_size_end());
10399        assert!(lib.has_xcb_randr_refresh_rates_sizeof());
10400        assert!(lib.has_xcb_randr_refresh_rates_rates());
10401        assert!(lib.has_xcb_randr_refresh_rates_rates_length());
10402        assert!(lib.has_xcb_randr_refresh_rates_rates_end());
10403        assert!(lib.has_xcb_randr_refresh_rates_next());
10404        assert!(lib.has_xcb_randr_refresh_rates_end());
10405        assert!(lib.has_xcb_randr_query_version());
10406        assert!(lib.has_xcb_randr_query_version_unchecked());
10407        assert!(lib.has_xcb_randr_query_version_reply());
10408        assert!(lib.has_xcb_randr_set_screen_config());
10409        assert!(lib.has_xcb_randr_set_screen_config_unchecked());
10410        assert!(lib.has_xcb_randr_set_screen_config_reply());
10411        assert!(lib.has_xcb_randr_select_input_checked());
10412        assert!(lib.has_xcb_randr_select_input());
10413        assert!(lib.has_xcb_randr_get_screen_info_sizeof());
10414        assert!(lib.has_xcb_randr_get_screen_info());
10415        assert!(lib.has_xcb_randr_get_screen_info_unchecked());
10416        assert!(lib.has_xcb_randr_get_screen_info_sizes());
10417        assert!(lib.has_xcb_randr_get_screen_info_sizes_length());
10418        assert!(lib.has_xcb_randr_get_screen_info_sizes_iterator());
10419        assert!(lib.has_xcb_randr_get_screen_info_rates_length());
10420        assert!(lib.has_xcb_randr_get_screen_info_rates_iterator());
10421        assert!(lib.has_xcb_randr_get_screen_info_reply());
10422        assert!(lib.has_xcb_randr_get_screen_size_range());
10423        assert!(lib.has_xcb_randr_get_screen_size_range_unchecked());
10424        assert!(lib.has_xcb_randr_get_screen_size_range_reply());
10425        assert!(lib.has_xcb_randr_set_screen_size_checked());
10426        assert!(lib.has_xcb_randr_set_screen_size());
10427        assert!(lib.has_xcb_randr_mode_info_next());
10428        assert!(lib.has_xcb_randr_mode_info_end());
10429        assert!(lib.has_xcb_randr_get_screen_resources_sizeof());
10430        assert!(lib.has_xcb_randr_get_screen_resources());
10431        assert!(lib.has_xcb_randr_get_screen_resources_unchecked());
10432        assert!(lib.has_xcb_randr_get_screen_resources_crtcs());
10433        assert!(lib.has_xcb_randr_get_screen_resources_crtcs_length());
10434        assert!(lib.has_xcb_randr_get_screen_resources_crtcs_end());
10435        assert!(lib.has_xcb_randr_get_screen_resources_outputs());
10436        assert!(lib.has_xcb_randr_get_screen_resources_outputs_length());
10437        assert!(lib.has_xcb_randr_get_screen_resources_outputs_end());
10438        assert!(lib.has_xcb_randr_get_screen_resources_modes());
10439        assert!(lib.has_xcb_randr_get_screen_resources_modes_length());
10440        assert!(lib.has_xcb_randr_get_screen_resources_modes_iterator());
10441        assert!(lib.has_xcb_randr_get_screen_resources_names());
10442        assert!(lib.has_xcb_randr_get_screen_resources_names_length());
10443        assert!(lib.has_xcb_randr_get_screen_resources_names_end());
10444        assert!(lib.has_xcb_randr_get_screen_resources_reply());
10445        assert!(lib.has_xcb_randr_get_output_info_sizeof());
10446        assert!(lib.has_xcb_randr_get_output_info());
10447        assert!(lib.has_xcb_randr_get_output_info_unchecked());
10448        assert!(lib.has_xcb_randr_get_output_info_crtcs());
10449        assert!(lib.has_xcb_randr_get_output_info_crtcs_length());
10450        assert!(lib.has_xcb_randr_get_output_info_crtcs_end());
10451        assert!(lib.has_xcb_randr_get_output_info_modes());
10452        assert!(lib.has_xcb_randr_get_output_info_modes_length());
10453        assert!(lib.has_xcb_randr_get_output_info_modes_end());
10454        assert!(lib.has_xcb_randr_get_output_info_clones());
10455        assert!(lib.has_xcb_randr_get_output_info_clones_length());
10456        assert!(lib.has_xcb_randr_get_output_info_clones_end());
10457        assert!(lib.has_xcb_randr_get_output_info_name());
10458        assert!(lib.has_xcb_randr_get_output_info_name_length());
10459        assert!(lib.has_xcb_randr_get_output_info_name_end());
10460        assert!(lib.has_xcb_randr_get_output_info_reply());
10461        assert!(lib.has_xcb_randr_list_output_properties_sizeof());
10462        assert!(lib.has_xcb_randr_list_output_properties());
10463        assert!(lib.has_xcb_randr_list_output_properties_unchecked());
10464        assert!(lib.has_xcb_randr_list_output_properties_atoms());
10465        assert!(lib.has_xcb_randr_list_output_properties_atoms_length());
10466        assert!(lib.has_xcb_randr_list_output_properties_atoms_end());
10467        assert!(lib.has_xcb_randr_list_output_properties_reply());
10468        assert!(lib.has_xcb_randr_query_output_property_sizeof());
10469        assert!(lib.has_xcb_randr_query_output_property());
10470        assert!(lib.has_xcb_randr_query_output_property_unchecked());
10471        assert!(lib.has_xcb_randr_query_output_property_valid_values());
10472        assert!(lib.has_xcb_randr_query_output_property_valid_values_length());
10473        assert!(lib.has_xcb_randr_query_output_property_valid_values_end());
10474        assert!(lib.has_xcb_randr_query_output_property_reply());
10475        assert!(lib.has_xcb_randr_configure_output_property_sizeof());
10476        assert!(lib.has_xcb_randr_configure_output_property_checked());
10477        assert!(lib.has_xcb_randr_configure_output_property());
10478        assert!(lib.has_xcb_randr_configure_output_property_values());
10479        assert!(lib.has_xcb_randr_configure_output_property_values_length());
10480        assert!(lib.has_xcb_randr_configure_output_property_values_end());
10481        assert!(lib.has_xcb_randr_change_output_property_sizeof());
10482        assert!(lib.has_xcb_randr_change_output_property_checked());
10483        assert!(lib.has_xcb_randr_change_output_property());
10484        assert!(lib.has_xcb_randr_change_output_property_data());
10485        assert!(lib.has_xcb_randr_change_output_property_data_length());
10486        assert!(lib.has_xcb_randr_change_output_property_data_end());
10487        assert!(lib.has_xcb_randr_delete_output_property_checked());
10488        assert!(lib.has_xcb_randr_delete_output_property());
10489        assert!(lib.has_xcb_randr_get_output_property_sizeof());
10490        assert!(lib.has_xcb_randr_get_output_property());
10491        assert!(lib.has_xcb_randr_get_output_property_unchecked());
10492        assert!(lib.has_xcb_randr_get_output_property_data());
10493        assert!(lib.has_xcb_randr_get_output_property_data_length());
10494        assert!(lib.has_xcb_randr_get_output_property_data_end());
10495        assert!(lib.has_xcb_randr_get_output_property_reply());
10496        assert!(lib.has_xcb_randr_create_mode_sizeof());
10497        assert!(lib.has_xcb_randr_create_mode());
10498        assert!(lib.has_xcb_randr_create_mode_unchecked());
10499        assert!(lib.has_xcb_randr_create_mode_reply());
10500        assert!(lib.has_xcb_randr_destroy_mode_checked());
10501        assert!(lib.has_xcb_randr_destroy_mode());
10502        assert!(lib.has_xcb_randr_add_output_mode_checked());
10503        assert!(lib.has_xcb_randr_add_output_mode());
10504        assert!(lib.has_xcb_randr_delete_output_mode_checked());
10505        assert!(lib.has_xcb_randr_delete_output_mode());
10506        assert!(lib.has_xcb_randr_get_crtc_info_sizeof());
10507        assert!(lib.has_xcb_randr_get_crtc_info());
10508        assert!(lib.has_xcb_randr_get_crtc_info_unchecked());
10509        assert!(lib.has_xcb_randr_get_crtc_info_outputs());
10510        assert!(lib.has_xcb_randr_get_crtc_info_outputs_length());
10511        assert!(lib.has_xcb_randr_get_crtc_info_outputs_end());
10512        assert!(lib.has_xcb_randr_get_crtc_info_possible());
10513        assert!(lib.has_xcb_randr_get_crtc_info_possible_length());
10514        assert!(lib.has_xcb_randr_get_crtc_info_possible_end());
10515        assert!(lib.has_xcb_randr_get_crtc_info_reply());
10516        assert!(lib.has_xcb_randr_set_crtc_config_sizeof());
10517        assert!(lib.has_xcb_randr_set_crtc_config());
10518        assert!(lib.has_xcb_randr_set_crtc_config_unchecked());
10519        assert!(lib.has_xcb_randr_set_crtc_config_reply());
10520        assert!(lib.has_xcb_randr_get_crtc_gamma_size());
10521        assert!(lib.has_xcb_randr_get_crtc_gamma_size_unchecked());
10522        assert!(lib.has_xcb_randr_get_crtc_gamma_size_reply());
10523        assert!(lib.has_xcb_randr_get_crtc_gamma_sizeof());
10524        assert!(lib.has_xcb_randr_get_crtc_gamma());
10525        assert!(lib.has_xcb_randr_get_crtc_gamma_unchecked());
10526        assert!(lib.has_xcb_randr_get_crtc_gamma_red());
10527        assert!(lib.has_xcb_randr_get_crtc_gamma_red_length());
10528        assert!(lib.has_xcb_randr_get_crtc_gamma_red_end());
10529        assert!(lib.has_xcb_randr_get_crtc_gamma_green());
10530        assert!(lib.has_xcb_randr_get_crtc_gamma_green_length());
10531        assert!(lib.has_xcb_randr_get_crtc_gamma_green_end());
10532        assert!(lib.has_xcb_randr_get_crtc_gamma_blue());
10533        assert!(lib.has_xcb_randr_get_crtc_gamma_blue_length());
10534        assert!(lib.has_xcb_randr_get_crtc_gamma_blue_end());
10535        assert!(lib.has_xcb_randr_get_crtc_gamma_reply());
10536        assert!(lib.has_xcb_randr_set_crtc_gamma_sizeof());
10537        assert!(lib.has_xcb_randr_set_crtc_gamma_checked());
10538        assert!(lib.has_xcb_randr_set_crtc_gamma());
10539        assert!(lib.has_xcb_randr_set_crtc_gamma_red());
10540        assert!(lib.has_xcb_randr_set_crtc_gamma_red_length());
10541        assert!(lib.has_xcb_randr_set_crtc_gamma_red_end());
10542        assert!(lib.has_xcb_randr_set_crtc_gamma_green());
10543        assert!(lib.has_xcb_randr_set_crtc_gamma_green_length());
10544        assert!(lib.has_xcb_randr_set_crtc_gamma_green_end());
10545        assert!(lib.has_xcb_randr_set_crtc_gamma_blue());
10546        assert!(lib.has_xcb_randr_set_crtc_gamma_blue_length());
10547        assert!(lib.has_xcb_randr_set_crtc_gamma_blue_end());
10548        assert!(lib.has_xcb_randr_get_screen_resources_current_sizeof());
10549        assert!(lib.has_xcb_randr_get_screen_resources_current());
10550        assert!(lib.has_xcb_randr_get_screen_resources_current_unchecked());
10551        assert!(lib.has_xcb_randr_get_screen_resources_current_crtcs());
10552        assert!(lib.has_xcb_randr_get_screen_resources_current_crtcs_length());
10553        assert!(lib.has_xcb_randr_get_screen_resources_current_crtcs_end());
10554        assert!(lib.has_xcb_randr_get_screen_resources_current_outputs());
10555        assert!(lib.has_xcb_randr_get_screen_resources_current_outputs_length());
10556        assert!(lib.has_xcb_randr_get_screen_resources_current_outputs_end());
10557        assert!(lib.has_xcb_randr_get_screen_resources_current_modes());
10558        assert!(lib.has_xcb_randr_get_screen_resources_current_modes_length());
10559        assert!(lib.has_xcb_randr_get_screen_resources_current_modes_iterator());
10560        assert!(lib.has_xcb_randr_get_screen_resources_current_names());
10561        assert!(lib.has_xcb_randr_get_screen_resources_current_names_length());
10562        assert!(lib.has_xcb_randr_get_screen_resources_current_names_end());
10563        assert!(lib.has_xcb_randr_get_screen_resources_current_reply());
10564        assert!(lib.has_xcb_randr_set_crtc_transform_sizeof());
10565        assert!(lib.has_xcb_randr_set_crtc_transform_checked());
10566        assert!(lib.has_xcb_randr_set_crtc_transform());
10567        assert!(lib.has_xcb_randr_set_crtc_transform_filter_name());
10568        assert!(lib.has_xcb_randr_set_crtc_transform_filter_name_length());
10569        assert!(lib.has_xcb_randr_set_crtc_transform_filter_name_end());
10570        assert!(lib.has_xcb_randr_set_crtc_transform_filter_params());
10571        assert!(lib.has_xcb_randr_set_crtc_transform_filter_params_length());
10572        assert!(lib.has_xcb_randr_set_crtc_transform_filter_params_end());
10573        assert!(lib.has_xcb_randr_get_crtc_transform_sizeof());
10574        assert!(lib.has_xcb_randr_get_crtc_transform());
10575        assert!(lib.has_xcb_randr_get_crtc_transform_unchecked());
10576        assert!(lib.has_xcb_randr_get_crtc_transform_pending_filter_name());
10577        assert!(lib.has_xcb_randr_get_crtc_transform_pending_filter_name_length());
10578        assert!(lib.has_xcb_randr_get_crtc_transform_pending_filter_name_end());
10579        assert!(lib.has_xcb_randr_get_crtc_transform_pending_params());
10580        assert!(lib.has_xcb_randr_get_crtc_transform_pending_params_length());
10581        assert!(lib.has_xcb_randr_get_crtc_transform_pending_params_end());
10582        assert!(lib.has_xcb_randr_get_crtc_transform_current_filter_name());
10583        assert!(lib.has_xcb_randr_get_crtc_transform_current_filter_name_length());
10584        assert!(lib.has_xcb_randr_get_crtc_transform_current_filter_name_end());
10585        assert!(lib.has_xcb_randr_get_crtc_transform_current_params());
10586        assert!(lib.has_xcb_randr_get_crtc_transform_current_params_length());
10587        assert!(lib.has_xcb_randr_get_crtc_transform_current_params_end());
10588        assert!(lib.has_xcb_randr_get_crtc_transform_reply());
10589        assert!(lib.has_xcb_randr_get_panning());
10590        assert!(lib.has_xcb_randr_get_panning_unchecked());
10591        assert!(lib.has_xcb_randr_get_panning_reply());
10592        assert!(lib.has_xcb_randr_set_panning());
10593        assert!(lib.has_xcb_randr_set_panning_unchecked());
10594        assert!(lib.has_xcb_randr_set_panning_reply());
10595        assert!(lib.has_xcb_randr_set_output_primary_checked());
10596        assert!(lib.has_xcb_randr_set_output_primary());
10597        assert!(lib.has_xcb_randr_get_output_primary());
10598        assert!(lib.has_xcb_randr_get_output_primary_unchecked());
10599        assert!(lib.has_xcb_randr_get_output_primary_reply());
10600        assert!(lib.has_xcb_randr_get_providers_sizeof());
10601        assert!(lib.has_xcb_randr_get_providers());
10602        assert!(lib.has_xcb_randr_get_providers_unchecked());
10603        assert!(lib.has_xcb_randr_get_providers_providers());
10604        assert!(lib.has_xcb_randr_get_providers_providers_length());
10605        assert!(lib.has_xcb_randr_get_providers_providers_end());
10606        assert!(lib.has_xcb_randr_get_providers_reply());
10607        assert!(lib.has_xcb_randr_get_provider_info_sizeof());
10608        assert!(lib.has_xcb_randr_get_provider_info());
10609        assert!(lib.has_xcb_randr_get_provider_info_unchecked());
10610        assert!(lib.has_xcb_randr_get_provider_info_crtcs());
10611        assert!(lib.has_xcb_randr_get_provider_info_crtcs_length());
10612        assert!(lib.has_xcb_randr_get_provider_info_crtcs_end());
10613        assert!(lib.has_xcb_randr_get_provider_info_outputs());
10614        assert!(lib.has_xcb_randr_get_provider_info_outputs_length());
10615        assert!(lib.has_xcb_randr_get_provider_info_outputs_end());
10616        assert!(lib.has_xcb_randr_get_provider_info_associated_providers());
10617        assert!(lib.has_xcb_randr_get_provider_info_associated_providers_length());
10618        assert!(lib.has_xcb_randr_get_provider_info_associated_providers_end());
10619        assert!(lib.has_xcb_randr_get_provider_info_associated_capability());
10620        assert!(lib.has_xcb_randr_get_provider_info_associated_capability_length());
10621        assert!(lib.has_xcb_randr_get_provider_info_associated_capability_end());
10622        assert!(lib.has_xcb_randr_get_provider_info_name());
10623        assert!(lib.has_xcb_randr_get_provider_info_name_length());
10624        assert!(lib.has_xcb_randr_get_provider_info_name_end());
10625        assert!(lib.has_xcb_randr_get_provider_info_reply());
10626        assert!(lib.has_xcb_randr_set_provider_offload_sink_checked());
10627        assert!(lib.has_xcb_randr_set_provider_offload_sink());
10628        assert!(lib.has_xcb_randr_set_provider_output_source_checked());
10629        assert!(lib.has_xcb_randr_set_provider_output_source());
10630        assert!(lib.has_xcb_randr_list_provider_properties_sizeof());
10631        assert!(lib.has_xcb_randr_list_provider_properties());
10632        assert!(lib.has_xcb_randr_list_provider_properties_unchecked());
10633        assert!(lib.has_xcb_randr_list_provider_properties_atoms());
10634        assert!(lib.has_xcb_randr_list_provider_properties_atoms_length());
10635        assert!(lib.has_xcb_randr_list_provider_properties_atoms_end());
10636        assert!(lib.has_xcb_randr_list_provider_properties_reply());
10637        assert!(lib.has_xcb_randr_query_provider_property_sizeof());
10638        assert!(lib.has_xcb_randr_query_provider_property());
10639        assert!(lib.has_xcb_randr_query_provider_property_unchecked());
10640        assert!(lib.has_xcb_randr_query_provider_property_valid_values());
10641        assert!(lib.has_xcb_randr_query_provider_property_valid_values_length());
10642        assert!(lib.has_xcb_randr_query_provider_property_valid_values_end());
10643        assert!(lib.has_xcb_randr_query_provider_property_reply());
10644        assert!(lib.has_xcb_randr_configure_provider_property_sizeof());
10645        assert!(lib.has_xcb_randr_configure_provider_property_checked());
10646        assert!(lib.has_xcb_randr_configure_provider_property());
10647        assert!(lib.has_xcb_randr_configure_provider_property_values());
10648        assert!(lib.has_xcb_randr_configure_provider_property_values_length());
10649        assert!(lib.has_xcb_randr_configure_provider_property_values_end());
10650        assert!(lib.has_xcb_randr_change_provider_property_sizeof());
10651        assert!(lib.has_xcb_randr_change_provider_property_checked());
10652        assert!(lib.has_xcb_randr_change_provider_property());
10653        assert!(lib.has_xcb_randr_change_provider_property_data());
10654        assert!(lib.has_xcb_randr_change_provider_property_data_length());
10655        assert!(lib.has_xcb_randr_change_provider_property_data_end());
10656        assert!(lib.has_xcb_randr_delete_provider_property_checked());
10657        assert!(lib.has_xcb_randr_delete_provider_property());
10658        assert!(lib.has_xcb_randr_get_provider_property_sizeof());
10659        assert!(lib.has_xcb_randr_get_provider_property());
10660        assert!(lib.has_xcb_randr_get_provider_property_unchecked());
10661        assert!(lib.has_xcb_randr_get_provider_property_data());
10662        assert!(lib.has_xcb_randr_get_provider_property_data_length());
10663        assert!(lib.has_xcb_randr_get_provider_property_data_end());
10664        assert!(lib.has_xcb_randr_get_provider_property_reply());
10665        assert!(lib.has_xcb_randr_crtc_change_next());
10666        assert!(lib.has_xcb_randr_crtc_change_end());
10667        assert!(lib.has_xcb_randr_output_change_next());
10668        assert!(lib.has_xcb_randr_output_change_end());
10669        assert!(lib.has_xcb_randr_output_property_next());
10670        assert!(lib.has_xcb_randr_output_property_end());
10671        assert!(lib.has_xcb_randr_provider_change_next());
10672        assert!(lib.has_xcb_randr_provider_change_end());
10673        assert!(lib.has_xcb_randr_provider_property_next());
10674        assert!(lib.has_xcb_randr_provider_property_end());
10675        assert!(lib.has_xcb_randr_resource_change_next());
10676        assert!(lib.has_xcb_randr_resource_change_end());
10677        assert!(lib.has_xcb_randr_monitor_info_sizeof());
10678        assert!(lib.has_xcb_randr_monitor_info_outputs());
10679        assert!(lib.has_xcb_randr_monitor_info_outputs_length());
10680        assert!(lib.has_xcb_randr_monitor_info_outputs_end());
10681        assert!(lib.has_xcb_randr_monitor_info_next());
10682        assert!(lib.has_xcb_randr_monitor_info_end());
10683        assert!(lib.has_xcb_randr_get_monitors_sizeof());
10684        assert!(lib.has_xcb_randr_get_monitors());
10685        assert!(lib.has_xcb_randr_get_monitors_unchecked());
10686        assert!(lib.has_xcb_randr_get_monitors_monitors_length());
10687        assert!(lib.has_xcb_randr_get_monitors_monitors_iterator());
10688        assert!(lib.has_xcb_randr_get_monitors_reply());
10689        assert!(lib.has_xcb_randr_set_monitor_sizeof());
10690        assert!(lib.has_xcb_randr_set_monitor_checked());
10691        assert!(lib.has_xcb_randr_set_monitor());
10692        assert!(lib.has_xcb_randr_set_monitor_monitorinfo());
10693        assert!(lib.has_xcb_randr_delete_monitor_checked());
10694        assert!(lib.has_xcb_randr_delete_monitor());
10695        assert!(lib.has_xcb_randr_create_lease_sizeof());
10696        assert!(lib.has_xcb_randr_create_lease());
10697        assert!(lib.has_xcb_randr_create_lease_unchecked());
10698        assert!(lib.has_xcb_randr_create_lease_reply());
10699        assert!(lib.has_xcb_randr_create_lease_reply_fds());
10700        assert!(lib.has_xcb_randr_free_lease_checked());
10701        assert!(lib.has_xcb_randr_free_lease());
10702        assert!(lib.has_xcb_randr_lease_notify_next());
10703        assert!(lib.has_xcb_randr_lease_notify_end());
10704        assert!(lib.has_xcb_randr_notify_data_next());
10705        assert!(lib.has_xcb_randr_notify_data_end());
10706    }
10707}