1#![no_std]
25#![allow(nonstandard_style)]
26#![allow(non_camel_case_types)]
27#[derive(PartialEq, Copy, Clone, Hash, Debug, Default)]
30#[repr(C)]
31pub struct __BindgenComplex<T> {
32 pub re: T,
33 pub im: T,
34}
35#[derive(PartialEq, Copy, Clone, Hash, Debug, Default)]
36#[repr(transparent)]
37pub struct __BindgenFloat16(pub u16);
38pub type __uint8_t = ::core::ffi::c_uchar;
39pub type __uint16_t = ::core::ffi::c_ushort;
40pub type __int32_t = ::core::ffi::c_int;
41pub type __uint32_t = ::core::ffi::c_uint;
42pub type __int_least64_t = ::core::ffi::c_longlong;
43pub type __intmax_t = ::core::ffi::c_longlong;
44pub type __uintmax_t = ::core::ffi::c_ulonglong;
45unsafe extern "C" {
46 pub fn cacos(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
47}
48unsafe extern "C" {
49 pub fn cacosf(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
50}
51unsafe extern "C" {
52 pub fn casin(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
53}
54unsafe extern "C" {
55 pub fn casinf(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
56}
57unsafe extern "C" {
58 pub fn catan(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
59}
60unsafe extern "C" {
61 pub fn catanf(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
62}
63unsafe extern "C" {
64 pub fn ccos(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
65}
66unsafe extern "C" {
67 pub fn ccosf(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
68}
69unsafe extern "C" {
70 pub fn csin(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
71}
72unsafe extern "C" {
73 pub fn csinf(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
74}
75unsafe extern "C" {
76 pub fn ctan(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
77}
78unsafe extern "C" {
79 pub fn ctanf(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
80}
81unsafe extern "C" {
82 pub fn cacosh(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
83}
84unsafe extern "C" {
85 pub fn cacoshf(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
86}
87unsafe extern "C" {
88 pub fn casinh(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
89}
90unsafe extern "C" {
91 pub fn casinhf(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
92}
93unsafe extern "C" {
94 pub fn catanh(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
95}
96unsafe extern "C" {
97 pub fn catanhf(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
98}
99unsafe extern "C" {
100 pub fn ccosh(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
101}
102unsafe extern "C" {
103 pub fn ccoshf(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
104}
105unsafe extern "C" {
106 pub fn csinh(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
107}
108unsafe extern "C" {
109 pub fn csinhf(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
110}
111unsafe extern "C" {
112 pub fn ctanh(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
113}
114unsafe extern "C" {
115 pub fn ctanhf(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
116}
117unsafe extern "C" {
118 pub fn cexp(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
119}
120unsafe extern "C" {
121 pub fn cexpf(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
122}
123unsafe extern "C" {
124 pub fn clog(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
125}
126unsafe extern "C" {
127 pub fn clogf(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
128}
129unsafe extern "C" {
130 pub fn cabs(arg1: __BindgenComplex<f64>) -> f64;
131}
132unsafe extern "C" {
133 pub fn cabsf(arg1: __BindgenComplex<f32>) -> f32;
134}
135unsafe extern "C" {
136 pub fn cpow(arg1: __BindgenComplex<f64>, arg2: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
137}
138unsafe extern "C" {
139 pub fn cpowf(arg1: __BindgenComplex<f32>, arg2: __BindgenComplex<f32>)
140 -> __BindgenComplex<f32>;
141}
142unsafe extern "C" {
143 pub fn csqrt(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
144}
145unsafe extern "C" {
146 pub fn csqrtf(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
147}
148unsafe extern "C" {
149 pub fn carg(arg1: __BindgenComplex<f64>) -> f64;
150}
151unsafe extern "C" {
152 pub fn cargf(arg1: __BindgenComplex<f32>) -> f32;
153}
154unsafe extern "C" {
155 pub fn cimag(arg1: __BindgenComplex<f64>) -> f64;
156}
157unsafe extern "C" {
158 pub fn cimagf(arg1: __BindgenComplex<f32>) -> f32;
159}
160unsafe extern "C" {
161 pub fn conj(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
162}
163unsafe extern "C" {
164 pub fn conjf(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
165}
166unsafe extern "C" {
167 pub fn cproj(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
168}
169unsafe extern "C" {
170 pub fn cprojf(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
171}
172unsafe extern "C" {
173 pub fn creal(arg1: __BindgenComplex<f64>) -> f64;
174}
175unsafe extern "C" {
176 pub fn crealf(arg1: __BindgenComplex<f32>) -> f32;
177}
178unsafe extern "C" {
179 pub fn clog10(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
180}
181unsafe extern "C" {
182 pub fn clog10f(arg1: __BindgenComplex<f32>) -> __BindgenComplex<f32>;
183}
184unsafe extern "C" {
185 pub fn csqrtl(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
186}
187unsafe extern "C" {
188 pub fn cabsl(arg1: __BindgenComplex<f64>) -> u128;
189}
190unsafe extern "C" {
191 pub fn cprojl(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
192}
193unsafe extern "C" {
194 pub fn creall(arg1: __BindgenComplex<f64>) -> u128;
195}
196unsafe extern "C" {
197 pub fn conjl(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
198}
199unsafe extern "C" {
200 pub fn cimagl(arg1: __BindgenComplex<f64>) -> u128;
201}
202unsafe extern "C" {
203 pub fn cargl(arg1: __BindgenComplex<f64>) -> u128;
204}
205unsafe extern "C" {
206 pub fn casinl(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
207}
208unsafe extern "C" {
209 pub fn cacosl(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
210}
211unsafe extern "C" {
212 pub fn catanl(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
213}
214unsafe extern "C" {
215 pub fn ccosl(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
216}
217unsafe extern "C" {
218 pub fn csinl(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
219}
220unsafe extern "C" {
221 pub fn ctanl(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
222}
223unsafe extern "C" {
224 pub fn cacoshl(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
225}
226unsafe extern "C" {
227 pub fn casinhl(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
228}
229unsafe extern "C" {
230 pub fn catanhl(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
231}
232unsafe extern "C" {
233 pub fn ccoshl(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
234}
235unsafe extern "C" {
236 pub fn csinhl(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
237}
238unsafe extern "C" {
239 pub fn ctanhl(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
240}
241unsafe extern "C" {
242 pub fn cexpl(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
243}
244unsafe extern "C" {
245 pub fn clogl(arg1: __BindgenComplex<f64>) -> __BindgenComplex<f64>;
246}
247unsafe extern "C" {
248 pub fn cpowl(arg1: __BindgenComplex<f64>, arg2: __BindgenComplex<f64>)
249 -> __BindgenComplex<f64>;
250}
251pub type locale_t = ::core::ffi::c_int;
252unsafe extern "C" {
253 pub fn isalnum(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
254}
255unsafe extern "C" {
256 pub fn isalpha(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
257}
258unsafe extern "C" {
259 pub fn iscntrl(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
260}
261unsafe extern "C" {
262 pub fn isdigit(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
263}
264unsafe extern "C" {
265 pub fn isgraph(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
266}
267unsafe extern "C" {
268 pub fn islower(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
269}
270unsafe extern "C" {
271 pub fn isprint(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
272}
273unsafe extern "C" {
274 pub fn ispunct(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
275}
276unsafe extern "C" {
277 pub fn isspace(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
278}
279unsafe extern "C" {
280 pub fn isupper(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
281}
282unsafe extern "C" {
283 pub fn isxdigit(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
284}
285unsafe extern "C" {
286 pub fn tolower(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
287}
288unsafe extern "C" {
289 pub fn toupper(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
290}
291unsafe extern "C" {
292 pub fn isblank(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
293}
294unsafe extern "C" {
295 pub fn isascii(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
296}
297unsafe extern "C" {
298 pub fn toascii(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
299}
300unsafe extern "C" {
301 pub fn isalnum_l(c: ::core::ffi::c_int, l: locale_t) -> ::core::ffi::c_int;
302}
303unsafe extern "C" {
304 pub fn isalpha_l(c: ::core::ffi::c_int, l: locale_t) -> ::core::ffi::c_int;
305}
306unsafe extern "C" {
307 pub fn isblank_l(c: ::core::ffi::c_int, l: locale_t) -> ::core::ffi::c_int;
308}
309unsafe extern "C" {
310 pub fn iscntrl_l(c: ::core::ffi::c_int, l: locale_t) -> ::core::ffi::c_int;
311}
312unsafe extern "C" {
313 pub fn isdigit_l(c: ::core::ffi::c_int, l: locale_t) -> ::core::ffi::c_int;
314}
315unsafe extern "C" {
316 pub fn isgraph_l(c: ::core::ffi::c_int, l: locale_t) -> ::core::ffi::c_int;
317}
318unsafe extern "C" {
319 pub fn islower_l(c: ::core::ffi::c_int, l: locale_t) -> ::core::ffi::c_int;
320}
321unsafe extern "C" {
322 pub fn isprint_l(c: ::core::ffi::c_int, l: locale_t) -> ::core::ffi::c_int;
323}
324unsafe extern "C" {
325 pub fn ispunct_l(c: ::core::ffi::c_int, l: locale_t) -> ::core::ffi::c_int;
326}
327unsafe extern "C" {
328 pub fn isspace_l(c: ::core::ffi::c_int, l: locale_t) -> ::core::ffi::c_int;
329}
330unsafe extern "C" {
331 pub fn isupper_l(c: ::core::ffi::c_int, l: locale_t) -> ::core::ffi::c_int;
332}
333unsafe extern "C" {
334 pub fn isxdigit_l(c: ::core::ffi::c_int, l: locale_t) -> ::core::ffi::c_int;
335}
336unsafe extern "C" {
337 pub fn tolower_l(c: ::core::ffi::c_int, l: locale_t) -> ::core::ffi::c_int;
338}
339unsafe extern "C" {
340 pub fn toupper_l(c: ::core::ffi::c_int, l: locale_t) -> ::core::ffi::c_int;
341}
342unsafe extern "C" {
343 pub fn isascii_l(c: ::core::ffi::c_int, l: locale_t) -> ::core::ffi::c_int;
344}
345unsafe extern "C" {
346 pub fn toascii_l(c: ::core::ffi::c_int, l: locale_t) -> ::core::ffi::c_int;
347}
348unsafe extern "C" {
349 pub static _ctype_b: [::core::ffi::c_char; 0usize];
350}
351pub type size_t = ::core::ffi::c_uint;
352pub type wchar_t = ::core::ffi::c_int;
353pub type fenv_t = size_t;
354pub type fexcept_t = size_t;
355unsafe extern "C" {
356 pub fn feclearexcept(excepts: ::core::ffi::c_int) -> ::core::ffi::c_int;
357}
358unsafe extern "C" {
359 pub fn fegetexceptflag(
360 flagp: *mut fexcept_t,
361 excepts: ::core::ffi::c_int,
362 ) -> ::core::ffi::c_int;
363}
364unsafe extern "C" {
365 pub fn fesetexceptflag(
366 flagp: *const fexcept_t,
367 excepts: ::core::ffi::c_int,
368 ) -> ::core::ffi::c_int;
369}
370unsafe extern "C" {
371 pub fn feraiseexcept(excepts: ::core::ffi::c_int) -> ::core::ffi::c_int;
372}
373unsafe extern "C" {
374 pub fn fetestexcept(excepts: ::core::ffi::c_int) -> ::core::ffi::c_int;
375}
376unsafe extern "C" {
377 pub fn fegetround() -> ::core::ffi::c_int;
378}
379unsafe extern "C" {
380 pub fn fesetround(rounding_mode: ::core::ffi::c_int) -> ::core::ffi::c_int;
381}
382unsafe extern "C" {
383 pub fn fegetenv(envp: *mut fenv_t) -> ::core::ffi::c_int;
384}
385unsafe extern "C" {
386 pub fn feholdexcept(envp: *mut fenv_t) -> ::core::ffi::c_int;
387}
388unsafe extern "C" {
389 pub fn fesetenv(envp: *const fenv_t) -> ::core::ffi::c_int;
390}
391unsafe extern "C" {
392 pub fn feupdateenv(envp: *const fenv_t) -> ::core::ffi::c_int;
393}
394unsafe extern "C" {
395 pub fn fnmatch(
396 arg1: *const ::core::ffi::c_char,
397 arg2: *const ::core::ffi::c_char,
398 arg3: ::core::ffi::c_int,
399 ) -> ::core::ffi::c_int;
400}
401#[repr(C)]
402#[derive(Debug, Copy, Clone)]
403pub struct option {
404 pub name: *const ::core::ffi::c_char,
405 pub has_arg: ::core::ffi::c_int,
406 pub flag: *mut ::core::ffi::c_int,
407 pub val: ::core::ffi::c_int,
408}
409#[allow(clippy::unnecessary_operation, clippy::identity_op)]
410const _: () = {
411 ["Size of option"][::core::mem::size_of::<option>() - 16usize];
412 ["Alignment of option"][::core::mem::align_of::<option>() - 4usize];
413 ["Offset of field: option::name"][::core::mem::offset_of!(option, name) - 0usize];
414 ["Offset of field: option::has_arg"][::core::mem::offset_of!(option, has_arg) - 4usize];
415 ["Offset of field: option::flag"][::core::mem::offset_of!(option, flag) - 8usize];
416 ["Offset of field: option::val"][::core::mem::offset_of!(option, val) - 12usize];
417};
418unsafe extern "C" {
419 pub fn getopt(
420 __argc: ::core::ffi::c_int,
421 __argv: *const [*mut ::core::ffi::c_char; 0usize],
422 __optstring: *const ::core::ffi::c_char,
423 ) -> ::core::ffi::c_int;
424}
425unsafe extern "C" {
426 pub fn getopt_long(
427 __argc: ::core::ffi::c_int,
428 __argv: *const [*mut ::core::ffi::c_char; 0usize],
429 __shortopts: *const ::core::ffi::c_char,
430 __longopts: *const option,
431 __longind: *mut ::core::ffi::c_int,
432 ) -> ::core::ffi::c_int;
433}
434unsafe extern "C" {
435 pub fn getopt_long_only(
436 __argc: ::core::ffi::c_int,
437 __argv: *const [*mut ::core::ffi::c_char; 0usize],
438 __shortopts: *const ::core::ffi::c_char,
439 __longopts: *const option,
440 __longind: *mut ::core::ffi::c_int,
441 ) -> ::core::ffi::c_int;
442}
443pub type wint_t = ::core::ffi::c_uint;
444pub type __blkcnt_t = ::core::ffi::c_long;
445pub type __blksize_t = ::core::ffi::c_long;
446pub type _off_t = ::core::ffi::c_long;
447pub type __pid_t = ::core::ffi::c_int;
448pub type __dev_t = ::core::ffi::c_short;
449pub type __uid_t = ::core::ffi::c_ushort;
450pub type __gid_t = ::core::ffi::c_ushort;
451pub type __ino_t = ::core::ffi::c_ushort;
452pub type __mode_t = __uint32_t;
453pub type __off_t = _off_t;
454pub type _fpos_t = ::core::ffi::c_long;
455pub type _ssize_t = ::core::ffi::c_int;
456#[repr(C)]
457#[derive(Copy, Clone)]
458pub struct _mbstate_t {
459 pub __count: ::core::ffi::c_int,
460 pub __value: _mbstate_t__bindgen_ty_1,
461}
462#[repr(C)]
463#[derive(Copy, Clone)]
464pub union _mbstate_t__bindgen_ty_1 {
465 pub __wch: wint_t,
466 pub __wchb: [::core::ffi::c_uchar; 4usize],
467 pub __ucs: __uint32_t,
468 pub __ucs2: __uint16_t,
469}
470#[allow(clippy::unnecessary_operation, clippy::identity_op)]
471const _: () = {
472 ["Size of _mbstate_t__bindgen_ty_1"]
473 [::core::mem::size_of::<_mbstate_t__bindgen_ty_1>() - 4usize];
474 ["Alignment of _mbstate_t__bindgen_ty_1"]
475 [::core::mem::align_of::<_mbstate_t__bindgen_ty_1>() - 4usize];
476 ["Offset of field: _mbstate_t__bindgen_ty_1::__wch"]
477 [::core::mem::offset_of!(_mbstate_t__bindgen_ty_1, __wch) - 0usize];
478 ["Offset of field: _mbstate_t__bindgen_ty_1::__wchb"]
479 [::core::mem::offset_of!(_mbstate_t__bindgen_ty_1, __wchb) - 0usize];
480 ["Offset of field: _mbstate_t__bindgen_ty_1::__ucs"]
481 [::core::mem::offset_of!(_mbstate_t__bindgen_ty_1, __ucs) - 0usize];
482 ["Offset of field: _mbstate_t__bindgen_ty_1::__ucs2"]
483 [::core::mem::offset_of!(_mbstate_t__bindgen_ty_1, __ucs2) - 0usize];
484};
485impl ::core::fmt::Debug for _mbstate_t__bindgen_ty_1 {
486 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
487 write!(f, "_mbstate_t__bindgen_ty_1 {{ union }}")
488 }
489}
490#[allow(clippy::unnecessary_operation, clippy::identity_op)]
491const _: () = {
492 ["Size of _mbstate_t"][::core::mem::size_of::<_mbstate_t>() - 8usize];
493 ["Alignment of _mbstate_t"][::core::mem::align_of::<_mbstate_t>() - 4usize];
494 ["Offset of field: _mbstate_t::__count"][::core::mem::offset_of!(_mbstate_t, __count) - 0usize];
495 ["Offset of field: _mbstate_t::__value"][::core::mem::offset_of!(_mbstate_t, __value) - 4usize];
496};
497impl ::core::fmt::Debug for _mbstate_t {
498 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
499 write!(
500 f,
501 "_mbstate_t {{ __count: {:?}, __value: {:?} }}",
502 self.__count, self.__value
503 )
504 }
505}
506#[repr(C)]
507#[derive(Debug, Copy, Clone)]
508pub struct __iconv_t {
509 _unused: [u8; 0],
510}
511pub type _iconv_t = *mut __iconv_t;
512pub type __clockid_t = ::core::ffi::c_ulong;
513pub type __nl_item = __int32_t;
514pub type __nlink_t = ::core::ffi::c_ushort;
515pub type __suseconds_t = ::core::ffi::c_long;
516pub type __useconds_t = ::core::ffi::c_ulong;
517pub type iconv_t = _iconv_t;
518unsafe extern "C" {
519 pub fn iconv_open(
520 arg1: *const ::core::ffi::c_char,
521 arg2: *const ::core::ffi::c_char,
522 ) -> iconv_t;
523}
524unsafe extern "C" {
525 pub fn iconv(
526 arg1: iconv_t,
527 arg2: *mut *mut ::core::ffi::c_char,
528 arg3: *mut size_t,
529 arg4: *mut *mut ::core::ffi::c_char,
530 arg5: *mut size_t,
531 ) -> size_t;
532}
533unsafe extern "C" {
534 pub fn iconv_close(arg1: iconv_t) -> ::core::ffi::c_int;
535}
536pub type fp_rnd = ::core::ffi::c_int;
537unsafe extern "C" {
538 pub fn fpgetround() -> fp_rnd;
539}
540unsafe extern "C" {
541 pub fn fpsetround(arg1: fp_rnd) -> fp_rnd;
542}
543pub type fp_except = ::core::ffi::c_int;
544unsafe extern "C" {
545 pub fn fpgetmask() -> fp_except;
546}
547unsafe extern "C" {
548 pub fn fpsetmask(arg1: fp_except) -> fp_except;
549}
550unsafe extern "C" {
551 pub fn fpgetsticky() -> fp_except;
552}
553unsafe extern "C" {
554 pub fn fpsetsticky(arg1: fp_except) -> fp_except;
555}
556pub type intmax_t = __intmax_t;
557pub type uintmax_t = __uintmax_t;
558#[repr(C)]
559#[derive(Debug, Copy, Clone)]
560pub struct imaxdiv_t {
561 pub quot: intmax_t,
562 pub rem: intmax_t,
563}
564#[allow(clippy::unnecessary_operation, clippy::identity_op)]
565const _: () = {
566 ["Size of imaxdiv_t"][::core::mem::size_of::<imaxdiv_t>() - 16usize];
567 ["Alignment of imaxdiv_t"][::core::mem::align_of::<imaxdiv_t>() - 8usize];
568 ["Offset of field: imaxdiv_t::quot"][::core::mem::offset_of!(imaxdiv_t, quot) - 0usize];
569 ["Offset of field: imaxdiv_t::rem"][::core::mem::offset_of!(imaxdiv_t, rem) - 8usize];
570};
571pub type _wchar_t = ::core::ffi::c_int;
572unsafe extern "C" {
573 pub fn imaxabs(arg1: intmax_t) -> intmax_t;
574}
575unsafe extern "C" {
576 pub fn imaxdiv(__numer: intmax_t, __denomer: intmax_t) -> imaxdiv_t;
577}
578unsafe extern "C" {
579 pub fn strtoimax(
580 arg1: *const ::core::ffi::c_char,
581 arg2: *mut *mut ::core::ffi::c_char,
582 arg3: ::core::ffi::c_int,
583 ) -> intmax_t;
584}
585unsafe extern "C" {
586 pub fn strtoumax(
587 arg1: *const ::core::ffi::c_char,
588 arg2: *mut *mut ::core::ffi::c_char,
589 arg3: ::core::ffi::c_int,
590 ) -> uintmax_t;
591}
592unsafe extern "C" {
593 pub fn wcstoimax(
594 arg1: *const _wchar_t,
595 arg2: *mut *mut _wchar_t,
596 arg3: ::core::ffi::c_int,
597 ) -> intmax_t;
598}
599unsafe extern "C" {
600 pub fn wcstoumax(
601 arg1: *const _wchar_t,
602 arg2: *mut *mut _wchar_t,
603 arg3: ::core::ffi::c_int,
604 ) -> uintmax_t;
605}
606unsafe extern "C" {
607 pub fn strtoimax_l(
608 arg1: *const ::core::ffi::c_char,
609 _restrict: *mut *mut ::core::ffi::c_char,
610 arg2: ::core::ffi::c_int,
611 arg3: locale_t,
612 ) -> intmax_t;
613}
614unsafe extern "C" {
615 pub fn strtoumax_l(
616 arg1: *const ::core::ffi::c_char,
617 _restrict: *mut *mut ::core::ffi::c_char,
618 arg2: ::core::ffi::c_int,
619 arg3: locale_t,
620 ) -> uintmax_t;
621}
622unsafe extern "C" {
623 pub fn wcstoimax_l(
624 arg1: *const _wchar_t,
625 _restrict: *mut *mut _wchar_t,
626 arg2: ::core::ffi::c_int,
627 arg3: locale_t,
628 ) -> intmax_t;
629}
630unsafe extern "C" {
631 pub fn wcstoumax_l(
632 arg1: *const _wchar_t,
633 _restrict: *mut *mut _wchar_t,
634 arg2: ::core::ffi::c_int,
635 arg3: locale_t,
636 ) -> uintmax_t;
637}
638pub type nl_item = __nl_item;
639unsafe extern "C" {
640 pub fn nl_langinfo(arg1: nl_item) -> *mut ::core::ffi::c_char;
641}
642unsafe extern "C" {
643 pub fn nl_langinfo_l(arg1: nl_item, arg2: locale_t) -> *mut ::core::ffi::c_char;
644}
645#[repr(C)]
646#[derive(Debug, Copy, Clone)]
647pub struct lconv {
648 pub decimal_point: *mut ::core::ffi::c_char,
649 pub thousands_sep: *mut ::core::ffi::c_char,
650 pub grouping: *mut ::core::ffi::c_char,
651 pub int_curr_symbol: *mut ::core::ffi::c_char,
652 pub currency_symbol: *mut ::core::ffi::c_char,
653 pub mon_decimal_point: *mut ::core::ffi::c_char,
654 pub mon_thousands_sep: *mut ::core::ffi::c_char,
655 pub mon_grouping: *mut ::core::ffi::c_char,
656 pub positive_sign: *mut ::core::ffi::c_char,
657 pub negative_sign: *mut ::core::ffi::c_char,
658 pub int_frac_digits: ::core::ffi::c_char,
659 pub frac_digits: ::core::ffi::c_char,
660 pub p_cs_precedes: ::core::ffi::c_char,
661 pub p_sep_by_space: ::core::ffi::c_char,
662 pub n_cs_precedes: ::core::ffi::c_char,
663 pub n_sep_by_space: ::core::ffi::c_char,
664 pub p_sign_posn: ::core::ffi::c_char,
665 pub n_sign_posn: ::core::ffi::c_char,
666 pub int_n_cs_precedes: ::core::ffi::c_char,
667 pub int_n_sep_by_space: ::core::ffi::c_char,
668 pub int_n_sign_posn: ::core::ffi::c_char,
669 pub int_p_cs_precedes: ::core::ffi::c_char,
670 pub int_p_sep_by_space: ::core::ffi::c_char,
671 pub int_p_sign_posn: ::core::ffi::c_char,
672}
673#[allow(clippy::unnecessary_operation, clippy::identity_op)]
674const _: () = {
675 ["Size of lconv"][::core::mem::size_of::<lconv>() - 56usize];
676 ["Alignment of lconv"][::core::mem::align_of::<lconv>() - 4usize];
677 ["Offset of field: lconv::decimal_point"]
678 [::core::mem::offset_of!(lconv, decimal_point) - 0usize];
679 ["Offset of field: lconv::thousands_sep"]
680 [::core::mem::offset_of!(lconv, thousands_sep) - 4usize];
681 ["Offset of field: lconv::grouping"][::core::mem::offset_of!(lconv, grouping) - 8usize];
682 ["Offset of field: lconv::int_curr_symbol"]
683 [::core::mem::offset_of!(lconv, int_curr_symbol) - 12usize];
684 ["Offset of field: lconv::currency_symbol"]
685 [::core::mem::offset_of!(lconv, currency_symbol) - 16usize];
686 ["Offset of field: lconv::mon_decimal_point"]
687 [::core::mem::offset_of!(lconv, mon_decimal_point) - 20usize];
688 ["Offset of field: lconv::mon_thousands_sep"]
689 [::core::mem::offset_of!(lconv, mon_thousands_sep) - 24usize];
690 ["Offset of field: lconv::mon_grouping"]
691 [::core::mem::offset_of!(lconv, mon_grouping) - 28usize];
692 ["Offset of field: lconv::positive_sign"]
693 [::core::mem::offset_of!(lconv, positive_sign) - 32usize];
694 ["Offset of field: lconv::negative_sign"]
695 [::core::mem::offset_of!(lconv, negative_sign) - 36usize];
696 ["Offset of field: lconv::int_frac_digits"]
697 [::core::mem::offset_of!(lconv, int_frac_digits) - 40usize];
698 ["Offset of field: lconv::frac_digits"][::core::mem::offset_of!(lconv, frac_digits) - 41usize];
699 ["Offset of field: lconv::p_cs_precedes"]
700 [::core::mem::offset_of!(lconv, p_cs_precedes) - 42usize];
701 ["Offset of field: lconv::p_sep_by_space"]
702 [::core::mem::offset_of!(lconv, p_sep_by_space) - 43usize];
703 ["Offset of field: lconv::n_cs_precedes"]
704 [::core::mem::offset_of!(lconv, n_cs_precedes) - 44usize];
705 ["Offset of field: lconv::n_sep_by_space"]
706 [::core::mem::offset_of!(lconv, n_sep_by_space) - 45usize];
707 ["Offset of field: lconv::p_sign_posn"][::core::mem::offset_of!(lconv, p_sign_posn) - 46usize];
708 ["Offset of field: lconv::n_sign_posn"][::core::mem::offset_of!(lconv, n_sign_posn) - 47usize];
709 ["Offset of field: lconv::int_n_cs_precedes"]
710 [::core::mem::offset_of!(lconv, int_n_cs_precedes) - 48usize];
711 ["Offset of field: lconv::int_n_sep_by_space"]
712 [::core::mem::offset_of!(lconv, int_n_sep_by_space) - 49usize];
713 ["Offset of field: lconv::int_n_sign_posn"]
714 [::core::mem::offset_of!(lconv, int_n_sign_posn) - 50usize];
715 ["Offset of field: lconv::int_p_cs_precedes"]
716 [::core::mem::offset_of!(lconv, int_p_cs_precedes) - 51usize];
717 ["Offset of field: lconv::int_p_sep_by_space"]
718 [::core::mem::offset_of!(lconv, int_p_sep_by_space) - 52usize];
719 ["Offset of field: lconv::int_p_sign_posn"]
720 [::core::mem::offset_of!(lconv, int_p_sign_posn) - 53usize];
721};
722unsafe extern "C" {
723 pub fn localeconv() -> *mut lconv;
724}
725unsafe extern "C" {
726 pub fn uselocale(arg1: locale_t) -> locale_t;
727}
728unsafe extern "C" {
729 pub fn atan(arg1: f64) -> f64;
730}
731unsafe extern "C" {
732 pub fn cos(arg1: f64) -> f64;
733}
734unsafe extern "C" {
735 pub fn sin(arg1: f64) -> f64;
736}
737unsafe extern "C" {
738 pub fn tan(arg1: f64) -> f64;
739}
740unsafe extern "C" {
741 pub fn tanh(arg1: f64) -> f64;
742}
743unsafe extern "C" {
744 pub fn frexp(arg1: f64, arg2: *mut ::core::ffi::c_int) -> f64;
745}
746unsafe extern "C" {
747 pub fn modf(arg1: f64, arg2: *mut f64) -> f64;
748}
749unsafe extern "C" {
750 pub fn ceil(arg1: f64) -> f64;
751}
752unsafe extern "C" {
753 pub fn fabs(arg1: f64) -> f64;
754}
755unsafe extern "C" {
756 pub fn floor(arg1: f64) -> f64;
757}
758unsafe extern "C" {
759 pub fn acos(arg1: f64) -> f64;
760}
761unsafe extern "C" {
762 pub fn asin(arg1: f64) -> f64;
763}
764unsafe extern "C" {
765 pub fn atan2(arg1: f64, arg2: f64) -> f64;
766}
767unsafe extern "C" {
768 pub fn cosh(arg1: f64) -> f64;
769}
770unsafe extern "C" {
771 pub fn sinh(arg1: f64) -> f64;
772}
773unsafe extern "C" {
774 pub fn exp(arg1: f64) -> f64;
775}
776unsafe extern "C" {
777 pub fn ldexp(arg1: f64, arg2: ::core::ffi::c_int) -> f64;
778}
779unsafe extern "C" {
780 pub fn log(arg1: f64) -> f64;
781}
782unsafe extern "C" {
783 pub fn log10(arg1: f64) -> f64;
784}
785unsafe extern "C" {
786 pub fn pow(arg1: f64, arg2: f64) -> f64;
787}
788unsafe extern "C" {
789 pub fn sqrt(arg1: f64) -> f64;
790}
791unsafe extern "C" {
792 pub fn fmod(arg1: f64, arg2: f64) -> f64;
793}
794unsafe extern "C" {
795 pub fn finite(arg1: f64) -> ::core::ffi::c_int;
796}
797unsafe extern "C" {
798 pub fn finitef(arg1: f32) -> ::core::ffi::c_int;
799}
800unsafe extern "C" {
801 pub fn isinf(arg1: f64) -> ::core::ffi::c_int;
802}
803unsafe extern "C" {
804 pub fn isinff(arg1: f32) -> ::core::ffi::c_int;
805}
806unsafe extern "C" {
807 pub fn isnan(arg1: f64) -> ::core::ffi::c_int;
808}
809unsafe extern "C" {
810 pub fn isnanf(arg1: f32) -> ::core::ffi::c_int;
811}
812unsafe extern "C" {
813 pub fn finitel(arg1: u128) -> ::core::ffi::c_int;
814}
815unsafe extern "C" {
816 pub fn infinity() -> f64;
817}
818unsafe extern "C" {
819 pub fn nan(arg1: *const ::core::ffi::c_char) -> f64;
820}
821unsafe extern "C" {
822 pub fn copysign(arg1: f64, arg2: f64) -> f64;
823}
824unsafe extern "C" {
825 pub fn logb(arg1: f64) -> f64;
826}
827unsafe extern "C" {
828 pub fn ilogb(arg1: f64) -> ::core::ffi::c_int;
829}
830unsafe extern "C" {
831 pub fn asinh(arg1: f64) -> f64;
832}
833unsafe extern "C" {
834 pub fn cbrt(arg1: f64) -> f64;
835}
836unsafe extern "C" {
837 pub fn nextafter(arg1: f64, arg2: f64) -> f64;
838}
839unsafe extern "C" {
840 pub fn rint(arg1: f64) -> f64;
841}
842unsafe extern "C" {
843 pub fn scalbn(arg1: f64, arg2: ::core::ffi::c_int) -> f64;
844}
845unsafe extern "C" {
846 pub fn exp2(arg1: f64) -> f64;
847}
848unsafe extern "C" {
849 pub fn scalbln(arg1: f64, arg2: ::core::ffi::c_long) -> f64;
850}
851unsafe extern "C" {
852 pub fn tgamma(arg1: f64) -> f64;
853}
854unsafe extern "C" {
855 pub fn nearbyint(arg1: f64) -> f64;
856}
857unsafe extern "C" {
858 pub fn lrint(arg1: f64) -> ::core::ffi::c_long;
859}
860unsafe extern "C" {
861 pub fn llrint(arg1: f64) -> ::core::ffi::c_longlong;
862}
863unsafe extern "C" {
864 pub fn round(arg1: f64) -> f64;
865}
866unsafe extern "C" {
867 pub fn lround(arg1: f64) -> ::core::ffi::c_long;
868}
869unsafe extern "C" {
870 pub fn llround(arg1: f64) -> ::core::ffi::c_longlong;
871}
872unsafe extern "C" {
873 pub fn trunc(arg1: f64) -> f64;
874}
875unsafe extern "C" {
876 pub fn remquo(arg1: f64, arg2: f64, arg3: *mut ::core::ffi::c_int) -> f64;
877}
878unsafe extern "C" {
879 pub fn fdim(arg1: f64, arg2: f64) -> f64;
880}
881unsafe extern "C" {
882 pub fn fmax(arg1: f64, arg2: f64) -> f64;
883}
884unsafe extern "C" {
885 pub fn fmin(arg1: f64, arg2: f64) -> f64;
886}
887unsafe extern "C" {
888 pub fn fma(arg1: f64, arg2: f64, arg3: f64) -> f64;
889}
890unsafe extern "C" {
891 pub fn log1p(arg1: f64) -> f64;
892}
893unsafe extern "C" {
894 pub fn expm1(arg1: f64) -> f64;
895}
896unsafe extern "C" {
897 pub fn acosh(arg1: f64) -> f64;
898}
899unsafe extern "C" {
900 pub fn atanh(arg1: f64) -> f64;
901}
902unsafe extern "C" {
903 pub fn remainder(arg1: f64, arg2: f64) -> f64;
904}
905unsafe extern "C" {
906 pub fn gamma(arg1: f64) -> f64;
907}
908unsafe extern "C" {
909 pub fn lgamma(arg1: f64) -> f64;
910}
911unsafe extern "C" {
912 pub fn erf(arg1: f64) -> f64;
913}
914unsafe extern "C" {
915 pub fn erfc(arg1: f64) -> f64;
916}
917unsafe extern "C" {
918 pub fn log2(arg1: f64) -> f64;
919}
920unsafe extern "C" {
921 pub fn hypot(arg1: f64, arg2: f64) -> f64;
922}
923unsafe extern "C" {
924 pub fn atanf(arg1: f32) -> f32;
925}
926unsafe extern "C" {
927 pub fn cosf(arg1: f32) -> f32;
928}
929unsafe extern "C" {
930 pub fn sinf(arg1: f32) -> f32;
931}
932unsafe extern "C" {
933 pub fn tanf(arg1: f32) -> f32;
934}
935unsafe extern "C" {
936 pub fn tanhf(arg1: f32) -> f32;
937}
938unsafe extern "C" {
939 pub fn frexpf(arg1: f32, arg2: *mut ::core::ffi::c_int) -> f32;
940}
941unsafe extern "C" {
942 pub fn modff(arg1: f32, arg2: *mut f32) -> f32;
943}
944unsafe extern "C" {
945 pub fn ceilf(arg1: f32) -> f32;
946}
947unsafe extern "C" {
948 pub fn fabsf(arg1: f32) -> f32;
949}
950unsafe extern "C" {
951 pub fn floorf(arg1: f32) -> f32;
952}
953unsafe extern "C" {
954 pub fn acosf(arg1: f32) -> f32;
955}
956unsafe extern "C" {
957 pub fn asinf(arg1: f32) -> f32;
958}
959unsafe extern "C" {
960 pub fn atan2f(arg1: f32, arg2: f32) -> f32;
961}
962unsafe extern "C" {
963 pub fn coshf(arg1: f32) -> f32;
964}
965unsafe extern "C" {
966 pub fn sinhf(arg1: f32) -> f32;
967}
968unsafe extern "C" {
969 pub fn expf(arg1: f32) -> f32;
970}
971unsafe extern "C" {
972 pub fn ldexpf(arg1: f32, arg2: ::core::ffi::c_int) -> f32;
973}
974unsafe extern "C" {
975 pub fn logf(arg1: f32) -> f32;
976}
977unsafe extern "C" {
978 pub fn log10f(arg1: f32) -> f32;
979}
980unsafe extern "C" {
981 pub fn powf(arg1: f32, arg2: f32) -> f32;
982}
983unsafe extern "C" {
984 pub fn sqrtf(arg1: f32) -> f32;
985}
986unsafe extern "C" {
987 pub fn fmodf(arg1: f32, arg2: f32) -> f32;
988}
989unsafe extern "C" {
990 pub fn exp2f(arg1: f32) -> f32;
991}
992unsafe extern "C" {
993 pub fn scalblnf(arg1: f32, arg2: ::core::ffi::c_long) -> f32;
994}
995unsafe extern "C" {
996 pub fn tgammaf(arg1: f32) -> f32;
997}
998unsafe extern "C" {
999 pub fn nearbyintf(arg1: f32) -> f32;
1000}
1001unsafe extern "C" {
1002 pub fn lrintf(arg1: f32) -> ::core::ffi::c_long;
1003}
1004unsafe extern "C" {
1005 pub fn llrintf(arg1: f32) -> ::core::ffi::c_longlong;
1006}
1007unsafe extern "C" {
1008 pub fn roundf(arg1: f32) -> f32;
1009}
1010unsafe extern "C" {
1011 pub fn lroundf(arg1: f32) -> ::core::ffi::c_long;
1012}
1013unsafe extern "C" {
1014 pub fn llroundf(arg1: f32) -> ::core::ffi::c_longlong;
1015}
1016unsafe extern "C" {
1017 pub fn truncf(arg1: f32) -> f32;
1018}
1019unsafe extern "C" {
1020 pub fn remquof(arg1: f32, arg2: f32, arg3: *mut ::core::ffi::c_int) -> f32;
1021}
1022unsafe extern "C" {
1023 pub fn fdimf(arg1: f32, arg2: f32) -> f32;
1024}
1025unsafe extern "C" {
1026 pub fn fmaxf(arg1: f32, arg2: f32) -> f32;
1027}
1028unsafe extern "C" {
1029 pub fn fminf(arg1: f32, arg2: f32) -> f32;
1030}
1031unsafe extern "C" {
1032 pub fn fmaf(arg1: f32, arg2: f32, arg3: f32) -> f32;
1033}
1034unsafe extern "C" {
1035 pub fn infinityf() -> f32;
1036}
1037unsafe extern "C" {
1038 pub fn nanf(arg1: *const ::core::ffi::c_char) -> f32;
1039}
1040unsafe extern "C" {
1041 pub fn copysignf(arg1: f32, arg2: f32) -> f32;
1042}
1043unsafe extern "C" {
1044 pub fn logbf(arg1: f32) -> f32;
1045}
1046unsafe extern "C" {
1047 pub fn ilogbf(arg1: f32) -> ::core::ffi::c_int;
1048}
1049unsafe extern "C" {
1050 pub fn asinhf(arg1: f32) -> f32;
1051}
1052unsafe extern "C" {
1053 pub fn cbrtf(arg1: f32) -> f32;
1054}
1055unsafe extern "C" {
1056 pub fn nextafterf(arg1: f32, arg2: f32) -> f32;
1057}
1058unsafe extern "C" {
1059 pub fn rintf(arg1: f32) -> f32;
1060}
1061unsafe extern "C" {
1062 pub fn scalbnf(arg1: f32, arg2: ::core::ffi::c_int) -> f32;
1063}
1064unsafe extern "C" {
1065 pub fn log1pf(arg1: f32) -> f32;
1066}
1067unsafe extern "C" {
1068 pub fn expm1f(arg1: f32) -> f32;
1069}
1070unsafe extern "C" {
1071 pub fn acoshf(arg1: f32) -> f32;
1072}
1073unsafe extern "C" {
1074 pub fn atanhf(arg1: f32) -> f32;
1075}
1076unsafe extern "C" {
1077 pub fn remainderf(arg1: f32, arg2: f32) -> f32;
1078}
1079unsafe extern "C" {
1080 pub fn gammaf(arg1: f32) -> f32;
1081}
1082unsafe extern "C" {
1083 pub fn lgammaf(arg1: f32) -> f32;
1084}
1085unsafe extern "C" {
1086 pub fn erff(arg1: f32) -> f32;
1087}
1088unsafe extern "C" {
1089 pub fn erfcf(arg1: f32) -> f32;
1090}
1091unsafe extern "C" {
1092 pub fn log2f(arg1: f32) -> f32;
1093}
1094unsafe extern "C" {
1095 pub fn hypotf(arg1: f32, arg2: f32) -> f32;
1096}
1097unsafe extern "C" {
1098 pub fn hypotl(arg1: u128, arg2: u128) -> u128;
1099}
1100unsafe extern "C" {
1101 pub fn sqrtl(arg1: u128) -> u128;
1102}
1103unsafe extern "C" {
1104 pub fn frexpl(arg1: u128, arg2: *mut ::core::ffi::c_int) -> u128;
1105}
1106unsafe extern "C" {
1107 pub fn scalbnl(arg1: u128, arg2: ::core::ffi::c_int) -> u128;
1108}
1109unsafe extern "C" {
1110 pub fn scalblnl(arg1: u128, arg2: ::core::ffi::c_long) -> u128;
1111}
1112unsafe extern "C" {
1113 pub fn rintl(arg1: u128) -> u128;
1114}
1115unsafe extern "C" {
1116 pub fn lrintl(arg1: u128) -> ::core::ffi::c_long;
1117}
1118unsafe extern "C" {
1119 pub fn llrintl(arg1: u128) -> ::core::ffi::c_longlong;
1120}
1121unsafe extern "C" {
1122 pub fn ilogbl(arg1: u128) -> ::core::ffi::c_int;
1123}
1124unsafe extern "C" {
1125 pub fn logbl(arg1: u128) -> u128;
1126}
1127unsafe extern "C" {
1128 pub fn ldexpl(arg1: u128, arg2: ::core::ffi::c_int) -> u128;
1129}
1130unsafe extern "C" {
1131 pub fn nearbyintl(arg1: u128) -> u128;
1132}
1133unsafe extern "C" {
1134 pub fn ceill(arg1: u128) -> u128;
1135}
1136unsafe extern "C" {
1137 pub fn fmaxl(arg1: u128, arg2: u128) -> u128;
1138}
1139unsafe extern "C" {
1140 pub fn fminl(arg1: u128, arg2: u128) -> u128;
1141}
1142unsafe extern "C" {
1143 pub fn roundl(arg1: u128) -> u128;
1144}
1145unsafe extern "C" {
1146 pub fn lroundl(arg1: u128) -> ::core::ffi::c_long;
1147}
1148unsafe extern "C" {
1149 pub fn llroundl(arg1: u128) -> ::core::ffi::c_longlong;
1150}
1151unsafe extern "C" {
1152 pub fn truncl(arg1: u128) -> u128;
1153}
1154unsafe extern "C" {
1155 pub fn floorl(arg1: u128) -> u128;
1156}
1157unsafe extern "C" {
1158 pub fn fabsl(arg1: u128) -> u128;
1159}
1160unsafe extern "C" {
1161 pub fn copysignl(arg1: u128, arg2: u128) -> u128;
1162}
1163unsafe extern "C" {
1164 pub fn atanl(arg1: u128) -> u128;
1165}
1166unsafe extern "C" {
1167 pub fn cosl(arg1: u128) -> u128;
1168}
1169unsafe extern "C" {
1170 pub fn sinl(arg1: u128) -> u128;
1171}
1172unsafe extern "C" {
1173 pub fn tanl(arg1: u128) -> u128;
1174}
1175unsafe extern "C" {
1176 pub fn tanhl(arg1: u128) -> u128;
1177}
1178unsafe extern "C" {
1179 pub fn log1pl(arg1: u128) -> u128;
1180}
1181unsafe extern "C" {
1182 pub fn expm1l(arg1: u128) -> u128;
1183}
1184unsafe extern "C" {
1185 pub fn acosl(arg1: u128) -> u128;
1186}
1187unsafe extern "C" {
1188 pub fn asinl(arg1: u128) -> u128;
1189}
1190unsafe extern "C" {
1191 pub fn atan2l(arg1: u128, arg2: u128) -> u128;
1192}
1193unsafe extern "C" {
1194 pub fn coshl(arg1: u128) -> u128;
1195}
1196unsafe extern "C" {
1197 pub fn sinhl(arg1: u128) -> u128;
1198}
1199unsafe extern "C" {
1200 pub fn expl(arg1: u128) -> u128;
1201}
1202unsafe extern "C" {
1203 pub fn logl(arg1: u128) -> u128;
1204}
1205unsafe extern "C" {
1206 pub fn log10l(arg1: u128) -> u128;
1207}
1208unsafe extern "C" {
1209 pub fn powl(arg1: u128, arg2: u128) -> u128;
1210}
1211unsafe extern "C" {
1212 pub fn fmodl(arg1: u128, arg2: u128) -> u128;
1213}
1214unsafe extern "C" {
1215 pub fn asinhl(arg1: u128) -> u128;
1216}
1217unsafe extern "C" {
1218 pub fn cbrtl(arg1: u128) -> u128;
1219}
1220unsafe extern "C" {
1221 pub fn nextafterl(arg1: u128, arg2: u128) -> u128;
1222}
1223unsafe extern "C" {
1224 pub fn nexttowardf(arg1: f32, arg2: u128) -> f32;
1225}
1226unsafe extern "C" {
1227 pub fn nexttoward(arg1: f64, arg2: u128) -> f64;
1228}
1229unsafe extern "C" {
1230 pub fn nexttowardl(arg1: u128, arg2: u128) -> u128;
1231}
1232unsafe extern "C" {
1233 pub fn log2l(arg1: u128) -> u128;
1234}
1235unsafe extern "C" {
1236 pub fn exp2l(arg1: u128) -> u128;
1237}
1238unsafe extern "C" {
1239 pub fn tgammal(arg1: u128) -> u128;
1240}
1241unsafe extern "C" {
1242 pub fn remquol(arg1: u128, arg2: u128, arg3: *mut ::core::ffi::c_int) -> u128;
1243}
1244unsafe extern "C" {
1245 pub fn fdiml(arg1: u128, arg2: u128) -> u128;
1246}
1247unsafe extern "C" {
1248 pub fn fmal(arg1: u128, arg2: u128, arg3: u128) -> u128;
1249}
1250unsafe extern "C" {
1251 pub fn acoshl(arg1: u128) -> u128;
1252}
1253unsafe extern "C" {
1254 pub fn atanhl(arg1: u128) -> u128;
1255}
1256unsafe extern "C" {
1257 pub fn remainderl(arg1: u128, arg2: u128) -> u128;
1258}
1259unsafe extern "C" {
1260 pub fn lgammal(arg1: u128) -> u128;
1261}
1262unsafe extern "C" {
1263 pub fn erfl(arg1: u128) -> u128;
1264}
1265unsafe extern "C" {
1266 pub fn erfcl(arg1: u128) -> u128;
1267}
1268unsafe extern "C" {
1269 pub fn drem(arg1: f64, arg2: f64) -> f64;
1270}
1271unsafe extern "C" {
1272 pub fn dremf(arg1: f32, arg2: f32) -> f32;
1273}
1274unsafe extern "C" {
1275 pub fn lgamma_r(arg1: f64, arg2: *mut ::core::ffi::c_int) -> f64;
1276}
1277unsafe extern "C" {
1278 pub fn lgammaf_r(arg1: f32, arg2: *mut ::core::ffi::c_int) -> f32;
1279}
1280unsafe extern "C" {
1281 pub fn y0(arg1: f64) -> f64;
1282}
1283unsafe extern "C" {
1284 pub fn y1(arg1: f64) -> f64;
1285}
1286unsafe extern "C" {
1287 pub fn yn(arg1: ::core::ffi::c_int, arg2: f64) -> f64;
1288}
1289unsafe extern "C" {
1290 pub fn j0(arg1: f64) -> f64;
1291}
1292unsafe extern "C" {
1293 pub fn j1(arg1: f64) -> f64;
1294}
1295unsafe extern "C" {
1296 pub fn jn(arg1: ::core::ffi::c_int, arg2: f64) -> f64;
1297}
1298unsafe extern "C" {
1299 pub fn y0f(arg1: f32) -> f32;
1300}
1301unsafe extern "C" {
1302 pub fn y1f(arg1: f32) -> f32;
1303}
1304unsafe extern "C" {
1305 pub fn ynf(arg1: ::core::ffi::c_int, arg2: f32) -> f32;
1306}
1307unsafe extern "C" {
1308 pub fn j0f(arg1: f32) -> f32;
1309}
1310unsafe extern "C" {
1311 pub fn j1f(arg1: f32) -> f32;
1312}
1313unsafe extern "C" {
1314 pub fn jnf(arg1: ::core::ffi::c_int, arg2: f32) -> f32;
1315}
1316unsafe extern "C" {
1317 pub fn sincos(arg1: f64, arg2: *mut f64, arg3: *mut f64);
1318}
1319unsafe extern "C" {
1320 pub fn sincosf(arg1: f32, arg2: *mut f32, arg3: *mut f32);
1321}
1322unsafe extern "C" {
1323 pub fn exp10(arg1: f64) -> f64;
1324}
1325unsafe extern "C" {
1326 pub fn pow10(arg1: f64) -> f64;
1327}
1328unsafe extern "C" {
1329 pub fn exp10f(arg1: f32) -> f32;
1330}
1331unsafe extern "C" {
1332 pub fn pow10f(arg1: f32) -> f32;
1333}
1334pub type regoff_t = isize;
1335#[repr(C)]
1336#[derive(Debug, Copy, Clone)]
1337pub struct regex_t {
1338 pub re_magic: ::core::ffi::c_uint,
1339 pub re_nsub: size_t,
1340 pub re_endp: *const ::core::ffi::c_char,
1341 pub re_g: *mut re_guts,
1342}
1343#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1344const _: () = {
1345 ["Size of regex_t"][::core::mem::size_of::<regex_t>() - 16usize];
1346 ["Alignment of regex_t"][::core::mem::align_of::<regex_t>() - 4usize];
1347 ["Offset of field: regex_t::re_magic"][::core::mem::offset_of!(regex_t, re_magic) - 0usize];
1348 ["Offset of field: regex_t::re_nsub"][::core::mem::offset_of!(regex_t, re_nsub) - 4usize];
1349 ["Offset of field: regex_t::re_endp"][::core::mem::offset_of!(regex_t, re_endp) - 8usize];
1350 ["Offset of field: regex_t::re_g"][::core::mem::offset_of!(regex_t, re_g) - 12usize];
1351};
1352#[repr(C)]
1353#[derive(Debug, Copy, Clone)]
1354pub struct regmatch_t {
1355 pub rm_so: regoff_t,
1356 pub rm_eo: regoff_t,
1357}
1358#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1359const _: () = {
1360 ["Size of regmatch_t"][::core::mem::size_of::<regmatch_t>() - 8usize];
1361 ["Alignment of regmatch_t"][::core::mem::align_of::<regmatch_t>() - 4usize];
1362 ["Offset of field: regmatch_t::rm_so"][::core::mem::offset_of!(regmatch_t, rm_so) - 0usize];
1363 ["Offset of field: regmatch_t::rm_eo"][::core::mem::offset_of!(regmatch_t, rm_eo) - 4usize];
1364};
1365unsafe extern "C" {
1366 pub fn regcomp(
1367 arg1: *mut regex_t,
1368 arg2: *const ::core::ffi::c_char,
1369 arg3: ::core::ffi::c_int,
1370 ) -> ::core::ffi::c_int;
1371}
1372unsafe extern "C" {
1373 pub fn regerror(
1374 arg1: ::core::ffi::c_int,
1375 arg2: *const regex_t,
1376 arg3: *mut ::core::ffi::c_char,
1377 arg4: size_t,
1378 ) -> size_t;
1379}
1380unsafe extern "C" {
1381 pub fn regexec(
1382 arg1: *const regex_t,
1383 arg2: *const ::core::ffi::c_char,
1384 arg3: size_t,
1385 arg4: *mut [regmatch_t; 0usize],
1386 arg5: ::core::ffi::c_int,
1387 ) -> ::core::ffi::c_int;
1388}
1389unsafe extern "C" {
1390 pub fn regfree(arg1: *mut regex_t);
1391}
1392pub type in_addr_t = __uint32_t;
1393pub type blkcnt_t = __blkcnt_t;
1394pub type blksize_t = __blksize_t;
1395pub type clock_t = ::core::ffi::c_ulong;
1396pub type time_t = __int_least64_t;
1397pub type ino_t = __ino_t;
1398pub type ssize_t = _ssize_t;
1399pub type off_t = __off_t;
1400pub type dev_t = __dev_t;
1401pub type uid_t = __uid_t;
1402pub type gid_t = __gid_t;
1403pub type pid_t = __pid_t;
1404pub type mode_t = __mode_t;
1405pub type nlink_t = __nlink_t;
1406pub type clockid_t = __clockid_t;
1407pub type useconds_t = __useconds_t;
1408pub type suseconds_t = __suseconds_t;
1409#[repr(u32)]
1410#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1411pub enum VISIT {
1412 preorder = 0,
1413 postorder = 1,
1414 endorder = 2,
1415 leaf = 3,
1416}
1417pub type __compar_fn_t = ::core::option::Option<
1418 unsafe extern "C" fn(
1419 arg1: *const ::core::ffi::c_void,
1420 arg2: *const ::core::ffi::c_void,
1421 ) -> ::core::ffi::c_int,
1422>;
1423unsafe extern "C" {
1424 pub fn tdelete(
1425 arg1: *const ::core::ffi::c_void,
1426 arg2: *mut *mut ::core::ffi::c_void,
1427 arg3: __compar_fn_t,
1428 ) -> *mut ::core::ffi::c_void;
1429}
1430unsafe extern "C" {
1431 pub fn tdestroy(
1432 arg1: *mut ::core::ffi::c_void,
1433 arg2: ::core::option::Option<unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void)>,
1434 );
1435}
1436unsafe extern "C" {
1437 pub fn tfind(
1438 arg1: *const ::core::ffi::c_void,
1439 arg2: *mut *mut ::core::ffi::c_void,
1440 arg3: __compar_fn_t,
1441 ) -> *mut ::core::ffi::c_void;
1442}
1443unsafe extern "C" {
1444 pub fn tsearch(
1445 arg1: *const ::core::ffi::c_void,
1446 arg2: *mut *mut ::core::ffi::c_void,
1447 arg3: __compar_fn_t,
1448 ) -> *mut ::core::ffi::c_void;
1449}
1450unsafe extern "C" {
1451 pub fn twalk(
1452 arg1: *const ::core::ffi::c_void,
1453 arg2: ::core::option::Option<
1454 unsafe extern "C" fn(
1455 arg1: *const ::core::ffi::c_void,
1456 arg2: VISIT,
1457 arg3: ::core::ffi::c_int,
1458 ),
1459 >,
1460 );
1461}
1462unsafe extern "C" {
1463 pub fn longjmp(__jmpb: *mut ::core::ffi::c_longlong, __retval: ::core::ffi::c_int) -> !;
1464}
1465unsafe extern "C" {
1466 pub fn setjmp(__jmpb: *mut ::core::ffi::c_longlong) -> ::core::ffi::c_int;
1467}
1468pub type __gnuc_va_list = __builtin_va_list;
1469pub type __ungetc_t = __uint32_t;
1470#[repr(C)]
1471#[derive(Debug, Copy, Clone)]
1472pub struct __file {
1473 pub unget: __ungetc_t,
1474 pub flags: __uint8_t,
1475 pub put: ::core::option::Option<
1476 unsafe extern "C" fn(arg1: ::core::ffi::c_char, arg2: *mut __file) -> ::core::ffi::c_int,
1477 >,
1478 pub get: ::core::option::Option<unsafe extern "C" fn(arg1: *mut __file) -> ::core::ffi::c_int>,
1479 pub flush:
1480 ::core::option::Option<unsafe extern "C" fn(arg1: *mut __file) -> ::core::ffi::c_int>,
1481}
1482#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1483const _: () = {
1484 ["Size of __file"][::core::mem::size_of::<__file>() - 20usize];
1485 ["Alignment of __file"][::core::mem::align_of::<__file>() - 4usize];
1486 ["Offset of field: __file::unget"][::core::mem::offset_of!(__file, unget) - 0usize];
1487 ["Offset of field: __file::flags"][::core::mem::offset_of!(__file, flags) - 4usize];
1488 ["Offset of field: __file::put"][::core::mem::offset_of!(__file, put) - 8usize];
1489 ["Offset of field: __file::get"][::core::mem::offset_of!(__file, get) - 12usize];
1490 ["Offset of field: __file::flush"][::core::mem::offset_of!(__file, flush) - 16usize];
1491};
1492pub type __FILE = __file;
1493pub type FILE = __FILE;
1494unsafe extern "C" {
1495 pub static stdin: *mut FILE;
1496}
1497unsafe extern "C" {
1498 pub static stdout: *mut FILE;
1499}
1500unsafe extern "C" {
1501 pub static stderr: *mut FILE;
1502}
1503unsafe extern "C" {
1504 pub fn fclose(__stream: *mut FILE) -> ::core::ffi::c_int;
1505}
1506unsafe extern "C" {
1507 pub fn fflush(stream: *mut FILE) -> ::core::ffi::c_int;
1508}
1509unsafe extern "C" {
1510 pub fn fputc(__c: ::core::ffi::c_int, __stream: *mut FILE) -> ::core::ffi::c_int;
1511}
1512unsafe extern "C" {
1513 pub fn putchar(__c: ::core::ffi::c_int) -> ::core::ffi::c_int;
1514}
1515unsafe extern "C" {
1516 pub fn printf(__fmt: *const ::core::ffi::c_char, ...) -> ::core::ffi::c_int;
1517}
1518unsafe extern "C" {
1519 pub fn fprintf(
1520 __stream: *mut FILE,
1521 __fmt: *const ::core::ffi::c_char,
1522 ...
1523 ) -> ::core::ffi::c_int;
1524}
1525unsafe extern "C" {
1526 pub fn vprintf(
1527 __fmt: *const ::core::ffi::c_char,
1528 __ap: __builtin_va_list,
1529 ) -> ::core::ffi::c_int;
1530}
1531unsafe extern "C" {
1532 pub fn vfprintf(
1533 __stream: *mut FILE,
1534 __fmt: *const ::core::ffi::c_char,
1535 __ap: __builtin_va_list,
1536 ) -> ::core::ffi::c_int;
1537}
1538unsafe extern "C" {
1539 pub fn sprintf(
1540 __s: *mut ::core::ffi::c_char,
1541 __fmt: *const ::core::ffi::c_char,
1542 ...
1543 ) -> ::core::ffi::c_int;
1544}
1545unsafe extern "C" {
1546 pub fn snprintf(
1547 __s: *mut ::core::ffi::c_char,
1548 __n: ::core::ffi::c_uint,
1549 __fmt: *const ::core::ffi::c_char,
1550 ...
1551 ) -> ::core::ffi::c_int;
1552}
1553unsafe extern "C" {
1554 pub fn vsprintf(
1555 __s: *mut ::core::ffi::c_char,
1556 __fmt: *const ::core::ffi::c_char,
1557 ap: __builtin_va_list,
1558 ) -> ::core::ffi::c_int;
1559}
1560unsafe extern "C" {
1561 pub fn vsnprintf(
1562 __s: *mut ::core::ffi::c_char,
1563 __n: ::core::ffi::c_uint,
1564 __fmt: *const ::core::ffi::c_char,
1565 ap: __builtin_va_list,
1566 ) -> ::core::ffi::c_int;
1567}
1568unsafe extern "C" {
1569 pub fn asprintf(
1570 strp: *mut *mut ::core::ffi::c_char,
1571 fmt: *const ::core::ffi::c_char,
1572 ...
1573 ) -> ::core::ffi::c_int;
1574}
1575unsafe extern "C" {
1576 pub fn asnprintf(
1577 str_: *mut ::core::ffi::c_char,
1578 lenp: *mut size_t,
1579 fmt: *const ::core::ffi::c_char,
1580 ...
1581 ) -> *mut ::core::ffi::c_char;
1582}
1583unsafe extern "C" {
1584 pub fn vasprintf(
1585 strp: *mut *mut ::core::ffi::c_char,
1586 fmt: *const ::core::ffi::c_char,
1587 ap: __gnuc_va_list,
1588 ) -> ::core::ffi::c_int;
1589}
1590unsafe extern "C" {
1591 pub fn fputs(__str: *const ::core::ffi::c_char, __stream: *mut FILE) -> ::core::ffi::c_int;
1592}
1593unsafe extern "C" {
1594 pub fn puts(__str: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
1595}
1596unsafe extern "C" {
1597 pub fn fwrite(
1598 __ptr: *const ::core::ffi::c_void,
1599 __size: ::core::ffi::c_uint,
1600 __nmemb: ::core::ffi::c_uint,
1601 __stream: *mut FILE,
1602 ) -> ::core::ffi::c_uint;
1603}
1604unsafe extern "C" {
1605 pub fn fgetc(__stream: *mut FILE) -> ::core::ffi::c_int;
1606}
1607unsafe extern "C" {
1608 pub fn getc(__stream: *mut FILE) -> ::core::ffi::c_int;
1609}
1610unsafe extern "C" {
1611 pub fn getchar() -> ::core::ffi::c_int;
1612}
1613unsafe extern "C" {
1614 pub fn ungetc(__c: ::core::ffi::c_int, __stream: *mut FILE) -> ::core::ffi::c_int;
1615}
1616unsafe extern "C" {
1617 pub fn scanf(__fmt: *const ::core::ffi::c_char, ...) -> ::core::ffi::c_int;
1618}
1619unsafe extern "C" {
1620 pub fn fscanf(
1621 __stream: *mut FILE,
1622 __fmt: *const ::core::ffi::c_char,
1623 ...
1624 ) -> ::core::ffi::c_int;
1625}
1626unsafe extern "C" {
1627 pub fn vscanf(__fmt: *const ::core::ffi::c_char, __ap: __builtin_va_list)
1628 -> ::core::ffi::c_int;
1629}
1630unsafe extern "C" {
1631 pub fn vfscanf(
1632 __stream: *mut FILE,
1633 __fmt: *const ::core::ffi::c_char,
1634 __ap: __builtin_va_list,
1635 ) -> ::core::ffi::c_int;
1636}
1637unsafe extern "C" {
1638 pub fn sscanf(
1639 __buf: *const ::core::ffi::c_char,
1640 __fmt: *const ::core::ffi::c_char,
1641 ...
1642 ) -> ::core::ffi::c_int;
1643}
1644unsafe extern "C" {
1645 pub fn vsscanf(
1646 __buf: *const ::core::ffi::c_char,
1647 __fmt: *const ::core::ffi::c_char,
1648 ap: __builtin_va_list,
1649 ) -> ::core::ffi::c_int;
1650}
1651unsafe extern "C" {
1652 pub fn fgets(
1653 __str: *mut ::core::ffi::c_char,
1654 __size: ::core::ffi::c_int,
1655 __stream: *mut FILE,
1656 ) -> *mut ::core::ffi::c_char;
1657}
1658unsafe extern "C" {
1659 pub fn fread(
1660 __ptr: *mut ::core::ffi::c_void,
1661 __size: ::core::ffi::c_uint,
1662 __nmemb: ::core::ffi::c_uint,
1663 __stream: *mut FILE,
1664 ) -> ::core::ffi::c_uint;
1665}
1666unsafe extern "C" {
1667 pub fn clearerr(__stream: *mut FILE);
1668}
1669unsafe extern "C" {
1670 pub fn ferror(__stream: *mut FILE) -> ::core::ffi::c_int;
1671}
1672unsafe extern "C" {
1673 pub fn feof(__stream: *mut FILE) -> ::core::ffi::c_int;
1674}
1675unsafe extern "C" {
1676 pub fn clearerr_unlocked(__stream: *mut FILE);
1677}
1678pub type fpos_t = _fpos_t;
1679unsafe extern "C" {
1680 pub fn fgetpos(stream: *mut FILE, pos: *mut fpos_t) -> ::core::ffi::c_int;
1681}
1682unsafe extern "C" {
1683 pub fn fopen(path: *const ::core::ffi::c_char, mode: *const ::core::ffi::c_char) -> *mut FILE;
1684}
1685unsafe extern "C" {
1686 pub fn freopen(
1687 path: *const ::core::ffi::c_char,
1688 mode: *const ::core::ffi::c_char,
1689 stream: *mut FILE,
1690 ) -> *mut FILE;
1691}
1692unsafe extern "C" {
1693 pub fn fdopen(arg1: ::core::ffi::c_int, arg2: *const ::core::ffi::c_char) -> *mut FILE;
1694}
1695unsafe extern "C" {
1696 pub fn fmemopen(
1697 buf: *mut ::core::ffi::c_void,
1698 size: size_t,
1699 mode: *const ::core::ffi::c_char,
1700 ) -> *mut FILE;
1701}
1702unsafe extern "C" {
1703 pub fn fseek(
1704 stream: *mut FILE,
1705 offset: ::core::ffi::c_long,
1706 whence: ::core::ffi::c_int,
1707 ) -> ::core::ffi::c_int;
1708}
1709unsafe extern "C" {
1710 pub fn fseeko(
1711 stream: *mut FILE,
1712 offset: __off_t,
1713 whence: ::core::ffi::c_int,
1714 ) -> ::core::ffi::c_int;
1715}
1716unsafe extern "C" {
1717 pub fn ftell(stream: *mut FILE) -> ::core::ffi::c_long;
1718}
1719unsafe extern "C" {
1720 pub fn ftello(stream: *mut FILE) -> __off_t;
1721}
1722unsafe extern "C" {
1723 pub fn fileno(arg1: *mut FILE) -> ::core::ffi::c_int;
1724}
1725unsafe extern "C" {
1726 pub fn remove(pathname: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
1727}
1728unsafe extern "C" {
1729 pub fn rename(
1730 oldpath: *const ::core::ffi::c_char,
1731 newpath: *const ::core::ffi::c_char,
1732 ) -> ::core::ffi::c_int;
1733}
1734unsafe extern "C" {
1735 pub fn rewind(stream: *mut FILE);
1736}
1737unsafe extern "C" {
1738 pub fn setbuf(stream: *mut FILE, buf: *mut ::core::ffi::c_char);
1739}
1740unsafe extern "C" {
1741 pub fn setbuffer(stream: *mut FILE, buf: *mut ::core::ffi::c_char, size: size_t);
1742}
1743unsafe extern "C" {
1744 pub fn setlinebuf(stream: *mut FILE);
1745}
1746unsafe extern "C" {
1747 pub fn setvbuf(
1748 stream: *mut FILE,
1749 buf: *mut ::core::ffi::c_char,
1750 mode: ::core::ffi::c_int,
1751 size: size_t,
1752 ) -> ::core::ffi::c_int;
1753}
1754unsafe extern "C" {
1755 pub fn getline(
1756 lineptr: *mut *mut ::core::ffi::c_char,
1757 n: *mut size_t,
1758 stream: *mut FILE,
1759 ) -> _ssize_t;
1760}
1761unsafe extern "C" {
1762 pub fn getdelim(
1763 lineptr: *mut *mut ::core::ffi::c_char,
1764 n: *mut size_t,
1765 delim: ::core::ffi::c_int,
1766 stream: *mut FILE,
1767 ) -> _ssize_t;
1768}
1769unsafe extern "C" {
1770 pub fn funopen(
1771 cookie: *const ::core::ffi::c_void,
1772 readfn: ::core::option::Option<
1773 unsafe extern "C" fn(
1774 cookie: *mut ::core::ffi::c_void,
1775 buf: *mut ::core::ffi::c_void,
1776 n: size_t,
1777 ) -> _ssize_t,
1778 >,
1779 writefn: ::core::option::Option<
1780 unsafe extern "C" fn(
1781 cookie: *mut ::core::ffi::c_void,
1782 buf: *const ::core::ffi::c_void,
1783 n: size_t,
1784 ) -> _ssize_t,
1785 >,
1786 seekfn: ::core::option::Option<
1787 unsafe extern "C" fn(
1788 cookie: *mut ::core::ffi::c_void,
1789 off: __off_t,
1790 whence: ::core::ffi::c_int,
1791 ) -> __off_t,
1792 >,
1793 closefn: ::core::option::Option<
1794 unsafe extern "C" fn(cookie: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
1795 >,
1796 ) -> *mut FILE;
1797}
1798unsafe extern "C" {
1799 pub fn getchar_unlocked() -> ::core::ffi::c_int;
1800}
1801#[repr(C)]
1802#[derive(Debug, Copy, Clone)]
1803pub struct div_t {
1804 pub quot: ::core::ffi::c_int,
1805 pub rem: ::core::ffi::c_int,
1806}
1807#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1808const _: () = {
1809 ["Size of div_t"][::core::mem::size_of::<div_t>() - 8usize];
1810 ["Alignment of div_t"][::core::mem::align_of::<div_t>() - 4usize];
1811 ["Offset of field: div_t::quot"][::core::mem::offset_of!(div_t, quot) - 0usize];
1812 ["Offset of field: div_t::rem"][::core::mem::offset_of!(div_t, rem) - 4usize];
1813};
1814#[repr(C)]
1815#[derive(Debug, Copy, Clone)]
1816pub struct ldiv_t {
1817 pub quot: ::core::ffi::c_long,
1818 pub rem: ::core::ffi::c_long,
1819}
1820#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1821const _: () = {
1822 ["Size of ldiv_t"][::core::mem::size_of::<ldiv_t>() - 8usize];
1823 ["Alignment of ldiv_t"][::core::mem::align_of::<ldiv_t>() - 4usize];
1824 ["Offset of field: ldiv_t::quot"][::core::mem::offset_of!(ldiv_t, quot) - 0usize];
1825 ["Offset of field: ldiv_t::rem"][::core::mem::offset_of!(ldiv_t, rem) - 4usize];
1826};
1827#[repr(C)]
1828#[derive(Debug, Copy, Clone)]
1829pub struct lldiv_t {
1830 pub quot: ::core::ffi::c_longlong,
1831 pub rem: ::core::ffi::c_longlong,
1832}
1833#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1834const _: () = {
1835 ["Size of lldiv_t"][::core::mem::size_of::<lldiv_t>() - 16usize];
1836 ["Alignment of lldiv_t"][::core::mem::align_of::<lldiv_t>() - 8usize];
1837 ["Offset of field: lldiv_t::quot"][::core::mem::offset_of!(lldiv_t, quot) - 0usize];
1838 ["Offset of field: lldiv_t::rem"][::core::mem::offset_of!(lldiv_t, rem) - 8usize];
1839};
1840unsafe extern "C" {
1841 pub fn free(arg1: *mut ::core::ffi::c_void);
1842}
1843unsafe extern "C" {
1844 pub fn _Exit(__status: ::core::ffi::c_int) -> !;
1845}
1846unsafe extern "C" {
1847 pub fn a64l(__input: *const ::core::ffi::c_char) -> ::core::ffi::c_long;
1848}
1849unsafe extern "C" {
1850 pub fn abort() -> !;
1851}
1852unsafe extern "C" {
1853 pub fn abs(arg1: ::core::ffi::c_int) -> ::core::ffi::c_int;
1854}
1855unsafe extern "C" {
1856 pub fn atexit(__func: ::core::option::Option<unsafe extern "C" fn()>) -> ::core::ffi::c_int;
1857}
1858unsafe extern "C" {
1859 pub fn atof(__nptr: *const ::core::ffi::c_char) -> f64;
1860}
1861unsafe extern "C" {
1862 pub fn atoff(__nptr: *const ::core::ffi::c_char) -> f32;
1863}
1864unsafe extern "C" {
1865 pub fn atoi(__nptr: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
1866}
1867unsafe extern "C" {
1868 pub fn atol(__nptr: *const ::core::ffi::c_char) -> ::core::ffi::c_long;
1869}
1870unsafe extern "C" {
1871 pub fn atoll(__nptr: *const ::core::ffi::c_char) -> ::core::ffi::c_longlong;
1872}
1873unsafe extern "C" {
1874 pub fn bsearch(
1875 __key: *const ::core::ffi::c_void,
1876 __base: *const ::core::ffi::c_void,
1877 __nmemb: size_t,
1878 __size: size_t,
1879 _compar: __compar_fn_t,
1880 ) -> *mut ::core::ffi::c_void;
1881}
1882unsafe extern "C" {
1883 pub fn calloc(arg1: ::core::ffi::c_uint, arg2: ::core::ffi::c_uint)
1884 -> *mut ::core::ffi::c_void;
1885}
1886unsafe extern "C" {
1887 pub fn div(__numer: ::core::ffi::c_int, __denom: ::core::ffi::c_int) -> div_t;
1888}
1889unsafe extern "C" {
1890 pub fn exit(__status: ::core::ffi::c_int) -> !;
1891}
1892unsafe extern "C" {
1893 pub fn getenv(__string: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
1894}
1895unsafe extern "C" {
1896 pub fn getsubopt(
1897 arg1: *mut *mut ::core::ffi::c_char,
1898 arg2: *const *mut ::core::ffi::c_char,
1899 arg3: *mut *mut ::core::ffi::c_char,
1900 ) -> ::core::ffi::c_int;
1901}
1902unsafe extern "C" {
1903 pub fn labs(arg1: ::core::ffi::c_long) -> ::core::ffi::c_long;
1904}
1905unsafe extern "C" {
1906 pub fn ldiv(__numer: ::core::ffi::c_long, __denom: ::core::ffi::c_long) -> ldiv_t;
1907}
1908unsafe extern "C" {
1909 pub fn llabs(arg1: ::core::ffi::c_longlong) -> ::core::ffi::c_longlong;
1910}
1911unsafe extern "C" {
1912 pub fn lldiv(__numer: ::core::ffi::c_longlong, __denom: ::core::ffi::c_longlong) -> lldiv_t;
1913}
1914unsafe extern "C" {
1915 pub fn malloc(arg1: ::core::ffi::c_uint) -> *mut ::core::ffi::c_void;
1916}
1917unsafe extern "C" {
1918 pub fn mblen(arg1: *const ::core::ffi::c_char, arg2: size_t) -> ::core::ffi::c_int;
1919}
1920unsafe extern "C" {
1921 pub fn mbstowcs(arg1: *mut wchar_t, arg2: *const ::core::ffi::c_char, arg3: size_t) -> size_t;
1922}
1923unsafe extern "C" {
1924 pub fn mbtowc(
1925 arg1: *mut wchar_t,
1926 arg2: *const ::core::ffi::c_char,
1927 arg3: size_t,
1928 ) -> ::core::ffi::c_int;
1929}
1930unsafe extern "C" {
1931 pub fn qsort(
1932 __base: *mut ::core::ffi::c_void,
1933 __nmemb: size_t,
1934 __size: size_t,
1935 _compar: __compar_fn_t,
1936 );
1937}
1938unsafe extern "C" {
1939 pub fn qsort_r(
1940 __base: *mut ::core::ffi::c_void,
1941 __nmemb: size_t,
1942 __size: size_t,
1943 _compar: ::core::option::Option<
1944 unsafe extern "C" fn(
1945 arg1: *const ::core::ffi::c_void,
1946 arg2: *const ::core::ffi::c_void,
1947 arg3: *mut ::core::ffi::c_void,
1948 ) -> ::core::ffi::c_int,
1949 >,
1950 __thunk: *mut ::core::ffi::c_void,
1951 );
1952}
1953unsafe extern "C" {
1954 pub fn rand() -> ::core::ffi::c_int;
1955}
1956unsafe extern "C" {
1957 pub fn rand_r(__seed: *mut ::core::ffi::c_uint) -> ::core::ffi::c_int;
1958}
1959unsafe extern "C" {
1960 pub fn random() -> ::core::ffi::c_long;
1961}
1962unsafe extern "C" {
1963 pub fn realloc(
1964 arg1: *mut ::core::ffi::c_void,
1965 arg2: ::core::ffi::c_uint,
1966 ) -> *mut ::core::ffi::c_void;
1967}
1968unsafe extern "C" {
1969 pub fn reallocarray(
1970 arg1: *mut ::core::ffi::c_void,
1971 arg2: size_t,
1972 arg3: size_t,
1973 ) -> *mut ::core::ffi::c_void;
1974}
1975unsafe extern "C" {
1976 pub fn rpmatch(response: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
1977}
1978unsafe extern "C" {
1979 pub fn srand(__seed: ::core::ffi::c_uint);
1980}
1981unsafe extern "C" {
1982 pub fn srandom(arg1: ::core::ffi::c_uint);
1983}
1984unsafe extern "C" {
1985 pub fn strtod(__n: *const ::core::ffi::c_char, __end_PTR: *mut *mut ::core::ffi::c_char)
1986 -> f64;
1987}
1988unsafe extern "C" {
1989 pub fn strtof(__n: *const ::core::ffi::c_char, __end_PTR: *mut *mut ::core::ffi::c_char)
1990 -> f32;
1991}
1992unsafe extern "C" {
1993 pub fn strtold(
1994 __n: *const ::core::ffi::c_char,
1995 __end_PTR: *mut *mut ::core::ffi::c_char,
1996 ) -> u128;
1997}
1998unsafe extern "C" {
1999 pub fn strtol(
2000 __n: *const ::core::ffi::c_char,
2001 __end_PTR: *mut *mut ::core::ffi::c_char,
2002 __base: ::core::ffi::c_int,
2003 ) -> ::core::ffi::c_long;
2004}
2005unsafe extern "C" {
2006 pub fn strtoll(
2007 __n: *const ::core::ffi::c_char,
2008 __end_PTR: *mut *mut ::core::ffi::c_char,
2009 __base: ::core::ffi::c_int,
2010 ) -> ::core::ffi::c_longlong;
2011}
2012unsafe extern "C" {
2013 pub fn strtoul(
2014 __n: *const ::core::ffi::c_char,
2015 __end_PTR: *mut *mut ::core::ffi::c_char,
2016 __base: ::core::ffi::c_int,
2017 ) -> ::core::ffi::c_ulong;
2018}
2019unsafe extern "C" {
2020 pub fn strtoull(
2021 __n: *const ::core::ffi::c_char,
2022 __end_PTR: *mut *mut ::core::ffi::c_char,
2023 __base: ::core::ffi::c_int,
2024 ) -> ::core::ffi::c_ulonglong;
2025}
2026unsafe extern "C" {
2027 pub fn strtod_l(
2028 arg1: *const ::core::ffi::c_char,
2029 arg2: *mut *mut ::core::ffi::c_char,
2030 arg3: locale_t,
2031 ) -> f64;
2032}
2033unsafe extern "C" {
2034 pub fn strtof_l(
2035 arg1: *const ::core::ffi::c_char,
2036 arg2: *mut *mut ::core::ffi::c_char,
2037 arg3: locale_t,
2038 ) -> f32;
2039}
2040unsafe extern "C" {
2041 pub fn strtold_l(
2042 arg1: *const ::core::ffi::c_char,
2043 arg2: *mut *mut ::core::ffi::c_char,
2044 arg3: locale_t,
2045 ) -> u128;
2046}
2047unsafe extern "C" {
2048 pub fn strtol_l(
2049 arg1: *const ::core::ffi::c_char,
2050 arg2: *mut *mut ::core::ffi::c_char,
2051 arg3: ::core::ffi::c_int,
2052 arg4: locale_t,
2053 ) -> ::core::ffi::c_long;
2054}
2055unsafe extern "C" {
2056 pub fn strtoul_l(
2057 arg1: *const ::core::ffi::c_char,
2058 arg2: *mut *mut ::core::ffi::c_char,
2059 arg3: ::core::ffi::c_int,
2060 __loc: locale_t,
2061 ) -> ::core::ffi::c_ulong;
2062}
2063unsafe extern "C" {
2064 pub fn strtoll_l(
2065 arg1: *const ::core::ffi::c_char,
2066 arg2: *mut *mut ::core::ffi::c_char,
2067 arg3: ::core::ffi::c_int,
2068 arg4: locale_t,
2069 ) -> ::core::ffi::c_longlong;
2070}
2071unsafe extern "C" {
2072 pub fn strtoull_l(
2073 arg1: *const ::core::ffi::c_char,
2074 arg2: *mut *mut ::core::ffi::c_char,
2075 arg3: ::core::ffi::c_int,
2076 __loc: locale_t,
2077 ) -> ::core::ffi::c_ulonglong;
2078}
2079unsafe extern "C" {
2080 pub fn system(__string: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
2081}
2082unsafe extern "C" {
2083 pub fn wcstombs(arg1: *mut ::core::ffi::c_char, arg2: *const wchar_t, arg3: size_t) -> size_t;
2084}
2085unsafe extern "C" {
2086 pub fn wctomb(arg1: *mut ::core::ffi::c_char, arg2: wchar_t) -> ::core::ffi::c_int;
2087}
2088unsafe extern "C" {
2089 pub fn l64a(__input: ::core::ffi::c_long) -> *mut ::core::ffi::c_char;
2090}
2091unsafe extern "C" {
2092 pub fn gcvt(
2093 arg1: f64,
2094 arg2: ::core::ffi::c_int,
2095 arg3: *mut ::core::ffi::c_char,
2096 ) -> *mut ::core::ffi::c_char;
2097}
2098unsafe extern "C" {
2099 pub fn gcvtf(
2100 arg1: f32,
2101 arg2: ::core::ffi::c_int,
2102 arg3: *mut ::core::ffi::c_char,
2103 ) -> *mut ::core::ffi::c_char;
2104}
2105unsafe extern "C" {
2106 pub fn gcvtl(
2107 arg1: u128,
2108 arg2: ::core::ffi::c_int,
2109 arg3: *mut ::core::ffi::c_char,
2110 ) -> *mut ::core::ffi::c_char;
2111}
2112unsafe extern "C" {
2113 pub fn itoa(
2114 arg1: ::core::ffi::c_int,
2115 arg2: *mut ::core::ffi::c_char,
2116 arg3: ::core::ffi::c_int,
2117 ) -> *mut ::core::ffi::c_char;
2118}
2119unsafe extern "C" {
2120 pub fn utoa(
2121 arg1: ::core::ffi::c_uint,
2122 arg2: *mut ::core::ffi::c_char,
2123 arg3: ::core::ffi::c_int,
2124 ) -> *mut ::core::ffi::c_char;
2125}
2126unsafe extern "C" {
2127 pub fn bcmp(
2128 arg1: *const ::core::ffi::c_void,
2129 arg2: *const ::core::ffi::c_void,
2130 arg3: ::core::ffi::c_uint,
2131 ) -> ::core::ffi::c_int;
2132}
2133unsafe extern "C" {
2134 pub fn bcopy(
2135 arg1: *const ::core::ffi::c_void,
2136 arg2: *mut ::core::ffi::c_void,
2137 arg3: ::core::ffi::c_uint,
2138 );
2139}
2140unsafe extern "C" {
2141 pub fn bzero(arg1: *mut ::core::ffi::c_void, arg2: ::core::ffi::c_uint);
2142}
2143unsafe extern "C" {
2144 pub fn explicit_bzero(arg1: *mut ::core::ffi::c_void, arg2: size_t);
2145}
2146unsafe extern "C" {
2147 pub fn ffs(arg1: ::core::ffi::c_int) -> ::core::ffi::c_int;
2148}
2149unsafe extern "C" {
2150 pub fn ffsl(arg1: ::core::ffi::c_long) -> ::core::ffi::c_int;
2151}
2152unsafe extern "C" {
2153 pub fn ffsll(arg1: ::core::ffi::c_longlong) -> ::core::ffi::c_int;
2154}
2155unsafe extern "C" {
2156 pub fn fls(arg1: ::core::ffi::c_int) -> ::core::ffi::c_int;
2157}
2158unsafe extern "C" {
2159 pub fn flsl(arg1: ::core::ffi::c_long) -> ::core::ffi::c_int;
2160}
2161unsafe extern "C" {
2162 pub fn flsll(arg1: ::core::ffi::c_longlong) -> ::core::ffi::c_int;
2163}
2164unsafe extern "C" {
2165 pub fn index(
2166 arg1: *const ::core::ffi::c_char,
2167 arg2: ::core::ffi::c_int,
2168 ) -> *mut ::core::ffi::c_char;
2169}
2170unsafe extern "C" {
2171 pub fn rindex(
2172 arg1: *const ::core::ffi::c_char,
2173 arg2: ::core::ffi::c_int,
2174 ) -> *mut ::core::ffi::c_char;
2175}
2176unsafe extern "C" {
2177 pub fn strcasecmp(
2178 arg1: *const ::core::ffi::c_char,
2179 arg2: *const ::core::ffi::c_char,
2180 ) -> ::core::ffi::c_int;
2181}
2182unsafe extern "C" {
2183 pub fn strncasecmp(
2184 arg1: *const ::core::ffi::c_char,
2185 arg2: *const ::core::ffi::c_char,
2186 arg3: ::core::ffi::c_uint,
2187 ) -> ::core::ffi::c_int;
2188}
2189unsafe extern "C" {
2190 pub fn strcasecmp_l(
2191 arg1: *const ::core::ffi::c_char,
2192 arg2: *const ::core::ffi::c_char,
2193 arg3: locale_t,
2194 ) -> ::core::ffi::c_int;
2195}
2196unsafe extern "C" {
2197 pub fn strncasecmp_l(
2198 arg1: *const ::core::ffi::c_char,
2199 arg2: *const ::core::ffi::c_char,
2200 arg3: size_t,
2201 arg4: locale_t,
2202 ) -> ::core::ffi::c_int;
2203}
2204unsafe extern "C" {
2205 pub fn memccpy(
2206 arg1: *mut ::core::ffi::c_void,
2207 arg2: *const ::core::ffi::c_void,
2208 arg3: ::core::ffi::c_int,
2209 arg4: ::core::ffi::c_uint,
2210 ) -> *mut ::core::ffi::c_void;
2211}
2212unsafe extern "C" {
2213 pub fn memchr(
2214 arg1: *const ::core::ffi::c_void,
2215 arg2: ::core::ffi::c_int,
2216 arg3: ::core::ffi::c_uint,
2217 ) -> *mut ::core::ffi::c_void;
2218}
2219unsafe extern "C" {
2220 pub fn memcmp(
2221 arg1: *const ::core::ffi::c_void,
2222 arg2: *const ::core::ffi::c_void,
2223 arg3: ::core::ffi::c_uint,
2224 ) -> ::core::ffi::c_int;
2225}
2226unsafe extern "C" {
2227 pub fn memcpy(
2228 arg1: *mut ::core::ffi::c_void,
2229 arg2: *const ::core::ffi::c_void,
2230 arg3: ::core::ffi::c_uint,
2231 ) -> *mut ::core::ffi::c_void;
2232}
2233unsafe extern "C" {
2234 pub fn memmem(
2235 arg1: *const ::core::ffi::c_void,
2236 arg2: size_t,
2237 arg3: *const ::core::ffi::c_void,
2238 arg4: size_t,
2239 ) -> *mut ::core::ffi::c_void;
2240}
2241unsafe extern "C" {
2242 pub fn memmove(
2243 arg1: *mut ::core::ffi::c_void,
2244 arg2: *const ::core::ffi::c_void,
2245 arg3: ::core::ffi::c_uint,
2246 ) -> *mut ::core::ffi::c_void;
2247}
2248unsafe extern "C" {
2249 pub fn mempcpy(
2250 arg1: *mut ::core::ffi::c_void,
2251 arg2: *const ::core::ffi::c_void,
2252 arg3: ::core::ffi::c_uint,
2253 ) -> *mut ::core::ffi::c_void;
2254}
2255unsafe extern "C" {
2256 pub fn memrchr(
2257 arg1: *const ::core::ffi::c_void,
2258 arg2: ::core::ffi::c_int,
2259 arg3: size_t,
2260 ) -> *mut ::core::ffi::c_void;
2261}
2262unsafe extern "C" {
2263 pub fn memset(
2264 arg1: *mut ::core::ffi::c_void,
2265 arg2: ::core::ffi::c_int,
2266 arg3: ::core::ffi::c_uint,
2267 ) -> *mut ::core::ffi::c_void;
2268}
2269unsafe extern "C" {
2270 pub fn rawmemchr(
2271 arg1: *const ::core::ffi::c_void,
2272 arg2: ::core::ffi::c_int,
2273 ) -> *mut ::core::ffi::c_void;
2274}
2275unsafe extern "C" {
2276 pub fn stpcpy(
2277 arg1: *mut ::core::ffi::c_char,
2278 arg2: *const ::core::ffi::c_char,
2279 ) -> *mut ::core::ffi::c_char;
2280}
2281unsafe extern "C" {
2282 pub fn stpncpy(
2283 arg1: *mut ::core::ffi::c_char,
2284 arg2: *const ::core::ffi::c_char,
2285 arg3: ::core::ffi::c_uint,
2286 ) -> *mut ::core::ffi::c_char;
2287}
2288unsafe extern "C" {
2289 pub fn strcasestr(
2290 arg1: *const ::core::ffi::c_char,
2291 arg2: *const ::core::ffi::c_char,
2292 ) -> *mut ::core::ffi::c_char;
2293}
2294unsafe extern "C" {
2295 pub fn strcat(
2296 arg1: *mut ::core::ffi::c_char,
2297 arg2: *const ::core::ffi::c_char,
2298 ) -> *mut ::core::ffi::c_char;
2299}
2300unsafe extern "C" {
2301 pub fn strchr(
2302 arg1: *const ::core::ffi::c_char,
2303 arg2: ::core::ffi::c_int,
2304 ) -> *mut ::core::ffi::c_char;
2305}
2306unsafe extern "C" {
2307 pub fn strchrnul(
2308 arg1: *const ::core::ffi::c_char,
2309 arg2: ::core::ffi::c_int,
2310 ) -> *mut ::core::ffi::c_char;
2311}
2312unsafe extern "C" {
2313 pub fn strcmp(
2314 arg1: *const ::core::ffi::c_char,
2315 arg2: *const ::core::ffi::c_char,
2316 ) -> ::core::ffi::c_int;
2317}
2318unsafe extern "C" {
2319 pub fn strcoll(
2320 arg1: *const ::core::ffi::c_char,
2321 arg2: *const ::core::ffi::c_char,
2322 ) -> ::core::ffi::c_int;
2323}
2324unsafe extern "C" {
2325 pub fn strcoll_l(
2326 arg1: *const ::core::ffi::c_char,
2327 arg2: *const ::core::ffi::c_char,
2328 arg3: locale_t,
2329 ) -> ::core::ffi::c_int;
2330}
2331unsafe extern "C" {
2332 pub fn strcpy(
2333 arg1: *mut ::core::ffi::c_char,
2334 arg2: *const ::core::ffi::c_char,
2335 ) -> *mut ::core::ffi::c_char;
2336}
2337unsafe extern "C" {
2338 pub fn strcspn(
2339 arg1: *const ::core::ffi::c_char,
2340 arg2: *const ::core::ffi::c_char,
2341 ) -> ::core::ffi::c_uint;
2342}
2343unsafe extern "C" {
2344 pub fn strdup(arg1: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
2345}
2346unsafe extern "C" {
2347 pub fn strerror(arg1: ::core::ffi::c_int) -> *mut ::core::ffi::c_char;
2348}
2349unsafe extern "C" {
2350 pub fn strerror_r(
2351 arg1: ::core::ffi::c_int,
2352 arg2: *mut ::core::ffi::c_char,
2353 arg3: size_t,
2354 ) -> *mut ::core::ffi::c_char;
2355}
2356unsafe extern "C" {
2357 pub fn strlcat(
2358 arg1: *mut ::core::ffi::c_char,
2359 arg2: *const ::core::ffi::c_char,
2360 arg3: ::core::ffi::c_uint,
2361 ) -> ::core::ffi::c_uint;
2362}
2363unsafe extern "C" {
2364 pub fn strlen(arg1: *const ::core::ffi::c_char) -> ::core::ffi::c_uint;
2365}
2366unsafe extern "C" {
2367 pub fn strlcpy(
2368 arg1: *mut ::core::ffi::c_char,
2369 arg2: *const ::core::ffi::c_char,
2370 arg3: ::core::ffi::c_uint,
2371 ) -> ::core::ffi::c_uint;
2372}
2373unsafe extern "C" {
2374 pub fn strlwr(arg1: *mut ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
2375}
2376unsafe extern "C" {
2377 pub fn strncat(
2378 arg1: *mut ::core::ffi::c_char,
2379 arg2: *const ::core::ffi::c_char,
2380 arg3: ::core::ffi::c_uint,
2381 ) -> *mut ::core::ffi::c_char;
2382}
2383unsafe extern "C" {
2384 pub fn strncmp(
2385 arg1: *const ::core::ffi::c_char,
2386 arg2: *const ::core::ffi::c_char,
2387 arg3: ::core::ffi::c_uint,
2388 ) -> ::core::ffi::c_int;
2389}
2390unsafe extern "C" {
2391 pub fn strncpy(
2392 arg1: *mut ::core::ffi::c_char,
2393 arg2: *const ::core::ffi::c_char,
2394 arg3: ::core::ffi::c_uint,
2395 ) -> *mut ::core::ffi::c_char;
2396}
2397unsafe extern "C" {
2398 pub fn strndup(
2399 arg1: *const ::core::ffi::c_char,
2400 arg2: ::core::ffi::c_uint,
2401 ) -> *mut ::core::ffi::c_char;
2402}
2403unsafe extern "C" {
2404 pub fn strnlen(arg1: *const ::core::ffi::c_char, arg2: size_t) -> size_t;
2405}
2406unsafe extern "C" {
2407 pub fn strnstr(
2408 arg1: *const ::core::ffi::c_char,
2409 arg2: *const ::core::ffi::c_char,
2410 arg3: size_t,
2411 ) -> *mut ::core::ffi::c_char;
2412}
2413unsafe extern "C" {
2414 pub fn strpbrk(
2415 arg1: *const ::core::ffi::c_char,
2416 arg2: *const ::core::ffi::c_char,
2417 ) -> *mut ::core::ffi::c_char;
2418}
2419unsafe extern "C" {
2420 pub fn strrchr(
2421 arg1: *const ::core::ffi::c_char,
2422 arg2: ::core::ffi::c_int,
2423 ) -> *mut ::core::ffi::c_char;
2424}
2425unsafe extern "C" {
2426 pub fn strsep(
2427 arg1: *mut *mut ::core::ffi::c_char,
2428 arg2: *const ::core::ffi::c_char,
2429 ) -> *mut ::core::ffi::c_char;
2430}
2431unsafe extern "C" {
2432 pub fn strspn(
2433 arg1: *const ::core::ffi::c_char,
2434 arg2: *const ::core::ffi::c_char,
2435 ) -> ::core::ffi::c_uint;
2436}
2437unsafe extern "C" {
2438 pub fn strstr(
2439 arg1: *const ::core::ffi::c_char,
2440 arg2: *const ::core::ffi::c_char,
2441 ) -> *mut ::core::ffi::c_char;
2442}
2443unsafe extern "C" {
2444 pub fn strtok(
2445 arg1: *mut ::core::ffi::c_char,
2446 arg2: *const ::core::ffi::c_char,
2447 ) -> *mut ::core::ffi::c_char;
2448}
2449unsafe extern "C" {
2450 pub fn strtok_r(
2451 arg1: *mut ::core::ffi::c_char,
2452 arg2: *const ::core::ffi::c_char,
2453 arg3: *mut *mut ::core::ffi::c_char,
2454 ) -> *mut ::core::ffi::c_char;
2455}
2456unsafe extern "C" {
2457 pub fn strupr(arg1: *mut ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
2458}
2459unsafe extern "C" {
2460 pub fn strverscmp(
2461 arg1: *const ::core::ffi::c_char,
2462 arg2: *const ::core::ffi::c_char,
2463 ) -> ::core::ffi::c_int;
2464}
2465unsafe extern "C" {
2466 pub fn strxfrm(
2467 arg1: *mut ::core::ffi::c_char,
2468 arg2: *const ::core::ffi::c_char,
2469 arg3: ::core::ffi::c_uint,
2470 ) -> ::core::ffi::c_uint;
2471}
2472unsafe extern "C" {
2473 pub fn strxfrm_l(
2474 arg1: *mut ::core::ffi::c_char,
2475 arg2: *const ::core::ffi::c_char,
2476 arg3: size_t,
2477 arg4: locale_t,
2478 ) -> size_t;
2479}
2480unsafe extern "C" {
2481 pub fn timingsafe_bcmp(
2482 arg1: *const ::core::ffi::c_void,
2483 arg2: *const ::core::ffi::c_void,
2484 arg3: size_t,
2485 ) -> ::core::ffi::c_int;
2486}
2487unsafe extern "C" {
2488 pub fn timingsafe_memcmp(
2489 arg1: *const ::core::ffi::c_void,
2490 arg2: *const ::core::ffi::c_void,
2491 arg3: size_t,
2492 ) -> ::core::ffi::c_int;
2493}
2494#[repr(C)]
2495#[derive(Debug, Copy, Clone)]
2496pub struct timeval {
2497 pub tv_sec: time_t,
2498 pub tv_usec: suseconds_t,
2499}
2500#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2501const _: () = {
2502 ["Size of timeval"][::core::mem::size_of::<timeval>() - 16usize];
2503 ["Alignment of timeval"][::core::mem::align_of::<timeval>() - 8usize];
2504 ["Offset of field: timeval::tv_sec"][::core::mem::offset_of!(timeval, tv_sec) - 0usize];
2505 ["Offset of field: timeval::tv_usec"][::core::mem::offset_of!(timeval, tv_usec) - 8usize];
2506};
2507#[repr(C)]
2508#[derive(Debug, Copy, Clone)]
2509pub struct timespec {
2510 pub tv_sec: time_t,
2511 pub tv_nsec: ::core::ffi::c_long,
2512}
2513#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2514const _: () = {
2515 ["Size of timespec"][::core::mem::size_of::<timespec>() - 16usize];
2516 ["Alignment of timespec"][::core::mem::align_of::<timespec>() - 8usize];
2517 ["Offset of field: timespec::tv_sec"][::core::mem::offset_of!(timespec, tv_sec) - 0usize];
2518 ["Offset of field: timespec::tv_nsec"][::core::mem::offset_of!(timespec, tv_nsec) - 8usize];
2519};
2520pub type __fd_mask = ::core::ffi::c_ulong;
2521#[repr(C)]
2522#[derive(Debug, Copy, Clone)]
2523pub struct fd_set {
2524 pub __fds_bits: [__fd_mask; 2usize],
2525}
2526#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2527const _: () = {
2528 ["Size of fd_set"][::core::mem::size_of::<fd_set>() - 8usize];
2529 ["Alignment of fd_set"][::core::mem::align_of::<fd_set>() - 4usize];
2530 ["Offset of field: fd_set::__fds_bits"][::core::mem::offset_of!(fd_set, __fds_bits) - 0usize];
2531};
2532unsafe extern "C" {
2533 pub fn select(
2534 __n: ::core::ffi::c_int,
2535 __readfds: *mut fd_set,
2536 __writefds: *mut fd_set,
2537 __exceptfds: *mut fd_set,
2538 __timeout: *mut timeval,
2539 ) -> ::core::ffi::c_int;
2540}
2541unsafe extern "C" {
2542 pub fn gettimeofday(__p: *mut timeval, __tz: *mut ::core::ffi::c_void) -> ::core::ffi::c_int;
2543}
2544#[repr(C)]
2545#[derive(Debug, Copy, Clone)]
2546pub struct tms {
2547 pub tms_utime: clock_t,
2548 pub tms_stime: clock_t,
2549 pub tms_cutime: clock_t,
2550 pub tms_cstime: clock_t,
2551}
2552#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2553const _: () = {
2554 ["Size of tms"][::core::mem::size_of::<tms>() - 16usize];
2555 ["Alignment of tms"][::core::mem::align_of::<tms>() - 4usize];
2556 ["Offset of field: tms::tms_utime"][::core::mem::offset_of!(tms, tms_utime) - 0usize];
2557 ["Offset of field: tms::tms_stime"][::core::mem::offset_of!(tms, tms_stime) - 4usize];
2558 ["Offset of field: tms::tms_cutime"][::core::mem::offset_of!(tms, tms_cutime) - 8usize];
2559 ["Offset of field: tms::tms_cstime"][::core::mem::offset_of!(tms, tms_cstime) - 12usize];
2560};
2561unsafe extern "C" {
2562 pub fn times(arg1: *mut tms) -> clock_t;
2563}
2564#[repr(C)]
2565#[derive(Debug, Copy, Clone)]
2566pub struct tm {
2567 pub tm_sec: ::core::ffi::c_int,
2568 pub tm_min: ::core::ffi::c_int,
2569 pub tm_hour: ::core::ffi::c_int,
2570 pub tm_mday: ::core::ffi::c_int,
2571 pub tm_mon: ::core::ffi::c_int,
2572 pub tm_year: ::core::ffi::c_int,
2573 pub tm_wday: ::core::ffi::c_int,
2574 pub tm_yday: ::core::ffi::c_int,
2575 pub tm_isdst: ::core::ffi::c_int,
2576}
2577#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2578const _: () = {
2579 ["Size of tm"][::core::mem::size_of::<tm>() - 36usize];
2580 ["Alignment of tm"][::core::mem::align_of::<tm>() - 4usize];
2581 ["Offset of field: tm::tm_sec"][::core::mem::offset_of!(tm, tm_sec) - 0usize];
2582 ["Offset of field: tm::tm_min"][::core::mem::offset_of!(tm, tm_min) - 4usize];
2583 ["Offset of field: tm::tm_hour"][::core::mem::offset_of!(tm, tm_hour) - 8usize];
2584 ["Offset of field: tm::tm_mday"][::core::mem::offset_of!(tm, tm_mday) - 12usize];
2585 ["Offset of field: tm::tm_mon"][::core::mem::offset_of!(tm, tm_mon) - 16usize];
2586 ["Offset of field: tm::tm_year"][::core::mem::offset_of!(tm, tm_year) - 20usize];
2587 ["Offset of field: tm::tm_wday"][::core::mem::offset_of!(tm, tm_wday) - 24usize];
2588 ["Offset of field: tm::tm_yday"][::core::mem::offset_of!(tm, tm_yday) - 28usize];
2589 ["Offset of field: tm::tm_isdst"][::core::mem::offset_of!(tm, tm_isdst) - 32usize];
2590};
2591unsafe extern "C" {
2592 pub fn asctime(_tblock: *const tm) -> *mut ::core::ffi::c_char;
2593}
2594unsafe extern "C" {
2595 pub fn asctime_r(
2596 arg1: *const tm,
2597 arg2: *mut [::core::ffi::c_char; 26usize],
2598 ) -> *mut ::core::ffi::c_char;
2599}
2600unsafe extern "C" {
2601 pub fn clock() -> clock_t;
2602}
2603unsafe extern "C" {
2604 pub fn clock_gettime(clock_id: clockid_t, tp: *mut timespec) -> ::core::ffi::c_int;
2605}
2606unsafe extern "C" {
2607 pub fn ctime(_time: *const time_t) -> *mut ::core::ffi::c_char;
2608}
2609unsafe extern "C" {
2610 pub fn ctime_r(
2611 arg1: *const time_t,
2612 arg2: *mut [::core::ffi::c_char; 26usize],
2613 ) -> *mut ::core::ffi::c_char;
2614}
2615unsafe extern "C" {
2616 pub fn difftime(_time2: time_t, _time1: time_t) -> f64;
2617}
2618unsafe extern "C" {
2619 pub fn gmtime(_timer: *const time_t) -> *mut tm;
2620}
2621unsafe extern "C" {
2622 pub fn gmtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm;
2623}
2624unsafe extern "C" {
2625 pub fn localtime(_timer: *const time_t) -> *mut tm;
2626}
2627unsafe extern "C" {
2628 pub fn localtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm;
2629}
2630unsafe extern "C" {
2631 pub fn mktime(_timeptr: *mut tm) -> time_t;
2632}
2633unsafe extern "C" {
2634 pub fn strftime(
2635 _s: *mut ::core::ffi::c_char,
2636 _maxsize: size_t,
2637 _fmt: *const ::core::ffi::c_char,
2638 _t: *const tm,
2639 ) -> size_t;
2640}
2641unsafe extern "C" {
2642 pub fn strftime_l(
2643 _s: *mut ::core::ffi::c_char,
2644 _maxsize: size_t,
2645 _fmt: *const ::core::ffi::c_char,
2646 _t: *const tm,
2647 _l: locale_t,
2648 ) -> size_t;
2649}
2650unsafe extern "C" {
2651 pub fn strptime(
2652 arg1: *const ::core::ffi::c_char,
2653 arg2: *const ::core::ffi::c_char,
2654 arg3: *mut tm,
2655 ) -> *mut ::core::ffi::c_char;
2656}
2657unsafe extern "C" {
2658 pub fn strptime_l(
2659 arg1: *const ::core::ffi::c_char,
2660 arg2: *const ::core::ffi::c_char,
2661 arg3: *mut tm,
2662 arg4: locale_t,
2663 ) -> *mut ::core::ffi::c_char;
2664}
2665unsafe extern "C" {
2666 pub fn time(_timer: *mut time_t) -> time_t;
2667}
2668unsafe extern "C" {
2669 pub static mut environ: *mut *mut ::core::ffi::c_char;
2670}
2671unsafe extern "C" {
2672 pub fn close(__fildes: ::core::ffi::c_int) -> ::core::ffi::c_int;
2673}
2674unsafe extern "C" {
2675 pub fn getentropy(arg1: *mut ::core::ffi::c_void, arg2: size_t) -> ::core::ffi::c_int;
2676}
2677unsafe extern "C" {
2678 pub fn getpid() -> pid_t;
2679}
2680unsafe extern "C" {
2681 pub fn isatty(__fildes: ::core::ffi::c_int) -> ::core::ffi::c_int;
2682}
2683unsafe extern "C" {
2684 pub fn link(
2685 __path1: *const ::core::ffi::c_char,
2686 __path2: *const ::core::ffi::c_char,
2687 ) -> ::core::ffi::c_int;
2688}
2689unsafe extern "C" {
2690 pub fn lseek(
2691 __fildes: ::core::ffi::c_int,
2692 __offset: off_t,
2693 __whence: ::core::ffi::c_int,
2694 ) -> off_t;
2695}
2696unsafe extern "C" {
2697 pub fn read(
2698 __fd: ::core::ffi::c_int,
2699 __buf: *mut ::core::ffi::c_void,
2700 __nbyte: size_t,
2701 ) -> ssize_t;
2702}
2703unsafe extern "C" {
2704 pub fn rmdir(__path: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
2705}
2706unsafe extern "C" {
2707 pub fn sleep(__seconds: ::core::ffi::c_uint) -> ::core::ffi::c_uint;
2708}
2709unsafe extern "C" {
2710 pub fn swab(arg1: *const ::core::ffi::c_void, arg2: *mut ::core::ffi::c_void, arg3: ssize_t);
2711}
2712unsafe extern "C" {
2713 pub fn unlink(__path: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
2714}
2715unsafe extern "C" {
2716 pub fn usleep(__useconds: useconds_t) -> ::core::ffi::c_int;
2717}
2718unsafe extern "C" {
2719 pub fn write(
2720 __fd: ::core::ffi::c_int,
2721 __buf: *const ::core::ffi::c_void,
2722 __nbyte: size_t,
2723 ) -> ssize_t;
2724}
2725pub type wctype_t = ::core::ffi::c_int;
2726pub type mbstate_t = _mbstate_t;
2727unsafe extern "C" {
2728 pub fn btowc(arg1: ::core::ffi::c_int) -> wint_t;
2729}
2730unsafe extern "C" {
2731 pub fn fwide(arg1: *mut __FILE, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int;
2732}
2733unsafe extern "C" {
2734 pub fn mbrlen(arg1: *const ::core::ffi::c_char, arg2: size_t, arg3: *mut mbstate_t) -> size_t;
2735}
2736unsafe extern "C" {
2737 pub fn mbrtowc(
2738 arg1: *mut wchar_t,
2739 arg2: *const ::core::ffi::c_char,
2740 arg3: size_t,
2741 arg4: *mut mbstate_t,
2742 ) -> size_t;
2743}
2744unsafe extern "C" {
2745 pub fn mbsinit(arg1: *const mbstate_t) -> ::core::ffi::c_int;
2746}
2747unsafe extern "C" {
2748 pub fn mbsnrtowcs(
2749 arg1: *mut wchar_t,
2750 arg2: *mut *const ::core::ffi::c_char,
2751 arg3: size_t,
2752 arg4: size_t,
2753 arg5: *mut mbstate_t,
2754 ) -> size_t;
2755}
2756unsafe extern "C" {
2757 pub fn mbsrtowcs(
2758 arg1: *mut wchar_t,
2759 arg2: *mut *const ::core::ffi::c_char,
2760 arg3: size_t,
2761 arg4: *mut mbstate_t,
2762 ) -> size_t;
2763}
2764unsafe extern "C" {
2765 pub fn wcpcpy(arg1: *mut wchar_t, arg2: *const wchar_t) -> *mut wchar_t;
2766}
2767unsafe extern "C" {
2768 pub fn wcpncpy(arg1: *mut wchar_t, arg2: *const wchar_t, arg3: size_t) -> *mut wchar_t;
2769}
2770unsafe extern "C" {
2771 pub fn wcrtomb(arg1: *mut ::core::ffi::c_char, arg2: wchar_t, arg3: *mut mbstate_t) -> size_t;
2772}
2773unsafe extern "C" {
2774 pub fn wcscasecmp(arg1: *const wchar_t, arg2: *const wchar_t) -> ::core::ffi::c_int;
2775}
2776unsafe extern "C" {
2777 pub fn wcscasecmp_l(
2778 arg1: *const wchar_t,
2779 arg2: *const wchar_t,
2780 arg3: locale_t,
2781 ) -> ::core::ffi::c_int;
2782}
2783unsafe extern "C" {
2784 pub fn wcscat(arg1: *mut wchar_t, arg2: *const wchar_t) -> *mut wchar_t;
2785}
2786unsafe extern "C" {
2787 pub fn wcschr(
2788 arg1: *const ::core::ffi::c_int,
2789 arg2: ::core::ffi::c_int,
2790 ) -> *mut ::core::ffi::c_int;
2791}
2792unsafe extern "C" {
2793 pub fn wcscmp(
2794 arg1: *const ::core::ffi::c_int,
2795 arg2: *const ::core::ffi::c_int,
2796 ) -> ::core::ffi::c_int;
2797}
2798unsafe extern "C" {
2799 pub fn wcscoll(arg1: *const wchar_t, arg2: *const wchar_t) -> ::core::ffi::c_int;
2800}
2801unsafe extern "C" {
2802 pub fn wcscoll_l(
2803 arg1: *const wchar_t,
2804 arg2: *const wchar_t,
2805 arg3: locale_t,
2806 ) -> ::core::ffi::c_int;
2807}
2808unsafe extern "C" {
2809 pub fn wcscpy(arg1: *mut wchar_t, arg2: *const wchar_t) -> *mut wchar_t;
2810}
2811unsafe extern "C" {
2812 pub fn wcscspn(arg1: *const wchar_t, arg2: *const wchar_t) -> size_t;
2813}
2814unsafe extern "C" {
2815 pub fn wcsdup(arg1: *const wchar_t) -> *mut wchar_t;
2816}
2817unsafe extern "C" {
2818 pub fn wcsftime(
2819 arg1: *mut wchar_t,
2820 arg2: size_t,
2821 arg3: *const wchar_t,
2822 arg4: *const tm,
2823 ) -> size_t;
2824}
2825unsafe extern "C" {
2826 pub fn wcsftime_l(
2827 arg1: *mut wchar_t,
2828 arg2: size_t,
2829 arg3: *const wchar_t,
2830 arg4: *const tm,
2831 arg5: locale_t,
2832 ) -> size_t;
2833}
2834unsafe extern "C" {
2835 pub fn wcslcat(arg1: *mut wchar_t, arg2: *const wchar_t, arg3: size_t) -> size_t;
2836}
2837unsafe extern "C" {
2838 pub fn wcslcpy(arg1: *mut wchar_t, arg2: *const wchar_t, arg3: size_t) -> size_t;
2839}
2840unsafe extern "C" {
2841 pub fn wcslen(arg1: *const ::core::ffi::c_int) -> ::core::ffi::c_uint;
2842}
2843unsafe extern "C" {
2844 pub fn wcsncasecmp(
2845 arg1: *const wchar_t,
2846 arg2: *const wchar_t,
2847 arg3: size_t,
2848 ) -> ::core::ffi::c_int;
2849}
2850unsafe extern "C" {
2851 pub fn wcsncasecmp_l(
2852 arg1: *const wchar_t,
2853 arg2: *const wchar_t,
2854 arg3: size_t,
2855 arg4: locale_t,
2856 ) -> ::core::ffi::c_int;
2857}
2858unsafe extern "C" {
2859 pub fn wcsncat(arg1: *mut wchar_t, arg2: *const wchar_t, arg3: size_t) -> *mut wchar_t;
2860}
2861unsafe extern "C" {
2862 pub fn wcsncmp(
2863 arg1: *const ::core::ffi::c_int,
2864 arg2: *const ::core::ffi::c_int,
2865 arg3: ::core::ffi::c_uint,
2866 ) -> ::core::ffi::c_int;
2867}
2868unsafe extern "C" {
2869 pub fn wcsncpy(arg1: *mut wchar_t, arg2: *const wchar_t, arg3: size_t) -> *mut wchar_t;
2870}
2871unsafe extern "C" {
2872 pub fn wcsnlen(arg1: *const wchar_t, arg2: size_t) -> size_t;
2873}
2874unsafe extern "C" {
2875 pub fn wcsnrtombs(
2876 arg1: *mut ::core::ffi::c_char,
2877 arg2: *mut *const wchar_t,
2878 arg3: size_t,
2879 arg4: size_t,
2880 arg5: *mut mbstate_t,
2881 ) -> size_t;
2882}
2883unsafe extern "C" {
2884 pub fn wcspbrk(arg1: *const wchar_t, arg2: *const wchar_t) -> *mut wchar_t;
2885}
2886unsafe extern "C" {
2887 pub fn wcsrchr(arg1: *const wchar_t, arg2: wchar_t) -> *mut wchar_t;
2888}
2889unsafe extern "C" {
2890 pub fn wcsrtombs(
2891 arg1: *mut ::core::ffi::c_char,
2892 arg2: *mut *const wchar_t,
2893 arg3: size_t,
2894 arg4: *mut mbstate_t,
2895 ) -> size_t;
2896}
2897unsafe extern "C" {
2898 pub fn wcsspn(arg1: *const wchar_t, arg2: *const wchar_t) -> size_t;
2899}
2900unsafe extern "C" {
2901 pub fn wcsstr(arg1: *const wchar_t, arg2: *const wchar_t) -> *mut wchar_t;
2902}
2903unsafe extern "C" {
2904 pub fn wcstod(arg1: *const wchar_t, arg2: *mut *mut wchar_t) -> f64;
2905}
2906unsafe extern "C" {
2907 pub fn wcstod_l(arg1: *const wchar_t, arg2: *mut *mut wchar_t, arg3: locale_t) -> f64;
2908}
2909unsafe extern "C" {
2910 pub fn wcstof(arg1: *const wchar_t, arg2: *mut *mut wchar_t) -> f32;
2911}
2912unsafe extern "C" {
2913 pub fn wcstof_l(arg1: *const wchar_t, arg2: *mut *mut wchar_t, arg3: locale_t) -> f32;
2914}
2915unsafe extern "C" {
2916 pub fn wcstok(
2917 arg1: *mut wchar_t,
2918 arg2: *const wchar_t,
2919 arg3: *mut *mut wchar_t,
2920 ) -> *mut wchar_t;
2921}
2922unsafe extern "C" {
2923 pub fn wcstol(
2924 arg1: *const wchar_t,
2925 arg2: *mut *mut wchar_t,
2926 arg3: ::core::ffi::c_int,
2927 ) -> ::core::ffi::c_long;
2928}
2929unsafe extern "C" {
2930 pub fn wcstol_l(
2931 arg1: *const wchar_t,
2932 arg2: *mut *mut wchar_t,
2933 arg3: ::core::ffi::c_int,
2934 arg4: locale_t,
2935 ) -> ::core::ffi::c_long;
2936}
2937unsafe extern "C" {
2938 pub fn wcstold(arg1: *const wchar_t, arg2: *mut *mut wchar_t) -> u128;
2939}
2940unsafe extern "C" {
2941 pub fn wcstold_l(arg1: *const wchar_t, arg2: *mut *mut wchar_t, arg3: locale_t) -> u128;
2942}
2943unsafe extern "C" {
2944 pub fn wcstoll(
2945 arg1: *const wchar_t,
2946 arg2: *mut *mut wchar_t,
2947 arg3: ::core::ffi::c_int,
2948 ) -> ::core::ffi::c_longlong;
2949}
2950unsafe extern "C" {
2951 pub fn wcstoll_l(
2952 arg1: *const wchar_t,
2953 arg2: *mut *mut wchar_t,
2954 arg3: ::core::ffi::c_int,
2955 arg4: locale_t,
2956 ) -> ::core::ffi::c_longlong;
2957}
2958unsafe extern "C" {
2959 pub fn wcstoul(
2960 arg1: *const wchar_t,
2961 arg2: *mut *mut wchar_t,
2962 arg3: ::core::ffi::c_int,
2963 ) -> ::core::ffi::c_ulong;
2964}
2965unsafe extern "C" {
2966 pub fn wcstoul_l(
2967 arg1: *const wchar_t,
2968 arg2: *mut *mut wchar_t,
2969 arg3: ::core::ffi::c_int,
2970 arg4: locale_t,
2971 ) -> ::core::ffi::c_ulong;
2972}
2973unsafe extern "C" {
2974 pub fn wcstoull(
2975 arg1: *const wchar_t,
2976 arg2: *mut *mut wchar_t,
2977 arg3: ::core::ffi::c_int,
2978 ) -> ::core::ffi::c_ulonglong;
2979}
2980unsafe extern "C" {
2981 pub fn wcstoull_l(
2982 arg1: *const wchar_t,
2983 arg2: *mut *mut wchar_t,
2984 arg3: ::core::ffi::c_int,
2985 arg4: locale_t,
2986 ) -> ::core::ffi::c_ulonglong;
2987}
2988unsafe extern "C" {
2989 pub fn wcswidth(arg1: *const wchar_t, arg2: size_t) -> ::core::ffi::c_int;
2990}
2991unsafe extern "C" {
2992 pub fn wcsxfrm(arg1: *mut wchar_t, arg2: *const wchar_t, arg3: size_t) -> size_t;
2993}
2994unsafe extern "C" {
2995 pub fn wcsxfrm_l(
2996 arg1: *mut wchar_t,
2997 arg2: *const wchar_t,
2998 arg3: size_t,
2999 arg4: locale_t,
3000 ) -> size_t;
3001}
3002unsafe extern "C" {
3003 pub fn wctob(arg1: wint_t) -> ::core::ffi::c_int;
3004}
3005unsafe extern "C" {
3006 pub fn wcwidth(arg1: wchar_t) -> ::core::ffi::c_int;
3007}
3008unsafe extern "C" {
3009 pub fn wmemchr(
3010 arg1: *const ::core::ffi::c_int,
3011 arg2: ::core::ffi::c_int,
3012 arg3: ::core::ffi::c_uint,
3013 ) -> *mut ::core::ffi::c_int;
3014}
3015unsafe extern "C" {
3016 pub fn wmemcmp(
3017 arg1: *const ::core::ffi::c_int,
3018 arg2: *const ::core::ffi::c_int,
3019 arg3: ::core::ffi::c_uint,
3020 ) -> ::core::ffi::c_int;
3021}
3022unsafe extern "C" {
3023 pub fn wmemcpy(
3024 arg1: *mut ::core::ffi::c_int,
3025 arg2: *const ::core::ffi::c_int,
3026 arg3: ::core::ffi::c_uint,
3027 ) -> *mut ::core::ffi::c_int;
3028}
3029unsafe extern "C" {
3030 pub fn wmemmove(
3031 arg1: *mut ::core::ffi::c_int,
3032 arg2: *const ::core::ffi::c_int,
3033 arg3: ::core::ffi::c_uint,
3034 ) -> *mut ::core::ffi::c_int;
3035}
3036unsafe extern "C" {
3037 pub fn wmempcpy(arg1: *mut wchar_t, arg2: *const wchar_t, arg3: size_t) -> *mut wchar_t;
3038}
3039unsafe extern "C" {
3040 pub fn wmemset(arg1: *mut wchar_t, arg2: wchar_t, arg3: size_t) -> *mut wchar_t;
3041}
3042pub type wctrans_t = ::core::ffi::c_int;
3043unsafe extern "C" {
3044 pub fn iswalnum(arg1: wint_t) -> ::core::ffi::c_int;
3045}
3046unsafe extern "C" {
3047 pub fn iswalpha(arg1: wint_t) -> ::core::ffi::c_int;
3048}
3049unsafe extern "C" {
3050 pub fn iswblank(arg1: wint_t) -> ::core::ffi::c_int;
3051}
3052unsafe extern "C" {
3053 pub fn iswcntrl(arg1: wint_t) -> ::core::ffi::c_int;
3054}
3055unsafe extern "C" {
3056 pub fn iswctype(arg1: wint_t, arg2: wctype_t) -> ::core::ffi::c_int;
3057}
3058unsafe extern "C" {
3059 pub fn iswdigit(arg1: wint_t) -> ::core::ffi::c_int;
3060}
3061unsafe extern "C" {
3062 pub fn iswgraph(arg1: wint_t) -> ::core::ffi::c_int;
3063}
3064unsafe extern "C" {
3065 pub fn iswlower(arg1: wint_t) -> ::core::ffi::c_int;
3066}
3067unsafe extern "C" {
3068 pub fn iswprint(arg1: wint_t) -> ::core::ffi::c_int;
3069}
3070unsafe extern "C" {
3071 pub fn iswpunct(arg1: wint_t) -> ::core::ffi::c_int;
3072}
3073unsafe extern "C" {
3074 pub fn iswspace(arg1: wint_t) -> ::core::ffi::c_int;
3075}
3076unsafe extern "C" {
3077 pub fn iswupper(arg1: wint_t) -> ::core::ffi::c_int;
3078}
3079unsafe extern "C" {
3080 pub fn iswxdigit(arg1: wint_t) -> ::core::ffi::c_int;
3081}
3082unsafe extern "C" {
3083 pub fn towupper(arg1: wint_t) -> wint_t;
3084}
3085unsafe extern "C" {
3086 pub fn towlower(arg1: wint_t) -> wint_t;
3087}
3088unsafe extern "C" {
3089 pub fn wctrans(arg1: *const ::core::ffi::c_char) -> wctrans_t;
3090}
3091unsafe extern "C" {
3092 pub fn wctype(arg1: *const ::core::ffi::c_char) -> wctype_t;
3093}
3094unsafe extern "C" {
3095 pub fn iswalnum_l(arg1: wint_t, arg2: locale_t) -> ::core::ffi::c_int;
3096}
3097unsafe extern "C" {
3098 pub fn iswalpha_l(arg1: wint_t, arg2: locale_t) -> ::core::ffi::c_int;
3099}
3100unsafe extern "C" {
3101 pub fn iswblank_l(arg1: wint_t, arg2: locale_t) -> ::core::ffi::c_int;
3102}
3103unsafe extern "C" {
3104 pub fn iswcntrl_l(arg1: wint_t, arg2: locale_t) -> ::core::ffi::c_int;
3105}
3106unsafe extern "C" {
3107 pub fn iswctype_l(arg1: wint_t, arg2: wctype_t, arg3: locale_t) -> ::core::ffi::c_int;
3108}
3109unsafe extern "C" {
3110 pub fn iswdigit_l(arg1: wint_t, arg2: locale_t) -> ::core::ffi::c_int;
3111}
3112unsafe extern "C" {
3113 pub fn iswgraph_l(arg1: wint_t, arg2: locale_t) -> ::core::ffi::c_int;
3114}
3115unsafe extern "C" {
3116 pub fn iswlower_l(arg1: wint_t, arg2: locale_t) -> ::core::ffi::c_int;
3117}
3118unsafe extern "C" {
3119 pub fn iswprint_l(arg1: wint_t, arg2: locale_t) -> ::core::ffi::c_int;
3120}
3121unsafe extern "C" {
3122 pub fn iswpunct_l(arg1: wint_t, arg2: locale_t) -> ::core::ffi::c_int;
3123}
3124unsafe extern "C" {
3125 pub fn iswspace_l(arg1: wint_t, arg2: locale_t) -> ::core::ffi::c_int;
3126}
3127unsafe extern "C" {
3128 pub fn iswupper_l(arg1: wint_t, arg2: locale_t) -> ::core::ffi::c_int;
3129}
3130unsafe extern "C" {
3131 pub fn iswxdigit_l(arg1: wint_t, arg2: locale_t) -> ::core::ffi::c_int;
3132}
3133unsafe extern "C" {
3134 pub fn towupper_l(arg1: wint_t, arg2: locale_t) -> wint_t;
3135}
3136unsafe extern "C" {
3137 pub fn towlower_l(arg1: wint_t, arg2: locale_t) -> wint_t;
3138}
3139unsafe extern "C" {
3140 pub fn wctrans_l(arg1: *const ::core::ffi::c_char, arg2: locale_t) -> wctrans_t;
3141}
3142unsafe extern "C" {
3143 pub fn wctype_l(arg1: *const ::core::ffi::c_char, arg2: locale_t) -> wctype_t;
3144}
3145#[repr(C)]
3146#[derive(Debug, Copy, Clone)]
3147pub struct path_t {
3148 pub buffer: *mut ::core::ffi::c_char,
3149 pub device: *mut ::core::ffi::c_char,
3150 pub directory: *mut ::core::ffi::c_char,
3151 pub filename: *mut ::core::ffi::c_char,
3152 pub unixpath: *mut ::core::ffi::c_char,
3153 pub len: size_t,
3154}
3155#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3156const _: () = {
3157 ["Size of path_t"][::core::mem::size_of::<path_t>() - 24usize];
3158 ["Alignment of path_t"][::core::mem::align_of::<path_t>() - 4usize];
3159 ["Offset of field: path_t::buffer"][::core::mem::offset_of!(path_t, buffer) - 0usize];
3160 ["Offset of field: path_t::device"][::core::mem::offset_of!(path_t, device) - 4usize];
3161 ["Offset of field: path_t::directory"][::core::mem::offset_of!(path_t, directory) - 8usize];
3162 ["Offset of field: path_t::filename"][::core::mem::offset_of!(path_t, filename) - 12usize];
3163 ["Offset of field: path_t::unixpath"][::core::mem::offset_of!(path_t, unixpath) - 16usize];
3164 ["Offset of field: path_t::len"][::core::mem::offset_of!(path_t, len) - 20usize];
3165};
3166#[repr(i32)]
3167#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3168pub enum path_parse_result_t {
3169 PATH_PARSE_OK = 0,
3170 PATH_PARSE_EMPTY_DEVICE = -1,
3171 PATH_PARSE_NO_DEVICE = -2,
3172 PATH_PARSE_UNCLOSED_DIRECTORY = -3,
3173 PATH_PARSE_INVALID_DEVICE_CHAR = -4,
3174 PATH_PARSE_INVALID_DIR_CHAR = -5,
3175 PATH_PARSE_INVALID_FILE_CHAR = -6,
3176 PATH_PARSE_EMPTY_PATH = -7,
3177}
3178unsafe extern "C" {
3179 pub fn parse_path(path: *const ::core::ffi::c_char, result: *mut path_t)
3180 -> path_parse_result_t;
3181}
3182unsafe extern "C" {
3183 pub fn path_free(path: *mut path_t);
3184}
3185unsafe extern "C" {
3186 pub fn mkdir_p(path: *const ::core::ffi::c_char) -> bool;
3187}
3188unsafe extern "C" {
3189 pub fn rm_rf(path: *const ::core::ffi::c_char) -> bool;
3190}
3191unsafe extern "C" {
3192 pub fn path_dirname(path: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
3193}
3194unsafe extern "C" {
3195 pub fn path_basename(path: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
3196}
3197unsafe extern "C" {
3198 pub fn path_devname(path: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
3199}
3200unsafe extern "C" {
3201 pub fn path_dirconcat(
3202 path: *const ::core::ffi::c_char,
3203 subdir: *const ::core::ffi::c_char,
3204 ) -> *mut ::core::ffi::c_char;
3205}
3206unsafe extern "C" {
3207 pub fn path_fileconcat(
3208 path: *const ::core::ffi::c_char,
3209 filename: *const ::core::ffi::c_char,
3210 ) -> *mut ::core::ffi::c_char;
3211}
3212unsafe extern "C" {
3213 pub fn path_concat(
3214 base_path: *const ::core::ffi::c_char,
3215 append_path: *const ::core::ffi::c_char,
3216 ) -> *mut ::core::ffi::c_char;
3217}
3218#[repr(u32)]
3219#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3220pub enum application_source_t {
3221 APPLICATION_SOURCE_UNKNOWN = 0,
3222 APPLICATION_SOURCE_BADGEHUB = 1,
3223 APPLICATION_SOURCE_MAX = 2,
3224}
3225#[repr(C)]
3226#[derive(Debug, Copy, Clone)]
3227pub struct application_t {
3228 pub unique_identifier: *const ::core::ffi::c_char,
3229 pub name: *const ::core::ffi::c_char,
3230 pub author: *const ::core::ffi::c_char,
3231 pub version: *const ::core::ffi::c_char,
3232 pub interpreter: *const ::core::ffi::c_char,
3233 pub metadata_file: *const ::core::ffi::c_char,
3234 pub installed_path: *const ::core::ffi::c_char,
3235 pub binary_path: *const ::core::ffi::c_char,
3236 pub source: application_source_t,
3237}
3238#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3239const _: () = {
3240 ["Size of application_t"][::core::mem::size_of::<application_t>() - 36usize];
3241 ["Alignment of application_t"][::core::mem::align_of::<application_t>() - 4usize];
3242 ["Offset of field: application_t::unique_identifier"]
3243 [::core::mem::offset_of!(application_t, unique_identifier) - 0usize];
3244 ["Offset of field: application_t::name"][::core::mem::offset_of!(application_t, name) - 4usize];
3245 ["Offset of field: application_t::author"]
3246 [::core::mem::offset_of!(application_t, author) - 8usize];
3247 ["Offset of field: application_t::version"]
3248 [::core::mem::offset_of!(application_t, version) - 12usize];
3249 ["Offset of field: application_t::interpreter"]
3250 [::core::mem::offset_of!(application_t, interpreter) - 16usize];
3251 ["Offset of field: application_t::metadata_file"]
3252 [::core::mem::offset_of!(application_t, metadata_file) - 20usize];
3253 ["Offset of field: application_t::installed_path"]
3254 [::core::mem::offset_of!(application_t, installed_path) - 24usize];
3255 ["Offset of field: application_t::binary_path"]
3256 [::core::mem::offset_of!(application_t, binary_path) - 28usize];
3257 ["Offset of field: application_t::source"]
3258 [::core::mem::offset_of!(application_t, source) - 32usize];
3259};
3260#[repr(C)]
3261#[derive(Debug, Copy, Clone)]
3262pub struct application_list {
3263 _unused: [u8; 0],
3264}
3265pub type application_list_handle = *mut application_list;
3266unsafe extern "C" {
3267 pub fn application_launch(unique_identifier: *const ::core::ffi::c_char) -> pid_t;
3268}
3269unsafe extern "C" {
3270 pub fn application_create(
3271 unique_identifier: *const ::core::ffi::c_char,
3272 name: *const ::core::ffi::c_char,
3273 author: *const ::core::ffi::c_char,
3274 version: *const ::core::ffi::c_char,
3275 interpreter: *const ::core::ffi::c_char,
3276 source: application_source_t,
3277 ) -> *mut application_t;
3278}
3279unsafe extern "C" {
3280 pub fn application_set_metadata(
3281 application: *mut application_t,
3282 metadata_file: *const ::core::ffi::c_char,
3283 ) -> bool;
3284}
3285unsafe extern "C" {
3286 pub fn application_set_binary_path(
3287 application: *mut application_t,
3288 binary_path: *const ::core::ffi::c_char,
3289 ) -> bool;
3290}
3291unsafe extern "C" {
3292 pub fn application_set_version(
3293 application: *mut application_t,
3294 version: *const ::core::ffi::c_char,
3295 ) -> bool;
3296}
3297unsafe extern "C" {
3298 pub fn application_set_author(
3299 application: *mut application_t,
3300 author: *const ::core::ffi::c_char,
3301 ) -> bool;
3302}
3303unsafe extern "C" {
3304 pub fn application_set_name(
3305 application: *mut application_t,
3306 name: *const ::core::ffi::c_char,
3307 ) -> bool;
3308}
3309unsafe extern "C" {
3310 pub fn application_set_interpreter(
3311 application: *mut application_t,
3312 interpreter: *const ::core::ffi::c_char,
3313 ) -> bool;
3314}
3315unsafe extern "C" {
3316 pub fn application_destroy(application: *mut application_t) -> bool;
3317}
3318unsafe extern "C" {
3319 pub fn application_create_file(
3320 application: *mut application_t,
3321 file_path: *const ::core::ffi::c_char,
3322 ) -> *mut FILE;
3323}
3324unsafe extern "C" {
3325 pub fn application_create_file_string(
3326 application: *mut application_t,
3327 file_path: *const ::core::ffi::c_char,
3328 ) -> *mut ::core::ffi::c_char;
3329}
3330unsafe extern "C" {
3331 pub fn application_list(out: *mut *mut application_t) -> application_list_handle;
3332}
3333unsafe extern "C" {
3334 pub fn application_list_get_next(list: application_list_handle) -> *mut application_t;
3335}
3336unsafe extern "C" {
3337 pub fn application_list_close(list: application_list_handle);
3338}
3339unsafe extern "C" {
3340 pub fn application_get(unique_identifier: *const ::core::ffi::c_char) -> *mut application_t;
3341}
3342unsafe extern "C" {
3343 pub fn application_free(application: *mut application_t);
3344}
3345pub type key_code_t = u32;
3346pub type key_mod_t = u16;
3347#[repr(u32)]
3348#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3349pub enum keyboard_scancode_t {
3350 KEY_SCANCODE_UNKNOWN = 0,
3351 KEY_SCANCODE_A = 4,
3352 KEY_SCANCODE_B = 5,
3353 KEY_SCANCODE_C = 6,
3354 KEY_SCANCODE_D = 7,
3355 KEY_SCANCODE_E = 8,
3356 KEY_SCANCODE_F = 9,
3357 KEY_SCANCODE_G = 10,
3358 KEY_SCANCODE_H = 11,
3359 KEY_SCANCODE_I = 12,
3360 KEY_SCANCODE_J = 13,
3361 KEY_SCANCODE_K = 14,
3362 KEY_SCANCODE_L = 15,
3363 KEY_SCANCODE_M = 16,
3364 KEY_SCANCODE_N = 17,
3365 KEY_SCANCODE_O = 18,
3366 KEY_SCANCODE_P = 19,
3367 KEY_SCANCODE_Q = 20,
3368 KEY_SCANCODE_R = 21,
3369 KEY_SCANCODE_S = 22,
3370 KEY_SCANCODE_T = 23,
3371 KEY_SCANCODE_U = 24,
3372 KEY_SCANCODE_V = 25,
3373 KEY_SCANCODE_W = 26,
3374 KEY_SCANCODE_X = 27,
3375 KEY_SCANCODE_Y = 28,
3376 KEY_SCANCODE_Z = 29,
3377 KEY_SCANCODE_1 = 30,
3378 KEY_SCANCODE_2 = 31,
3379 KEY_SCANCODE_3 = 32,
3380 KEY_SCANCODE_4 = 33,
3381 KEY_SCANCODE_5 = 34,
3382 KEY_SCANCODE_6 = 35,
3383 KEY_SCANCODE_7 = 36,
3384 KEY_SCANCODE_8 = 37,
3385 KEY_SCANCODE_9 = 38,
3386 KEY_SCANCODE_0 = 39,
3387 KEY_SCANCODE_RETURN = 40,
3388 KEY_SCANCODE_ESCAPE = 41,
3389 KEY_SCANCODE_BACKSPACE = 42,
3390 KEY_SCANCODE_TAB = 43,
3391 KEY_SCANCODE_SPACE = 44,
3392 KEY_SCANCODE_MINUS = 45,
3393 KEY_SCANCODE_EQUALS = 46,
3394 KEY_SCANCODE_LEFTBRACKET = 47,
3395 KEY_SCANCODE_RIGHTBRACKET = 48,
3396 #[doc = "< Located at the lower left of the return\n key on ISO keyboards and at the right end\n of the QWERTY row on ANSI keyboards.\n Produces REVERSE SOLIDUS (backslash) and\n VERTICAL LINE in a US layout, REVERSE\n SOLIDUS and VERTICAL LINE in a UK Mac\n layout, NUMBER SIGN and TILDE in a UK\n Windows layout, DOLLAR SIGN and POUND SIGN\n in a Swiss German layout, NUMBER SIGN and\n APOSTROPHE in a German layout, GRAVE\n ACCENT and POUND SIGN in a French Mac\n layout, and ASTERISK and MICRO SIGN in a\n French Windows layout."]
3397 KEY_SCANCODE_BACKSLASH = 49,
3398 #[doc = "< ISO USB keyboards actually use this code\n instead of 49 for the same key, but all\n OSes I've seen treat the two codes\n identically. So, as an implementor, unless\n your keyboard generates both of those\n codes and your OS treats them differently,\n you should generate KEY_SCANCODE_BACKSLASH\n instead of this code. As a user, you\n should not rely on this code because SDL\n will never generate it with most (all?)\n keyboards."]
3399 KEY_SCANCODE_NONUSHASH = 50,
3400 KEY_SCANCODE_SEMICOLON = 51,
3401 KEY_SCANCODE_APOSTROPHE = 52,
3402 #[doc = "< Located in the top left corner (on both ANSI\n and ISO keyboards). Produces GRAVE ACCENT and\n TILDE in a US Windows layout and in US and UK\n Mac layouts on ANSI keyboards, GRAVE ACCENT\n and NOT SIGN in a UK Windows layout, SECTION\n SIGN and PLUS-MINUS SIGN in US and UK Mac\n layouts on ISO keyboards, SECTION SIGN and\n DEGREE SIGN in a Swiss German layout (Mac:\n only on ISO keyboards), CIRCUMFLEX ACCENT and\n DEGREE SIGN in a German layout (Mac: only on\n ISO keyboards), SUPERSCRIPT TWO and TILDE in a\n French Windows layout, COMMERCIAL AT and\n NUMBER SIGN in a French Mac layout on ISO\n keyboards, and LESS-THAN SIGN and GREATER-THAN\n SIGN in a Swiss German, German, or French Mac\n layout on ANSI keyboards."]
3403 KEY_SCANCODE_GRAVE = 53,
3404 KEY_SCANCODE_COMMA = 54,
3405 KEY_SCANCODE_PERIOD = 55,
3406 KEY_SCANCODE_SLASH = 56,
3407 KEY_SCANCODE_CAPSLOCK = 57,
3408 KEY_SCANCODE_F1 = 58,
3409 KEY_SCANCODE_F2 = 59,
3410 KEY_SCANCODE_F3 = 60,
3411 KEY_SCANCODE_F4 = 61,
3412 KEY_SCANCODE_F5 = 62,
3413 KEY_SCANCODE_F6 = 63,
3414 KEY_SCANCODE_F7 = 64,
3415 KEY_SCANCODE_F8 = 65,
3416 KEY_SCANCODE_F9 = 66,
3417 KEY_SCANCODE_F10 = 67,
3418 KEY_SCANCODE_F11 = 68,
3419 KEY_SCANCODE_F12 = 69,
3420 KEY_SCANCODE_PRINTSCREEN = 70,
3421 KEY_SCANCODE_SCROLLLOCK = 71,
3422 KEY_SCANCODE_PAUSE = 72,
3423 #[doc = "< insert on PC, help on some Mac keyboards (but\ndoes send code 73, not 117)"]
3424 KEY_SCANCODE_INSERT = 73,
3425 KEY_SCANCODE_HOME = 74,
3426 KEY_SCANCODE_PAGEUP = 75,
3427 KEY_SCANCODE_DELETE = 76,
3428 KEY_SCANCODE_END = 77,
3429 KEY_SCANCODE_PAGEDOWN = 78,
3430 KEY_SCANCODE_RIGHT = 79,
3431 KEY_SCANCODE_LEFT = 80,
3432 KEY_SCANCODE_DOWN = 81,
3433 KEY_SCANCODE_UP = 82,
3434 #[doc = "< num lock on PC, clear on Mac keyboards"]
3435 KEY_SCANCODE_NUMLOCKCLEAR = 83,
3436 KEY_SCANCODE_KP_DIVIDE = 84,
3437 KEY_SCANCODE_KP_MULTIPLY = 85,
3438 KEY_SCANCODE_KP_MINUS = 86,
3439 KEY_SCANCODE_KP_PLUS = 87,
3440 KEY_SCANCODE_KP_ENTER = 88,
3441 KEY_SCANCODE_KP_1 = 89,
3442 KEY_SCANCODE_KP_2 = 90,
3443 KEY_SCANCODE_KP_3 = 91,
3444 KEY_SCANCODE_KP_4 = 92,
3445 KEY_SCANCODE_KP_5 = 93,
3446 KEY_SCANCODE_KP_6 = 94,
3447 KEY_SCANCODE_KP_7 = 95,
3448 KEY_SCANCODE_KP_8 = 96,
3449 KEY_SCANCODE_KP_9 = 97,
3450 KEY_SCANCODE_KP_0 = 98,
3451 KEY_SCANCODE_KP_PERIOD = 99,
3452 #[doc = "< This is the additional key that ISO\n keyboards have over ANSI ones,\n located between left shift and Y.\n Produces GRAVE ACCENT and TILDE in a\n US or UK Mac layout, REVERSE SOLIDUS\n (backslash) and VERTICAL LINE in a\n US or UK Windows layout, and\n LESS-THAN SIGN and GREATER-THAN SIGN\n in a Swiss German, German, or French\n layout."]
3453 KEY_SCANCODE_NONUSBACKSLASH = 100,
3454 #[doc = "< windows contextual menu, compose"]
3455 KEY_SCANCODE_APPLICATION = 101,
3456 #[doc = "< The USB document says this is a status flag,\n not a physical key - but some Mac keyboards\n do have a power key."]
3457 KEY_SCANCODE_POWER = 102,
3458 KEY_SCANCODE_KP_EQUALS = 103,
3459 KEY_SCANCODE_F13 = 104,
3460 KEY_SCANCODE_F14 = 105,
3461 KEY_SCANCODE_F15 = 106,
3462 KEY_SCANCODE_F16 = 107,
3463 KEY_SCANCODE_F17 = 108,
3464 KEY_SCANCODE_F18 = 109,
3465 KEY_SCANCODE_F19 = 110,
3466 KEY_SCANCODE_F20 = 111,
3467 KEY_SCANCODE_F21 = 112,
3468 KEY_SCANCODE_F22 = 113,
3469 KEY_SCANCODE_F23 = 114,
3470 KEY_SCANCODE_F24 = 115,
3471 KEY_SCANCODE_EXECUTE = 116,
3472 #[doc = "< AL Integrated Help Center"]
3473 KEY_SCANCODE_HELP = 117,
3474 #[doc = "< Menu (show menu)"]
3475 KEY_SCANCODE_MENU = 118,
3476 KEY_SCANCODE_SELECT = 119,
3477 #[doc = "< AC Stop"]
3478 KEY_SCANCODE_STOP = 120,
3479 #[doc = "< AC Redo/Repeat"]
3480 KEY_SCANCODE_AGAIN = 121,
3481 #[doc = "< AC Undo"]
3482 KEY_SCANCODE_UNDO = 122,
3483 #[doc = "< AC Cut"]
3484 KEY_SCANCODE_CUT = 123,
3485 #[doc = "< AC Copy"]
3486 KEY_SCANCODE_COPY = 124,
3487 #[doc = "< AC Paste"]
3488 KEY_SCANCODE_PASTE = 125,
3489 #[doc = "< AC Find"]
3490 KEY_SCANCODE_FIND = 126,
3491 KEY_SCANCODE_MUTE = 127,
3492 KEY_SCANCODE_VOLUMEUP = 128,
3493 KEY_SCANCODE_VOLUMEDOWN = 129,
3494 KEY_SCANCODE_KP_COMMA = 133,
3495 KEY_SCANCODE_KP_EQUALSAS400 = 134,
3496 #[doc = "< used on Asian keyboards, see\nfootnotes in USB doc"]
3497 KEY_SCANCODE_INTERNATIONAL1 = 135,
3498 KEY_SCANCODE_INTERNATIONAL2 = 136,
3499 #[doc = "< Yen"]
3500 KEY_SCANCODE_INTERNATIONAL3 = 137,
3501 KEY_SCANCODE_INTERNATIONAL4 = 138,
3502 KEY_SCANCODE_INTERNATIONAL5 = 139,
3503 KEY_SCANCODE_INTERNATIONAL6 = 140,
3504 KEY_SCANCODE_INTERNATIONAL7 = 141,
3505 KEY_SCANCODE_INTERNATIONAL8 = 142,
3506 KEY_SCANCODE_INTERNATIONAL9 = 143,
3507 #[doc = "< Hangul/English toggle"]
3508 KEY_SCANCODE_LANG1 = 144,
3509 #[doc = "< Hanja conversion"]
3510 KEY_SCANCODE_LANG2 = 145,
3511 #[doc = "< Katakana"]
3512 KEY_SCANCODE_LANG3 = 146,
3513 #[doc = "< Hiragana"]
3514 KEY_SCANCODE_LANG4 = 147,
3515 #[doc = "< Zenkaku/Hankaku"]
3516 KEY_SCANCODE_LANG5 = 148,
3517 #[doc = "< reserved"]
3518 KEY_SCANCODE_LANG6 = 149,
3519 #[doc = "< reserved"]
3520 KEY_SCANCODE_LANG7 = 150,
3521 #[doc = "< reserved"]
3522 KEY_SCANCODE_LANG8 = 151,
3523 #[doc = "< reserved"]
3524 KEY_SCANCODE_LANG9 = 152,
3525 #[doc = "< Erase-Eaze"]
3526 KEY_SCANCODE_ALTERASE = 153,
3527 KEY_SCANCODE_SYSREQ = 154,
3528 #[doc = "< AC Cancel"]
3529 KEY_SCANCODE_CANCEL = 155,
3530 KEY_SCANCODE_CLEAR = 156,
3531 KEY_SCANCODE_PRIOR = 157,
3532 KEY_SCANCODE_RETURN2 = 158,
3533 KEY_SCANCODE_SEPARATOR = 159,
3534 KEY_SCANCODE_OUT = 160,
3535 KEY_SCANCODE_OPER = 161,
3536 KEY_SCANCODE_CLEARAGAIN = 162,
3537 KEY_SCANCODE_CRSEL = 163,
3538 KEY_SCANCODE_EXSEL = 164,
3539 KEY_SCANCODE_KP_00 = 176,
3540 KEY_SCANCODE_KP_000 = 177,
3541 KEY_SCANCODE_THOUSANDSSEPARATOR = 178,
3542 KEY_SCANCODE_DECIMALSEPARATOR = 179,
3543 KEY_SCANCODE_CURRENCYUNIT = 180,
3544 KEY_SCANCODE_CURRENCYSUBUNIT = 181,
3545 KEY_SCANCODE_KP_LEFTPAREN = 182,
3546 KEY_SCANCODE_KP_RIGHTPAREN = 183,
3547 KEY_SCANCODE_KP_LEFTBRACE = 184,
3548 KEY_SCANCODE_KP_RIGHTBRACE = 185,
3549 KEY_SCANCODE_KP_TAB = 186,
3550 KEY_SCANCODE_KP_BACKSPACE = 187,
3551 KEY_SCANCODE_KP_A = 188,
3552 KEY_SCANCODE_KP_B = 189,
3553 KEY_SCANCODE_KP_C = 190,
3554 KEY_SCANCODE_KP_D = 191,
3555 KEY_SCANCODE_KP_E = 192,
3556 KEY_SCANCODE_KP_F = 193,
3557 KEY_SCANCODE_KP_XOR = 194,
3558 KEY_SCANCODE_KP_POWER = 195,
3559 KEY_SCANCODE_KP_PERCENT = 196,
3560 KEY_SCANCODE_KP_LESS = 197,
3561 KEY_SCANCODE_KP_GREATER = 198,
3562 KEY_SCANCODE_KP_AMPERSAND = 199,
3563 KEY_SCANCODE_KP_DBLAMPERSAND = 200,
3564 KEY_SCANCODE_KP_VERTICALBAR = 201,
3565 KEY_SCANCODE_KP_DBLVERTICALBAR = 202,
3566 KEY_SCANCODE_KP_COLON = 203,
3567 KEY_SCANCODE_KP_HASH = 204,
3568 KEY_SCANCODE_KP_SPACE = 205,
3569 KEY_SCANCODE_KP_AT = 206,
3570 KEY_SCANCODE_KP_EXCLAM = 207,
3571 KEY_SCANCODE_KP_MEMSTORE = 208,
3572 KEY_SCANCODE_KP_MEMRECALL = 209,
3573 KEY_SCANCODE_KP_MEMCLEAR = 210,
3574 KEY_SCANCODE_KP_MEMADD = 211,
3575 KEY_SCANCODE_KP_MEMSUBTRACT = 212,
3576 KEY_SCANCODE_KP_MEMMULTIPLY = 213,
3577 KEY_SCANCODE_KP_MEMDIVIDE = 214,
3578 KEY_SCANCODE_KP_PLUSMINUS = 215,
3579 KEY_SCANCODE_KP_CLEAR = 216,
3580 KEY_SCANCODE_KP_CLEARENTRY = 217,
3581 KEY_SCANCODE_KP_BINARY = 218,
3582 KEY_SCANCODE_KP_OCTAL = 219,
3583 KEY_SCANCODE_KP_DECIMAL = 220,
3584 KEY_SCANCODE_KP_HEXADECIMAL = 221,
3585 KEY_SCANCODE_LCTRL = 224,
3586 KEY_SCANCODE_LSHIFT = 225,
3587 #[doc = "< alt, option"]
3588 KEY_SCANCODE_LALT = 226,
3589 #[doc = "< windows, command (apple), meta"]
3590 KEY_SCANCODE_LGUI = 227,
3591 KEY_SCANCODE_RCTRL = 228,
3592 KEY_SCANCODE_RSHIFT = 229,
3593 #[doc = "< alt gr, option"]
3594 KEY_SCANCODE_RALT = 230,
3595 #[doc = "< windows, command (apple), meta"]
3596 KEY_SCANCODE_RGUI = 231,
3597 #[doc = "< I'm not sure if this is really not covered\n by any of the above, but since there's a\n special KMOD_MODE for it I'm adding it here"]
3598 KEY_SCANCODE_MODE = 257,
3599 #[doc = "< Sleep"]
3600 KEY_SCANCODE_SLEEP = 258,
3601 #[doc = "< Wake"]
3602 KEY_SCANCODE_WAKE = 259,
3603 #[doc = "< Channel Increment"]
3604 KEY_SCANCODE_CHANNEL_INCREMENT = 260,
3605 #[doc = "< Channel Decrement"]
3606 KEY_SCANCODE_CHANNEL_DECREMENT = 261,
3607 #[doc = "< Play"]
3608 KEY_SCANCODE_MEDIA_PLAY = 262,
3609 #[doc = "< Pause"]
3610 KEY_SCANCODE_MEDIA_PAUSE = 263,
3611 #[doc = "< Record"]
3612 KEY_SCANCODE_MEDIA_RECORD = 264,
3613 #[doc = "< Fast Forward"]
3614 KEY_SCANCODE_MEDIA_FAST_FORWARD = 265,
3615 #[doc = "< Rewind"]
3616 KEY_SCANCODE_MEDIA_REWIND = 266,
3617 #[doc = "< Next Track"]
3618 KEY_SCANCODE_MEDIA_NEXT_TRACK = 267,
3619 #[doc = "< Previous Track"]
3620 KEY_SCANCODE_MEDIA_PREVIOUS_TRACK = 268,
3621 #[doc = "< Stop"]
3622 KEY_SCANCODE_MEDIA_STOP = 269,
3623 #[doc = "< Eject"]
3624 KEY_SCANCODE_MEDIA_EJECT = 270,
3625 #[doc = "< Play / Pause"]
3626 KEY_SCANCODE_MEDIA_PLAY_PAUSE = 271,
3627 KEY_SCANCODE_MEDIA_SELECT = 272,
3628 #[doc = "< AC New"]
3629 KEY_SCANCODE_AC_NEW = 273,
3630 #[doc = "< AC Open"]
3631 KEY_SCANCODE_AC_OPEN = 274,
3632 #[doc = "< AC Close"]
3633 KEY_SCANCODE_AC_CLOSE = 275,
3634 #[doc = "< AC Exit"]
3635 KEY_SCANCODE_AC_EXIT = 276,
3636 #[doc = "< AC Save"]
3637 KEY_SCANCODE_AC_SAVE = 277,
3638 #[doc = "< AC Print"]
3639 KEY_SCANCODE_AC_PRINT = 278,
3640 #[doc = "< AC Properties"]
3641 KEY_SCANCODE_AC_PROPERTIES = 279,
3642 #[doc = "< AC Search"]
3643 KEY_SCANCODE_AC_SEARCH = 280,
3644 #[doc = "< AC Home"]
3645 KEY_SCANCODE_AC_HOME = 281,
3646 #[doc = "< AC Back"]
3647 KEY_SCANCODE_AC_BACK = 282,
3648 #[doc = "< AC Forward"]
3649 KEY_SCANCODE_AC_FORWARD = 283,
3650 #[doc = "< AC Stop"]
3651 KEY_SCANCODE_AC_STOP = 284,
3652 #[doc = "< AC Refresh"]
3653 KEY_SCANCODE_AC_REFRESH = 285,
3654 #[doc = "< AC Bookmarks"]
3655 KEY_SCANCODE_AC_BOOKMARKS = 286,
3656 #[doc = "< Usually situated below the display on phones and\nused as a multi-function feature key for selecting\na software defined function shown on the bottom left\nof the display."]
3657 KEY_SCANCODE_SOFTLEFT = 287,
3658 #[doc = "< Usually situated below the display on phones and\nused as a multi-function feature key for selecting\na software defined function shown on the bottom right\nof the display."]
3659 KEY_SCANCODE_SOFTRIGHT = 288,
3660 #[doc = "< Used for accepting phone calls."]
3661 KEY_SCANCODE_CALL = 289,
3662 #[doc = "< Used for rejecting phone calls."]
3663 KEY_SCANCODE_ENDCALL = 290,
3664 KEY_SCANCODE_FN = 291,
3665 KEY_SCANCODE_SQUARE = 292,
3666 KEY_SCANCODE_TRIANGLE = 293,
3667 KEY_SCANCODE_CROSS = 294,
3668 KEY_SCANCODE_CIRCLE = 295,
3669 KEY_SCANCODE_CLOUD = 296,
3670 KEY_SCANCODE_DIAMOND = 297,
3671 #[doc = "< 400-500 reserved for dynamic keycodes"]
3672 KEY_SCANCODE_RESERVED = 400,
3673 #[doc = "< not a key, just marks the number of scancodes for array bounds"]
3674 KEY_SCANCODE_COUNT = 512,
3675}
3676#[repr(u32)]
3677#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3678pub enum event_type {
3679 EVENT_NONE = 0,
3680 EVENT_QUIT = 1,
3681 EVENT_KEY_DOWN = 2,
3682 EVENT_KEY_UP = 3,
3683 EVENT_WINDOW_RESIZE = 4,
3684}
3685pub use self::event_type as event_type_t;
3686#[repr(C)]
3687#[derive(Debug, Copy, Clone)]
3688pub struct keyboard_event_t {
3689 #[doc = "< In nanoseconds, populated using gettimeofday"]
3690 pub timestamp: u64,
3691 #[doc = "< SDL physical key code"]
3692 pub scancode: keyboard_scancode_t,
3693 #[doc = "< SDL virtual key code"]
3694 pub key: key_code_t,
3695 #[doc = "< current key modifiers"]
3696 pub mod_: key_mod_t,
3697 #[doc = "< resolved key including mods"]
3698 pub text: ::core::ffi::c_char,
3699 #[doc = "< true if the key is pressed"]
3700 pub down: bool,
3701 #[doc = "< true if this is a key repeat"]
3702 pub repeat: bool,
3703}
3704#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3705const _: () = {
3706 ["Size of keyboard_event_t"][::core::mem::size_of::<keyboard_event_t>() - 24usize];
3707 ["Alignment of keyboard_event_t"][::core::mem::align_of::<keyboard_event_t>() - 8usize];
3708 ["Offset of field: keyboard_event_t::timestamp"]
3709 [::core::mem::offset_of!(keyboard_event_t, timestamp) - 0usize];
3710 ["Offset of field: keyboard_event_t::scancode"]
3711 [::core::mem::offset_of!(keyboard_event_t, scancode) - 8usize];
3712 ["Offset of field: keyboard_event_t::key"]
3713 [::core::mem::offset_of!(keyboard_event_t, key) - 12usize];
3714 ["Offset of field: keyboard_event_t::mod_"]
3715 [::core::mem::offset_of!(keyboard_event_t, mod_) - 16usize];
3716 ["Offset of field: keyboard_event_t::text"]
3717 [::core::mem::offset_of!(keyboard_event_t, text) - 18usize];
3718 ["Offset of field: keyboard_event_t::down"]
3719 [::core::mem::offset_of!(keyboard_event_t, down) - 19usize];
3720 ["Offset of field: keyboard_event_t::repeat"]
3721 [::core::mem::offset_of!(keyboard_event_t, repeat) - 20usize];
3722};
3723#[repr(C)]
3724#[derive(Copy, Clone)]
3725pub struct event_t {
3726 pub type_: event_type_t,
3727 pub __bindgen_anon_1: event_t__bindgen_ty_1,
3728}
3729#[repr(C)]
3730#[derive(Copy, Clone)]
3731pub union event_t__bindgen_ty_1 {
3732 pub keyboard: keyboard_event_t,
3733}
3734#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3735const _: () = {
3736 ["Size of event_t__bindgen_ty_1"][::core::mem::size_of::<event_t__bindgen_ty_1>() - 24usize];
3737 ["Alignment of event_t__bindgen_ty_1"]
3738 [::core::mem::align_of::<event_t__bindgen_ty_1>() - 8usize];
3739 ["Offset of field: event_t__bindgen_ty_1::keyboard"]
3740 [::core::mem::offset_of!(event_t__bindgen_ty_1, keyboard) - 0usize];
3741};
3742impl ::core::fmt::Debug for event_t__bindgen_ty_1 {
3743 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3744 write!(f, "event_t__bindgen_ty_1 {{ union }}")
3745 }
3746}
3747#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3748const _: () = {
3749 ["Size of event_t"][::core::mem::size_of::<event_t>() - 32usize];
3750 ["Alignment of event_t"][::core::mem::align_of::<event_t>() - 8usize];
3751 ["Offset of field: event_t::type_"][::core::mem::offset_of!(event_t, type_) - 0usize];
3752};
3753impl ::core::fmt::Debug for event_t {
3754 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3755 write!(
3756 f,
3757 "event_t {{ type: {:?}, __bindgen_anon_1: {:?} }}",
3758 self.type_, self.__bindgen_anon_1
3759 )
3760 }
3761}
3762#[repr(u32)]
3763#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3764pub enum pixel_format_t {
3765 BADGEVMS_PIXELFORMAT_UNKNOWN = 0,
3766 BADGEVMS_PIXELFORMAT_INDEX1LSB = 286261504,
3767 BADGEVMS_PIXELFORMAT_INDEX1MSB = 287310080,
3768 BADGEVMS_PIXELFORMAT_INDEX2LSB = 470811136,
3769 BADGEVMS_PIXELFORMAT_INDEX2MSB = 471859712,
3770 BADGEVMS_PIXELFORMAT_INDEX4LSB = 303039488,
3771 BADGEVMS_PIXELFORMAT_INDEX4MSB = 304088064,
3772 BADGEVMS_PIXELFORMAT_INDEX8 = 318769153,
3773 BADGEVMS_PIXELFORMAT_RGB332 = 336660481,
3774 BADGEVMS_PIXELFORMAT_XRGB4444 = 353504258,
3775 BADGEVMS_PIXELFORMAT_XBGR4444 = 357698562,
3776 BADGEVMS_PIXELFORMAT_XRGB1555 = 353570562,
3777 BADGEVMS_PIXELFORMAT_XBGR1555 = 357764866,
3778 BADGEVMS_PIXELFORMAT_ARGB4444 = 355602434,
3779 BADGEVMS_PIXELFORMAT_RGBA4444 = 356651010,
3780 BADGEVMS_PIXELFORMAT_ABGR4444 = 359796738,
3781 BADGEVMS_PIXELFORMAT_BGRA4444 = 360845314,
3782 BADGEVMS_PIXELFORMAT_ARGB1555 = 355667970,
3783 BADGEVMS_PIXELFORMAT_RGBA5551 = 356782082,
3784 BADGEVMS_PIXELFORMAT_ABGR1555 = 359862274,
3785 BADGEVMS_PIXELFORMAT_BGRA5551 = 360976386,
3786 BADGEVMS_PIXELFORMAT_RGB565 = 353701890,
3787 BADGEVMS_PIXELFORMAT_BGR565 = 357896194,
3788 BADGEVMS_PIXELFORMAT_RGB24 = 386930691,
3789 BADGEVMS_PIXELFORMAT_BGR24 = 390076419,
3790 BADGEVMS_PIXELFORMAT_XRGB8888 = 370546692,
3791 BADGEVMS_PIXELFORMAT_RGBX8888 = 371595268,
3792 BADGEVMS_PIXELFORMAT_XBGR8888 = 374740996,
3793 BADGEVMS_PIXELFORMAT_BGRX8888 = 375789572,
3794 BADGEVMS_PIXELFORMAT_ARGB8888 = 372645892,
3795 BADGEVMS_PIXELFORMAT_RGBA8888 = 373694468,
3796 BADGEVMS_PIXELFORMAT_ABGR8888 = 376840196,
3797 BADGEVMS_PIXELFORMAT_BGRA8888 = 377888772,
3798 BADGEVMS_PIXELFORMAT_XRGB2101010 = 370614276,
3799 BADGEVMS_PIXELFORMAT_XBGR2101010 = 374808580,
3800 BADGEVMS_PIXELFORMAT_ARGB2101010 = 372711428,
3801 BADGEVMS_PIXELFORMAT_ABGR2101010 = 376905732,
3802 BADGEVMS_PIXELFORMAT_RGB48 = 403714054,
3803 BADGEVMS_PIXELFORMAT_BGR48 = 406859782,
3804 BADGEVMS_PIXELFORMAT_RGBA64 = 404766728,
3805 BADGEVMS_PIXELFORMAT_ARGB64 = 405815304,
3806 BADGEVMS_PIXELFORMAT_BGRA64 = 407912456,
3807 BADGEVMS_PIXELFORMAT_ABGR64 = 408961032,
3808 BADGEVMS_PIXELFORMAT_RGB48_FLOAT = 437268486,
3809 BADGEVMS_PIXELFORMAT_BGR48_FLOAT = 440414214,
3810 BADGEVMS_PIXELFORMAT_RGBA64_FLOAT = 438321160,
3811 BADGEVMS_PIXELFORMAT_ARGB64_FLOAT = 439369736,
3812 BADGEVMS_PIXELFORMAT_BGRA64_FLOAT = 441466888,
3813 BADGEVMS_PIXELFORMAT_ABGR64_FLOAT = 442515464,
3814 BADGEVMS_PIXELFORMAT_RGB96_FLOAT = 454057996,
3815 BADGEVMS_PIXELFORMAT_BGR96_FLOAT = 457203724,
3816 BADGEVMS_PIXELFORMAT_RGBA128_FLOAT = 455114768,
3817 BADGEVMS_PIXELFORMAT_ARGB128_FLOAT = 456163344,
3818 BADGEVMS_PIXELFORMAT_BGRA128_FLOAT = 458260496,
3819 BADGEVMS_PIXELFORMAT_ABGR128_FLOAT = 459309072,
3820 #[doc = "< Planar mode: Y + V + U (3 planes)"]
3821 BADGEVMS_PIXELFORMAT_YV12 = 842094169,
3822 #[doc = "< Planar mode: Y + U + V (3 planes)"]
3823 BADGEVMS_PIXELFORMAT_IYUV = 1448433993,
3824 #[doc = "< Packed mode: Y0+U0+Y1+V0 (1 plane)"]
3825 BADGEVMS_PIXELFORMAT_YUY2 = 844715353,
3826 #[doc = "< Packed mode: U0+Y0+V0+Y1 (1 plane)"]
3827 BADGEVMS_PIXELFORMAT_UYVY = 1498831189,
3828 #[doc = "< Packed mode: Y0+V0+Y1+U0 (1 plane)"]
3829 BADGEVMS_PIXELFORMAT_YVYU = 1431918169,
3830 #[doc = "< Planar mode: Y + U/V interleaved (2 planes)"]
3831 BADGEVMS_PIXELFORMAT_NV12 = 842094158,
3832 #[doc = "< Planar mode: Y + V/U interleaved (2 planes)"]
3833 BADGEVMS_PIXELFORMAT_NV21 = 825382478,
3834 #[doc = "< Planar mode: Y + U/V interleaved (2 planes)"]
3835 BADGEVMS_PIXELFORMAT_P010 = 808530000,
3836 #[doc = "< Android video texture format"]
3837 BADGEVMS_PIXELFORMAT_EXTERNAL_OES = 542328143,
3838 #[doc = "< Motion JPEG"]
3839 BADGEVMS_PIXELFORMAT_MJPG = 1196444237,
3840}
3841#[repr(C)]
3842#[derive(Debug, Copy, Clone)]
3843pub struct framebuffer_t {
3844 pub w: u32,
3845 pub h: u32,
3846 pub format: pixel_format_t,
3847 pub pixels: *mut u16,
3848}
3849#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3850const _: () = {
3851 ["Size of framebuffer_t"][::core::mem::size_of::<framebuffer_t>() - 16usize];
3852 ["Alignment of framebuffer_t"][::core::mem::align_of::<framebuffer_t>() - 4usize];
3853 ["Offset of field: framebuffer_t::w"][::core::mem::offset_of!(framebuffer_t, w) - 0usize];
3854 ["Offset of field: framebuffer_t::h"][::core::mem::offset_of!(framebuffer_t, h) - 4usize];
3855 ["Offset of field: framebuffer_t::format"]
3856 [::core::mem::offset_of!(framebuffer_t, format) - 8usize];
3857 ["Offset of field: framebuffer_t::pixels"]
3858 [::core::mem::offset_of!(framebuffer_t, pixels) - 12usize];
3859};
3860impl window_flag_t {
3861 pub const WINDOW_FLAG_NONE: window_flag_t = window_flag_t(0);
3862}
3863impl window_flag_t {
3864 pub const WINDOW_FLAG_FULLSCREEN: window_flag_t = window_flag_t(1);
3865}
3866impl window_flag_t {
3867 pub const WINDOW_FLAG_ALWAYS_ON_TOP: window_flag_t = window_flag_t(2);
3868}
3869impl window_flag_t {
3870 pub const WINDOW_FLAG_UNDECORATED: window_flag_t = window_flag_t(4);
3871}
3872impl window_flag_t {
3873 pub const WINDOW_FLAG_MAXIMIZED: window_flag_t = window_flag_t(8);
3874}
3875impl window_flag_t {
3876 pub const WINDOW_FLAG_MAXIMIZED_LEFT: window_flag_t = window_flag_t(16);
3877}
3878impl window_flag_t {
3879 pub const WINDOW_FLAG_MAXIMIZED_RIGHT: window_flag_t = window_flag_t(32);
3880}
3881impl window_flag_t {
3882 pub const WINDOW_FLAG_DOUBLE_BUFFERED: window_flag_t = window_flag_t(64);
3883}
3884impl window_flag_t {
3885 pub const WINDOW_FLAG_LOW_PRIORITY: window_flag_t = window_flag_t(128);
3886}
3887impl ::core::ops::BitOr<window_flag_t> for window_flag_t {
3888 type Output = Self;
3889 #[inline]
3890 fn bitor(self, other: Self) -> Self {
3891 window_flag_t(self.0 | other.0)
3892 }
3893}
3894impl ::core::ops::BitOrAssign for window_flag_t {
3895 #[inline]
3896 fn bitor_assign(&mut self, rhs: window_flag_t) {
3897 self.0 |= rhs.0;
3898 }
3899}
3900impl ::core::ops::BitAnd<window_flag_t> for window_flag_t {
3901 type Output = Self;
3902 #[inline]
3903 fn bitand(self, other: Self) -> Self {
3904 window_flag_t(self.0 & other.0)
3905 }
3906}
3907impl ::core::ops::BitAndAssign for window_flag_t {
3908 #[inline]
3909 fn bitand_assign(&mut self, rhs: window_flag_t) {
3910 self.0 &= rhs.0;
3911 }
3912}
3913#[repr(transparent)]
3914#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3915pub struct window_flag_t(pub ::core::ffi::c_uint);
3916#[repr(C)]
3917#[derive(Debug, Copy, Clone)]
3918pub struct window_coords_t {
3919 pub x: ::core::ffi::c_int,
3920 pub y: ::core::ffi::c_int,
3921}
3922#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3923const _: () = {
3924 ["Size of window_coords_t"][::core::mem::size_of::<window_coords_t>() - 8usize];
3925 ["Alignment of window_coords_t"][::core::mem::align_of::<window_coords_t>() - 4usize];
3926 ["Offset of field: window_coords_t::x"][::core::mem::offset_of!(window_coords_t, x) - 0usize];
3927 ["Offset of field: window_coords_t::y"][::core::mem::offset_of!(window_coords_t, y) - 4usize];
3928};
3929#[repr(C)]
3930#[derive(Debug, Copy, Clone)]
3931pub struct window_size_t {
3932 pub w: ::core::ffi::c_int,
3933 pub h: ::core::ffi::c_int,
3934}
3935#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3936const _: () = {
3937 ["Size of window_size_t"][::core::mem::size_of::<window_size_t>() - 8usize];
3938 ["Alignment of window_size_t"][::core::mem::align_of::<window_size_t>() - 4usize];
3939 ["Offset of field: window_size_t::w"][::core::mem::offset_of!(window_size_t, w) - 0usize];
3940 ["Offset of field: window_size_t::h"][::core::mem::offset_of!(window_size_t, h) - 4usize];
3941};
3942#[repr(C)]
3943#[derive(Debug, Copy, Clone)]
3944pub struct window_rect_t {
3945 pub x: ::core::ffi::c_int,
3946 pub y: ::core::ffi::c_int,
3947 pub w: ::core::ffi::c_int,
3948 pub h: ::core::ffi::c_int,
3949}
3950#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3951const _: () = {
3952 ["Size of window_rect_t"][::core::mem::size_of::<window_rect_t>() - 16usize];
3953 ["Alignment of window_rect_t"][::core::mem::align_of::<window_rect_t>() - 4usize];
3954 ["Offset of field: window_rect_t::x"][::core::mem::offset_of!(window_rect_t, x) - 0usize];
3955 ["Offset of field: window_rect_t::y"][::core::mem::offset_of!(window_rect_t, y) - 4usize];
3956 ["Offset of field: window_rect_t::w"][::core::mem::offset_of!(window_rect_t, w) - 8usize];
3957 ["Offset of field: window_rect_t::h"][::core::mem::offset_of!(window_rect_t, h) - 12usize];
3958};
3959#[repr(C)]
3960#[derive(Debug, Copy, Clone)]
3961pub struct window {
3962 _unused: [u8; 0],
3963}
3964pub type window_handle_t = *mut window;
3965unsafe extern "C" {
3966 pub fn window_create(
3967 title: *const ::core::ffi::c_char,
3968 size: window_size_t,
3969 flags: window_flag_t,
3970 ) -> window_handle_t;
3971}
3972unsafe extern "C" {
3973 pub fn window_framebuffer_create(
3974 window: window_handle_t,
3975 size: window_size_t,
3976 pixel_format: pixel_format_t,
3977 ) -> *mut framebuffer_t;
3978}
3979unsafe extern "C" {
3980 pub fn window_destroy(window: window_handle_t);
3981}
3982unsafe extern "C" {
3983 pub fn window_title_get(window: window_handle_t) -> *const ::core::ffi::c_char;
3984}
3985unsafe extern "C" {
3986 pub fn window_title_set(window: window_handle_t, title: *const ::core::ffi::c_char);
3987}
3988unsafe extern "C" {
3989 pub fn window_position_get(window: window_handle_t) -> window_coords_t;
3990}
3991unsafe extern "C" {
3992 pub fn window_position_set(window: window_handle_t, coords: window_coords_t)
3993 -> window_coords_t;
3994}
3995unsafe extern "C" {
3996 pub fn window_size_get(window: window_handle_t) -> window_size_t;
3997}
3998unsafe extern "C" {
3999 pub fn window_size_set(window: window_handle_t, size: window_size_t) -> window_size_t;
4000}
4001unsafe extern "C" {
4002 pub fn window_flags_get(window: window_handle_t) -> window_flag_t;
4003}
4004unsafe extern "C" {
4005 pub fn window_flags_set(window: window_handle_t, flags: window_flag_t) -> window_flag_t;
4006}
4007unsafe extern "C" {
4008 pub fn window_framebuffer_size_get(window: window_handle_t) -> window_size_t;
4009}
4010unsafe extern "C" {
4011 pub fn window_framebuffer_size_set(
4012 window: window_handle_t,
4013 size: window_size_t,
4014 ) -> window_size_t;
4015}
4016unsafe extern "C" {
4017 pub fn window_framebuffer_format_get(window: window_handle_t) -> pixel_format_t;
4018}
4019unsafe extern "C" {
4020 pub fn window_framebuffer_get(window: window_handle_t) -> *mut framebuffer_t;
4021}
4022unsafe extern "C" {
4023 pub fn window_present(
4024 window: window_handle_t,
4025 block: bool,
4026 rects: *mut window_rect_t,
4027 num_rects: ::core::ffi::c_int,
4028 );
4029}
4030unsafe extern "C" {
4031 pub fn window_event_poll(window: window_handle_t, block: bool, timeout_msec: u32) -> event_t;
4032}
4033unsafe extern "C" {
4034 pub fn get_screen_info(
4035 width: *mut ::core::ffi::c_int,
4036 height: *mut ::core::ffi::c_int,
4037 format: *mut pixel_format_t,
4038 refresh_rate: *mut f32,
4039 );
4040}
4041#[repr(C)]
4042#[derive(Debug, Copy, Clone)]
4043pub struct DIR {
4044 pub dd_vfs_idx: u16,
4045 pub dd_rsv: u16,
4046}
4047#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4048const _: () = {
4049 ["Size of DIR"][::core::mem::size_of::<DIR>() - 4usize];
4050 ["Alignment of DIR"][::core::mem::align_of::<DIR>() - 2usize];
4051 ["Offset of field: DIR::dd_vfs_idx"][::core::mem::offset_of!(DIR, dd_vfs_idx) - 0usize];
4052 ["Offset of field: DIR::dd_rsv"][::core::mem::offset_of!(DIR, dd_rsv) - 2usize];
4053};
4054#[repr(C)]
4055#[derive(Debug, Copy, Clone)]
4056pub struct dirent {
4057 pub d_ino: ino_t,
4058 pub d_type: u8,
4059 pub d_name: [::core::ffi::c_char; 256usize],
4060}
4061#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4062const _: () = {
4063 ["Size of dirent"][::core::mem::size_of::<dirent>() - 260usize];
4064 ["Alignment of dirent"][::core::mem::align_of::<dirent>() - 2usize];
4065 ["Offset of field: dirent::d_ino"][::core::mem::offset_of!(dirent, d_ino) - 0usize];
4066 ["Offset of field: dirent::d_type"][::core::mem::offset_of!(dirent, d_type) - 2usize];
4067 ["Offset of field: dirent::d_name"][::core::mem::offset_of!(dirent, d_name) - 3usize];
4068};
4069unsafe extern "C" {
4070 pub fn opendir(name: *const ::core::ffi::c_char) -> *mut DIR;
4071}
4072unsafe extern "C" {
4073 pub fn readdir(pdir: *mut DIR) -> *mut dirent;
4074}
4075unsafe extern "C" {
4076 pub fn rewinddir(pdir: *mut DIR);
4077}
4078unsafe extern "C" {
4079 pub fn closedir(pdir: *mut DIR) -> ::core::ffi::c_int;
4080}
4081#[repr(C)]
4082#[derive(Debug, Copy, Clone)]
4083pub struct stat {
4084 pub st_dev: dev_t,
4085 pub st_ino: ino_t,
4086 pub st_mode: mode_t,
4087 pub st_nlink: nlink_t,
4088 pub st_uid: uid_t,
4089 pub st_gid: gid_t,
4090 pub st_rdev: dev_t,
4091 pub st_size: off_t,
4092 pub st_atim: timespec,
4093 pub st_mtim: timespec,
4094 pub st_ctim: timespec,
4095 pub st_blksize: blksize_t,
4096 pub st_blocks: blkcnt_t,
4097 pub st_spare4: [::core::ffi::c_long; 2usize],
4098}
4099#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4100const _: () = {
4101 ["Size of stat"][::core::mem::size_of::<stat>() - 88usize];
4102 ["Alignment of stat"][::core::mem::align_of::<stat>() - 8usize];
4103 ["Offset of field: stat::st_dev"][::core::mem::offset_of!(stat, st_dev) - 0usize];
4104 ["Offset of field: stat::st_ino"][::core::mem::offset_of!(stat, st_ino) - 2usize];
4105 ["Offset of field: stat::st_mode"][::core::mem::offset_of!(stat, st_mode) - 4usize];
4106 ["Offset of field: stat::st_nlink"][::core::mem::offset_of!(stat, st_nlink) - 8usize];
4107 ["Offset of field: stat::st_uid"][::core::mem::offset_of!(stat, st_uid) - 10usize];
4108 ["Offset of field: stat::st_gid"][::core::mem::offset_of!(stat, st_gid) - 12usize];
4109 ["Offset of field: stat::st_rdev"][::core::mem::offset_of!(stat, st_rdev) - 14usize];
4110 ["Offset of field: stat::st_size"][::core::mem::offset_of!(stat, st_size) - 16usize];
4111 ["Offset of field: stat::st_atim"][::core::mem::offset_of!(stat, st_atim) - 24usize];
4112 ["Offset of field: stat::st_mtim"][::core::mem::offset_of!(stat, st_mtim) - 40usize];
4113 ["Offset of field: stat::st_ctim"][::core::mem::offset_of!(stat, st_ctim) - 56usize];
4114 ["Offset of field: stat::st_blksize"][::core::mem::offset_of!(stat, st_blksize) - 72usize];
4115 ["Offset of field: stat::st_blocks"][::core::mem::offset_of!(stat, st_blocks) - 76usize];
4116 ["Offset of field: stat::st_spare4"][::core::mem::offset_of!(stat, st_spare4) - 80usize];
4117};
4118unsafe extern "C" {
4119 pub fn fstat(__fd: ::core::ffi::c_int, __sbuf: *mut stat) -> ::core::ffi::c_int;
4120}
4121unsafe extern "C" {
4122 pub fn mkdir(_path: *const ::core::ffi::c_char, __mode: mode_t) -> ::core::ffi::c_int;
4123}
4124unsafe extern "C" {
4125 pub fn stat(__path: *const ::core::ffi::c_char, __sbuf: *mut stat) -> ::core::ffi::c_int;
4126}
4127#[repr(u32)]
4128#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4129pub enum device_type_t {
4130 DEVICE_TYPE_BLOCK = 0,
4131 DEVICE_TYPE_LCD = 1,
4132 DEVICE_TYPE_KEYBOARD = 2,
4133 DEVICE_TYPE_BUS = 3,
4134 DEVICE_TYPE_WIFI = 4,
4135 DEVICE_TYPE_ORIENTATION = 5,
4136 DEVICE_TYPE_SOCKET = 6,
4137 DEVICE_TYPE_FILESYSTEM = 7,
4138}
4139#[repr(C)]
4140#[derive(Debug, Copy, Clone)]
4141pub struct device {
4142 pub type_: device_type_t,
4143 pub _open: ::core::option::Option<
4144 unsafe extern "C" fn(
4145 dev: *mut ::core::ffi::c_void,
4146 path: *mut path_t,
4147 flags: ::core::ffi::c_int,
4148 mode: mode_t,
4149 ) -> ::core::ffi::c_int,
4150 >,
4151 pub _close: ::core::option::Option<
4152 unsafe extern "C" fn(
4153 dev: *mut ::core::ffi::c_void,
4154 fd: ::core::ffi::c_int,
4155 ) -> ::core::ffi::c_int,
4156 >,
4157 pub _write: ::core::option::Option<
4158 unsafe extern "C" fn(
4159 dev: *mut ::core::ffi::c_void,
4160 fd: ::core::ffi::c_int,
4161 buf: *const ::core::ffi::c_void,
4162 count: size_t,
4163 ) -> ssize_t,
4164 >,
4165 pub _read: ::core::option::Option<
4166 unsafe extern "C" fn(
4167 dev: *mut ::core::ffi::c_void,
4168 fd: ::core::ffi::c_int,
4169 buf: *mut ::core::ffi::c_void,
4170 count: size_t,
4171 ) -> ssize_t,
4172 >,
4173 pub _lseek: ::core::option::Option<
4174 unsafe extern "C" fn(
4175 dev: *mut ::core::ffi::c_void,
4176 fd: ::core::ffi::c_int,
4177 offset: off_t,
4178 whence: ::core::ffi::c_int,
4179 ) -> ssize_t,
4180 >,
4181 pub _destroy: ::core::option::Option<unsafe extern "C" fn(dev: *mut ::core::ffi::c_void)>,
4182}
4183#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4184const _: () = {
4185 ["Size of device"][::core::mem::size_of::<device>() - 28usize];
4186 ["Alignment of device"][::core::mem::align_of::<device>() - 4usize];
4187 ["Offset of field: device::type_"][::core::mem::offset_of!(device, type_) - 0usize];
4188 ["Offset of field: device::_open"][::core::mem::offset_of!(device, _open) - 4usize];
4189 ["Offset of field: device::_close"][::core::mem::offset_of!(device, _close) - 8usize];
4190 ["Offset of field: device::_write"][::core::mem::offset_of!(device, _write) - 12usize];
4191 ["Offset of field: device::_read"][::core::mem::offset_of!(device, _read) - 16usize];
4192 ["Offset of field: device::_lseek"][::core::mem::offset_of!(device, _lseek) - 20usize];
4193 ["Offset of field: device::_destroy"][::core::mem::offset_of!(device, _destroy) - 24usize];
4194};
4195pub type device_t = device;
4196unsafe extern "C" {
4197 pub fn device_get(name: *const ::core::ffi::c_char) -> *mut device_t;
4198}
4199unsafe extern "C" {
4200 pub fn die(reason: *const ::core::ffi::c_char);
4201}
4202unsafe extern "C" {
4203 pub fn vaddr_to_paddr(vaddr: u32) -> u32;
4204}
4205unsafe extern "C" {
4206 pub fn get_mac_address() -> *const ::core::ffi::c_char;
4207}
4208#[repr(C)]
4209#[derive(Debug, Copy, Clone)]
4210pub struct ota_session_t {
4211 _unused: [u8; 0],
4212}
4213pub type ota_handle_t = *mut ota_session_t;
4214unsafe extern "C" {
4215 pub fn ota_session_open() -> ota_handle_t;
4216}
4217unsafe extern "C" {
4218 pub fn ota_write(
4219 session: ota_handle_t,
4220 buffer: *mut ::core::ffi::c_void,
4221 block_size: ::core::ffi::c_int,
4222 ) -> bool;
4223}
4224unsafe extern "C" {
4225 pub fn ota_session_commit(session: ota_handle_t) -> bool;
4226}
4227unsafe extern "C" {
4228 pub fn ota_session_abort(session: ota_handle_t) -> bool;
4229}
4230unsafe extern "C" {
4231 pub fn ota_get_running_version(version: *mut ::core::ffi::c_char) -> bool;
4232}
4233unsafe extern "C" {
4234 pub fn ota_get_invalid_version(version: *mut ::core::ffi::c_char) -> bool;
4235}
4236unsafe extern "C" {
4237 pub fn process_create(
4238 path: *const ::core::ffi::c_char,
4239 stack_size: size_t,
4240 argc: ::core::ffi::c_int,
4241 argv: *mut *mut ::core::ffi::c_char,
4242 ) -> pid_t;
4243}
4244unsafe extern "C" {
4245 pub fn thread_create(
4246 thread_entry: ::core::option::Option<
4247 unsafe extern "C" fn(user_data: *mut ::core::ffi::c_void),
4248 >,
4249 user_data: *mut ::core::ffi::c_void,
4250 stack_size: u16,
4251 ) -> pid_t;
4252}
4253unsafe extern "C" {
4254 pub fn wait(block: bool, timeout_msec: u32) -> pid_t;
4255}
4256unsafe extern "C" {
4257 pub fn task_priority_lower();
4258}
4259unsafe extern "C" {
4260 pub fn task_priority_restore();
4261}
4262unsafe extern "C" {
4263 pub fn get_num_tasks() -> u32;
4264}
4265#[repr(u32)]
4266#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4267pub enum wifi_status_t {
4268 WIFI_DISABLED = 0,
4269 WIFI_ENABLED = 1,
4270 WIFI_ASK = 2,
4271}
4272#[repr(u32)]
4273#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4274pub enum wifi_connection_status_t {
4275 WIFI_ERROR = 0,
4276 WIFI_DISCONNECTED = 1,
4277 WIFI_CONNECTED = 2,
4278}
4279#[repr(u32)]
4280#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4281pub enum wifi_auth_mode_t {
4282 WIFI_AUTH_NONE = 0,
4283 WIFI_AUTH_OPEN = 1,
4284 WIFI_AUTH_WEP = 2,
4285 WIFI_AUTH_WPA_PSK = 3,
4286 WIFI_AUTH_WPA2_PSK = 4,
4287 WIFI_AUTH_WPA_WPA2_PSK = 5,
4288 WIFI_AUTH_WPA2_ENTERPRISE = 6,
4289 WIFI_AUTH_WPA3_PSK = 7,
4290 WIFI_AUTH_WPA2_WPA3_PSK = 8,
4291 WIFI_AUTH_WAPI_PSK = 9,
4292 WIFI_AUTH_OWE = 10,
4293 WIFI_AUTH_WPA3_ENT_192 = 11,
4294 WIFI_AUTH_DPP = 12,
4295 WIFI_AUTH_WPA3_ENTERPRISE = 13,
4296 WIFI_AUTH_WPA2_WPA3_ENTERPRISE = 14,
4297 WIFI_AUTH_WPA_ENTERPRISE = 15,
4298}
4299#[repr(C)]
4300#[derive(Debug, Copy, Clone)]
4301pub struct wifi_station {
4302 _unused: [u8; 0],
4303}
4304pub type wifi_station_handle = *mut wifi_station;
4305pub type mac_address_t = [u8; 6usize];
4306unsafe extern "C" {
4307 pub fn wifi_get_status() -> wifi_status_t;
4308}
4309unsafe extern "C" {
4310 pub fn wifi_get_connection_status() -> wifi_connection_status_t;
4311}
4312unsafe extern "C" {
4313 pub fn wifi_get_connection_station() -> wifi_station_handle;
4314}
4315unsafe extern "C" {
4316 pub fn wifi_connect() -> wifi_connection_status_t;
4317}
4318unsafe extern "C" {
4319 pub fn wifi_disconnect() -> wifi_connection_status_t;
4320}
4321unsafe extern "C" {
4322 pub fn wifi_scan_free_station(station: wifi_station_handle);
4323}
4324unsafe extern "C" {
4325 pub fn wifi_scan_get_num_results() -> ::core::ffi::c_int;
4326}
4327unsafe extern "C" {
4328 pub fn wifi_scan_get_result(num: ::core::ffi::c_int) -> wifi_station_handle;
4329}
4330unsafe extern "C" {
4331 pub fn wifi_station_get_ssid(station: wifi_station_handle) -> *const ::core::ffi::c_char;
4332}
4333unsafe extern "C" {
4334 pub fn wifi_station_get_bssid(station: wifi_station_handle) -> *mut mac_address_t;
4335}
4336unsafe extern "C" {
4337 pub fn wifi_station_get_primary_channel(station: wifi_station_handle) -> ::core::ffi::c_int;
4338}
4339unsafe extern "C" {
4340 pub fn wifi_station_get_secondary_channel(station: wifi_station_handle) -> ::core::ffi::c_int;
4341}
4342unsafe extern "C" {
4343 pub fn wifi_station_get_rssi(station: wifi_station_handle) -> ::core::ffi::c_int;
4344}
4345unsafe extern "C" {
4346 pub fn wifi_station_get_mode(station: wifi_station_handle) -> wifi_auth_mode_t;
4347}
4348unsafe extern "C" {
4349 pub fn wifi_station_wps(station: wifi_station_handle) -> bool;
4350}
4351pub type CURL = ::core::ffi::c_void;
4352pub type CURLcode = ::core::ffi::c_int;
4353pub type CURLoption = ::core::ffi::c_int;
4354#[repr(u32)]
4355#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4356pub enum curl_easy_info_t {
4357 CURLINFO_RESPONSE_CODE = 2097154,
4358 CURLINFO_CONTENT_LENGTH_DOWNLOAD = 3145731,
4359 CURLINFO_CONTENT_TYPE = 1048594,
4360 CURLINFO_EFFECTIVE_URL = 1048577,
4361}
4362#[repr(C)]
4363#[derive(Debug, Copy, Clone)]
4364pub struct curl_slist {
4365 pub data: *mut ::core::ffi::c_char,
4366 pub next: *mut curl_slist,
4367}
4368#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4369const _: () = {
4370 ["Size of curl_slist"][::core::mem::size_of::<curl_slist>() - 8usize];
4371 ["Alignment of curl_slist"][::core::mem::align_of::<curl_slist>() - 4usize];
4372 ["Offset of field: curl_slist::data"][::core::mem::offset_of!(curl_slist, data) - 0usize];
4373 ["Offset of field: curl_slist::next"][::core::mem::offset_of!(curl_slist, next) - 4usize];
4374};
4375unsafe extern "C" {
4376 pub fn curl_easy_init() -> *mut CURL;
4377}
4378unsafe extern "C" {
4379 pub fn curl_easy_setopt(curl: *mut CURL, option: CURLoption, ...) -> CURLcode;
4380}
4381unsafe extern "C" {
4382 pub fn curl_easy_perform(curl: *mut CURL) -> CURLcode;
4383}
4384unsafe extern "C" {
4385 pub fn curl_easy_cleanup(curl: *mut CURL);
4386}
4387unsafe extern "C" {
4388 pub fn curl_easy_getinfo(curl: *mut CURL, info: curl_easy_info_t, ...) -> CURLcode;
4389}
4390unsafe extern "C" {
4391 pub fn curl_easy_strerror(error: CURLcode) -> *const ::core::ffi::c_char;
4392}
4393unsafe extern "C" {
4394 pub fn curl_slist_append(
4395 list: *mut curl_slist,
4396 string: *const ::core::ffi::c_char,
4397 ) -> *mut curl_slist;
4398}
4399unsafe extern "C" {
4400 pub fn curl_slist_free_all(list: *mut curl_slist);
4401}
4402unsafe extern "C" {
4403 pub fn curl_global_init(flags: ::core::ffi::c_long) -> CURLcode;
4404}
4405unsafe extern "C" {
4406 pub fn curl_global_cleanup();
4407}
4408#[repr(C)]
4409#[derive(Debug, Copy, Clone)]
4410pub struct in_addr {
4411 pub s_addr: in_addr_t,
4412}
4413#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4414const _: () = {
4415 ["Size of in_addr"][::core::mem::size_of::<in_addr>() - 4usize];
4416 ["Alignment of in_addr"][::core::mem::align_of::<in_addr>() - 4usize];
4417 ["Offset of field: in_addr::s_addr"][::core::mem::offset_of!(in_addr, s_addr) - 0usize];
4418};
4419unsafe extern "C" {
4420 pub fn inet_ntoa(__in: in_addr) -> *mut ::core::ffi::c_char;
4421}
4422unsafe extern "C" {
4423 pub fn inet_aton(__cp: *const ::core::ffi::c_char, __inp: *mut in_addr) -> ::core::ffi::c_int;
4424}
4425pub type socklen_t = u32;
4426pub type sa_family_t = u8;
4427#[repr(C)]
4428#[derive(Debug, Copy, Clone)]
4429pub struct sockaddr {
4430 pub sa_len: u8,
4431 pub sa_family: sa_family_t,
4432 pub sa_data: [::core::ffi::c_char; 14usize],
4433}
4434#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4435const _: () = {
4436 ["Size of sockaddr"][::core::mem::size_of::<sockaddr>() - 16usize];
4437 ["Alignment of sockaddr"][::core::mem::align_of::<sockaddr>() - 1usize];
4438 ["Offset of field: sockaddr::sa_len"][::core::mem::offset_of!(sockaddr, sa_len) - 0usize];
4439 ["Offset of field: sockaddr::sa_family"][::core::mem::offset_of!(sockaddr, sa_family) - 1usize];
4440 ["Offset of field: sockaddr::sa_data"][::core::mem::offset_of!(sockaddr, sa_data) - 2usize];
4441};
4442unsafe extern "C" {
4443 pub fn accept(
4444 s: ::core::ffi::c_int,
4445 addr: *mut sockaddr,
4446 addrlen: *mut socklen_t,
4447 ) -> ::core::ffi::c_int;
4448}
4449unsafe extern "C" {
4450 pub fn bind(
4451 s: ::core::ffi::c_int,
4452 name: *const sockaddr,
4453 namelen: socklen_t,
4454 ) -> ::core::ffi::c_int;
4455}
4456unsafe extern "C" {
4457 pub fn connect(
4458 s: ::core::ffi::c_int,
4459 name: *const sockaddr,
4460 namelen: socklen_t,
4461 ) -> ::core::ffi::c_int;
4462}
4463unsafe extern "C" {
4464 pub fn listen(s: ::core::ffi::c_int, backlog: ::core::ffi::c_int) -> ::core::ffi::c_int;
4465}
4466unsafe extern "C" {
4467 pub fn socket(
4468 domain: ::core::ffi::c_int,
4469 type_: ::core::ffi::c_int,
4470 protocol: ::core::ffi::c_int,
4471 ) -> ::core::ffi::c_int;
4472}
4473#[repr(C)]
4474#[derive(Debug, Copy, Clone)]
4475pub struct addrinfo {
4476 pub ai_flags: ::core::ffi::c_int,
4477 pub ai_family: ::core::ffi::c_int,
4478 pub ai_socktype: ::core::ffi::c_int,
4479 pub ai_protocol: ::core::ffi::c_int,
4480 pub ai_addrlen: socklen_t,
4481 pub ai_addr: *mut sockaddr,
4482 pub ai_canonname: *mut ::core::ffi::c_char,
4483 pub ai_next: *mut addrinfo,
4484}
4485#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4486const _: () = {
4487 ["Size of addrinfo"][::core::mem::size_of::<addrinfo>() - 32usize];
4488 ["Alignment of addrinfo"][::core::mem::align_of::<addrinfo>() - 4usize];
4489 ["Offset of field: addrinfo::ai_flags"][::core::mem::offset_of!(addrinfo, ai_flags) - 0usize];
4490 ["Offset of field: addrinfo::ai_family"][::core::mem::offset_of!(addrinfo, ai_family) - 4usize];
4491 ["Offset of field: addrinfo::ai_socktype"]
4492 [::core::mem::offset_of!(addrinfo, ai_socktype) - 8usize];
4493 ["Offset of field: addrinfo::ai_protocol"]
4494 [::core::mem::offset_of!(addrinfo, ai_protocol) - 12usize];
4495 ["Offset of field: addrinfo::ai_addrlen"]
4496 [::core::mem::offset_of!(addrinfo, ai_addrlen) - 16usize];
4497 ["Offset of field: addrinfo::ai_addr"][::core::mem::offset_of!(addrinfo, ai_addr) - 20usize];
4498 ["Offset of field: addrinfo::ai_canonname"]
4499 [::core::mem::offset_of!(addrinfo, ai_canonname) - 24usize];
4500 ["Offset of field: addrinfo::ai_next"][::core::mem::offset_of!(addrinfo, ai_next) - 28usize];
4501};
4502unsafe extern "C" {
4503 pub fn freeaddrinfo(ai: *mut addrinfo);
4504}
4505unsafe extern "C" {
4506 pub fn getaddrinfo(
4507 nodename: *const ::core::ffi::c_char,
4508 servname: *const ::core::ffi::c_char,
4509 hints: *const addrinfo,
4510 res: *mut *mut addrinfo,
4511 ) -> ::core::ffi::c_int;
4512}
4513unsafe extern "C" {
4514 #[doc = " The signature seems to be like this. idk why it's not in our headers"]
4515 pub fn diprintf(
4516 a: ::core::ffi::c_int,
4517 b: *const ::core::ffi::c_char,
4518 ...
4519 ) -> ::core::ffi::c_int;
4520}
4521unsafe extern "C" {
4522 #[doc = " The signature seems to be like lgamma_r. I have no idea what it does"]
4523 pub fn gamma_r(arg1: f64, arg2: *mut ::core::ffi::c_int) -> f64;
4524}
4525unsafe extern "C" {
4526 #[doc = " The signature seems to be like lgammaf_r. I have no idea what it does"]
4527 pub fn gammaf_r(arg1: f32, arg2: *mut ::core::ffi::c_int) -> f32;
4528}
4529unsafe extern "C" {
4530 #[doc = " Probably in symbols, because it's in newlib. idk why it is not in our\n headers"]
4531 pub fn sig2str(
4532 signum: ::core::ffi::c_int,
4533 str_: *mut ::core::ffi::c_char,
4534 ) -> ::core::ffi::c_int;
4535}
4536unsafe extern "C" {
4537 #[doc = " Probably in symbols, because it's in newlib. idk why it is not in our\n headers"]
4538 pub fn str2sig(
4539 str_: *const ::core::ffi::c_char,
4540 pnum: *mut ::core::ffi::c_int,
4541 ) -> ::core::ffi::c_int;
4542}
4543#[doc = " Restart output."]
4544pub type cc_t = u8;
4545pub type speed_t = u32;
4546pub type tcflag_t = u16;
4547#[repr(C)]
4548#[derive(Debug, Copy, Clone)]
4549pub struct termios {
4550 pub c_iflag: tcflag_t,
4551 #[doc = " Input modes"]
4552 pub c_oflag: tcflag_t,
4553 #[doc = " Output modes"]
4554 pub c_cflag: tcflag_t,
4555 #[doc = " Control modes"]
4556 pub c_lflag: tcflag_t,
4557 #[doc = " Local modes"]
4558 pub c_cc: [cc_t; 11usize],
4559 #[doc = " Control characters"]
4560 pub c_ispeed: speed_t,
4561 #[doc = " input baud rate"]
4562 pub c_ospeed: speed_t,
4563}
4564#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4565const _: () = {
4566 ["Size of termios"][::core::mem::size_of::<termios>() - 28usize];
4567 ["Alignment of termios"][::core::mem::align_of::<termios>() - 4usize];
4568 ["Offset of field: termios::c_iflag"][::core::mem::offset_of!(termios, c_iflag) - 0usize];
4569 ["Offset of field: termios::c_oflag"][::core::mem::offset_of!(termios, c_oflag) - 2usize];
4570 ["Offset of field: termios::c_cflag"][::core::mem::offset_of!(termios, c_cflag) - 4usize];
4571 ["Offset of field: termios::c_lflag"][::core::mem::offset_of!(termios, c_lflag) - 6usize];
4572 ["Offset of field: termios::c_cc"][::core::mem::offset_of!(termios, c_cc) - 8usize];
4573 ["Offset of field: termios::c_ispeed"][::core::mem::offset_of!(termios, c_ispeed) - 20usize];
4574 ["Offset of field: termios::c_ospeed"][::core::mem::offset_of!(termios, c_ospeed) - 24usize];
4575};
4576unsafe extern "C" {
4577 #[doc = " @brief Gets the parameters of the terminal\n\n @param fd file descriptor of the terminal\n @param p output termios structure\n @return 0 when successful, -1 otherwise with errno set"]
4578 pub fn tcgetattr(fd: ::core::ffi::c_int, p: *mut termios) -> ::core::ffi::c_int;
4579}
4580unsafe extern "C" {
4581 #[doc = " @brief Sets the parameters of the terminal\n\n @param fd file descriptor of the terminal\n @param optional_actions optional actions\n @param p input termios structure\n @return 0 when successful, -1 otherwise with errno set"]
4582 pub fn tcsetattr(
4583 fd: ::core::ffi::c_int,
4584 optional_actions: ::core::ffi::c_int,
4585 p: *const termios,
4586 ) -> ::core::ffi::c_int;
4587}
4588unsafe extern "C" {
4589 pub fn __adddf3(a: f64, b: f64) -> f64;
4590}
4591unsafe extern "C" {
4592 pub fn __subdf3(a: f64, b: f64) -> f64;
4593}
4594unsafe extern "C" {
4595 pub fn __muldf3(a: f64, b: f64) -> f64;
4596}
4597unsafe extern "C" {
4598 pub fn __divdf3(a: f64, b: f64) -> f64;
4599}
4600unsafe extern "C" {
4601 pub fn __eqdf2(a: f64, b: f64) -> ::core::ffi::c_int;
4602}
4603unsafe extern "C" {
4604 pub fn __gedf2(a: f64, b: f64) -> ::core::ffi::c_int;
4605}
4606unsafe extern "C" {
4607 pub fn __gtdf2(a: f64, b: f64) -> ::core::ffi::c_int;
4608}
4609unsafe extern "C" {
4610 pub fn __ledf2(a: f64, b: f64) -> ::core::ffi::c_int;
4611}
4612unsafe extern "C" {
4613 pub fn __ltdf2(a: f64, b: f64) -> ::core::ffi::c_int;
4614}
4615unsafe extern "C" {
4616 pub fn __extendsfdf2(a: f32) -> f64;
4617}
4618unsafe extern "C" {
4619 pub fn __truncdfsf2(a: f64) -> f32;
4620}
4621unsafe extern "C" {
4622 pub fn __extendhfsf2(a: __BindgenFloat16) -> f32;
4623}
4624unsafe extern "C" {
4625 pub fn __truncsfhf2(a: f32) -> __BindgenFloat16;
4626}
4627unsafe extern "C" {
4628 pub fn __fixdfsi(a: f64) -> i32;
4629}
4630unsafe extern "C" {
4631 pub fn __fixdfdi(a: f64) -> i64;
4632}
4633unsafe extern "C" {
4634 pub fn __fixunsdfsi(a: f64) -> u32;
4635}
4636unsafe extern "C" {
4637 pub fn __floatdisf(a: i64) -> f32;
4638}
4639unsafe extern "C" {
4640 pub fn __floatsidf(a: i32) -> f64;
4641}
4642unsafe extern "C" {
4643 pub fn __floatunsidf(a: u32) -> f64;
4644}
4645unsafe extern "C" {
4646 pub fn __divdi3(a: i64, b: i64) -> i64;
4647}
4648unsafe extern "C" {
4649 pub fn __udivdi3(a: u64, b: u64) -> u64;
4650}
4651unsafe extern "C" {
4652 pub fn __umoddi3(a: u64, b: u64) -> u64;
4653}
4654unsafe extern "C" {
4655 pub fn __clzsi2(a: u32) -> ::core::ffi::c_int;
4656}
4657unsafe extern "C" {
4658 pub fn __popcountsi2(a: u32) -> ::core::ffi::c_int;
4659}
4660unsafe extern "C" {
4661 pub fn __riscv_save_0();
4662}
4663unsafe extern "C" {
4664 pub fn __riscv_save_1();
4665}
4666unsafe extern "C" {
4667 pub fn __riscv_save_2();
4668}
4669unsafe extern "C" {
4670 pub fn __riscv_save_3();
4671}
4672unsafe extern "C" {
4673 pub fn __riscv_save_4();
4674}
4675unsafe extern "C" {
4676 pub fn __riscv_save_5();
4677}
4678unsafe extern "C" {
4679 pub fn __riscv_save_6();
4680}
4681unsafe extern "C" {
4682 pub fn __riscv_save_7();
4683}
4684unsafe extern "C" {
4685 pub fn __riscv_save_8();
4686}
4687unsafe extern "C" {
4688 pub fn __riscv_save_9();
4689}
4690unsafe extern "C" {
4691 pub fn __riscv_save_10();
4692}
4693unsafe extern "C" {
4694 pub fn __riscv_save_11();
4695}
4696unsafe extern "C" {
4697 pub fn __riscv_save_12();
4698}
4699unsafe extern "C" {
4700 pub fn __riscv_restore_0();
4701}
4702unsafe extern "C" {
4703 pub fn __riscv_restore_1();
4704}
4705unsafe extern "C" {
4706 pub fn __riscv_restore_2();
4707}
4708unsafe extern "C" {
4709 pub fn __riscv_restore_3();
4710}
4711unsafe extern "C" {
4712 pub fn __riscv_restore_4();
4713}
4714unsafe extern "C" {
4715 pub fn __riscv_restore_5();
4716}
4717unsafe extern "C" {
4718 pub fn __riscv_restore_6();
4719}
4720unsafe extern "C" {
4721 pub fn __riscv_restore_7();
4722}
4723unsafe extern "C" {
4724 pub fn __riscv_restore_8();
4725}
4726unsafe extern "C" {
4727 pub fn __riscv_restore_9();
4728}
4729unsafe extern "C" {
4730 pub fn __riscv_restore_10();
4731}
4732unsafe extern "C" {
4733 pub fn __riscv_restore_11();
4734}
4735unsafe extern "C" {
4736 pub fn __riscv_restore_12();
4737}
4738#[repr(C)]
4739#[derive(Debug, Copy, Clone)]
4740pub struct re_guts {
4741 pub _address: u8,
4742}
4743pub type __builtin_va_list = *mut ::core::ffi::c_void;