virglrenderer_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3pub const _STDINT_H: u32 = 1;
4pub const _FEATURES_H: u32 = 1;
5pub const _DEFAULT_SOURCE: u32 = 1;
6pub const __GLIBC_USE_ISOC23: u32 = 0;
7pub const __USE_ISOC11: u32 = 1;
8pub const __USE_ISOC99: u32 = 1;
9pub const __USE_ISOC95: u32 = 1;
10pub const __USE_POSIX_IMPLICITLY: u32 = 1;
11pub const _POSIX_SOURCE: u32 = 1;
12pub const _POSIX_C_SOURCE: u32 = 200809;
13pub const __USE_POSIX: u32 = 1;
14pub const __USE_POSIX2: u32 = 1;
15pub const __USE_POSIX199309: u32 = 1;
16pub const __USE_POSIX199506: u32 = 1;
17pub const __USE_XOPEN2K: u32 = 1;
18pub const __USE_XOPEN2K8: u32 = 1;
19pub const _ATFILE_SOURCE: u32 = 1;
20pub const __WORDSIZE: u32 = 64;
21pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
22pub const __SYSCALL_WORDSIZE: u32 = 64;
23pub const __TIMESIZE: u32 = 64;
24pub const __USE_TIME_BITS64: u32 = 1;
25pub const __USE_MISC: u32 = 1;
26pub const __USE_ATFILE: u32 = 1;
27pub const __USE_FORTIFY_LEVEL: u32 = 0;
28pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
29pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
30pub const __GLIBC_USE_C23_STRTOL: u32 = 0;
31pub const _STDC_PREDEF_H: u32 = 1;
32pub const __STDC_IEC_559__: u32 = 1;
33pub const __STDC_IEC_60559_BFP__: u32 = 201404;
34pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
35pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
36pub const __STDC_ISO_10646__: u32 = 201706;
37pub const __GNU_LIBRARY__: u32 = 6;
38pub const __GLIBC__: u32 = 2;
39pub const __GLIBC_MINOR__: u32 = 40;
40pub const _SYS_CDEFS_H: u32 = 1;
41pub const __glibc_c99_flexarr_available: u32 = 1;
42pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
43pub const __HAVE_GENERIC_SELECTION: u32 = 1;
44pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
45pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
46pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23: u32 = 0;
47pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
48pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
49pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23: u32 = 0;
50pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
51pub const _BITS_TYPES_H: u32 = 1;
52pub const _BITS_TYPESIZES_H: u32 = 1;
53pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
54pub const __INO_T_MATCHES_INO64_T: u32 = 1;
55pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
56pub const __STATFS_MATCHES_STATFS64: u32 = 1;
57pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
58pub const __FD_SETSIZE: u32 = 1024;
59pub const _BITS_TIME64_H: u32 = 1;
60pub const _BITS_WCHAR_H: u32 = 1;
61pub const _BITS_STDINT_INTN_H: u32 = 1;
62pub const _BITS_STDINT_UINTN_H: u32 = 1;
63pub const _BITS_STDINT_LEAST_H: u32 = 1;
64pub const INT8_MIN: i32 = -128;
65pub const INT16_MIN: i32 = -32768;
66pub const INT32_MIN: i32 = -2147483648;
67pub const INT8_MAX: u32 = 127;
68pub const INT16_MAX: u32 = 32767;
69pub const INT32_MAX: u32 = 2147483647;
70pub const UINT8_MAX: u32 = 255;
71pub const UINT16_MAX: u32 = 65535;
72pub const UINT32_MAX: u32 = 4294967295;
73pub const INT_LEAST8_MIN: i32 = -128;
74pub const INT_LEAST16_MIN: i32 = -32768;
75pub const INT_LEAST32_MIN: i32 = -2147483648;
76pub const INT_LEAST8_MAX: u32 = 127;
77pub const INT_LEAST16_MAX: u32 = 32767;
78pub const INT_LEAST32_MAX: u32 = 2147483647;
79pub const UINT_LEAST8_MAX: u32 = 255;
80pub const UINT_LEAST16_MAX: u32 = 65535;
81pub const UINT_LEAST32_MAX: u32 = 4294967295;
82pub const INT_FAST8_MIN: i32 = -128;
83pub const INT_FAST16_MIN: i64 = -9223372036854775808;
84pub const INT_FAST32_MIN: i64 = -9223372036854775808;
85pub const INT_FAST8_MAX: u32 = 127;
86pub const INT_FAST16_MAX: u64 = 9223372036854775807;
87pub const INT_FAST32_MAX: u64 = 9223372036854775807;
88pub const UINT_FAST8_MAX: u32 = 255;
89pub const UINT_FAST16_MAX: i32 = -1;
90pub const UINT_FAST32_MAX: i32 = -1;
91pub const INTPTR_MIN: i64 = -9223372036854775808;
92pub const INTPTR_MAX: u64 = 9223372036854775807;
93pub const UINTPTR_MAX: i32 = -1;
94pub const PTRDIFF_MIN: i64 = -9223372036854775808;
95pub const PTRDIFF_MAX: u64 = 9223372036854775807;
96pub const SIG_ATOMIC_MIN: i32 = -2147483648;
97pub const SIG_ATOMIC_MAX: u32 = 2147483647;
98pub const SIZE_MAX: i32 = -1;
99pub const WINT_MIN: u32 = 0;
100pub const WINT_MAX: u32 = 4294967295;
101pub const __bool_true_false_are_defined: u32 = 1;
102pub const true_: u32 = 1;
103pub const false_: u32 = 0;
104pub const VIRGL_MAJOR_VERSION: u32 = 1;
105pub const VIRGL_MINOR_VERSION: u32 = 1;
106pub const VIRGL_MICRO_VERSION: u32 = 0;
107pub const VIRGL_RENDERER_CALLBACKS_VERSION: u32 = 4;
108pub const VIRGL_RENDERER_USE_EGL: u32 = 1;
109pub const VIRGL_RENDERER_THREAD_SYNC: u32 = 2;
110pub const VIRGL_RENDERER_USE_GLX: u32 = 4;
111pub const VIRGL_RENDERER_USE_SURFACELESS: u32 = 8;
112pub const VIRGL_RENDERER_USE_GLES: u32 = 16;
113pub const VIRGL_RENDERER_USE_EXTERNAL_BLOB: u32 = 32;
114pub const VIRGL_RENDERER_VENUS: u32 = 64;
115pub const VIRGL_RENDERER_NO_VIRGL: u32 = 128;
116pub const VIRGL_RENDERER_ASYNC_FENCE_CB: u32 = 256;
117pub const VIRGL_RENDERER_RENDER_SERVER: u32 = 512;
118pub const VIRGL_RENDERER_DRM: u32 = 1024;
119pub const VIRGL_RENDERER_USE_VIDEO: u32 = 2048;
120pub const VIRGL_RENDERER_D3D11_SHARE_TEXTURE: u32 = 4096;
121pub const VIRGL_RENDERER_COMPAT_PROFILE: u32 = 8192;
122pub const VIRGL_RENDERER_USE_GUEST_VRAM: u32 = 16384;
123pub const VIRGL_RES_BIND_DEPTH_STENCIL: u32 = 1;
124pub const VIRGL_RES_BIND_RENDER_TARGET: u32 = 2;
125pub const VIRGL_RES_BIND_SAMPLER_VIEW: u32 = 8;
126pub const VIRGL_RES_BIND_VERTEX_BUFFER: u32 = 16;
127pub const VIRGL_RES_BIND_INDEX_BUFFER: u32 = 32;
128pub const VIRGL_RES_BIND_CONSTANT_BUFFER: u32 = 64;
129pub const VIRGL_RES_BIND_STREAM_OUTPUT: u32 = 2048;
130pub const VIRGL_RES_BIND_CURSOR: u32 = 65536;
131pub const VIRGL_RES_BIND_CUSTOM: u32 = 131072;
132pub const VIRGL_RES_BIND_SCANOUT: u32 = 262144;
133pub const VIRGL_RES_BIND_SHARED: u32 = 1048576;
134pub const VIRGL_RENDERER_RESOURCE_INFO_EXT_VERSION: u32 = 0;
135pub const VIRGL_RENDERER_CONTEXT_FLAG_CAPSET_ID_MASK: u32 = 255;
136pub const VIRGL_RENDERER_BLOB_MEM_GUEST: u32 = 1;
137pub const VIRGL_RENDERER_BLOB_MEM_HOST3D: u32 = 2;
138pub const VIRGL_RENDERER_BLOB_MEM_HOST3D_GUEST: u32 = 3;
139pub const VIRGL_RENDERER_BLOB_MEM_GUEST_VRAM: u32 = 4;
140pub const VIRGL_RENDERER_BLOB_FLAG_USE_MAPPABLE: u32 = 1;
141pub const VIRGL_RENDERER_BLOB_FLAG_USE_SHAREABLE: u32 = 2;
142pub const VIRGL_RENDERER_BLOB_FLAG_USE_CROSS_DEVICE: u32 = 4;
143pub const VIRGL_RENDERER_MAP_CACHE_MASK: u32 = 15;
144pub const VIRGL_RENDERER_MAP_CACHE_NONE: u32 = 0;
145pub const VIRGL_RENDERER_MAP_CACHE_CACHED: u32 = 1;
146pub const VIRGL_RENDERER_MAP_CACHE_UNCACHED: u32 = 2;
147pub const VIRGL_RENDERER_MAP_CACHE_WC: u32 = 3;
148pub const VIRGL_RENDERER_BLOB_FD_TYPE_DMABUF: u32 = 1;
149pub const VIRGL_RENDERER_BLOB_FD_TYPE_OPAQUE: u32 = 2;
150pub const VIRGL_RENDERER_BLOB_FD_TYPE_SHM: u32 = 3;
151pub const VIRGL_RENDERER_FENCE_FLAG_MERGEABLE: u32 = 1;
152pub type __u_char = ::std::os::raw::c_uchar;
153pub type __u_short = ::std::os::raw::c_ushort;
154pub type __u_int = ::std::os::raw::c_uint;
155pub type __u_long = ::std::os::raw::c_ulong;
156pub type __int8_t = ::std::os::raw::c_schar;
157pub type __uint8_t = ::std::os::raw::c_uchar;
158pub type __int16_t = ::std::os::raw::c_short;
159pub type __uint16_t = ::std::os::raw::c_ushort;
160pub type __int32_t = ::std::os::raw::c_int;
161pub type __uint32_t = ::std::os::raw::c_uint;
162pub type __int64_t = ::std::os::raw::c_long;
163pub type __uint64_t = ::std::os::raw::c_ulong;
164pub type __int_least8_t = __int8_t;
165pub type __uint_least8_t = __uint8_t;
166pub type __int_least16_t = __int16_t;
167pub type __uint_least16_t = __uint16_t;
168pub type __int_least32_t = __int32_t;
169pub type __uint_least32_t = __uint32_t;
170pub type __int_least64_t = __int64_t;
171pub type __uint_least64_t = __uint64_t;
172pub type __quad_t = ::std::os::raw::c_long;
173pub type __u_quad_t = ::std::os::raw::c_ulong;
174pub type __intmax_t = ::std::os::raw::c_long;
175pub type __uintmax_t = ::std::os::raw::c_ulong;
176pub type __dev_t = ::std::os::raw::c_ulong;
177pub type __uid_t = ::std::os::raw::c_uint;
178pub type __gid_t = ::std::os::raw::c_uint;
179pub type __ino_t = ::std::os::raw::c_ulong;
180pub type __ino64_t = ::std::os::raw::c_ulong;
181pub type __mode_t = ::std::os::raw::c_uint;
182pub type __nlink_t = ::std::os::raw::c_ulong;
183pub type __off_t = ::std::os::raw::c_long;
184pub type __off64_t = ::std::os::raw::c_long;
185pub type __pid_t = ::std::os::raw::c_int;
186#[repr(C)]
187#[derive(Debug, Copy, Clone)]
188pub struct __fsid_t {
189    pub __val: [::std::os::raw::c_int; 2usize],
190}
191#[allow(clippy::unnecessary_operation, clippy::identity_op)]
192const _: () = {
193    ["Size of __fsid_t"][::std::mem::size_of::<__fsid_t>() - 8usize];
194    ["Alignment of __fsid_t"][::std::mem::align_of::<__fsid_t>() - 4usize];
195    ["Offset of field: __fsid_t::__val"][::std::mem::offset_of!(__fsid_t, __val) - 0usize];
196};
197pub type __clock_t = ::std::os::raw::c_long;
198pub type __rlim_t = ::std::os::raw::c_ulong;
199pub type __rlim64_t = ::std::os::raw::c_ulong;
200pub type __id_t = ::std::os::raw::c_uint;
201pub type __time_t = ::std::os::raw::c_long;
202pub type __useconds_t = ::std::os::raw::c_uint;
203pub type __suseconds_t = ::std::os::raw::c_long;
204pub type __suseconds64_t = ::std::os::raw::c_long;
205pub type __daddr_t = ::std::os::raw::c_int;
206pub type __key_t = ::std::os::raw::c_int;
207pub type __clockid_t = ::std::os::raw::c_int;
208pub type __timer_t = *mut ::std::os::raw::c_void;
209pub type __blksize_t = ::std::os::raw::c_long;
210pub type __blkcnt_t = ::std::os::raw::c_long;
211pub type __blkcnt64_t = ::std::os::raw::c_long;
212pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
213pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
214pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
215pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
216pub type __fsword_t = ::std::os::raw::c_long;
217pub type __ssize_t = ::std::os::raw::c_long;
218pub type __syscall_slong_t = ::std::os::raw::c_long;
219pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
220pub type __loff_t = __off64_t;
221pub type __caddr_t = *mut ::std::os::raw::c_char;
222pub type __intptr_t = ::std::os::raw::c_long;
223pub type __socklen_t = ::std::os::raw::c_uint;
224pub type __sig_atomic_t = ::std::os::raw::c_int;
225pub type int_least8_t = __int_least8_t;
226pub type int_least16_t = __int_least16_t;
227pub type int_least32_t = __int_least32_t;
228pub type int_least64_t = __int_least64_t;
229pub type uint_least8_t = __uint_least8_t;
230pub type uint_least16_t = __uint_least16_t;
231pub type uint_least32_t = __uint_least32_t;
232pub type uint_least64_t = __uint_least64_t;
233pub type int_fast8_t = ::std::os::raw::c_schar;
234pub type int_fast16_t = ::std::os::raw::c_long;
235pub type int_fast32_t = ::std::os::raw::c_long;
236pub type int_fast64_t = ::std::os::raw::c_long;
237pub type uint_fast8_t = ::std::os::raw::c_uchar;
238pub type uint_fast16_t = ::std::os::raw::c_ulong;
239pub type uint_fast32_t = ::std::os::raw::c_ulong;
240pub type uint_fast64_t = ::std::os::raw::c_ulong;
241pub type intmax_t = __intmax_t;
242pub type uintmax_t = __uintmax_t;
243pub type __gnuc_va_list = __builtin_va_list;
244pub type va_list = __builtin_va_list;
245#[repr(C)]
246#[derive(Debug, Copy, Clone)]
247pub struct virgl_box {
248    _unused: [u8; 0],
249}
250#[repr(C)]
251#[derive(Debug, Copy, Clone)]
252pub struct iovec {
253    _unused: [u8; 0],
254}
255pub type virgl_renderer_gl_context = *mut ::std::os::raw::c_void;
256#[repr(C)]
257#[derive(Debug, Copy, Clone)]
258pub struct virgl_renderer_gl_ctx_param {
259    pub version: ::std::os::raw::c_int,
260    pub shared: bool,
261    pub major_ver: ::std::os::raw::c_int,
262    pub minor_ver: ::std::os::raw::c_int,
263    pub compat_ctx: ::std::os::raw::c_int,
264}
265#[allow(clippy::unnecessary_operation, clippy::identity_op)]
266const _: () = {
267    ["Size of virgl_renderer_gl_ctx_param"]
268        [::std::mem::size_of::<virgl_renderer_gl_ctx_param>() - 20usize];
269    ["Alignment of virgl_renderer_gl_ctx_param"]
270        [::std::mem::align_of::<virgl_renderer_gl_ctx_param>() - 4usize];
271    ["Offset of field: virgl_renderer_gl_ctx_param::version"]
272        [::std::mem::offset_of!(virgl_renderer_gl_ctx_param, version) - 0usize];
273    ["Offset of field: virgl_renderer_gl_ctx_param::shared"]
274        [::std::mem::offset_of!(virgl_renderer_gl_ctx_param, shared) - 4usize];
275    ["Offset of field: virgl_renderer_gl_ctx_param::major_ver"]
276        [::std::mem::offset_of!(virgl_renderer_gl_ctx_param, major_ver) - 8usize];
277    ["Offset of field: virgl_renderer_gl_ctx_param::minor_ver"]
278        [::std::mem::offset_of!(virgl_renderer_gl_ctx_param, minor_ver) - 12usize];
279    ["Offset of field: virgl_renderer_gl_ctx_param::compat_ctx"]
280        [::std::mem::offset_of!(virgl_renderer_gl_ctx_param, compat_ctx) - 16usize];
281};
282#[repr(C)]
283#[derive(Debug, Copy, Clone)]
284pub struct virgl_renderer_callbacks {
285    pub version: ::std::os::raw::c_int,
286    pub write_fence: ::std::option::Option<
287        unsafe extern "C" fn(cookie: *mut ::std::os::raw::c_void, fence: u32),
288    >,
289    pub create_gl_context: ::std::option::Option<
290        unsafe extern "C" fn(
291            cookie: *mut ::std::os::raw::c_void,
292            scanout_idx: ::std::os::raw::c_int,
293            param: *mut virgl_renderer_gl_ctx_param,
294        ) -> virgl_renderer_gl_context,
295    >,
296    pub destroy_gl_context: ::std::option::Option<
297        unsafe extern "C" fn(cookie: *mut ::std::os::raw::c_void, ctx: virgl_renderer_gl_context),
298    >,
299    pub make_current: ::std::option::Option<
300        unsafe extern "C" fn(
301            cookie: *mut ::std::os::raw::c_void,
302            scanout_idx: ::std::os::raw::c_int,
303            ctx: virgl_renderer_gl_context,
304        ) -> ::std::os::raw::c_int,
305    >,
306    pub get_drm_fd: ::std::option::Option<
307        unsafe extern "C" fn(cookie: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
308    >,
309    pub write_context_fence: ::std::option::Option<
310        unsafe extern "C" fn(
311            cookie: *mut ::std::os::raw::c_void,
312            ctx_id: u32,
313            ring_idx: u32,
314            fence_id: u64,
315        ),
316    >,
317    pub get_server_fd: ::std::option::Option<
318        unsafe extern "C" fn(
319            cookie: *mut ::std::os::raw::c_void,
320            version: u32,
321        ) -> ::std::os::raw::c_int,
322    >,
323    pub get_egl_display: ::std::option::Option<
324        unsafe extern "C" fn(cookie: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
325    >,
326}
327#[allow(clippy::unnecessary_operation, clippy::identity_op)]
328const _: () = {
329    ["Size of virgl_renderer_callbacks"]
330        [::std::mem::size_of::<virgl_renderer_callbacks>() - 72usize];
331    ["Alignment of virgl_renderer_callbacks"]
332        [::std::mem::align_of::<virgl_renderer_callbacks>() - 8usize];
333    ["Offset of field: virgl_renderer_callbacks::version"]
334        [::std::mem::offset_of!(virgl_renderer_callbacks, version) - 0usize];
335    ["Offset of field: virgl_renderer_callbacks::write_fence"]
336        [::std::mem::offset_of!(virgl_renderer_callbacks, write_fence) - 8usize];
337    ["Offset of field: virgl_renderer_callbacks::create_gl_context"]
338        [::std::mem::offset_of!(virgl_renderer_callbacks, create_gl_context) - 16usize];
339    ["Offset of field: virgl_renderer_callbacks::destroy_gl_context"]
340        [::std::mem::offset_of!(virgl_renderer_callbacks, destroy_gl_context) - 24usize];
341    ["Offset of field: virgl_renderer_callbacks::make_current"]
342        [::std::mem::offset_of!(virgl_renderer_callbacks, make_current) - 32usize];
343    ["Offset of field: virgl_renderer_callbacks::get_drm_fd"]
344        [::std::mem::offset_of!(virgl_renderer_callbacks, get_drm_fd) - 40usize];
345    ["Offset of field: virgl_renderer_callbacks::write_context_fence"]
346        [::std::mem::offset_of!(virgl_renderer_callbacks, write_context_fence) - 48usize];
347    ["Offset of field: virgl_renderer_callbacks::get_server_fd"]
348        [::std::mem::offset_of!(virgl_renderer_callbacks, get_server_fd) - 56usize];
349    ["Offset of field: virgl_renderer_callbacks::get_egl_display"]
350        [::std::mem::offset_of!(virgl_renderer_callbacks, get_egl_display) - 64usize];
351};
352extern "C" {
353    pub fn virgl_renderer_init(
354        cookie: *mut ::std::os::raw::c_void,
355        flags: ::std::os::raw::c_int,
356        cb: *mut virgl_renderer_callbacks,
357    ) -> ::std::os::raw::c_int;
358}
359extern "C" {
360    pub fn virgl_renderer_poll();
361}
362extern "C" {
363    pub fn virgl_renderer_get_cursor_data(
364        resource_id: u32,
365        width: *mut u32,
366        height: *mut u32,
367    ) -> *mut ::std::os::raw::c_void;
368}
369extern "C" {
370    pub fn virgl_renderer_get_rect(
371        resource_id: ::std::os::raw::c_int,
372        iov: *mut iovec,
373        num_iovs: ::std::os::raw::c_uint,
374        offset: u32,
375        x: ::std::os::raw::c_int,
376        y: ::std::os::raw::c_int,
377        width: ::std::os::raw::c_int,
378        height: ::std::os::raw::c_int,
379    );
380}
381extern "C" {
382    pub fn virgl_renderer_get_fd_for_texture(
383        tex_id: u32,
384        fd: *mut ::std::os::raw::c_int,
385    ) -> ::std::os::raw::c_int;
386}
387extern "C" {
388    pub fn virgl_renderer_get_fd_for_texture2(
389        tex_id: u32,
390        fd: *mut ::std::os::raw::c_int,
391        stride: *mut ::std::os::raw::c_int,
392        offset: *mut ::std::os::raw::c_int,
393    ) -> ::std::os::raw::c_int;
394}
395pub const virgl_renderer_structure_type_v0_VIRGL_RENDERER_STRUCTURE_TYPE_NONE:
396    virgl_renderer_structure_type_v0 = 0;
397pub const virgl_renderer_structure_type_v0_VIRGL_RENDERER_STRUCTURE_TYPE_EXPORT_QUERY:
398    virgl_renderer_structure_type_v0 = 1;
399pub const virgl_renderer_structure_type_v0_VIRGL_RENDERER_STRUCTURE_TYPE_SUPPORTED_STRUCTURES:
400    virgl_renderer_structure_type_v0 = 2;
401pub type virgl_renderer_structure_type_v0 = ::std::os::raw::c_uint;
402#[repr(C)]
403#[derive(Debug, Copy, Clone)]
404pub struct virgl_renderer_resource_create_args {
405    pub handle: u32,
406    pub target: u32,
407    pub format: u32,
408    pub bind: u32,
409    pub width: u32,
410    pub height: u32,
411    pub depth: u32,
412    pub array_size: u32,
413    pub last_level: u32,
414    pub nr_samples: u32,
415    pub flags: u32,
416}
417#[allow(clippy::unnecessary_operation, clippy::identity_op)]
418const _: () = {
419    ["Size of virgl_renderer_resource_create_args"]
420        [::std::mem::size_of::<virgl_renderer_resource_create_args>() - 44usize];
421    ["Alignment of virgl_renderer_resource_create_args"]
422        [::std::mem::align_of::<virgl_renderer_resource_create_args>() - 4usize];
423    ["Offset of field: virgl_renderer_resource_create_args::handle"]
424        [::std::mem::offset_of!(virgl_renderer_resource_create_args, handle) - 0usize];
425    ["Offset of field: virgl_renderer_resource_create_args::target"]
426        [::std::mem::offset_of!(virgl_renderer_resource_create_args, target) - 4usize];
427    ["Offset of field: virgl_renderer_resource_create_args::format"]
428        [::std::mem::offset_of!(virgl_renderer_resource_create_args, format) - 8usize];
429    ["Offset of field: virgl_renderer_resource_create_args::bind"]
430        [::std::mem::offset_of!(virgl_renderer_resource_create_args, bind) - 12usize];
431    ["Offset of field: virgl_renderer_resource_create_args::width"]
432        [::std::mem::offset_of!(virgl_renderer_resource_create_args, width) - 16usize];
433    ["Offset of field: virgl_renderer_resource_create_args::height"]
434        [::std::mem::offset_of!(virgl_renderer_resource_create_args, height) - 20usize];
435    ["Offset of field: virgl_renderer_resource_create_args::depth"]
436        [::std::mem::offset_of!(virgl_renderer_resource_create_args, depth) - 24usize];
437    ["Offset of field: virgl_renderer_resource_create_args::array_size"]
438        [::std::mem::offset_of!(virgl_renderer_resource_create_args, array_size) - 28usize];
439    ["Offset of field: virgl_renderer_resource_create_args::last_level"]
440        [::std::mem::offset_of!(virgl_renderer_resource_create_args, last_level) - 32usize];
441    ["Offset of field: virgl_renderer_resource_create_args::nr_samples"]
442        [::std::mem::offset_of!(virgl_renderer_resource_create_args, nr_samples) - 36usize];
443    ["Offset of field: virgl_renderer_resource_create_args::flags"]
444        [::std::mem::offset_of!(virgl_renderer_resource_create_args, flags) - 40usize];
445};
446#[repr(C)]
447#[derive(Debug, Copy, Clone)]
448pub struct virgl_renderer_hdr {
449    pub stype: u32,
450    pub stype_version: u32,
451    pub size: u32,
452}
453#[allow(clippy::unnecessary_operation, clippy::identity_op)]
454const _: () = {
455    ["Size of virgl_renderer_hdr"][::std::mem::size_of::<virgl_renderer_hdr>() - 12usize];
456    ["Alignment of virgl_renderer_hdr"][::std::mem::align_of::<virgl_renderer_hdr>() - 4usize];
457    ["Offset of field: virgl_renderer_hdr::stype"]
458        [::std::mem::offset_of!(virgl_renderer_hdr, stype) - 0usize];
459    ["Offset of field: virgl_renderer_hdr::stype_version"]
460        [::std::mem::offset_of!(virgl_renderer_hdr, stype_version) - 4usize];
461    ["Offset of field: virgl_renderer_hdr::size"]
462        [::std::mem::offset_of!(virgl_renderer_hdr, size) - 8usize];
463};
464#[repr(C)]
465#[derive(Debug, Copy, Clone)]
466pub struct virgl_renderer_export_query {
467    pub hdr: virgl_renderer_hdr,
468    pub in_resource_id: u32,
469    pub out_num_fds: u32,
470    pub in_export_fds: u32,
471    pub out_fourcc: u32,
472    pub pad: u32,
473    pub out_fds: [i32; 4usize],
474    pub out_strides: [u32; 4usize],
475    pub out_offsets: [u32; 4usize],
476    pub out_modifier: u64,
477}
478#[allow(clippy::unnecessary_operation, clippy::identity_op)]
479const _: () = {
480    ["Size of virgl_renderer_export_query"]
481        [::std::mem::size_of::<virgl_renderer_export_query>() - 88usize];
482    ["Alignment of virgl_renderer_export_query"]
483        [::std::mem::align_of::<virgl_renderer_export_query>() - 8usize];
484    ["Offset of field: virgl_renderer_export_query::hdr"]
485        [::std::mem::offset_of!(virgl_renderer_export_query, hdr) - 0usize];
486    ["Offset of field: virgl_renderer_export_query::in_resource_id"]
487        [::std::mem::offset_of!(virgl_renderer_export_query, in_resource_id) - 12usize];
488    ["Offset of field: virgl_renderer_export_query::out_num_fds"]
489        [::std::mem::offset_of!(virgl_renderer_export_query, out_num_fds) - 16usize];
490    ["Offset of field: virgl_renderer_export_query::in_export_fds"]
491        [::std::mem::offset_of!(virgl_renderer_export_query, in_export_fds) - 20usize];
492    ["Offset of field: virgl_renderer_export_query::out_fourcc"]
493        [::std::mem::offset_of!(virgl_renderer_export_query, out_fourcc) - 24usize];
494    ["Offset of field: virgl_renderer_export_query::pad"]
495        [::std::mem::offset_of!(virgl_renderer_export_query, pad) - 28usize];
496    ["Offset of field: virgl_renderer_export_query::out_fds"]
497        [::std::mem::offset_of!(virgl_renderer_export_query, out_fds) - 32usize];
498    ["Offset of field: virgl_renderer_export_query::out_strides"]
499        [::std::mem::offset_of!(virgl_renderer_export_query, out_strides) - 48usize];
500    ["Offset of field: virgl_renderer_export_query::out_offsets"]
501        [::std::mem::offset_of!(virgl_renderer_export_query, out_offsets) - 64usize];
502    ["Offset of field: virgl_renderer_export_query::out_modifier"]
503        [::std::mem::offset_of!(virgl_renderer_export_query, out_modifier) - 80usize];
504};
505#[repr(C)]
506#[derive(Debug, Copy, Clone)]
507pub struct virgl_renderer_supported_structures {
508    pub hdr: virgl_renderer_hdr,
509    pub in_stype_version: u32,
510    pub out_supported_structures_mask: u32,
511}
512#[allow(clippy::unnecessary_operation, clippy::identity_op)]
513const _: () = {
514    ["Size of virgl_renderer_supported_structures"]
515        [::std::mem::size_of::<virgl_renderer_supported_structures>() - 20usize];
516    ["Alignment of virgl_renderer_supported_structures"]
517        [::std::mem::align_of::<virgl_renderer_supported_structures>() - 4usize];
518    ["Offset of field: virgl_renderer_supported_structures::hdr"]
519        [::std::mem::offset_of!(virgl_renderer_supported_structures, hdr) - 0usize];
520    ["Offset of field: virgl_renderer_supported_structures::in_stype_version"]
521        [::std::mem::offset_of!(virgl_renderer_supported_structures, in_stype_version) - 12usize];
522    ["Offset of field: virgl_renderer_supported_structures::out_supported_structures_mask"][::std::mem::offset_of!(
523        virgl_renderer_supported_structures,
524        out_supported_structures_mask
525    )
526        - 16usize];
527};
528pub type virgl_debug_callback_type = ::std::option::Option<
529    unsafe extern "C" fn(fmt: *const ::std::os::raw::c_char, ap: *mut __va_list_tag),
530>;
531pub const virgl_log_level_flags_VIRGL_LOG_LEVEL_DEBUG: virgl_log_level_flags = 0;
532pub const virgl_log_level_flags_VIRGL_LOG_LEVEL_INFO: virgl_log_level_flags = 1;
533pub const virgl_log_level_flags_VIRGL_LOG_LEVEL_WARNING: virgl_log_level_flags = 2;
534pub const virgl_log_level_flags_VIRGL_LOG_LEVEL_ERROR: virgl_log_level_flags = 3;
535pub const virgl_log_level_flags_VIRGL_LOG_LEVEL_SILENT: virgl_log_level_flags = 4;
536pub type virgl_log_level_flags = ::std::os::raw::c_uint;
537pub type virgl_free_data_callback_type =
538    ::std::option::Option<unsafe extern "C" fn(user_data: *mut ::std::os::raw::c_void)>;
539pub type virgl_log_callback_type = ::std::option::Option<
540    unsafe extern "C" fn(
541        log_level: virgl_log_level_flags,
542        message: *const ::std::os::raw::c_char,
543        user_data: *mut ::std::os::raw::c_void,
544    ),
545>;
546extern "C" {
547    pub fn virgl_renderer_resource_create(
548        args: *mut virgl_renderer_resource_create_args,
549        iov: *mut iovec,
550        num_iovs: u32,
551    ) -> ::std::os::raw::c_int;
552}
553extern "C" {
554    pub fn virgl_renderer_resource_import_eglimage(
555        args: *mut virgl_renderer_resource_create_args,
556        image: *mut ::std::os::raw::c_void,
557    ) -> ::std::os::raw::c_int;
558}
559extern "C" {
560    pub fn virgl_renderer_resource_unref(res_handle: u32);
561}
562extern "C" {
563    pub fn virgl_renderer_resource_set_priv(res_handle: u32, priv_: *mut ::std::os::raw::c_void);
564}
565extern "C" {
566    pub fn virgl_renderer_resource_get_priv(res_handle: u32) -> *mut ::std::os::raw::c_void;
567}
568extern "C" {
569    pub fn virgl_renderer_context_create(
570        handle: u32,
571        nlen: u32,
572        name: *const ::std::os::raw::c_char,
573    ) -> ::std::os::raw::c_int;
574}
575extern "C" {
576    pub fn virgl_renderer_context_destroy(handle: u32);
577}
578extern "C" {
579    pub fn virgl_renderer_submit_cmd(
580        buffer: *mut ::std::os::raw::c_void,
581        ctx_id: ::std::os::raw::c_int,
582        ndw: ::std::os::raw::c_int,
583    ) -> ::std::os::raw::c_int;
584}
585extern "C" {
586    pub fn virgl_renderer_transfer_read_iov(
587        handle: u32,
588        ctx_id: u32,
589        level: u32,
590        stride: u32,
591        layer_stride: u32,
592        box_: *mut virgl_box,
593        offset: u64,
594        iov: *mut iovec,
595        iovec_cnt: ::std::os::raw::c_int,
596    ) -> ::std::os::raw::c_int;
597}
598extern "C" {
599    pub fn virgl_renderer_transfer_write_iov(
600        handle: u32,
601        ctx_id: u32,
602        level: ::std::os::raw::c_int,
603        stride: u32,
604        layer_stride: u32,
605        box_: *mut virgl_box,
606        offset: u64,
607        iovec: *mut iovec,
608        iovec_cnt: ::std::os::raw::c_uint,
609    ) -> ::std::os::raw::c_int;
610}
611extern "C" {
612    pub fn virgl_renderer_get_cap_set(set: u32, max_ver: *mut u32, max_size: *mut u32);
613}
614extern "C" {
615    pub fn virgl_renderer_fill_caps(set: u32, version: u32, caps: *mut ::std::os::raw::c_void);
616}
617extern "C" {
618    pub fn virgl_renderer_resource_attach_iov(
619        res_handle: ::std::os::raw::c_int,
620        iov: *mut iovec,
621        num_iovs: ::std::os::raw::c_int,
622    ) -> ::std::os::raw::c_int;
623}
624extern "C" {
625    pub fn virgl_renderer_resource_detach_iov(
626        res_handle: ::std::os::raw::c_int,
627        iov: *mut *mut iovec,
628        num_iovs: *mut ::std::os::raw::c_int,
629    );
630}
631extern "C" {
632    pub fn virgl_renderer_create_fence(
633        client_fence_id: ::std::os::raw::c_int,
634        ctx_id: u32,
635    ) -> ::std::os::raw::c_int;
636}
637extern "C" {
638    pub fn virgl_renderer_force_ctx_0();
639}
640extern "C" {
641    pub fn virgl_renderer_ctx_attach_resource(
642        ctx_id: ::std::os::raw::c_int,
643        res_handle: ::std::os::raw::c_int,
644    );
645}
646extern "C" {
647    pub fn virgl_renderer_ctx_detach_resource(
648        ctx_id: ::std::os::raw::c_int,
649        res_handle: ::std::os::raw::c_int,
650    );
651}
652extern "C" {
653    pub fn virgl_set_debug_callback(cb: virgl_debug_callback_type) -> virgl_debug_callback_type;
654}
655extern "C" {
656    pub fn virgl_set_log_callback(
657        cb: virgl_log_callback_type,
658        user_data: *mut ::std::os::raw::c_void,
659        free_user_data_cb: virgl_free_data_callback_type,
660    );
661}
662#[repr(C)]
663#[derive(Debug, Copy, Clone)]
664pub struct virgl_renderer_resource_info {
665    pub handle: u32,
666    pub virgl_format: u32,
667    pub width: u32,
668    pub height: u32,
669    pub depth: u32,
670    pub flags: u32,
671    pub tex_id: u32,
672    pub stride: u32,
673    pub drm_fourcc: ::std::os::raw::c_int,
674    pub fd: ::std::os::raw::c_int,
675}
676#[allow(clippy::unnecessary_operation, clippy::identity_op)]
677const _: () = {
678    ["Size of virgl_renderer_resource_info"]
679        [::std::mem::size_of::<virgl_renderer_resource_info>() - 40usize];
680    ["Alignment of virgl_renderer_resource_info"]
681        [::std::mem::align_of::<virgl_renderer_resource_info>() - 4usize];
682    ["Offset of field: virgl_renderer_resource_info::handle"]
683        [::std::mem::offset_of!(virgl_renderer_resource_info, handle) - 0usize];
684    ["Offset of field: virgl_renderer_resource_info::virgl_format"]
685        [::std::mem::offset_of!(virgl_renderer_resource_info, virgl_format) - 4usize];
686    ["Offset of field: virgl_renderer_resource_info::width"]
687        [::std::mem::offset_of!(virgl_renderer_resource_info, width) - 8usize];
688    ["Offset of field: virgl_renderer_resource_info::height"]
689        [::std::mem::offset_of!(virgl_renderer_resource_info, height) - 12usize];
690    ["Offset of field: virgl_renderer_resource_info::depth"]
691        [::std::mem::offset_of!(virgl_renderer_resource_info, depth) - 16usize];
692    ["Offset of field: virgl_renderer_resource_info::flags"]
693        [::std::mem::offset_of!(virgl_renderer_resource_info, flags) - 20usize];
694    ["Offset of field: virgl_renderer_resource_info::tex_id"]
695        [::std::mem::offset_of!(virgl_renderer_resource_info, tex_id) - 24usize];
696    ["Offset of field: virgl_renderer_resource_info::stride"]
697        [::std::mem::offset_of!(virgl_renderer_resource_info, stride) - 28usize];
698    ["Offset of field: virgl_renderer_resource_info::drm_fourcc"]
699        [::std::mem::offset_of!(virgl_renderer_resource_info, drm_fourcc) - 32usize];
700    ["Offset of field: virgl_renderer_resource_info::fd"]
701        [::std::mem::offset_of!(virgl_renderer_resource_info, fd) - 36usize];
702};
703#[repr(C)]
704#[derive(Debug, Copy, Clone)]
705pub struct virgl_renderer_resource_info_ext {
706    pub version: ::std::os::raw::c_int,
707    pub base: virgl_renderer_resource_info,
708    pub has_dmabuf_export: bool,
709    pub planes: ::std::os::raw::c_int,
710    pub modifiers: u64,
711    pub d3d_tex2d: *mut ::std::os::raw::c_void,
712}
713#[allow(clippy::unnecessary_operation, clippy::identity_op)]
714const _: () = {
715    ["Size of virgl_renderer_resource_info_ext"]
716        [::std::mem::size_of::<virgl_renderer_resource_info_ext>() - 72usize];
717    ["Alignment of virgl_renderer_resource_info_ext"]
718        [::std::mem::align_of::<virgl_renderer_resource_info_ext>() - 8usize];
719    ["Offset of field: virgl_renderer_resource_info_ext::version"]
720        [::std::mem::offset_of!(virgl_renderer_resource_info_ext, version) - 0usize];
721    ["Offset of field: virgl_renderer_resource_info_ext::base"]
722        [::std::mem::offset_of!(virgl_renderer_resource_info_ext, base) - 4usize];
723    ["Offset of field: virgl_renderer_resource_info_ext::has_dmabuf_export"]
724        [::std::mem::offset_of!(virgl_renderer_resource_info_ext, has_dmabuf_export) - 44usize];
725    ["Offset of field: virgl_renderer_resource_info_ext::planes"]
726        [::std::mem::offset_of!(virgl_renderer_resource_info_ext, planes) - 48usize];
727    ["Offset of field: virgl_renderer_resource_info_ext::modifiers"]
728        [::std::mem::offset_of!(virgl_renderer_resource_info_ext, modifiers) - 56usize];
729    ["Offset of field: virgl_renderer_resource_info_ext::d3d_tex2d"]
730        [::std::mem::offset_of!(virgl_renderer_resource_info_ext, d3d_tex2d) - 64usize];
731};
732extern "C" {
733    pub fn virgl_renderer_resource_get_info(
734        res_handle: ::std::os::raw::c_int,
735        info: *mut virgl_renderer_resource_info,
736    ) -> ::std::os::raw::c_int;
737}
738extern "C" {
739    pub fn virgl_renderer_resource_get_info_ext(
740        res_handle: ::std::os::raw::c_int,
741        info: *mut virgl_renderer_resource_info_ext,
742    ) -> ::std::os::raw::c_int;
743}
744extern "C" {
745    pub fn virgl_renderer_cleanup(cookie: *mut ::std::os::raw::c_void);
746}
747extern "C" {
748    pub fn virgl_renderer_reset();
749}
750extern "C" {
751    pub fn virgl_renderer_get_poll_fd() -> ::std::os::raw::c_int;
752}
753extern "C" {
754    pub fn virgl_renderer_execute(
755        execute_args: *mut ::std::os::raw::c_void,
756        execute_size: u32,
757    ) -> ::std::os::raw::c_int;
758}
759extern "C" {
760    pub fn virgl_renderer_context_create_with_flags(
761        ctx_id: u32,
762        ctx_flags: u32,
763        nlen: u32,
764        name: *const ::std::os::raw::c_char,
765    ) -> ::std::os::raw::c_int;
766}
767#[repr(C)]
768#[derive(Debug, Copy, Clone)]
769pub struct virgl_renderer_resource_create_blob_args {
770    pub res_handle: u32,
771    pub ctx_id: u32,
772    pub blob_mem: u32,
773    pub blob_flags: u32,
774    pub blob_id: u64,
775    pub size: u64,
776    pub iovecs: *const iovec,
777    pub num_iovs: u32,
778}
779#[allow(clippy::unnecessary_operation, clippy::identity_op)]
780const _: () = {
781    ["Size of virgl_renderer_resource_create_blob_args"]
782        [::std::mem::size_of::<virgl_renderer_resource_create_blob_args>() - 48usize];
783    ["Alignment of virgl_renderer_resource_create_blob_args"]
784        [::std::mem::align_of::<virgl_renderer_resource_create_blob_args>() - 8usize];
785    ["Offset of field: virgl_renderer_resource_create_blob_args::res_handle"]
786        [::std::mem::offset_of!(virgl_renderer_resource_create_blob_args, res_handle) - 0usize];
787    ["Offset of field: virgl_renderer_resource_create_blob_args::ctx_id"]
788        [::std::mem::offset_of!(virgl_renderer_resource_create_blob_args, ctx_id) - 4usize];
789    ["Offset of field: virgl_renderer_resource_create_blob_args::blob_mem"]
790        [::std::mem::offset_of!(virgl_renderer_resource_create_blob_args, blob_mem) - 8usize];
791    ["Offset of field: virgl_renderer_resource_create_blob_args::blob_flags"]
792        [::std::mem::offset_of!(virgl_renderer_resource_create_blob_args, blob_flags) - 12usize];
793    ["Offset of field: virgl_renderer_resource_create_blob_args::blob_id"]
794        [::std::mem::offset_of!(virgl_renderer_resource_create_blob_args, blob_id) - 16usize];
795    ["Offset of field: virgl_renderer_resource_create_blob_args::size"]
796        [::std::mem::offset_of!(virgl_renderer_resource_create_blob_args, size) - 24usize];
797    ["Offset of field: virgl_renderer_resource_create_blob_args::iovecs"]
798        [::std::mem::offset_of!(virgl_renderer_resource_create_blob_args, iovecs) - 32usize];
799    ["Offset of field: virgl_renderer_resource_create_blob_args::num_iovs"]
800        [::std::mem::offset_of!(virgl_renderer_resource_create_blob_args, num_iovs) - 40usize];
801};
802extern "C" {
803    pub fn virgl_renderer_resource_create_blob(
804        args: *const virgl_renderer_resource_create_blob_args,
805    ) -> ::std::os::raw::c_int;
806}
807extern "C" {
808    pub fn virgl_renderer_resource_map(
809        res_handle: u32,
810        map: *mut *mut ::std::os::raw::c_void,
811        out_size: *mut u64,
812    ) -> ::std::os::raw::c_int;
813}
814extern "C" {
815    pub fn virgl_renderer_resource_unmap(res_handle: u32) -> ::std::os::raw::c_int;
816}
817extern "C" {
818    pub fn virgl_renderer_resource_get_map_info(
819        res_handle: u32,
820        map_info: *mut u32,
821    ) -> ::std::os::raw::c_int;
822}
823extern "C" {
824    pub fn virgl_renderer_resource_export_blob(
825        res_id: u32,
826        fd_type: *mut u32,
827        fd: *mut ::std::os::raw::c_int,
828    ) -> ::std::os::raw::c_int;
829}
830#[repr(C)]
831#[derive(Debug, Copy, Clone)]
832pub struct virgl_renderer_resource_import_blob_args {
833    pub res_handle: u32,
834    pub blob_mem: u32,
835    pub fd_type: u32,
836    pub fd: ::std::os::raw::c_int,
837    pub size: u64,
838}
839#[allow(clippy::unnecessary_operation, clippy::identity_op)]
840const _: () = {
841    ["Size of virgl_renderer_resource_import_blob_args"]
842        [::std::mem::size_of::<virgl_renderer_resource_import_blob_args>() - 24usize];
843    ["Alignment of virgl_renderer_resource_import_blob_args"]
844        [::std::mem::align_of::<virgl_renderer_resource_import_blob_args>() - 8usize];
845    ["Offset of field: virgl_renderer_resource_import_blob_args::res_handle"]
846        [::std::mem::offset_of!(virgl_renderer_resource_import_blob_args, res_handle) - 0usize];
847    ["Offset of field: virgl_renderer_resource_import_blob_args::blob_mem"]
848        [::std::mem::offset_of!(virgl_renderer_resource_import_blob_args, blob_mem) - 4usize];
849    ["Offset of field: virgl_renderer_resource_import_blob_args::fd_type"]
850        [::std::mem::offset_of!(virgl_renderer_resource_import_blob_args, fd_type) - 8usize];
851    ["Offset of field: virgl_renderer_resource_import_blob_args::fd"]
852        [::std::mem::offset_of!(virgl_renderer_resource_import_blob_args, fd) - 12usize];
853    ["Offset of field: virgl_renderer_resource_import_blob_args::size"]
854        [::std::mem::offset_of!(virgl_renderer_resource_import_blob_args, size) - 16usize];
855};
856extern "C" {
857    pub fn virgl_renderer_resource_import_blob(
858        args: *const virgl_renderer_resource_import_blob_args,
859    ) -> ::std::os::raw::c_int;
860}
861extern "C" {
862    pub fn virgl_renderer_context_create_fence(
863        ctx_id: u32,
864        flags: u32,
865        ring_idx: u32,
866        fence_id: u64,
867    ) -> ::std::os::raw::c_int;
868}
869extern "C" {
870    pub fn virgl_renderer_context_poll(ctx_id: u32);
871}
872extern "C" {
873    pub fn virgl_renderer_context_get_poll_fd(ctx_id: u32) -> ::std::os::raw::c_int;
874}
875extern "C" {
876    pub fn virgl_renderer_export_fence(
877        client_fence_id: u64,
878        fd: *mut ::std::os::raw::c_int,
879    ) -> ::std::os::raw::c_int;
880}
881extern "C" {
882    pub fn virgl_renderer_export_signalled_fence() -> ::std::os::raw::c_int;
883}
884extern "C" {
885    pub fn virgl_renderer_submit_cmd2(
886        buffer: *mut ::std::os::raw::c_void,
887        ctx_id: ::std::os::raw::c_int,
888        ndw: ::std::os::raw::c_int,
889        in_fence_ids: *mut u64,
890        num_in_fences: u32,
891    ) -> ::std::os::raw::c_int;
892}
893pub type __builtin_va_list = [__va_list_tag; 1usize];
894#[repr(C)]
895#[derive(Debug, Copy, Clone)]
896pub struct __va_list_tag {
897    pub gp_offset: ::std::os::raw::c_uint,
898    pub fp_offset: ::std::os::raw::c_uint,
899    pub overflow_arg_area: *mut ::std::os::raw::c_void,
900    pub reg_save_area: *mut ::std::os::raw::c_void,
901}
902#[allow(clippy::unnecessary_operation, clippy::identity_op)]
903const _: () = {
904    ["Size of __va_list_tag"][::std::mem::size_of::<__va_list_tag>() - 24usize];
905    ["Alignment of __va_list_tag"][::std::mem::align_of::<__va_list_tag>() - 8usize];
906    ["Offset of field: __va_list_tag::gp_offset"]
907        [::std::mem::offset_of!(__va_list_tag, gp_offset) - 0usize];
908    ["Offset of field: __va_list_tag::fp_offset"]
909        [::std::mem::offset_of!(__va_list_tag, fp_offset) - 4usize];
910    ["Offset of field: __va_list_tag::overflow_arg_area"]
911        [::std::mem::offset_of!(__va_list_tag, overflow_arg_area) - 8usize];
912    ["Offset of field: __va_list_tag::reg_save_area"]
913        [::std::mem::offset_of!(__va_list_tag, reg_save_area) - 16usize];
914};