1#[derive(PartialEq, Copy, Clone, Hash, Debug, Default)]
4#[repr(C)]
5pub struct __BindgenComplex<T> {
6 pub re: T,
7 pub im: T,
8}
9#[derive(PartialEq, Copy, Clone, Hash, Debug, Default)]
10#[repr(transparent)]
11pub struct __BindgenFloat16(pub u16);
12pub const _STDINT_H: u32 = 1;
13pub const _FEATURES_H: u32 = 1;
14pub const _DEFAULT_SOURCE: u32 = 1;
15pub const __GLIBC_USE_ISOC2Y: u32 = 0;
16pub const __GLIBC_USE_ISOC23: u32 = 0;
17pub const __USE_ISOC11: u32 = 1;
18pub const __USE_ISOC99: u32 = 1;
19pub const __USE_ISOC95: u32 = 1;
20pub const __USE_POSIX_IMPLICITLY: u32 = 1;
21pub const _POSIX_SOURCE: u32 = 1;
22pub const _POSIX_C_SOURCE: u32 = 200809;
23pub const __USE_POSIX: u32 = 1;
24pub const __USE_POSIX2: u32 = 1;
25pub const __USE_POSIX199309: u32 = 1;
26pub const __USE_POSIX199506: u32 = 1;
27pub const __USE_XOPEN2K: u32 = 1;
28pub const __USE_XOPEN2K8: u32 = 1;
29pub const _ATFILE_SOURCE: u32 = 1;
30pub const __WORDSIZE: u32 = 64;
31pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
32pub const __SYSCALL_WORDSIZE: u32 = 64;
33pub const __TIMESIZE: u32 = 64;
34pub const __USE_TIME_BITS64: u32 = 1;
35pub const __USE_MISC: u32 = 1;
36pub const __USE_ATFILE: u32 = 1;
37pub const __USE_FORTIFY_LEVEL: u32 = 0;
38pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
39pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
40pub const __GLIBC_USE_C23_STRTOL: u32 = 0;
41pub const _STDC_PREDEF_H: u32 = 1;
42pub const __STDC_IEC_559__: u32 = 1;
43pub const __STDC_IEC_60559_BFP__: u32 = 201404;
44pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
45pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
46pub const __STDC_ISO_10646__: u32 = 201706;
47pub const __GNU_LIBRARY__: u32 = 6;
48pub const __GLIBC__: u32 = 2;
49pub const __GLIBC_MINOR__: u32 = 41;
50pub const _SYS_CDEFS_H: u32 = 1;
51pub const __glibc_c99_flexarr_available: u32 = 1;
52pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
53pub const __HAVE_GENERIC_SELECTION: u32 = 1;
54pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
55pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
56pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23: u32 = 0;
57pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
58pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
59pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23: u32 = 0;
60pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
61pub const _BITS_TYPES_H: u32 = 1;
62pub const _BITS_TYPESIZES_H: u32 = 1;
63pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
64pub const __INO_T_MATCHES_INO64_T: u32 = 1;
65pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
66pub const __STATFS_MATCHES_STATFS64: u32 = 1;
67pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
68pub const __FD_SETSIZE: u32 = 1024;
69pub const _BITS_TIME64_H: u32 = 1;
70pub const _BITS_WCHAR_H: u32 = 1;
71pub const _BITS_STDINT_INTN_H: u32 = 1;
72pub const _BITS_STDINT_UINTN_H: u32 = 1;
73pub const _BITS_STDINT_LEAST_H: u32 = 1;
74pub const INT8_MIN: i32 = -128;
75pub const INT16_MIN: i32 = -32768;
76pub const INT32_MIN: i32 = -2147483648;
77pub const INT8_MAX: u32 = 127;
78pub const INT16_MAX: u32 = 32767;
79pub const INT32_MAX: u32 = 2147483647;
80pub const UINT8_MAX: u32 = 255;
81pub const UINT16_MAX: u32 = 65535;
82pub const UINT32_MAX: u32 = 4294967295;
83pub const INT_LEAST8_MIN: i32 = -128;
84pub const INT_LEAST16_MIN: i32 = -32768;
85pub const INT_LEAST32_MIN: i32 = -2147483648;
86pub const INT_LEAST8_MAX: u32 = 127;
87pub const INT_LEAST16_MAX: u32 = 32767;
88pub const INT_LEAST32_MAX: u32 = 2147483647;
89pub const UINT_LEAST8_MAX: u32 = 255;
90pub const UINT_LEAST16_MAX: u32 = 65535;
91pub const UINT_LEAST32_MAX: u32 = 4294967295;
92pub const INT_FAST8_MIN: i32 = -128;
93pub const INT_FAST16_MIN: i64 = -9223372036854775808;
94pub const INT_FAST32_MIN: i64 = -9223372036854775808;
95pub const INT_FAST8_MAX: u32 = 127;
96pub const INT_FAST16_MAX: u64 = 9223372036854775807;
97pub const INT_FAST32_MAX: u64 = 9223372036854775807;
98pub const UINT_FAST8_MAX: u32 = 255;
99pub const UINT_FAST16_MAX: i32 = -1;
100pub const UINT_FAST32_MAX: i32 = -1;
101pub const INTPTR_MIN: i64 = -9223372036854775808;
102pub const INTPTR_MAX: u64 = 9223372036854775807;
103pub const UINTPTR_MAX: i32 = -1;
104pub const PTRDIFF_MIN: i64 = -9223372036854775808;
105pub const PTRDIFF_MAX: u64 = 9223372036854775807;
106pub const SIG_ATOMIC_MIN: i32 = -2147483648;
107pub const SIG_ATOMIC_MAX: u32 = 2147483647;
108pub const SIZE_MAX: i32 = -1;
109pub const WINT_MIN: u32 = 0;
110pub const WINT_MAX: u32 = 4294967295;
111pub const __bool_true_false_are_defined: u32 = 1;
112pub const true_: u32 = 1;
113pub const false_: u32 = 0;
114pub const WNOHANG: u32 = 1;
115pub const WUNTRACED: u32 = 2;
116pub const WSTOPPED: u32 = 2;
117pub const WEXITED: u32 = 4;
118pub const WCONTINUED: u32 = 8;
119pub const WNOWAIT: u32 = 16777216;
120pub const __WNOTHREAD: u32 = 536870912;
121pub const __WALL: u32 = 1073741824;
122pub const __WCLONE: u32 = 2147483648;
123pub const __W_CONTINUED: u32 = 65535;
124pub const __WCOREFLAG: u32 = 128;
125pub const __HAVE_FLOAT128: u32 = 1;
126pub const __HAVE_DISTINCT_FLOAT128: u32 = 1;
127pub const __HAVE_FLOAT64X: u32 = 1;
128pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
129pub const __HAVE_FLOAT16: u32 = 0;
130pub const __HAVE_FLOAT32: u32 = 1;
131pub const __HAVE_FLOAT64: u32 = 1;
132pub const __HAVE_FLOAT32X: u32 = 1;
133pub const __HAVE_FLOAT128X: u32 = 0;
134pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
135pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
136pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
137pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
138pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
139pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
140pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
141pub const _SYS_TYPES_H: u32 = 1;
142pub const __clock_t_defined: u32 = 1;
143pub const __clockid_t_defined: u32 = 1;
144pub const __time_t_defined: u32 = 1;
145pub const __timer_t_defined: u32 = 1;
146pub const __BIT_TYPES_DEFINED__: u32 = 1;
147pub const _ENDIAN_H: u32 = 1;
148pub const _BITS_ENDIAN_H: u32 = 1;
149pub const __LITTLE_ENDIAN: u32 = 1234;
150pub const __BIG_ENDIAN: u32 = 4321;
151pub const __PDP_ENDIAN: u32 = 3412;
152pub const _BITS_ENDIANNESS_H: u32 = 1;
153pub const __BYTE_ORDER: u32 = 1234;
154pub const __FLOAT_WORD_ORDER: u32 = 1234;
155pub const LITTLE_ENDIAN: u32 = 1234;
156pub const BIG_ENDIAN: u32 = 4321;
157pub const PDP_ENDIAN: u32 = 3412;
158pub const BYTE_ORDER: u32 = 1234;
159pub const _BITS_BYTESWAP_H: u32 = 1;
160pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
161pub const _SYS_SELECT_H: u32 = 1;
162pub const __sigset_t_defined: u32 = 1;
163pub const __timeval_defined: u32 = 1;
164pub const _STRUCT_TIMESPEC: u32 = 1;
165pub const FD_SETSIZE: u32 = 1024;
166pub const _THREAD_SHARED_TYPES_H: u32 = 1;
167pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1;
168pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
169pub const _ALLOCA_H: u32 = 1;
170pub const _MM_HINT_ET0: u32 = 7;
171pub const _MM_HINT_ET1: u32 = 6;
172pub const _MM_HINT_T0: u32 = 3;
173pub const _MM_HINT_T1: u32 = 2;
174pub const _MM_HINT_T2: u32 = 1;
175pub const _MM_HINT_NTA: u32 = 0;
176pub const _CMP_EQ_OQ: u32 = 0;
177pub const _CMP_LT_OS: u32 = 1;
178pub const _CMP_LE_OS: u32 = 2;
179pub const _CMP_UNORD_Q: u32 = 3;
180pub const _CMP_NEQ_UQ: u32 = 4;
181pub const _CMP_NLT_US: u32 = 5;
182pub const _CMP_NLE_US: u32 = 6;
183pub const _CMP_ORD_Q: u32 = 7;
184pub const _MM_EXCEPT_INVALID: u32 = 1;
185pub const _MM_EXCEPT_DENORM: u32 = 2;
186pub const _MM_EXCEPT_DIV_ZERO: u32 = 4;
187pub const _MM_EXCEPT_OVERFLOW: u32 = 8;
188pub const _MM_EXCEPT_UNDERFLOW: u32 = 16;
189pub const _MM_EXCEPT_INEXACT: u32 = 32;
190pub const _MM_EXCEPT_MASK: u32 = 63;
191pub const _MM_MASK_INVALID: u32 = 128;
192pub const _MM_MASK_DENORM: u32 = 256;
193pub const _MM_MASK_DIV_ZERO: u32 = 512;
194pub const _MM_MASK_OVERFLOW: u32 = 1024;
195pub const _MM_MASK_UNDERFLOW: u32 = 2048;
196pub const _MM_MASK_INEXACT: u32 = 4096;
197pub const _MM_MASK_MASK: u32 = 8064;
198pub const _MM_ROUND_NEAREST: u32 = 0;
199pub const _MM_ROUND_DOWN: u32 = 8192;
200pub const _MM_ROUND_UP: u32 = 16384;
201pub const _MM_ROUND_TOWARD_ZERO: u32 = 24576;
202pub const _MM_ROUND_MASK: u32 = 24576;
203pub const _MM_FLUSH_ZERO_MASK: u32 = 32768;
204pub const _MM_FLUSH_ZERO_ON: u32 = 32768;
205pub const _MM_FLUSH_ZERO_OFF: u32 = 0;
206pub const _MM_DENORMALS_ZERO_ON: u32 = 64;
207pub const _MM_DENORMALS_ZERO_OFF: u32 = 0;
208pub const _MM_DENORMALS_ZERO_MASK: u32 = 64;
209pub type __u_char = ::core::ffi::c_uchar;
210pub type __u_short = ::core::ffi::c_ushort;
211pub type __u_int = ::core::ffi::c_uint;
212pub type __u_long = ::core::ffi::c_ulong;
213pub type __int8_t = ::core::ffi::c_schar;
214pub type __uint8_t = ::core::ffi::c_uchar;
215pub type __int16_t = ::core::ffi::c_short;
216pub type __uint16_t = ::core::ffi::c_ushort;
217pub type __int32_t = ::core::ffi::c_int;
218pub type __uint32_t = ::core::ffi::c_uint;
219pub type __int64_t = ::core::ffi::c_long;
220pub type __uint64_t = ::core::ffi::c_ulong;
221pub type __int_least8_t = __int8_t;
222pub type __uint_least8_t = __uint8_t;
223pub type __int_least16_t = __int16_t;
224pub type __uint_least16_t = __uint16_t;
225pub type __int_least32_t = __int32_t;
226pub type __uint_least32_t = __uint32_t;
227pub type __int_least64_t = __int64_t;
228pub type __uint_least64_t = __uint64_t;
229pub type __quad_t = ::core::ffi::c_long;
230pub type __u_quad_t = ::core::ffi::c_ulong;
231pub type __intmax_t = ::core::ffi::c_long;
232pub type __uintmax_t = ::core::ffi::c_ulong;
233pub type __dev_t = ::core::ffi::c_ulong;
234pub type __uid_t = ::core::ffi::c_uint;
235pub type __gid_t = ::core::ffi::c_uint;
236pub type __ino_t = ::core::ffi::c_ulong;
237pub type __ino64_t = ::core::ffi::c_ulong;
238pub type __mode_t = ::core::ffi::c_uint;
239pub type __nlink_t = ::core::ffi::c_ulong;
240pub type __off_t = ::core::ffi::c_long;
241pub type __off64_t = ::core::ffi::c_long;
242pub type __pid_t = ::core::ffi::c_int;
243#[repr(C)]
244#[derive(Debug, Copy, Clone)]
245pub struct __fsid_t {
246 pub __val: [::core::ffi::c_int; 2usize],
247}
248pub type __clock_t = ::core::ffi::c_long;
249pub type __rlim_t = ::core::ffi::c_ulong;
250pub type __rlim64_t = ::core::ffi::c_ulong;
251pub type __id_t = ::core::ffi::c_uint;
252pub type __time_t = ::core::ffi::c_long;
253pub type __useconds_t = ::core::ffi::c_uint;
254pub type __suseconds_t = ::core::ffi::c_long;
255pub type __suseconds64_t = ::core::ffi::c_long;
256pub type __daddr_t = ::core::ffi::c_int;
257pub type __key_t = ::core::ffi::c_int;
258pub type __clockid_t = ::core::ffi::c_int;
259pub type __timer_t = *mut ::core::ffi::c_void;
260pub type __blksize_t = ::core::ffi::c_long;
261pub type __blkcnt_t = ::core::ffi::c_long;
262pub type __blkcnt64_t = ::core::ffi::c_long;
263pub type __fsblkcnt_t = ::core::ffi::c_ulong;
264pub type __fsblkcnt64_t = ::core::ffi::c_ulong;
265pub type __fsfilcnt_t = ::core::ffi::c_ulong;
266pub type __fsfilcnt64_t = ::core::ffi::c_ulong;
267pub type __fsword_t = ::core::ffi::c_long;
268pub type __ssize_t = ::core::ffi::c_long;
269pub type __syscall_slong_t = ::core::ffi::c_long;
270pub type __syscall_ulong_t = ::core::ffi::c_ulong;
271pub type __loff_t = __off64_t;
272pub type __caddr_t = *mut ::core::ffi::c_char;
273pub type __intptr_t = ::core::ffi::c_long;
274pub type __socklen_t = ::core::ffi::c_uint;
275pub type __sig_atomic_t = ::core::ffi::c_int;
276pub type int_least8_t = __int_least8_t;
277pub type int_least16_t = __int_least16_t;
278pub type int_least32_t = __int_least32_t;
279pub type int_least64_t = __int_least64_t;
280pub type uint_least8_t = __uint_least8_t;
281pub type uint_least16_t = __uint_least16_t;
282pub type uint_least32_t = __uint_least32_t;
283pub type uint_least64_t = __uint_least64_t;
284pub type int_fast8_t = ::core::ffi::c_schar;
285pub type int_fast16_t = ::core::ffi::c_long;
286pub type int_fast32_t = ::core::ffi::c_long;
287pub type int_fast64_t = ::core::ffi::c_long;
288pub type uint_fast8_t = ::core::ffi::c_uchar;
289pub type uint_fast16_t = ::core::ffi::c_ulong;
290pub type uint_fast32_t = ::core::ffi::c_ulong;
291pub type uint_fast64_t = ::core::ffi::c_ulong;
292pub type intmax_t = __intmax_t;
293pub type uintmax_t = __uintmax_t;
294pub type wchar_t = ::core::ffi::c_int;
295#[repr(C)]
296#[repr(align(16))]
297#[derive(Debug, Copy, Clone)]
298pub struct max_align_t {
299 pub __clang_max_align_nonce1: ::core::ffi::c_longlong,
300 pub __bindgen_padding_0: u64,
301 pub __clang_max_align_nonce2: u128,
302}
303pub type __m64 = [::core::ffi::c_longlong; 1usize];
304pub type __v1di = [::core::ffi::c_longlong; 1usize];
305pub type __v2si = [::core::ffi::c_int; 2usize];
306pub type __v4hi = [::core::ffi::c_short; 4usize];
307pub type __v8qi = [::core::ffi::c_char; 8usize];
308pub type __v4si = [::core::ffi::c_int; 4usize];
309pub type __v4sf = [f32; 4usize];
310pub type __m128 = [f32; 4usize];
311pub type __m128_u = [f32; 4usize];
312pub type __v4su = [::core::ffi::c_uint; 4usize];
313pub type __cfloat128 = __BindgenComplex<u128>;
314pub type _Float128 = u128;
315pub type _Float32 = f32;
316pub type _Float64 = f64;
317pub type _Float32x = f64;
318pub type _Float64x = u128;
319pub type u_char = __u_char;
320pub type u_short = __u_short;
321pub type u_int = __u_int;
322pub type u_long = __u_long;
323pub type quad_t = __quad_t;
324pub type u_quad_t = __u_quad_t;
325pub type fsid_t = __fsid_t;
326pub type loff_t = __loff_t;
327pub type ino_t = __ino_t;
328pub type dev_t = __dev_t;
329pub type gid_t = __gid_t;
330pub type mode_t = __mode_t;
331pub type nlink_t = __nlink_t;
332pub type uid_t = __uid_t;
333pub type off_t = __off_t;
334pub type pid_t = __pid_t;
335pub type id_t = __id_t;
336pub type daddr_t = __daddr_t;
337pub type caddr_t = __caddr_t;
338pub type key_t = __key_t;
339pub type clock_t = __clock_t;
340pub type clockid_t = __clockid_t;
341pub type time_t = __time_t;
342pub type timer_t = __timer_t;
343pub type ulong = ::core::ffi::c_ulong;
344pub type ushort = ::core::ffi::c_ushort;
345pub type uint = ::core::ffi::c_uint;
346pub type u_int8_t = __uint8_t;
347pub type u_int16_t = __uint16_t;
348pub type u_int32_t = __uint32_t;
349pub type u_int64_t = __uint64_t;
350pub type register_t = ::core::ffi::c_long;
351#[repr(C)]
352#[derive(Debug, Copy, Clone)]
353pub struct __sigset_t {
354 pub __val: [::core::ffi::c_ulong; 16usize],
355}
356pub type sigset_t = __sigset_t;
357#[repr(C)]
358#[derive(Debug, Copy, Clone)]
359pub struct timeval {
360 pub tv_sec: __time_t,
361 pub tv_usec: __suseconds_t,
362}
363#[repr(C)]
364#[derive(Debug, Copy, Clone)]
365pub struct timespec {
366 pub tv_sec: __time_t,
367 pub tv_nsec: __syscall_slong_t,
368}
369pub type suseconds_t = __suseconds_t;
370pub type __fd_mask = ::core::ffi::c_long;
371#[repr(C)]
372#[derive(Debug, Copy, Clone)]
373pub struct fd_set {
374 pub __fds_bits: [__fd_mask; 16usize],
375}
376pub type fd_mask = __fd_mask;
377unsafe extern "C" {
378 pub fn select(
379 __nfds: ::core::ffi::c_int,
380 __readfds: *mut fd_set,
381 __writefds: *mut fd_set,
382 __exceptfds: *mut fd_set,
383 __timeout: *mut timeval,
384 ) -> ::core::ffi::c_int;
385}
386unsafe extern "C" {
387 pub fn pselect(
388 __nfds: ::core::ffi::c_int,
389 __readfds: *mut fd_set,
390 __writefds: *mut fd_set,
391 __exceptfds: *mut fd_set,
392 __timeout: *const timespec,
393 __sigmask: *const __sigset_t,
394 ) -> ::core::ffi::c_int;
395}
396pub type blksize_t = __blksize_t;
397pub type blkcnt_t = __blkcnt_t;
398pub type fsblkcnt_t = __fsblkcnt_t;
399pub type fsfilcnt_t = __fsfilcnt_t;
400#[repr(C)]
401#[derive(Copy, Clone)]
402pub union __atomic_wide_counter {
403 pub __value64: ::core::ffi::c_ulonglong,
404 pub __value32: __atomic_wide_counter__bindgen_ty_1,
405}
406#[repr(C)]
407#[derive(Debug, Copy, Clone)]
408pub struct __atomic_wide_counter__bindgen_ty_1 {
409 pub __low: ::core::ffi::c_uint,
410 pub __high: ::core::ffi::c_uint,
411}
412#[repr(C)]
413#[derive(Debug, Copy, Clone)]
414pub struct __pthread_internal_list {
415 pub __prev: *mut __pthread_internal_list,
416 pub __next: *mut __pthread_internal_list,
417}
418pub type __pthread_list_t = __pthread_internal_list;
419#[repr(C)]
420#[derive(Debug, Copy, Clone)]
421pub struct __pthread_internal_slist {
422 pub __next: *mut __pthread_internal_slist,
423}
424pub type __pthread_slist_t = __pthread_internal_slist;
425#[repr(C)]
426#[derive(Debug, Copy, Clone)]
427pub struct __pthread_mutex_s {
428 pub __lock: ::core::ffi::c_int,
429 pub __count: ::core::ffi::c_uint,
430 pub __owner: ::core::ffi::c_int,
431 pub __nusers: ::core::ffi::c_uint,
432 pub __kind: ::core::ffi::c_int,
433 pub __spins: ::core::ffi::c_short,
434 pub __elision: ::core::ffi::c_short,
435 pub __list: __pthread_list_t,
436}
437#[repr(C)]
438#[derive(Debug, Copy, Clone)]
439pub struct __pthread_rwlock_arch_t {
440 pub __readers: ::core::ffi::c_uint,
441 pub __writers: ::core::ffi::c_uint,
442 pub __wrphase_futex: ::core::ffi::c_uint,
443 pub __writers_futex: ::core::ffi::c_uint,
444 pub __pad3: ::core::ffi::c_uint,
445 pub __pad4: ::core::ffi::c_uint,
446 pub __cur_writer: ::core::ffi::c_int,
447 pub __shared: ::core::ffi::c_int,
448 pub __rwelision: ::core::ffi::c_schar,
449 pub __pad1: [::core::ffi::c_uchar; 7usize],
450 pub __pad2: ::core::ffi::c_ulong,
451 pub __flags: ::core::ffi::c_uint,
452}
453#[repr(C)]
454#[derive(Copy, Clone)]
455pub struct __pthread_cond_s {
456 pub __wseq: __atomic_wide_counter,
457 pub __g1_start: __atomic_wide_counter,
458 pub __g_size: [::core::ffi::c_uint; 2usize],
459 pub __g1_orig_size: ::core::ffi::c_uint,
460 pub __wrefs: ::core::ffi::c_uint,
461 pub __g_signals: [::core::ffi::c_uint; 2usize],
462 pub __unused_initialized_1: ::core::ffi::c_uint,
463 pub __unused_initialized_2: ::core::ffi::c_uint,
464}
465pub type __tss_t = ::core::ffi::c_uint;
466pub type __thrd_t = ::core::ffi::c_ulong;
467#[repr(C)]
468#[derive(Debug, Copy, Clone)]
469pub struct __once_flag {
470 pub __data: ::core::ffi::c_int,
471}
472unsafe extern "C" {
473 pub fn alloca(__size: ::core::ffi::c_ulong) -> *mut ::core::ffi::c_void;
474}
475unsafe extern "C" {
476 pub fn posix_memalign(
477 __memptr: *mut *mut ::core::ffi::c_void,
478 __alignment: usize,
479 __size: usize,
480 ) -> ::core::ffi::c_int;
481}
482unsafe extern "C" {
483 pub fn _mm_sfence();
484}
485unsafe extern "C" {
486 pub fn _mm_getcsr() -> ::core::ffi::c_uint;
487}
488unsafe extern "C" {
489 pub fn _mm_setcsr(__i: ::core::ffi::c_uint);
490}
491pub type __m128d = [f64; 2usize];
492pub type __m128i = [::core::ffi::c_longlong; 2usize];
493pub type __m128d_u = [f64; 2usize];
494pub type __m128i_u = [::core::ffi::c_longlong; 2usize];
495pub type __v2df = [f64; 2usize];
496pub type __v2di = [::core::ffi::c_longlong; 2usize];
497pub type __v8hi = [::core::ffi::c_short; 8usize];
498pub type __v16qi = [::core::ffi::c_char; 16usize];
499pub type __v2du = [::core::ffi::c_ulonglong; 2usize];
500pub type __v8hu = [::core::ffi::c_ushort; 8usize];
501pub type __v16qu = [::core::ffi::c_uchar; 16usize];
502pub type __v16qs = [::core::ffi::c_schar; 16usize];
503pub type __v8hf = [__BindgenFloat16; 8usize];
504pub type __m128h = [__BindgenFloat16; 8usize];
505pub type __m128h_u = [__BindgenFloat16; 8usize];
506pub type __v8bf = u128;
507pub type __m128bh = u128;
508unsafe extern "C" {
509 pub fn _mm_clflush(__p: *const ::core::ffi::c_void);
510}
511unsafe extern "C" {
512 pub fn _mm_lfence();
513}
514unsafe extern "C" {
515 pub fn _mm_mfence();
516}
517unsafe extern "C" {
518 pub fn _mm_pause();
519}
520unsafe extern "C" {
521 pub static mut CLAY__ELEMENT_DEFINITION_LATCH: u8;
522}
523#[repr(C)]
524#[derive(Debug, Copy, Clone)]
525pub struct Clay_String {
526 pub isStaticallyAllocated: bool,
527 pub length: i32,
528 pub chars: *const ::core::ffi::c_char,
529}
530#[repr(C)]
531#[derive(Debug, Copy, Clone)]
532pub struct Clay_StringSlice {
533 pub length: i32,
534 pub chars: *const ::core::ffi::c_char,
535 pub baseChars: *const ::core::ffi::c_char,
536}
537#[repr(C)]
538#[derive(Debug, Copy, Clone)]
539pub struct Clay_Context {
540 _unused: [u8; 0],
541}
542#[repr(C)]
543#[derive(Debug, Copy, Clone)]
544pub struct Clay_Arena {
545 pub nextAllocation: usize,
546 pub capacity: usize,
547 pub memory: *mut ::core::ffi::c_char,
548}
549#[repr(C)]
550#[derive(Debug, Copy, Clone)]
551pub struct Clay_Dimensions {
552 pub width: f32,
553 pub height: f32,
554}
555#[repr(C)]
556#[derive(Debug, Copy, Clone)]
557pub struct Clay_Vector2 {
558 pub x: f32,
559 pub y: f32,
560}
561#[repr(C)]
562#[derive(Debug, Copy, Clone)]
563pub struct Clay_Color {
564 pub r: f32,
565 pub g: f32,
566 pub b: f32,
567 pub a: f32,
568}
569#[repr(C)]
570#[derive(Debug, Copy, Clone)]
571pub struct Clay_BoundingBox {
572 pub x: f32,
573 pub y: f32,
574 pub width: f32,
575 pub height: f32,
576}
577#[repr(C)]
578#[derive(Debug, Copy, Clone)]
579pub struct Clay_ElementId {
580 pub id: u32,
581 pub offset: u32,
582 pub baseId: u32,
583 pub stringId: Clay_String,
584}
585#[repr(C)]
586#[derive(Debug, Copy, Clone)]
587pub struct Clay_ElementIdArray {
588 pub capacity: i32,
589 pub length: i32,
590 pub internalArray: *mut Clay_ElementId,
591}
592#[repr(C)]
593#[derive(Debug, Copy, Clone)]
594pub struct Clay_CornerRadius {
595 pub topLeft: f32,
596 pub topRight: f32,
597 pub bottomLeft: f32,
598 pub bottomRight: f32,
599}
600pub const Clay_LayoutDirection_CLAY_LEFT_TO_RIGHT: Clay_LayoutDirection = 0;
601pub const Clay_LayoutDirection_CLAY_TOP_TO_BOTTOM: Clay_LayoutDirection = 1;
602pub type Clay_LayoutDirection = ::core::ffi::c_uchar;
603pub const Clay_LayoutAlignmentX_CLAY_ALIGN_X_LEFT: Clay_LayoutAlignmentX = 0;
604pub const Clay_LayoutAlignmentX_CLAY_ALIGN_X_RIGHT: Clay_LayoutAlignmentX = 1;
605pub const Clay_LayoutAlignmentX_CLAY_ALIGN_X_CENTER: Clay_LayoutAlignmentX = 2;
606pub type Clay_LayoutAlignmentX = ::core::ffi::c_uchar;
607pub const Clay_LayoutAlignmentY_CLAY_ALIGN_Y_TOP: Clay_LayoutAlignmentY = 0;
608pub const Clay_LayoutAlignmentY_CLAY_ALIGN_Y_BOTTOM: Clay_LayoutAlignmentY = 1;
609pub const Clay_LayoutAlignmentY_CLAY_ALIGN_Y_CENTER: Clay_LayoutAlignmentY = 2;
610pub type Clay_LayoutAlignmentY = ::core::ffi::c_uchar;
611pub const Clay__SizingType_CLAY__SIZING_TYPE_FIT: Clay__SizingType = 0;
612pub const Clay__SizingType_CLAY__SIZING_TYPE_GROW: Clay__SizingType = 1;
613pub const Clay__SizingType_CLAY__SIZING_TYPE_PERCENT: Clay__SizingType = 2;
614pub const Clay__SizingType_CLAY__SIZING_TYPE_FIXED: Clay__SizingType = 3;
615pub type Clay__SizingType = ::core::ffi::c_uchar;
616#[repr(C)]
617#[derive(Debug, Copy, Clone)]
618pub struct Clay_ChildAlignment {
619 pub x: Clay_LayoutAlignmentX,
620 pub y: Clay_LayoutAlignmentY,
621}
622#[repr(C)]
623#[derive(Debug, Copy, Clone)]
624pub struct Clay_SizingMinMax {
625 pub min: f32,
626 pub max: f32,
627}
628#[repr(C)]
629#[derive(Copy, Clone)]
630pub struct Clay_SizingAxis {
631 pub size: Clay_SizingAxis__bindgen_ty_1,
632 pub type_: Clay__SizingType,
633}
634#[repr(C)]
635#[derive(Copy, Clone)]
636pub union Clay_SizingAxis__bindgen_ty_1 {
637 pub minMax: Clay_SizingMinMax,
638 pub percent: f32,
639}
640#[repr(C)]
641#[derive(Copy, Clone)]
642pub struct Clay_Sizing {
643 pub width: Clay_SizingAxis,
644 pub height: Clay_SizingAxis,
645}
646#[repr(C)]
647#[derive(Debug, Copy, Clone)]
648pub struct Clay_Padding {
649 pub left: u16,
650 pub right: u16,
651 pub top: u16,
652 pub bottom: u16,
653}
654#[repr(C)]
655#[derive(Debug, Copy, Clone)]
656pub struct Clay__Clay_PaddingWrapper {
657 pub wrapped: Clay_Padding,
658}
659#[repr(C)]
660#[derive(Copy, Clone)]
661pub struct Clay_LayoutConfig {
662 pub sizing: Clay_Sizing,
663 pub padding: Clay_Padding,
664 pub childGap: u16,
665 pub childAlignment: Clay_ChildAlignment,
666 pub layoutDirection: Clay_LayoutDirection,
667}
668#[repr(C)]
669#[derive(Copy, Clone)]
670pub struct Clay__Clay_LayoutConfigWrapper {
671 pub wrapped: Clay_LayoutConfig,
672}
673unsafe extern "C" {
674 pub static mut CLAY_LAYOUT_DEFAULT: Clay_LayoutConfig;
675}
676pub const Clay_TextElementConfigWrapMode_CLAY_TEXT_WRAP_WORDS: Clay_TextElementConfigWrapMode = 0;
677pub const Clay_TextElementConfigWrapMode_CLAY_TEXT_WRAP_NEWLINES: Clay_TextElementConfigWrapMode =
678 1;
679pub const Clay_TextElementConfigWrapMode_CLAY_TEXT_WRAP_NONE: Clay_TextElementConfigWrapMode = 2;
680pub type Clay_TextElementConfigWrapMode = ::core::ffi::c_uchar;
681pub const Clay_TextAlignment_CLAY_TEXT_ALIGN_LEFT: Clay_TextAlignment = 0;
682pub const Clay_TextAlignment_CLAY_TEXT_ALIGN_CENTER: Clay_TextAlignment = 1;
683pub const Clay_TextAlignment_CLAY_TEXT_ALIGN_RIGHT: Clay_TextAlignment = 2;
684pub type Clay_TextAlignment = ::core::ffi::c_uchar;
685#[repr(C)]
686#[derive(Debug, Copy, Clone)]
687pub struct Clay_TextElementConfig {
688 pub userData: *mut ::core::ffi::c_void,
689 pub textColor: Clay_Color,
690 pub fontId: u16,
691 pub fontSize: u16,
692 pub letterSpacing: u16,
693 pub lineHeight: u16,
694 pub wrapMode: Clay_TextElementConfigWrapMode,
695 pub textAlignment: Clay_TextAlignment,
696}
697#[repr(C)]
698#[derive(Debug, Copy, Clone)]
699pub struct Clay__Clay_TextElementConfigWrapper {
700 pub wrapped: Clay_TextElementConfig,
701}
702#[repr(C)]
703#[derive(Debug, Copy, Clone)]
704pub struct Clay_AspectRatioElementConfig {
705 pub aspectRatio: f32,
706}
707#[repr(C)]
708#[derive(Debug, Copy, Clone)]
709pub struct Clay__Clay_AspectRatioElementConfigWrapper {
710 pub wrapped: Clay_AspectRatioElementConfig,
711}
712#[repr(C)]
713#[derive(Debug, Copy, Clone)]
714pub struct Clay_ImageElementConfig {
715 pub imageData: *mut ::core::ffi::c_void,
716}
717#[repr(C)]
718#[derive(Debug, Copy, Clone)]
719pub struct Clay__Clay_ImageElementConfigWrapper {
720 pub wrapped: Clay_ImageElementConfig,
721}
722pub const Clay_FloatingAttachPointType_CLAY_ATTACH_POINT_LEFT_TOP: Clay_FloatingAttachPointType = 0;
723pub const Clay_FloatingAttachPointType_CLAY_ATTACH_POINT_LEFT_CENTER: Clay_FloatingAttachPointType =
724 1;
725pub const Clay_FloatingAttachPointType_CLAY_ATTACH_POINT_LEFT_BOTTOM: Clay_FloatingAttachPointType =
726 2;
727pub const Clay_FloatingAttachPointType_CLAY_ATTACH_POINT_CENTER_TOP: Clay_FloatingAttachPointType =
728 3;
729pub const Clay_FloatingAttachPointType_CLAY_ATTACH_POINT_CENTER_CENTER:
730 Clay_FloatingAttachPointType = 4;
731pub const Clay_FloatingAttachPointType_CLAY_ATTACH_POINT_CENTER_BOTTOM:
732 Clay_FloatingAttachPointType = 5;
733pub const Clay_FloatingAttachPointType_CLAY_ATTACH_POINT_RIGHT_TOP: Clay_FloatingAttachPointType =
734 6;
735pub const Clay_FloatingAttachPointType_CLAY_ATTACH_POINT_RIGHT_CENTER:
736 Clay_FloatingAttachPointType = 7;
737pub const Clay_FloatingAttachPointType_CLAY_ATTACH_POINT_RIGHT_BOTTOM:
738 Clay_FloatingAttachPointType = 8;
739pub type Clay_FloatingAttachPointType = ::core::ffi::c_uchar;
740#[repr(C)]
741#[derive(Debug, Copy, Clone)]
742pub struct Clay_FloatingAttachPoints {
743 pub element: Clay_FloatingAttachPointType,
744 pub parent: Clay_FloatingAttachPointType,
745}
746pub const Clay_PointerCaptureMode_CLAY_POINTER_CAPTURE_MODE_CAPTURE: Clay_PointerCaptureMode = 0;
747pub const Clay_PointerCaptureMode_CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH: Clay_PointerCaptureMode =
748 1;
749pub type Clay_PointerCaptureMode = ::core::ffi::c_uchar;
750pub const Clay_FloatingAttachToElement_CLAY_ATTACH_TO_NONE: Clay_FloatingAttachToElement = 0;
751pub const Clay_FloatingAttachToElement_CLAY_ATTACH_TO_PARENT: Clay_FloatingAttachToElement = 1;
752pub const Clay_FloatingAttachToElement_CLAY_ATTACH_TO_ELEMENT_WITH_ID:
753 Clay_FloatingAttachToElement = 2;
754pub const Clay_FloatingAttachToElement_CLAY_ATTACH_TO_ROOT: Clay_FloatingAttachToElement = 3;
755pub type Clay_FloatingAttachToElement = ::core::ffi::c_uchar;
756pub const Clay_FloatingClipToElement_CLAY_CLIP_TO_NONE: Clay_FloatingClipToElement = 0;
757pub const Clay_FloatingClipToElement_CLAY_CLIP_TO_ATTACHED_PARENT: Clay_FloatingClipToElement = 1;
758pub type Clay_FloatingClipToElement = ::core::ffi::c_uchar;
759#[repr(C)]
760#[derive(Debug, Copy, Clone)]
761pub struct Clay_FloatingElementConfig {
762 pub offset: Clay_Vector2,
763 pub expand: Clay_Dimensions,
764 pub parentId: u32,
765 pub zIndex: i16,
766 pub attachPoints: Clay_FloatingAttachPoints,
767 pub pointerCaptureMode: Clay_PointerCaptureMode,
768 pub attachTo: Clay_FloatingAttachToElement,
769 pub clipTo: Clay_FloatingClipToElement,
770}
771#[repr(C)]
772#[derive(Debug, Copy, Clone)]
773pub struct Clay__Clay_FloatingElementConfigWrapper {
774 pub wrapped: Clay_FloatingElementConfig,
775}
776#[repr(C)]
777#[derive(Debug, Copy, Clone)]
778pub struct Clay_CustomElementConfig {
779 pub customData: *mut ::core::ffi::c_void,
780}
781#[repr(C)]
782#[derive(Debug, Copy, Clone)]
783pub struct Clay__Clay_CustomElementConfigWrapper {
784 pub wrapped: Clay_CustomElementConfig,
785}
786#[repr(C)]
787#[derive(Debug, Copy, Clone)]
788pub struct Clay_ClipElementConfig {
789 pub horizontal: bool,
790 pub vertical: bool,
791 pub childOffset: Clay_Vector2,
792}
793#[repr(C)]
794#[derive(Debug, Copy, Clone)]
795pub struct Clay__Clay_ClipElementConfigWrapper {
796 pub wrapped: Clay_ClipElementConfig,
797}
798#[repr(C)]
799#[derive(Debug, Copy, Clone)]
800pub struct Clay_BorderWidth {
801 pub left: u16,
802 pub right: u16,
803 pub top: u16,
804 pub bottom: u16,
805 pub betweenChildren: u16,
806}
807#[repr(C)]
808#[derive(Debug, Copy, Clone)]
809pub struct Clay_BorderElementConfig {
810 pub color: Clay_Color,
811 pub width: Clay_BorderWidth,
812}
813#[repr(C)]
814#[derive(Debug, Copy, Clone)]
815pub struct Clay__Clay_BorderElementConfigWrapper {
816 pub wrapped: Clay_BorderElementConfig,
817}
818#[repr(C)]
819#[derive(Debug, Copy, Clone)]
820pub struct Clay_TextRenderData {
821 pub stringContents: Clay_StringSlice,
822 pub textColor: Clay_Color,
823 pub fontId: u16,
824 pub fontSize: u16,
825 pub letterSpacing: u16,
826 pub lineHeight: u16,
827}
828#[repr(C)]
829#[derive(Debug, Copy, Clone)]
830pub struct Clay_RectangleRenderData {
831 pub backgroundColor: Clay_Color,
832 pub cornerRadius: Clay_CornerRadius,
833}
834#[repr(C)]
835#[derive(Debug, Copy, Clone)]
836pub struct Clay_ImageRenderData {
837 pub backgroundColor: Clay_Color,
838 pub cornerRadius: Clay_CornerRadius,
839 pub imageData: *mut ::core::ffi::c_void,
840}
841#[repr(C)]
842#[derive(Debug, Copy, Clone)]
843pub struct Clay_CustomRenderData {
844 pub backgroundColor: Clay_Color,
845 pub cornerRadius: Clay_CornerRadius,
846 pub customData: *mut ::core::ffi::c_void,
847}
848#[repr(C)]
849#[derive(Debug, Copy, Clone)]
850pub struct Clay_ScrollRenderData {
851 pub horizontal: bool,
852 pub vertical: bool,
853}
854pub type Clay_ClipRenderData = Clay_ScrollRenderData;
855#[repr(C)]
856#[derive(Debug, Copy, Clone)]
857pub struct Clay_BorderRenderData {
858 pub color: Clay_Color,
859 pub cornerRadius: Clay_CornerRadius,
860 pub width: Clay_BorderWidth,
861}
862#[repr(C)]
863#[derive(Copy, Clone)]
864pub union Clay_RenderData {
865 pub rectangle: Clay_RectangleRenderData,
866 pub text: Clay_TextRenderData,
867 pub image: Clay_ImageRenderData,
868 pub custom: Clay_CustomRenderData,
869 pub border: Clay_BorderRenderData,
870 pub clip: Clay_ClipRenderData,
871}
872#[repr(C)]
873#[derive(Debug, Copy, Clone)]
874pub struct Clay_ScrollContainerData {
875 pub scrollPosition: *mut Clay_Vector2,
876 pub scrollContainerDimensions: Clay_Dimensions,
877 pub contentDimensions: Clay_Dimensions,
878 pub config: Clay_ClipElementConfig,
879 pub found: bool,
880}
881#[repr(C)]
882#[derive(Debug, Copy, Clone)]
883pub struct Clay_ElementData {
884 pub boundingBox: Clay_BoundingBox,
885 pub found: bool,
886}
887pub const Clay_RenderCommandType_CLAY_RENDER_COMMAND_TYPE_NONE: Clay_RenderCommandType = 0;
888pub const Clay_RenderCommandType_CLAY_RENDER_COMMAND_TYPE_RECTANGLE: Clay_RenderCommandType = 1;
889pub const Clay_RenderCommandType_CLAY_RENDER_COMMAND_TYPE_BORDER: Clay_RenderCommandType = 2;
890pub const Clay_RenderCommandType_CLAY_RENDER_COMMAND_TYPE_TEXT: Clay_RenderCommandType = 3;
891pub const Clay_RenderCommandType_CLAY_RENDER_COMMAND_TYPE_IMAGE: Clay_RenderCommandType = 4;
892pub const Clay_RenderCommandType_CLAY_RENDER_COMMAND_TYPE_SCISSOR_START: Clay_RenderCommandType = 5;
893pub const Clay_RenderCommandType_CLAY_RENDER_COMMAND_TYPE_SCISSOR_END: Clay_RenderCommandType = 6;
894pub const Clay_RenderCommandType_CLAY_RENDER_COMMAND_TYPE_CUSTOM: Clay_RenderCommandType = 7;
895pub type Clay_RenderCommandType = ::core::ffi::c_uchar;
896#[repr(C)]
897#[derive(Copy, Clone)]
898pub struct Clay_RenderCommand {
899 pub boundingBox: Clay_BoundingBox,
900 pub renderData: Clay_RenderData,
901 pub userData: *mut ::core::ffi::c_void,
902 pub id: u32,
903 pub zIndex: i16,
904 pub commandType: Clay_RenderCommandType,
905}
906#[repr(C)]
907#[derive(Debug, Copy, Clone)]
908pub struct Clay_RenderCommandArray {
909 pub capacity: i32,
910 pub length: i32,
911 pub internalArray: *mut Clay_RenderCommand,
912}
913pub const Clay_PointerDataInteractionState_CLAY_POINTER_DATA_PRESSED_THIS_FRAME:
914 Clay_PointerDataInteractionState = 0;
915pub const Clay_PointerDataInteractionState_CLAY_POINTER_DATA_PRESSED:
916 Clay_PointerDataInteractionState = 1;
917pub const Clay_PointerDataInteractionState_CLAY_POINTER_DATA_RELEASED_THIS_FRAME:
918 Clay_PointerDataInteractionState = 2;
919pub const Clay_PointerDataInteractionState_CLAY_POINTER_DATA_RELEASED:
920 Clay_PointerDataInteractionState = 3;
921pub type Clay_PointerDataInteractionState = ::core::ffi::c_uchar;
922#[repr(C)]
923#[derive(Debug, Copy, Clone)]
924pub struct Clay_PointerData {
925 pub position: Clay_Vector2,
926 pub state: Clay_PointerDataInteractionState,
927}
928#[repr(C)]
929#[derive(Copy, Clone)]
930pub struct Clay_ElementDeclaration {
931 pub id: Clay_ElementId,
932 pub layout: Clay_LayoutConfig,
933 pub backgroundColor: Clay_Color,
934 pub cornerRadius: Clay_CornerRadius,
935 pub aspectRatio: Clay_AspectRatioElementConfig,
936 pub image: Clay_ImageElementConfig,
937 pub floating: Clay_FloatingElementConfig,
938 pub custom: Clay_CustomElementConfig,
939 pub clip: Clay_ClipElementConfig,
940 pub border: Clay_BorderElementConfig,
941 pub userData: *mut ::core::ffi::c_void,
942}
943#[repr(C)]
944#[derive(Copy, Clone)]
945pub struct Clay__Clay_ElementDeclarationWrapper {
946 pub wrapped: Clay_ElementDeclaration,
947}
948pub const Clay_ErrorType_CLAY_ERROR_TYPE_TEXT_MEASUREMENT_FUNCTION_NOT_PROVIDED: Clay_ErrorType = 0;
949pub const Clay_ErrorType_CLAY_ERROR_TYPE_ARENA_CAPACITY_EXCEEDED: Clay_ErrorType = 1;
950pub const Clay_ErrorType_CLAY_ERROR_TYPE_ELEMENTS_CAPACITY_EXCEEDED: Clay_ErrorType = 2;
951pub const Clay_ErrorType_CLAY_ERROR_TYPE_TEXT_MEASUREMENT_CAPACITY_EXCEEDED: Clay_ErrorType = 3;
952pub const Clay_ErrorType_CLAY_ERROR_TYPE_DUPLICATE_ID: Clay_ErrorType = 4;
953pub const Clay_ErrorType_CLAY_ERROR_TYPE_FLOATING_CONTAINER_PARENT_NOT_FOUND: Clay_ErrorType = 5;
954pub const Clay_ErrorType_CLAY_ERROR_TYPE_PERCENTAGE_OVER_1: Clay_ErrorType = 6;
955pub const Clay_ErrorType_CLAY_ERROR_TYPE_INTERNAL_ERROR: Clay_ErrorType = 7;
956pub type Clay_ErrorType = ::core::ffi::c_uchar;
957#[repr(C)]
958#[derive(Debug, Copy, Clone)]
959pub struct Clay_ErrorData {
960 pub errorType: Clay_ErrorType,
961 pub errorText: Clay_String,
962 pub userData: *mut ::core::ffi::c_void,
963}
964#[repr(C)]
965#[derive(Debug, Copy, Clone)]
966pub struct Clay_ErrorHandler {
967 pub errorHandlerFunction:
968 ::core::option::Option<unsafe extern "C" fn(errorText: Clay_ErrorData)>,
969 pub userData: *mut ::core::ffi::c_void,
970}
971unsafe extern "C" {
972 pub fn Clay_MinMemorySize() -> u32;
973}
974unsafe extern "C" {
975 pub fn Clay_CreateArenaWithCapacityAndMemory(
976 capacity: usize,
977 memory: *mut ::core::ffi::c_void,
978 ) -> Clay_Arena;
979}
980unsafe extern "C" {
981 pub fn Clay_SetPointerState(position: Clay_Vector2, pointerDown: bool);
982}
983unsafe extern "C" {
984 pub fn Clay_Initialize(
985 arena: Clay_Arena,
986 layoutDimensions: Clay_Dimensions,
987 errorHandler: Clay_ErrorHandler,
988 ) -> *mut Clay_Context;
989}
990unsafe extern "C" {
991 pub fn Clay_GetCurrentContext() -> *mut Clay_Context;
992}
993unsafe extern "C" {
994 pub fn Clay_SetCurrentContext(context: *mut Clay_Context);
995}
996unsafe extern "C" {
997 pub fn Clay_UpdateScrollContainers(
998 enableDragScrolling: bool,
999 scrollDelta: Clay_Vector2,
1000 deltaTime: f32,
1001 );
1002}
1003unsafe extern "C" {
1004 pub fn Clay_GetScrollOffset() -> Clay_Vector2;
1005}
1006unsafe extern "C" {
1007 pub fn Clay_SetLayoutDimensions(dimensions: Clay_Dimensions);
1008}
1009unsafe extern "C" {
1010 pub fn Clay_BeginLayout();
1011}
1012unsafe extern "C" {
1013 pub fn Clay_EndLayout() -> Clay_RenderCommandArray;
1014}
1015unsafe extern "C" {
1016 pub fn Clay_GetElementId(idString: Clay_String) -> Clay_ElementId;
1017}
1018unsafe extern "C" {
1019 pub fn Clay_GetElementIdWithIndex(idString: Clay_String, index: u32) -> Clay_ElementId;
1020}
1021unsafe extern "C" {
1022 pub fn Clay_GetElementData(id: Clay_ElementId) -> Clay_ElementData;
1023}
1024unsafe extern "C" {
1025 pub fn Clay_Hovered() -> bool;
1026}
1027unsafe extern "C" {
1028 pub fn Clay_OnHover(
1029 onHoverFunction: ::core::option::Option<
1030 unsafe extern "C" fn(
1031 elementId: Clay_ElementId,
1032 pointerData: Clay_PointerData,
1033 userData: isize,
1034 ),
1035 >,
1036 userData: isize,
1037 );
1038}
1039unsafe extern "C" {
1040 pub fn Clay_PointerOver(elementId: Clay_ElementId) -> bool;
1041}
1042unsafe extern "C" {
1043 pub fn Clay_GetPointerOverIds() -> Clay_ElementIdArray;
1044}
1045unsafe extern "C" {
1046 pub fn Clay_GetScrollContainerData(id: Clay_ElementId) -> Clay_ScrollContainerData;
1047}
1048unsafe extern "C" {
1049 pub fn Clay_SetMeasureTextFunction(
1050 measureTextFunction: ::core::option::Option<
1051 unsafe extern "C" fn(
1052 text: Clay_StringSlice,
1053 config: *mut Clay_TextElementConfig,
1054 userData: *mut ::core::ffi::c_void,
1055 ) -> Clay_Dimensions,
1056 >,
1057 userData: *mut ::core::ffi::c_void,
1058 );
1059}
1060unsafe extern "C" {
1061 pub fn Clay_SetQueryScrollOffsetFunction(
1062 queryScrollOffsetFunction: ::core::option::Option<
1063 unsafe extern "C" fn(
1064 elementId: u32,
1065 userData: *mut ::core::ffi::c_void,
1066 ) -> Clay_Vector2,
1067 >,
1068 userData: *mut ::core::ffi::c_void,
1069 );
1070}
1071unsafe extern "C" {
1072 pub fn Clay_RenderCommandArray_Get(
1073 array: *mut Clay_RenderCommandArray,
1074 index: i32,
1075 ) -> *mut Clay_RenderCommand;
1076}
1077unsafe extern "C" {
1078 pub fn Clay_SetDebugModeEnabled(enabled: bool);
1079}
1080unsafe extern "C" {
1081 pub fn Clay_IsDebugModeEnabled() -> bool;
1082}
1083unsafe extern "C" {
1084 pub fn Clay_SetCullingEnabled(enabled: bool);
1085}
1086unsafe extern "C" {
1087 pub fn Clay_GetMaxElementCount() -> i32;
1088}
1089unsafe extern "C" {
1090 pub fn Clay_SetMaxElementCount(maxElementCount: i32);
1091}
1092unsafe extern "C" {
1093 pub fn Clay_GetMaxMeasureTextCacheWordCount() -> i32;
1094}
1095unsafe extern "C" {
1096 pub fn Clay_SetMaxMeasureTextCacheWordCount(maxMeasureTextCacheWordCount: i32);
1097}
1098unsafe extern "C" {
1099 pub fn Clay_ResetMeasureTextCache();
1100}
1101unsafe extern "C" {
1102 pub fn Clay__OpenElement();
1103}
1104unsafe extern "C" {
1105 pub fn Clay__ConfigureOpenElement(config: Clay_ElementDeclaration);
1106}
1107unsafe extern "C" {
1108 pub fn Clay__ConfigureOpenElementPtr(config: *const Clay_ElementDeclaration);
1109}
1110unsafe extern "C" {
1111 pub fn Clay__CloseElement();
1112}
1113unsafe extern "C" {
1114 pub fn Clay__HashString(key: Clay_String, offset: u32, seed: u32) -> Clay_ElementId;
1115}
1116unsafe extern "C" {
1117 pub fn Clay__OpenTextElement(text: Clay_String, textConfig: *mut Clay_TextElementConfig);
1118}
1119unsafe extern "C" {
1120 pub fn Clay__StoreTextElementConfig(
1121 config: Clay_TextElementConfig,
1122 ) -> *mut Clay_TextElementConfig;
1123}
1124unsafe extern "C" {
1125 pub fn Clay__GetParentElementId() -> u32;
1126}
1127unsafe extern "C" {
1128 pub static mut Clay__debugViewHighlightColor: Clay_Color;
1129}
1130unsafe extern "C" {
1131 pub static mut Clay__debugViewWidth: u32;
1132}