ndk_sys/
ffi_arm.rs

1/* automatically generated by rust-bindgen 0.69.4 */
2
3#[repr(C)]
4#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub struct __BindgenBitfieldUnit<Storage> {
6    storage: Storage,
7}
8impl<Storage> __BindgenBitfieldUnit<Storage> {
9    #[inline]
10    pub const fn new(storage: Storage) -> Self {
11        Self { storage }
12    }
13}
14impl<Storage> __BindgenBitfieldUnit<Storage>
15where
16    Storage: AsRef<[u8]> + AsMut<[u8]>,
17{
18    #[inline]
19    pub fn get_bit(&self, index: usize) -> bool {
20        debug_assert!(index / 8 < self.storage.as_ref().len());
21        let byte_index = index / 8;
22        let byte = self.storage.as_ref()[byte_index];
23        let bit_index = if cfg!(target_endian = "big") {
24            7 - (index % 8)
25        } else {
26            index % 8
27        };
28        let mask = 1 << bit_index;
29        byte & mask == mask
30    }
31    #[inline]
32    pub fn set_bit(&mut self, index: usize, val: bool) {
33        debug_assert!(index / 8 < self.storage.as_ref().len());
34        let byte_index = index / 8;
35        let byte = &mut self.storage.as_mut()[byte_index];
36        let bit_index = if cfg!(target_endian = "big") {
37            7 - (index % 8)
38        } else {
39            index % 8
40        };
41        let mask = 1 << bit_index;
42        if val {
43            *byte |= mask;
44        } else {
45            *byte &= !mask;
46        }
47    }
48    #[inline]
49    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
50        debug_assert!(bit_width <= 64);
51        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
52        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
53        let mut val = 0;
54        for i in 0..(bit_width as usize) {
55            if self.get_bit(i + bit_offset) {
56                let index = if cfg!(target_endian = "big") {
57                    bit_width as usize - 1 - i
58                } else {
59                    i
60                };
61                val |= 1 << index;
62            }
63        }
64        val
65    }
66    #[inline]
67    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
68        debug_assert!(bit_width <= 64);
69        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
70        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
71        for i in 0..(bit_width as usize) {
72            let mask = 1 << i;
73            let val_bit_is_set = val & mask == mask;
74            let index = if cfg!(target_endian = "big") {
75                bit_width as usize - 1 - i
76            } else {
77                i
78            };
79            self.set_bit(index + bit_offset, val_bit_is_set);
80        }
81    }
82}
83#[repr(C)]
84#[derive(Default)]
85pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
86impl<T> __IncompleteArrayField<T> {
87    #[inline]
88    pub const fn new() -> Self {
89        __IncompleteArrayField(::std::marker::PhantomData, [])
90    }
91    #[inline]
92    pub fn as_ptr(&self) -> *const T {
93        self as *const _ as *const T
94    }
95    #[inline]
96    pub fn as_mut_ptr(&mut self) -> *mut T {
97        self as *mut _ as *mut T
98    }
99    #[inline]
100    pub unsafe fn as_slice(&self, len: usize) -> &[T] {
101        ::std::slice::from_raw_parts(self.as_ptr(), len)
102    }
103    #[inline]
104    pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
105        ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
106    }
107}
108impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
109    fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
110        fmt.write_str("__IncompleteArrayField")
111    }
112}
113pub const __BIONIC__: u32 = 1;
114pub const __WORDSIZE: u32 = 32;
115pub const __bos_level: u32 = 0;
116pub const __ANDROID_API_FUTURE__: u32 = 10000;
117pub const __ANDROID_API__: u32 = 10000;
118pub const __ANDROID_API_G__: u32 = 9;
119pub const __ANDROID_API_I__: u32 = 14;
120pub const __ANDROID_API_J__: u32 = 16;
121pub const __ANDROID_API_J_MR1__: u32 = 17;
122pub const __ANDROID_API_J_MR2__: u32 = 18;
123pub const __ANDROID_API_K__: u32 = 19;
124pub const __ANDROID_API_L__: u32 = 21;
125pub const __ANDROID_API_L_MR1__: u32 = 22;
126pub const __ANDROID_API_M__: u32 = 23;
127pub const __ANDROID_API_N__: u32 = 24;
128pub const __ANDROID_API_N_MR1__: u32 = 25;
129pub const __ANDROID_API_O__: u32 = 26;
130pub const __ANDROID_API_O_MR1__: u32 = 27;
131pub const __ANDROID_API_P__: u32 = 28;
132pub const __ANDROID_API_Q__: u32 = 29;
133pub const __ANDROID_API_R__: u32 = 30;
134pub const __ANDROID_API_S__: u32 = 31;
135pub const __ANDROID_API_T__: u32 = 33;
136pub const __ANDROID_API_U__: u32 = 34;
137pub const __ANDROID_API_V__: u32 = 35;
138pub const WCHAR_MIN: u8 = 0u8;
139pub const INT8_MIN: i32 = -128;
140pub const INT8_MAX: u32 = 127;
141pub const INT_LEAST8_MIN: i32 = -128;
142pub const INT_LEAST8_MAX: u32 = 127;
143pub const INT_FAST8_MIN: i32 = -128;
144pub const INT_FAST8_MAX: u32 = 127;
145pub const UINT8_MAX: u32 = 255;
146pub const UINT_LEAST8_MAX: u32 = 255;
147pub const UINT_FAST8_MAX: u32 = 255;
148pub const INT16_MIN: i32 = -32768;
149pub const INT16_MAX: u32 = 32767;
150pub const INT_LEAST16_MIN: i32 = -32768;
151pub const INT_LEAST16_MAX: u32 = 32767;
152pub const UINT16_MAX: u32 = 65535;
153pub const UINT_LEAST16_MAX: u32 = 65535;
154pub const INT32_MIN: i32 = -2147483648;
155pub const INT32_MAX: u32 = 2147483647;
156pub const INT_LEAST32_MIN: i32 = -2147483648;
157pub const INT_LEAST32_MAX: u32 = 2147483647;
158pub const INT_FAST32_MIN: i32 = -2147483648;
159pub const INT_FAST32_MAX: u32 = 2147483647;
160pub const UINT32_MAX: u32 = 4294967295;
161pub const UINT_LEAST32_MAX: u32 = 4294967295;
162pub const UINT_FAST32_MAX: u32 = 4294967295;
163pub const SIG_ATOMIC_MAX: u32 = 2147483647;
164pub const SIG_ATOMIC_MIN: i32 = -2147483648;
165pub const WINT_MAX: u32 = 4294967295;
166pub const WINT_MIN: u32 = 0;
167pub const INTPTR_MIN: i32 = -2147483648;
168pub const INTPTR_MAX: u32 = 2147483647;
169pub const UINTPTR_MAX: u32 = 4294967295;
170pub const PTRDIFF_MIN: i32 = -2147483648;
171pub const PTRDIFF_MAX: u32 = 2147483647;
172pub const SIZE_MAX: u32 = 4294967295;
173pub const __FD_SETSIZE: u32 = 1024;
174pub const __bool_true_false_are_defined: u32 = 1;
175pub const true_: u32 = 1;
176pub const false_: u32 = 0;
177pub const __PRI_64_prefix: &[u8; 3] = b"ll\0";
178pub const PRId8: &[u8; 2] = b"d\0";
179pub const PRId16: &[u8; 2] = b"d\0";
180pub const PRId32: &[u8; 2] = b"d\0";
181pub const PRId64: &[u8; 4] = b"lld\0";
182pub const PRIdLEAST8: &[u8; 2] = b"d\0";
183pub const PRIdLEAST16: &[u8; 2] = b"d\0";
184pub const PRIdLEAST32: &[u8; 2] = b"d\0";
185pub const PRIdLEAST64: &[u8; 4] = b"lld\0";
186pub const PRIdFAST8: &[u8; 2] = b"d\0";
187pub const PRIdFAST64: &[u8; 4] = b"lld\0";
188pub const PRIdMAX: &[u8; 3] = b"jd\0";
189pub const PRIi8: &[u8; 2] = b"i\0";
190pub const PRIi16: &[u8; 2] = b"i\0";
191pub const PRIi32: &[u8; 2] = b"i\0";
192pub const PRIi64: &[u8; 4] = b"lli\0";
193pub const PRIiLEAST8: &[u8; 2] = b"i\0";
194pub const PRIiLEAST16: &[u8; 2] = b"i\0";
195pub const PRIiLEAST32: &[u8; 2] = b"i\0";
196pub const PRIiLEAST64: &[u8; 4] = b"lli\0";
197pub const PRIiFAST8: &[u8; 2] = b"i\0";
198pub const PRIiFAST64: &[u8; 4] = b"lli\0";
199pub const PRIiMAX: &[u8; 3] = b"ji\0";
200pub const PRIb8: &[u8; 2] = b"b\0";
201pub const PRIb16: &[u8; 2] = b"b\0";
202pub const PRIb32: &[u8; 2] = b"b\0";
203pub const PRIb64: &[u8; 4] = b"llb\0";
204pub const PRIbLEAST8: &[u8; 2] = b"b\0";
205pub const PRIbLEAST16: &[u8; 2] = b"b\0";
206pub const PRIbLEAST32: &[u8; 2] = b"b\0";
207pub const PRIbLEAST64: &[u8; 4] = b"llb\0";
208pub const PRIbFAST8: &[u8; 2] = b"b\0";
209pub const PRIbFAST64: &[u8; 4] = b"llb\0";
210pub const PRIbMAX: &[u8; 3] = b"jb\0";
211pub const PRIB8: &[u8; 2] = b"B\0";
212pub const PRIB16: &[u8; 2] = b"B\0";
213pub const PRIB32: &[u8; 2] = b"B\0";
214pub const PRIB64: &[u8; 4] = b"llB\0";
215pub const PRIBLEAST8: &[u8; 2] = b"B\0";
216pub const PRIBLEAST16: &[u8; 2] = b"B\0";
217pub const PRIBLEAST32: &[u8; 2] = b"B\0";
218pub const PRIBLEAST64: &[u8; 4] = b"llB\0";
219pub const PRIBFAST8: &[u8; 2] = b"B\0";
220pub const PRIBFAST64: &[u8; 4] = b"llB\0";
221pub const PRIBMAX: &[u8; 3] = b"jB\0";
222pub const PRIo8: &[u8; 2] = b"o\0";
223pub const PRIo16: &[u8; 2] = b"o\0";
224pub const PRIo32: &[u8; 2] = b"o\0";
225pub const PRIo64: &[u8; 4] = b"llo\0";
226pub const PRIoLEAST8: &[u8; 2] = b"o\0";
227pub const PRIoLEAST16: &[u8; 2] = b"o\0";
228pub const PRIoLEAST32: &[u8; 2] = b"o\0";
229pub const PRIoLEAST64: &[u8; 4] = b"llo\0";
230pub const PRIoFAST8: &[u8; 2] = b"o\0";
231pub const PRIoFAST64: &[u8; 4] = b"llo\0";
232pub const PRIoMAX: &[u8; 3] = b"jo\0";
233pub const PRIu8: &[u8; 2] = b"u\0";
234pub const PRIu16: &[u8; 2] = b"u\0";
235pub const PRIu32: &[u8; 2] = b"u\0";
236pub const PRIu64: &[u8; 4] = b"llu\0";
237pub const PRIuLEAST8: &[u8; 2] = b"u\0";
238pub const PRIuLEAST16: &[u8; 2] = b"u\0";
239pub const PRIuLEAST32: &[u8; 2] = b"u\0";
240pub const PRIuLEAST64: &[u8; 4] = b"llu\0";
241pub const PRIuFAST8: &[u8; 2] = b"u\0";
242pub const PRIuFAST64: &[u8; 4] = b"llu\0";
243pub const PRIuMAX: &[u8; 3] = b"ju\0";
244pub const PRIx8: &[u8; 2] = b"x\0";
245pub const PRIx16: &[u8; 2] = b"x\0";
246pub const PRIx32: &[u8; 2] = b"x\0";
247pub const PRIx64: &[u8; 4] = b"llx\0";
248pub const PRIxLEAST8: &[u8; 2] = b"x\0";
249pub const PRIxLEAST16: &[u8; 2] = b"x\0";
250pub const PRIxLEAST32: &[u8; 2] = b"x\0";
251pub const PRIxLEAST64: &[u8; 4] = b"llx\0";
252pub const PRIxFAST8: &[u8; 2] = b"x\0";
253pub const PRIxFAST64: &[u8; 4] = b"llx\0";
254pub const PRIxMAX: &[u8; 3] = b"jx\0";
255pub const PRIX8: &[u8; 2] = b"X\0";
256pub const PRIX16: &[u8; 2] = b"X\0";
257pub const PRIX32: &[u8; 2] = b"X\0";
258pub const PRIX64: &[u8; 4] = b"llX\0";
259pub const PRIXLEAST8: &[u8; 2] = b"X\0";
260pub const PRIXLEAST16: &[u8; 2] = b"X\0";
261pub const PRIXLEAST32: &[u8; 2] = b"X\0";
262pub const PRIXLEAST64: &[u8; 4] = b"llX\0";
263pub const PRIXFAST8: &[u8; 2] = b"X\0";
264pub const PRIXFAST64: &[u8; 4] = b"llX\0";
265pub const PRIXMAX: &[u8; 3] = b"jX\0";
266pub const SCNd8: &[u8; 4] = b"hhd\0";
267pub const SCNd16: &[u8; 3] = b"hd\0";
268pub const SCNd32: &[u8; 2] = b"d\0";
269pub const SCNd64: &[u8; 4] = b"lld\0";
270pub const SCNdLEAST8: &[u8; 4] = b"hhd\0";
271pub const SCNdLEAST16: &[u8; 3] = b"hd\0";
272pub const SCNdLEAST32: &[u8; 2] = b"d\0";
273pub const SCNdLEAST64: &[u8; 4] = b"lld\0";
274pub const SCNdFAST8: &[u8; 4] = b"hhd\0";
275pub const SCNdFAST64: &[u8; 4] = b"lld\0";
276pub const SCNdMAX: &[u8; 3] = b"jd\0";
277pub const SCNi8: &[u8; 4] = b"hhi\0";
278pub const SCNi16: &[u8; 3] = b"hi\0";
279pub const SCNi32: &[u8; 2] = b"i\0";
280pub const SCNi64: &[u8; 4] = b"lli\0";
281pub const SCNiLEAST8: &[u8; 4] = b"hhi\0";
282pub const SCNiLEAST16: &[u8; 3] = b"hi\0";
283pub const SCNiLEAST32: &[u8; 2] = b"i\0";
284pub const SCNiLEAST64: &[u8; 4] = b"lli\0";
285pub const SCNiFAST8: &[u8; 4] = b"hhi\0";
286pub const SCNiFAST64: &[u8; 4] = b"lli\0";
287pub const SCNiMAX: &[u8; 3] = b"ji\0";
288pub const SCNb8: &[u8; 4] = b"hhb\0";
289pub const SCNb16: &[u8; 3] = b"hb\0";
290pub const SCNb32: &[u8; 2] = b"b\0";
291pub const SCNb64: &[u8; 4] = b"llb\0";
292pub const SCNbLEAST8: &[u8; 4] = b"hhb\0";
293pub const SCNbLEAST16: &[u8; 3] = b"hb\0";
294pub const SCNbLEAST32: &[u8; 2] = b"b\0";
295pub const SCNbLEAST64: &[u8; 4] = b"llb\0";
296pub const SCNbFAST8: &[u8; 4] = b"hhb\0";
297pub const SCNbFAST64: &[u8; 4] = b"llb\0";
298pub const SCNbMAX: &[u8; 3] = b"jb\0";
299pub const SCNB8: &[u8; 4] = b"hhB\0";
300pub const SCNB16: &[u8; 3] = b"hB\0";
301pub const SCNB32: &[u8; 2] = b"B\0";
302pub const SCNB64: &[u8; 4] = b"llB\0";
303pub const SCNBLEAST8: &[u8; 4] = b"hhB\0";
304pub const SCNBLEAST16: &[u8; 3] = b"hB\0";
305pub const SCNBLEAST32: &[u8; 2] = b"B\0";
306pub const SCNBLEAST64: &[u8; 4] = b"llB\0";
307pub const SCNBFAST8: &[u8; 4] = b"hhB\0";
308pub const SCNBFAST64: &[u8; 4] = b"llB\0";
309pub const SCNBMAX: &[u8; 3] = b"jB\0";
310pub const SCNo8: &[u8; 4] = b"hho\0";
311pub const SCNo16: &[u8; 3] = b"ho\0";
312pub const SCNo32: &[u8; 2] = b"o\0";
313pub const SCNo64: &[u8; 4] = b"llo\0";
314pub const SCNoLEAST8: &[u8; 4] = b"hho\0";
315pub const SCNoLEAST16: &[u8; 3] = b"ho\0";
316pub const SCNoLEAST32: &[u8; 2] = b"o\0";
317pub const SCNoLEAST64: &[u8; 4] = b"llo\0";
318pub const SCNoFAST8: &[u8; 4] = b"hho\0";
319pub const SCNoFAST64: &[u8; 4] = b"llo\0";
320pub const SCNoMAX: &[u8; 3] = b"jo\0";
321pub const SCNu8: &[u8; 4] = b"hhu\0";
322pub const SCNu16: &[u8; 3] = b"hu\0";
323pub const SCNu32: &[u8; 2] = b"u\0";
324pub const SCNu64: &[u8; 4] = b"llu\0";
325pub const SCNuLEAST8: &[u8; 4] = b"hhu\0";
326pub const SCNuLEAST16: &[u8; 3] = b"hu\0";
327pub const SCNuLEAST32: &[u8; 2] = b"u\0";
328pub const SCNuLEAST64: &[u8; 4] = b"llu\0";
329pub const SCNuFAST8: &[u8; 4] = b"hhu\0";
330pub const SCNuFAST64: &[u8; 4] = b"llu\0";
331pub const SCNuMAX: &[u8; 3] = b"ju\0";
332pub const SCNx8: &[u8; 4] = b"hhx\0";
333pub const SCNx16: &[u8; 3] = b"hx\0";
334pub const SCNx32: &[u8; 2] = b"x\0";
335pub const SCNx64: &[u8; 4] = b"llx\0";
336pub const SCNxLEAST8: &[u8; 4] = b"hhx\0";
337pub const SCNxLEAST16: &[u8; 3] = b"hx\0";
338pub const SCNxLEAST32: &[u8; 2] = b"x\0";
339pub const SCNxLEAST64: &[u8; 4] = b"llx\0";
340pub const SCNxFAST8: &[u8; 4] = b"hhx\0";
341pub const SCNxFAST64: &[u8; 4] = b"llx\0";
342pub const SCNxMAX: &[u8; 3] = b"jx\0";
343pub const AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT: u32 = 8;
344pub const O_DIRECTORY: u32 = 16384;
345pub const O_NOFOLLOW: u32 = 32768;
346pub const O_DIRECT: u32 = 65536;
347pub const O_LARGEFILE: u32 = 131072;
348pub const O_ACCMODE: u32 = 3;
349pub const O_RDONLY: u32 = 0;
350pub const O_WRONLY: u32 = 1;
351pub const O_RDWR: u32 = 2;
352pub const O_CREAT: u32 = 64;
353pub const O_EXCL: u32 = 128;
354pub const O_NOCTTY: u32 = 256;
355pub const O_TRUNC: u32 = 512;
356pub const O_APPEND: u32 = 1024;
357pub const O_NONBLOCK: u32 = 2048;
358pub const O_DSYNC: u32 = 4096;
359pub const FASYNC: u32 = 8192;
360pub const O_NOATIME: u32 = 262144;
361pub const O_CLOEXEC: u32 = 524288;
362pub const __O_SYNC: u32 = 1048576;
363pub const O_SYNC: u32 = 1052672;
364pub const O_PATH: u32 = 2097152;
365pub const __O_TMPFILE: u32 = 4194304;
366pub const O_TMPFILE: u32 = 4210688;
367pub const O_NDELAY: u32 = 2048;
368pub const F_DUPFD: u32 = 0;
369pub const F_GETFD: u32 = 1;
370pub const F_SETFD: u32 = 2;
371pub const F_GETFL: u32 = 3;
372pub const F_SETFL: u32 = 4;
373pub const F_GETLK: u32 = 5;
374pub const F_SETLK: u32 = 6;
375pub const F_SETLKW: u32 = 7;
376pub const F_SETOWN: u32 = 8;
377pub const F_GETOWN: u32 = 9;
378pub const F_SETSIG: u32 = 10;
379pub const F_GETSIG: u32 = 11;
380pub const F_GETLK64: u32 = 12;
381pub const F_SETLK64: u32 = 13;
382pub const F_SETLKW64: u32 = 14;
383pub const F_SETOWN_EX: u32 = 15;
384pub const F_GETOWN_EX: u32 = 16;
385pub const F_GETOWNER_UIDS: u32 = 17;
386pub const F_OFD_GETLK: u32 = 36;
387pub const F_OFD_SETLK: u32 = 37;
388pub const F_OFD_SETLKW: u32 = 38;
389pub const F_OWNER_TID: u32 = 0;
390pub const F_OWNER_PID: u32 = 1;
391pub const F_OWNER_PGRP: u32 = 2;
392pub const FD_CLOEXEC: u32 = 1;
393pub const F_RDLCK: u32 = 0;
394pub const F_WRLCK: u32 = 1;
395pub const F_UNLCK: u32 = 2;
396pub const F_EXLCK: u32 = 4;
397pub const F_SHLCK: u32 = 8;
398pub const LOCK_SH: u32 = 1;
399pub const LOCK_EX: u32 = 2;
400pub const LOCK_NB: u32 = 4;
401pub const LOCK_UN: u32 = 8;
402pub const LOCK_MAND: u32 = 32;
403pub const LOCK_READ: u32 = 64;
404pub const LOCK_WRITE: u32 = 128;
405pub const LOCK_RW: u32 = 192;
406pub const F_LINUX_SPECIFIC_BASE: u32 = 1024;
407pub const FIOSETOWN: u32 = 35073;
408pub const SIOCSPGRP: u32 = 35074;
409pub const FIOGETOWN: u32 = 35075;
410pub const SIOCGPGRP: u32 = 35076;
411pub const SIOCATMARK: u32 = 35077;
412pub const SIOCGSTAMP_OLD: u32 = 35078;
413pub const SIOCGSTAMPNS_OLD: u32 = 35079;
414pub const SOL_SOCKET: u32 = 1;
415pub const SO_DEBUG: u32 = 1;
416pub const SO_REUSEADDR: u32 = 2;
417pub const SO_TYPE: u32 = 3;
418pub const SO_ERROR: u32 = 4;
419pub const SO_DONTROUTE: u32 = 5;
420pub const SO_BROADCAST: u32 = 6;
421pub const SO_SNDBUF: u32 = 7;
422pub const SO_RCVBUF: u32 = 8;
423pub const SO_SNDBUFFORCE: u32 = 32;
424pub const SO_RCVBUFFORCE: u32 = 33;
425pub const SO_KEEPALIVE: u32 = 9;
426pub const SO_OOBINLINE: u32 = 10;
427pub const SO_NO_CHECK: u32 = 11;
428pub const SO_PRIORITY: u32 = 12;
429pub const SO_LINGER: u32 = 13;
430pub const SO_BSDCOMPAT: u32 = 14;
431pub const SO_REUSEPORT: u32 = 15;
432pub const SO_PASSCRED: u32 = 16;
433pub const SO_PEERCRED: u32 = 17;
434pub const SO_RCVLOWAT: u32 = 18;
435pub const SO_SNDLOWAT: u32 = 19;
436pub const SO_RCVTIMEO_OLD: u32 = 20;
437pub const SO_SNDTIMEO_OLD: u32 = 21;
438pub const SO_SECURITY_AUTHENTICATION: u32 = 22;
439pub const SO_SECURITY_ENCRYPTION_TRANSPORT: u32 = 23;
440pub const SO_SECURITY_ENCRYPTION_NETWORK: u32 = 24;
441pub const SO_BINDTODEVICE: u32 = 25;
442pub const SO_ATTACH_FILTER: u32 = 26;
443pub const SO_DETACH_FILTER: u32 = 27;
444pub const SO_GET_FILTER: u32 = 26;
445pub const SO_PEERNAME: u32 = 28;
446pub const SO_ACCEPTCONN: u32 = 30;
447pub const SO_PEERSEC: u32 = 31;
448pub const SO_PASSSEC: u32 = 34;
449pub const SO_MARK: u32 = 36;
450pub const SO_PROTOCOL: u32 = 38;
451pub const SO_DOMAIN: u32 = 39;
452pub const SO_RXQ_OVFL: u32 = 40;
453pub const SO_WIFI_STATUS: u32 = 41;
454pub const SCM_WIFI_STATUS: u32 = 41;
455pub const SO_PEEK_OFF: u32 = 42;
456pub const SO_NOFCS: u32 = 43;
457pub const SO_LOCK_FILTER: u32 = 44;
458pub const SO_SELECT_ERR_QUEUE: u32 = 45;
459pub const SO_BUSY_POLL: u32 = 46;
460pub const SO_MAX_PACING_RATE: u32 = 47;
461pub const SO_BPF_EXTENSIONS: u32 = 48;
462pub const SO_INCOMING_CPU: u32 = 49;
463pub const SO_ATTACH_BPF: u32 = 50;
464pub const SO_DETACH_BPF: u32 = 27;
465pub const SO_ATTACH_REUSEPORT_CBPF: u32 = 51;
466pub const SO_ATTACH_REUSEPORT_EBPF: u32 = 52;
467pub const SO_CNX_ADVICE: u32 = 53;
468pub const SCM_TIMESTAMPING_OPT_STATS: u32 = 54;
469pub const SO_MEMINFO: u32 = 55;
470pub const SO_INCOMING_NAPI_ID: u32 = 56;
471pub const SO_COOKIE: u32 = 57;
472pub const SCM_TIMESTAMPING_PKTINFO: u32 = 58;
473pub const SO_PEERGROUPS: u32 = 59;
474pub const SO_ZEROCOPY: u32 = 60;
475pub const SO_TXTIME: u32 = 61;
476pub const SCM_TXTIME: u32 = 61;
477pub const SO_BINDTOIFINDEX: u32 = 62;
478pub const SO_TIMESTAMP_OLD: u32 = 29;
479pub const SO_TIMESTAMPNS_OLD: u32 = 35;
480pub const SO_TIMESTAMPING_OLD: u32 = 37;
481pub const SO_TIMESTAMP_NEW: u32 = 63;
482pub const SO_TIMESTAMPNS_NEW: u32 = 64;
483pub const SO_TIMESTAMPING_NEW: u32 = 65;
484pub const SO_RCVTIMEO_NEW: u32 = 66;
485pub const SO_SNDTIMEO_NEW: u32 = 67;
486pub const SO_DETACH_REUSEPORT_BPF: u32 = 68;
487pub const SO_PREFER_BUSY_POLL: u32 = 69;
488pub const SO_BUSY_POLL_BUDGET: u32 = 70;
489pub const SO_NETNS_COOKIE: u32 = 71;
490pub const SO_BUF_LOCK: u32 = 72;
491pub const SO_RESERVE_MEM: u32 = 73;
492pub const SO_TXREHASH: u32 = 74;
493pub const SO_RCVMARK: u32 = 75;
494pub const SO_PASSPIDFD: u32 = 76;
495pub const SO_PEERPIDFD: u32 = 77;
496pub const SOCK_IOC_TYPE: u32 = 137;
497pub const SIOCADDRT: u32 = 35083;
498pub const SIOCDELRT: u32 = 35084;
499pub const SIOCRTMSG: u32 = 35085;
500pub const SIOCGIFNAME: u32 = 35088;
501pub const SIOCSIFLINK: u32 = 35089;
502pub const SIOCGIFCONF: u32 = 35090;
503pub const SIOCGIFFLAGS: u32 = 35091;
504pub const SIOCSIFFLAGS: u32 = 35092;
505pub const SIOCGIFADDR: u32 = 35093;
506pub const SIOCSIFADDR: u32 = 35094;
507pub const SIOCGIFDSTADDR: u32 = 35095;
508pub const SIOCSIFDSTADDR: u32 = 35096;
509pub const SIOCGIFBRDADDR: u32 = 35097;
510pub const SIOCSIFBRDADDR: u32 = 35098;
511pub const SIOCGIFNETMASK: u32 = 35099;
512pub const SIOCSIFNETMASK: u32 = 35100;
513pub const SIOCGIFMETRIC: u32 = 35101;
514pub const SIOCSIFMETRIC: u32 = 35102;
515pub const SIOCGIFMEM: u32 = 35103;
516pub const SIOCSIFMEM: u32 = 35104;
517pub const SIOCGIFMTU: u32 = 35105;
518pub const SIOCSIFMTU: u32 = 35106;
519pub const SIOCSIFNAME: u32 = 35107;
520pub const SIOCSIFHWADDR: u32 = 35108;
521pub const SIOCGIFENCAP: u32 = 35109;
522pub const SIOCSIFENCAP: u32 = 35110;
523pub const SIOCGIFHWADDR: u32 = 35111;
524pub const SIOCGIFSLAVE: u32 = 35113;
525pub const SIOCSIFSLAVE: u32 = 35120;
526pub const SIOCADDMULTI: u32 = 35121;
527pub const SIOCDELMULTI: u32 = 35122;
528pub const SIOCGIFINDEX: u32 = 35123;
529pub const SIOGIFINDEX: u32 = 35123;
530pub const SIOCSIFPFLAGS: u32 = 35124;
531pub const SIOCGIFPFLAGS: u32 = 35125;
532pub const SIOCDIFADDR: u32 = 35126;
533pub const SIOCSIFHWBROADCAST: u32 = 35127;
534pub const SIOCGIFCOUNT: u32 = 35128;
535pub const SIOCGIFBR: u32 = 35136;
536pub const SIOCSIFBR: u32 = 35137;
537pub const SIOCGIFTXQLEN: u32 = 35138;
538pub const SIOCSIFTXQLEN: u32 = 35139;
539pub const SIOCETHTOOL: u32 = 35142;
540pub const SIOCGMIIPHY: u32 = 35143;
541pub const SIOCGMIIREG: u32 = 35144;
542pub const SIOCSMIIREG: u32 = 35145;
543pub const SIOCWANDEV: u32 = 35146;
544pub const SIOCOUTQNSD: u32 = 35147;
545pub const SIOCGSKNS: u32 = 35148;
546pub const SIOCDARP: u32 = 35155;
547pub const SIOCGARP: u32 = 35156;
548pub const SIOCSARP: u32 = 35157;
549pub const SIOCDRARP: u32 = 35168;
550pub const SIOCGRARP: u32 = 35169;
551pub const SIOCSRARP: u32 = 35170;
552pub const SIOCGIFMAP: u32 = 35184;
553pub const SIOCSIFMAP: u32 = 35185;
554pub const SIOCADDDLCI: u32 = 35200;
555pub const SIOCDELDLCI: u32 = 35201;
556pub const SIOCGIFVLAN: u32 = 35202;
557pub const SIOCSIFVLAN: u32 = 35203;
558pub const SIOCBONDENSLAVE: u32 = 35216;
559pub const SIOCBONDRELEASE: u32 = 35217;
560pub const SIOCBONDSETHWADDR: u32 = 35218;
561pub const SIOCBONDSLAVEINFOQUERY: u32 = 35219;
562pub const SIOCBONDINFOQUERY: u32 = 35220;
563pub const SIOCBONDCHANGEACTIVE: u32 = 35221;
564pub const SIOCBRADDBR: u32 = 35232;
565pub const SIOCBRDELBR: u32 = 35233;
566pub const SIOCBRADDIF: u32 = 35234;
567pub const SIOCBRDELIF: u32 = 35235;
568pub const SIOCSHWTSTAMP: u32 = 35248;
569pub const SIOCGHWTSTAMP: u32 = 35249;
570pub const SIOCDEVPRIVATE: u32 = 35312;
571pub const SIOCPROTOPRIVATE: u32 = 35296;
572pub const UIO_FASTIOV: u32 = 8;
573pub const UIO_MAXIOV: u32 = 1024;
574pub const SOCK_STREAM: u32 = 1;
575pub const SOCK_DGRAM: u32 = 2;
576pub const SOCK_RAW: u32 = 3;
577pub const SOCK_RDM: u32 = 4;
578pub const SOCK_SEQPACKET: u32 = 5;
579pub const SOCK_DCCP: u32 = 6;
580pub const SOCK_PACKET: u32 = 10;
581pub const SOCK_CLOEXEC: u32 = 524288;
582pub const SOCK_NONBLOCK: u32 = 2048;
583pub const SCM_RIGHTS: u32 = 1;
584pub const SCM_CREDENTIALS: u32 = 2;
585pub const SCM_SECURITY: u32 = 3;
586pub const AF_UNSPEC: u32 = 0;
587pub const AF_UNIX: u32 = 1;
588pub const AF_LOCAL: u32 = 1;
589pub const AF_INET: u32 = 2;
590pub const AF_AX25: u32 = 3;
591pub const AF_IPX: u32 = 4;
592pub const AF_APPLETALK: u32 = 5;
593pub const AF_NETROM: u32 = 6;
594pub const AF_BRIDGE: u32 = 7;
595pub const AF_ATMPVC: u32 = 8;
596pub const AF_X25: u32 = 9;
597pub const AF_INET6: u32 = 10;
598pub const AF_ROSE: u32 = 11;
599pub const AF_DECnet: u32 = 12;
600pub const AF_NETBEUI: u32 = 13;
601pub const AF_SECURITY: u32 = 14;
602pub const AF_KEY: u32 = 15;
603pub const AF_NETLINK: u32 = 16;
604pub const AF_ROUTE: u32 = 16;
605pub const AF_PACKET: u32 = 17;
606pub const AF_ASH: u32 = 18;
607pub const AF_ECONET: u32 = 19;
608pub const AF_ATMSVC: u32 = 20;
609pub const AF_RDS: u32 = 21;
610pub const AF_SNA: u32 = 22;
611pub const AF_IRDA: u32 = 23;
612pub const AF_PPPOX: u32 = 24;
613pub const AF_WANPIPE: u32 = 25;
614pub const AF_LLC: u32 = 26;
615pub const AF_CAN: u32 = 29;
616pub const AF_TIPC: u32 = 30;
617pub const AF_BLUETOOTH: u32 = 31;
618pub const AF_IUCV: u32 = 32;
619pub const AF_RXRPC: u32 = 33;
620pub const AF_ISDN: u32 = 34;
621pub const AF_PHONET: u32 = 35;
622pub const AF_IEEE802154: u32 = 36;
623pub const AF_CAIF: u32 = 37;
624pub const AF_ALG: u32 = 38;
625pub const AF_NFC: u32 = 39;
626pub const AF_VSOCK: u32 = 40;
627pub const AF_KCM: u32 = 41;
628pub const AF_QIPCRTR: u32 = 42;
629pub const AF_MAX: u32 = 43;
630pub const PF_UNSPEC: u32 = 0;
631pub const PF_UNIX: u32 = 1;
632pub const PF_LOCAL: u32 = 1;
633pub const PF_INET: u32 = 2;
634pub const PF_AX25: u32 = 3;
635pub const PF_IPX: u32 = 4;
636pub const PF_APPLETALK: u32 = 5;
637pub const PF_NETROM: u32 = 6;
638pub const PF_BRIDGE: u32 = 7;
639pub const PF_ATMPVC: u32 = 8;
640pub const PF_X25: u32 = 9;
641pub const PF_INET6: u32 = 10;
642pub const PF_ROSE: u32 = 11;
643pub const PF_DECnet: u32 = 12;
644pub const PF_NETBEUI: u32 = 13;
645pub const PF_SECURITY: u32 = 14;
646pub const PF_KEY: u32 = 15;
647pub const PF_NETLINK: u32 = 16;
648pub const PF_ROUTE: u32 = 16;
649pub const PF_PACKET: u32 = 17;
650pub const PF_ASH: u32 = 18;
651pub const PF_ECONET: u32 = 19;
652pub const PF_ATMSVC: u32 = 20;
653pub const PF_RDS: u32 = 21;
654pub const PF_SNA: u32 = 22;
655pub const PF_IRDA: u32 = 23;
656pub const PF_PPPOX: u32 = 24;
657pub const PF_WANPIPE: u32 = 25;
658pub const PF_LLC: u32 = 26;
659pub const PF_CAN: u32 = 29;
660pub const PF_TIPC: u32 = 30;
661pub const PF_BLUETOOTH: u32 = 31;
662pub const PF_IUCV: u32 = 32;
663pub const PF_RXRPC: u32 = 33;
664pub const PF_ISDN: u32 = 34;
665pub const PF_PHONET: u32 = 35;
666pub const PF_IEEE802154: u32 = 36;
667pub const PF_CAIF: u32 = 37;
668pub const PF_ALG: u32 = 38;
669pub const PF_NFC: u32 = 39;
670pub const PF_VSOCK: u32 = 40;
671pub const PF_KCM: u32 = 41;
672pub const PF_QIPCRTR: u32 = 42;
673pub const PF_MAX: u32 = 43;
674pub const SOMAXCONN: u32 = 128;
675pub const MSG_OOB: u32 = 1;
676pub const MSG_PEEK: u32 = 2;
677pub const MSG_DONTROUTE: u32 = 4;
678pub const MSG_TRYHARD: u32 = 4;
679pub const MSG_CTRUNC: u32 = 8;
680pub const MSG_PROBE: u32 = 16;
681pub const MSG_TRUNC: u32 = 32;
682pub const MSG_DONTWAIT: u32 = 64;
683pub const MSG_EOR: u32 = 128;
684pub const MSG_WAITALL: u32 = 256;
685pub const MSG_FIN: u32 = 512;
686pub const MSG_SYN: u32 = 1024;
687pub const MSG_CONFIRM: u32 = 2048;
688pub const MSG_RST: u32 = 4096;
689pub const MSG_ERRQUEUE: u32 = 8192;
690pub const MSG_NOSIGNAL: u32 = 16384;
691pub const MSG_MORE: u32 = 32768;
692pub const MSG_WAITFORONE: u32 = 65536;
693pub const MSG_BATCH: u32 = 262144;
694pub const MSG_FASTOPEN: u32 = 536870912;
695pub const MSG_CMSG_CLOEXEC: u32 = 1073741824;
696pub const MSG_EOF: u32 = 512;
697pub const MSG_CMSG_COMPAT: u32 = 0;
698pub const SOL_IP: u32 = 0;
699pub const SOL_TCP: u32 = 6;
700pub const SOL_UDP: u32 = 17;
701pub const SOL_IPV6: u32 = 41;
702pub const SOL_ICMPV6: u32 = 58;
703pub const SOL_SCTP: u32 = 132;
704pub const SOL_RAW: u32 = 255;
705pub const SOL_IPX: u32 = 256;
706pub const SOL_AX25: u32 = 257;
707pub const SOL_ATALK: u32 = 258;
708pub const SOL_NETROM: u32 = 259;
709pub const SOL_ROSE: u32 = 260;
710pub const SOL_DECNET: u32 = 261;
711pub const SOL_X25: u32 = 262;
712pub const SOL_PACKET: u32 = 263;
713pub const SOL_ATM: u32 = 264;
714pub const SOL_AAL: u32 = 265;
715pub const SOL_IRDA: u32 = 266;
716pub const SOL_NETBEUI: u32 = 267;
717pub const SOL_LLC: u32 = 268;
718pub const SOL_DCCP: u32 = 269;
719pub const SOL_NETLINK: u32 = 270;
720pub const SOL_TIPC: u32 = 271;
721pub const SOL_RXRPC: u32 = 272;
722pub const SOL_PPPOL2TP: u32 = 273;
723pub const SOL_BLUETOOTH: u32 = 274;
724pub const SOL_PNPIPE: u32 = 275;
725pub const SOL_RDS: u32 = 276;
726pub const SOL_IUCV: u32 = 277;
727pub const SOL_CAIF: u32 = 278;
728pub const SOL_ALG: u32 = 279;
729pub const SOL_NFC: u32 = 280;
730pub const SOL_KCM: u32 = 281;
731pub const SOL_TLS: u32 = 282;
732pub const IPX_TYPE: u32 = 1;
733pub const _PATH_HEQUIV: &[u8; 24] = b"/system/etc/hosts.equiv\0";
734pub const _PATH_HOSTS: &[u8; 18] = b"/system/etc/hosts\0";
735pub const _PATH_NETWORKS: &[u8; 21] = b"/system/etc/networks\0";
736pub const _PATH_PROTOCOLS: &[u8; 22] = b"/system/etc/protocols\0";
737pub const _PATH_SERVICES: &[u8; 21] = b"/system/etc/services\0";
738pub const NETDB_INTERNAL: i32 = -1;
739pub const NETDB_SUCCESS: u32 = 0;
740pub const HOST_NOT_FOUND: u32 = 1;
741pub const TRY_AGAIN: u32 = 2;
742pub const NO_RECOVERY: u32 = 3;
743pub const NO_DATA: u32 = 4;
744pub const NO_ADDRESS: u32 = 4;
745pub const EAI_ADDRFAMILY: u32 = 1;
746pub const EAI_AGAIN: u32 = 2;
747pub const EAI_BADFLAGS: u32 = 3;
748pub const EAI_FAIL: u32 = 4;
749pub const EAI_FAMILY: u32 = 5;
750pub const EAI_MEMORY: u32 = 6;
751pub const EAI_NODATA: u32 = 7;
752pub const EAI_NONAME: u32 = 8;
753pub const EAI_SERVICE: u32 = 9;
754pub const EAI_SOCKTYPE: u32 = 10;
755pub const EAI_SYSTEM: u32 = 11;
756pub const EAI_BADHINTS: u32 = 12;
757pub const EAI_PROTOCOL: u32 = 13;
758pub const EAI_OVERFLOW: u32 = 14;
759pub const EAI_MAX: u32 = 15;
760pub const AI_PASSIVE: u32 = 1;
761pub const AI_CANONNAME: u32 = 2;
762pub const AI_NUMERICHOST: u32 = 4;
763pub const AI_NUMERICSERV: u32 = 8;
764pub const AI_ALL: u32 = 256;
765pub const AI_V4MAPPED_CFG: u32 = 512;
766pub const AI_ADDRCONFIG: u32 = 1024;
767pub const AI_V4MAPPED: u32 = 2048;
768pub const AI_DEFAULT: u32 = 1536;
769pub const NI_MAXHOST: u32 = 1025;
770pub const NI_MAXSERV: u32 = 32;
771pub const NI_NOFQDN: u32 = 1;
772pub const NI_NUMERICHOST: u32 = 2;
773pub const NI_NAMEREQD: u32 = 4;
774pub const NI_NUMERICSERV: u32 = 8;
775pub const NI_DGRAM: u32 = 16;
776pub const SCOPE_DELIMITER: u8 = 37u8;
777pub const IPPORT_RESERVED: u32 = 1024;
778pub const WNOHANG: u32 = 1;
779pub const WUNTRACED: u32 = 2;
780pub const WSTOPPED: u32 = 2;
781pub const WEXITED: u32 = 4;
782pub const WCONTINUED: u32 = 8;
783pub const WNOWAIT: u32 = 16777216;
784pub const __WNOTHREAD: u32 = 536870912;
785pub const __WALL: u32 = 1073741824;
786pub const __WCLONE: u32 = 2147483648;
787pub const P_ALL: u32 = 0;
788pub const P_PID: u32 = 1;
789pub const P_PGID: u32 = 2;
790pub const P_PIDFD: u32 = 3;
791pub const SEEK_SET: u32 = 0;
792pub const SEEK_CUR: u32 = 1;
793pub const SEEK_END: u32 = 2;
794pub const _IOFBF: u32 = 0;
795pub const _IOLBF: u32 = 1;
796pub const _IONBF: u32 = 2;
797pub const BUFSIZ: u32 = 1024;
798pub const EOF: i32 = -1;
799pub const FOPEN_MAX: u32 = 20;
800pub const FILENAME_MAX: u32 = 4096;
801pub const L_tmpnam: u32 = 4096;
802pub const TMP_MAX: u32 = 308915776;
803pub const P_tmpdir: &[u8; 6] = b"/tmp/\0";
804pub const L_ctermid: u32 = 1024;
805pub const STRUCT_MALLINFO_DECLARED: u32 = 1;
806pub const M_DECAY_TIME: i32 = -100;
807pub const M_PURGE: i32 = -101;
808pub const M_PURGE_ALL: i32 = -104;
809pub const M_MEMTAG_TUNING: i32 = -102;
810pub const M_MEMTAG_TUNING_BUFFER_OVERFLOW: u32 = 0;
811pub const M_MEMTAG_TUNING_UAF: u32 = 1;
812pub const M_THREAD_DISABLE_MEM_INIT: i32 = -103;
813pub const M_CACHE_COUNT_MAX: i32 = -200;
814pub const M_CACHE_SIZE_MAX: i32 = -201;
815pub const M_TSDS_COUNT_MAX: i32 = -202;
816pub const M_BIONIC_ZERO_INIT: i32 = -203;
817pub const M_BIONIC_SET_HEAP_TAGGING_LEVEL: i32 = -204;
818pub const M_LOG_STATS: i32 = -205;
819pub const EXIT_FAILURE: u32 = 1;
820pub const EXIT_SUCCESS: u32 = 0;
821pub const RAND_MAX: u32 = 2147483647;
822pub const __NNAPI_FL5_MIN_ANDROID_API__: u32 = 31;
823pub const ITIMER_REAL: u32 = 0;
824pub const ITIMER_VIRTUAL: u32 = 1;
825pub const ITIMER_PROF: u32 = 2;
826pub const CLOCK_REALTIME: u32 = 0;
827pub const CLOCK_MONOTONIC: u32 = 1;
828pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
829pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
830pub const CLOCK_MONOTONIC_RAW: u32 = 4;
831pub const CLOCK_REALTIME_COARSE: u32 = 5;
832pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
833pub const CLOCK_BOOTTIME: u32 = 7;
834pub const CLOCK_REALTIME_ALARM: u32 = 8;
835pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
836pub const CLOCK_SGI_CYCLE: u32 = 10;
837pub const CLOCK_TAI: u32 = 11;
838pub const MAX_CLOCKS: u32 = 16;
839pub const CLOCKS_MASK: u32 = 1;
840pub const CLOCKS_MONO: u32 = 1;
841pub const TIMER_ABSTIME: u32 = 1;
842pub const NR_OPEN: u32 = 1024;
843pub const NGROUPS_MAX: u32 = 65536;
844pub const ARG_MAX: u32 = 131072;
845pub const LINK_MAX: u32 = 127;
846pub const MAX_CANON: u32 = 255;
847pub const MAX_INPUT: u32 = 255;
848pub const NAME_MAX: u32 = 255;
849pub const PATH_MAX: u32 = 4096;
850pub const PIPE_BUF: u32 = 4096;
851pub const XATTR_NAME_MAX: u32 = 255;
852pub const XATTR_SIZE_MAX: u32 = 65536;
853pub const XATTR_LIST_MAX: u32 = 65536;
854pub const RTSIG_MAX: u32 = 32;
855pub const PASS_MAX: u32 = 128;
856pub const NL_ARGMAX: u32 = 9;
857pub const NL_LANGMAX: u32 = 14;
858pub const NL_MSGMAX: u32 = 32767;
859pub const NL_NMAX: u32 = 1;
860pub const NL_SETMAX: u32 = 255;
861pub const NL_TEXTMAX: u32 = 255;
862pub const CHAR_BIT: u32 = 8;
863pub const LONG_BIT: u32 = 32;
864pub const WORD_BIT: u32 = 32;
865pub const SCHAR_MAX: u32 = 127;
866pub const SCHAR_MIN: i32 = -128;
867pub const UCHAR_MAX: u32 = 255;
868pub const CHAR_MIN: u32 = 0;
869pub const CHAR_MAX: u32 = 255;
870pub const USHRT_MAX: u32 = 65535;
871pub const SHRT_MAX: u32 = 32767;
872pub const SHRT_MIN: i32 = -32768;
873pub const UINT_MAX: u32 = 4294967295;
874pub const INT_MAX: u32 = 2147483647;
875pub const INT_MIN: i32 = -2147483648;
876pub const ULONG_MAX: u32 = 4294967295;
877pub const LONG_MAX: u32 = 2147483647;
878pub const LONG_MIN: i32 = -2147483648;
879pub const ULLONG_MAX: i32 = -1;
880pub const LLONG_MAX: u64 = 9223372036854775807;
881pub const LLONG_MIN: i64 = -9223372036854775808;
882pub const LONG_LONG_MIN: i64 = -9223372036854775808;
883pub const LONG_LONG_MAX: u64 = 9223372036854775807;
884pub const ULONG_LONG_MAX: i32 = -1;
885pub const UID_MAX: u32 = 4294967295;
886pub const GID_MAX: u32 = 4294967295;
887pub const SIZE_T_MAX: u32 = 4294967295;
888pub const SSIZE_MAX: u32 = 2147483647;
889pub const MB_LEN_MAX: u32 = 4;
890pub const NZERO: u32 = 20;
891pub const IOV_MAX: u32 = 1024;
892pub const SEM_VALUE_MAX: u32 = 1073741823;
893pub const _POSIX_VERSION: u32 = 200809;
894pub const _POSIX2_VERSION: u32 = 200809;
895pub const _XOPEN_VERSION: u32 = 700;
896pub const __BIONIC_POSIX_FEATURE_MISSING: i32 = -1;
897pub const _POSIX_ASYNCHRONOUS_IO: i32 = -1;
898pub const _POSIX_CHOWN_RESTRICTED: u32 = 1;
899pub const _POSIX_CPUTIME: u32 = 200809;
900pub const _POSIX_FSYNC: u32 = 200809;
901pub const _POSIX_IPV6: u32 = 200809;
902pub const _POSIX_MAPPED_FILES: u32 = 200809;
903pub const _POSIX_MEMLOCK_RANGE: u32 = 200809;
904pub const _POSIX_MEMORY_PROTECTION: u32 = 200809;
905pub const _POSIX_MESSAGE_PASSING: i32 = -1;
906pub const _POSIX_MONOTONIC_CLOCK: u32 = 200809;
907pub const _POSIX_NO_TRUNC: u32 = 1;
908pub const _POSIX_PRIORITIZED_IO: i32 = -1;
909pub const _POSIX_PRIORITY_SCHEDULING: u32 = 200809;
910pub const _POSIX_RAW_SOCKETS: u32 = 200809;
911pub const _POSIX_READER_WRITER_LOCKS: u32 = 200809;
912pub const _POSIX_REGEXP: u32 = 1;
913pub const _POSIX_SAVED_IDS: u32 = 1;
914pub const _POSIX_SEMAPHORES: u32 = 200809;
915pub const _POSIX_SHARED_MEMORY_OBJECTS: i32 = -1;
916pub const _POSIX_SHELL: u32 = 1;
917pub const _POSIX_SPORADIC_SERVER: i32 = -1;
918pub const _POSIX_SYNCHRONIZED_IO: u32 = 200809;
919pub const _POSIX_THREAD_ATTR_STACKADDR: u32 = 200809;
920pub const _POSIX_THREAD_ATTR_STACKSIZE: u32 = 200809;
921pub const _POSIX_THREAD_CPUTIME: u32 = 200809;
922pub const _POSIX_THREAD_PRIO_INHERIT: i32 = -1;
923pub const _POSIX_THREAD_PRIO_PROTECT: i32 = -1;
924pub const _POSIX_THREAD_PRIORITY_SCHEDULING: u32 = 200809;
925pub const _POSIX_THREAD_PROCESS_SHARED: u32 = 200809;
926pub const _POSIX_THREAD_ROBUST_PRIO_INHERIT: i32 = -1;
927pub const _POSIX_THREAD_ROBUST_PRIO_PROTECT: i32 = -1;
928pub const _POSIX_THREAD_SAFE_FUNCTIONS: u32 = 200809;
929pub const _POSIX_THREAD_SPORADIC_SERVER: i32 = -1;
930pub const _POSIX_THREADS: u32 = 200809;
931pub const _POSIX_TIMERS: u32 = 200809;
932pub const _POSIX_TRACE: i32 = -1;
933pub const _POSIX_TRACE_EVENT_FILTER: i32 = -1;
934pub const _POSIX_TRACE_INHERIT: i32 = -1;
935pub const _POSIX_TRACE_LOG: i32 = -1;
936pub const _POSIX_TYPED_MEMORY_OBJECTS: i32 = -1;
937pub const _POSIX_VDISABLE: u8 = 0u8;
938pub const _POSIX2_C_BIND: u32 = 200809;
939pub const _POSIX2_C_DEV: i32 = -1;
940pub const _POSIX2_CHAR_TERM: u32 = 200809;
941pub const _POSIX2_FORT_DEV: i32 = -1;
942pub const _POSIX2_FORT_RUN: i32 = -1;
943pub const _POSIX2_LOCALEDEF: i32 = -1;
944pub const _POSIX2_SW_DEV: i32 = -1;
945pub const _POSIX2_UPE: i32 = -1;
946pub const _POSIX_V7_ILP32_OFF32: u32 = 1;
947pub const _POSIX_V7_ILP32_OFFBIG: i32 = -1;
948pub const _POSIX_V7_LP64_OFF64: i32 = -1;
949pub const _POSIX_V7_LPBIG_OFFBIG: i32 = -1;
950pub const _XOPEN_CRYPT: i32 = -1;
951pub const _XOPEN_ENH_I18N: u32 = 1;
952pub const _XOPEN_LEGACY: i32 = -1;
953pub const _XOPEN_REALTIME: u32 = 1;
954pub const _XOPEN_REALTIME_THREADS: u32 = 1;
955pub const _XOPEN_SHM: u32 = 1;
956pub const _XOPEN_STREAMS: i32 = -1;
957pub const _XOPEN_UNIX: u32 = 1;
958pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
959pub const _POSIX_AIO_MAX: u32 = 1;
960pub const _POSIX_ARG_MAX: u32 = 4096;
961pub const _POSIX_CHILD_MAX: u32 = 25;
962pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
963pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
964pub const _POSIX_HOST_NAME_MAX: u32 = 255;
965pub const _POSIX_LINK_MAX: u32 = 8;
966pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
967pub const _POSIX_MAX_CANON: u32 = 255;
968pub const _POSIX_MAX_INPUT: u32 = 255;
969pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
970pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
971pub const _POSIX_NAME_MAX: u32 = 14;
972pub const _POSIX_NGROUPS_MAX: u32 = 8;
973pub const _POSIX_OPEN_MAX: u32 = 20;
974pub const _POSIX_PATH_MAX: u32 = 256;
975pub const _POSIX_PIPE_BUF: u32 = 512;
976pub const _POSIX_RE_DUP_MAX: u32 = 255;
977pub const _POSIX_RTSIG_MAX: u32 = 8;
978pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
979pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
980pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
981pub const _POSIX_SSIZE_MAX: u32 = 32767;
982pub const _POSIX_STREAM_MAX: u32 = 8;
983pub const _POSIX_SS_REPL_MAX: u32 = 4;
984pub const _POSIX_SYMLINK_MAX: u32 = 255;
985pub const _POSIX_SYMLOOP_MAX: u32 = 8;
986pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
987pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
988pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
989pub const _POSIX_TIMER_MAX: u32 = 32;
990pub const _POSIX_TRACE_EVENT_NAME_MAX: u32 = 30;
991pub const _POSIX_TRACE_NAME_MAX: u32 = 8;
992pub const _POSIX_TRACE_SYS_MAX: u32 = 8;
993pub const _POSIX_TRACE_USER_EVENT_MAX: u32 = 32;
994pub const _POSIX_TTY_NAME_MAX: u32 = 9;
995pub const _POSIX_TZNAME_MAX: u32 = 6;
996pub const _POSIX2_BC_BASE_MAX: u32 = 99;
997pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
998pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
999pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
1000pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
1001pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
1002pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
1003pub const _POSIX2_LINE_MAX: u32 = 2048;
1004pub const _POSIX2_RE_DUP_MAX: u32 = 255;
1005pub const _XOPEN_IOV_MAX: u32 = 16;
1006pub const _XOPEN_NAME_MAX: u32 = 255;
1007pub const _XOPEN_PATH_MAX: u32 = 1024;
1008pub const HOST_NAME_MAX: u32 = 255;
1009pub const LOGIN_NAME_MAX: u32 = 256;
1010pub const TTY_NAME_MAX: u32 = 32;
1011pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
1012pub const PTHREAD_KEYS_MAX: u32 = 128;
1013pub const _KERNEL_NSIG: u32 = 32;
1014pub const SIGHUP: u32 = 1;
1015pub const SIGINT: u32 = 2;
1016pub const SIGQUIT: u32 = 3;
1017pub const SIGILL: u32 = 4;
1018pub const SIGTRAP: u32 = 5;
1019pub const SIGABRT: u32 = 6;
1020pub const SIGIOT: u32 = 6;
1021pub const SIGBUS: u32 = 7;
1022pub const SIGFPE: u32 = 8;
1023pub const SIGKILL: u32 = 9;
1024pub const SIGUSR1: u32 = 10;
1025pub const SIGSEGV: u32 = 11;
1026pub const SIGUSR2: u32 = 12;
1027pub const SIGPIPE: u32 = 13;
1028pub const SIGALRM: u32 = 14;
1029pub const SIGTERM: u32 = 15;
1030pub const SIGSTKFLT: u32 = 16;
1031pub const SIGCHLD: u32 = 17;
1032pub const SIGCONT: u32 = 18;
1033pub const SIGSTOP: u32 = 19;
1034pub const SIGTSTP: u32 = 20;
1035pub const SIGTTIN: u32 = 21;
1036pub const SIGTTOU: u32 = 22;
1037pub const SIGURG: u32 = 23;
1038pub const SIGXCPU: u32 = 24;
1039pub const SIGXFSZ: u32 = 25;
1040pub const SIGVTALRM: u32 = 26;
1041pub const SIGPROF: u32 = 27;
1042pub const SIGWINCH: u32 = 28;
1043pub const SIGIO: u32 = 29;
1044pub const SIGPOLL: u32 = 29;
1045pub const SIGPWR: u32 = 30;
1046pub const SIGSYS: u32 = 31;
1047pub const SIGUNUSED: u32 = 31;
1048pub const __SIGRTMIN: u32 = 32;
1049pub const SIGSWI: u32 = 32;
1050pub const SA_THIRTYTWO: u32 = 33554432;
1051pub const SA_RESTORER: u32 = 67108864;
1052pub const MINSIGSTKSZ: u32 = 2048;
1053pub const SIGSTKSZ: u32 = 8192;
1054pub const SA_NOCLDSTOP: u32 = 1;
1055pub const SA_NOCLDWAIT: u32 = 2;
1056pub const SA_SIGINFO: u32 = 4;
1057pub const SA_UNSUPPORTED: u32 = 1024;
1058pub const SA_EXPOSE_TAGBITS: u32 = 2048;
1059pub const SA_ONSTACK: u32 = 134217728;
1060pub const SA_RESTART: u32 = 268435456;
1061pub const SA_NODEFER: u32 = 1073741824;
1062pub const SA_RESETHAND: u32 = 2147483648;
1063pub const SA_NOMASK: u32 = 1073741824;
1064pub const SA_ONESHOT: u32 = 2147483648;
1065pub const SIG_BLOCK: u32 = 0;
1066pub const SIG_UNBLOCK: u32 = 1;
1067pub const SIG_SETMASK: u32 = 2;
1068pub const SI_MAX_SIZE: u32 = 128;
1069pub const SI_USER: u32 = 0;
1070pub const SI_KERNEL: u32 = 128;
1071pub const SI_QUEUE: i32 = -1;
1072pub const SI_TIMER: i32 = -2;
1073pub const SI_MESGQ: i32 = -3;
1074pub const SI_ASYNCIO: i32 = -4;
1075pub const SI_SIGIO: i32 = -5;
1076pub const SI_TKILL: i32 = -6;
1077pub const SI_DETHREAD: i32 = -7;
1078pub const SI_ASYNCNL: i32 = -60;
1079pub const ILL_ILLOPC: u32 = 1;
1080pub const ILL_ILLOPN: u32 = 2;
1081pub const ILL_ILLADR: u32 = 3;
1082pub const ILL_ILLTRP: u32 = 4;
1083pub const ILL_PRVOPC: u32 = 5;
1084pub const ILL_PRVREG: u32 = 6;
1085pub const ILL_COPROC: u32 = 7;
1086pub const ILL_BADSTK: u32 = 8;
1087pub const ILL_BADIADDR: u32 = 9;
1088pub const __ILL_BREAK: u32 = 10;
1089pub const __ILL_BNDMOD: u32 = 11;
1090pub const NSIGILL: u32 = 11;
1091pub const FPE_INTDIV: u32 = 1;
1092pub const FPE_INTOVF: u32 = 2;
1093pub const FPE_FLTDIV: u32 = 3;
1094pub const FPE_FLTOVF: u32 = 4;
1095pub const FPE_FLTUND: u32 = 5;
1096pub const FPE_FLTRES: u32 = 6;
1097pub const FPE_FLTINV: u32 = 7;
1098pub const FPE_FLTSUB: u32 = 8;
1099pub const __FPE_DECOVF: u32 = 9;
1100pub const __FPE_DECDIV: u32 = 10;
1101pub const __FPE_DECERR: u32 = 11;
1102pub const __FPE_INVASC: u32 = 12;
1103pub const __FPE_INVDEC: u32 = 13;
1104pub const FPE_FLTUNK: u32 = 14;
1105pub const FPE_CONDTRAP: u32 = 15;
1106pub const NSIGFPE: u32 = 15;
1107pub const SEGV_MAPERR: u32 = 1;
1108pub const SEGV_ACCERR: u32 = 2;
1109pub const SEGV_BNDERR: u32 = 3;
1110pub const SEGV_PKUERR: u32 = 4;
1111pub const SEGV_ACCADI: u32 = 5;
1112pub const SEGV_ADIDERR: u32 = 6;
1113pub const SEGV_ADIPERR: u32 = 7;
1114pub const SEGV_MTEAERR: u32 = 8;
1115pub const SEGV_MTESERR: u32 = 9;
1116pub const SEGV_CPERR: u32 = 10;
1117pub const NSIGSEGV: u32 = 10;
1118pub const BUS_ADRALN: u32 = 1;
1119pub const BUS_ADRERR: u32 = 2;
1120pub const BUS_OBJERR: u32 = 3;
1121pub const BUS_MCEERR_AR: u32 = 4;
1122pub const BUS_MCEERR_AO: u32 = 5;
1123pub const NSIGBUS: u32 = 5;
1124pub const TRAP_BRKPT: u32 = 1;
1125pub const TRAP_TRACE: u32 = 2;
1126pub const TRAP_BRANCH: u32 = 3;
1127pub const TRAP_HWBKPT: u32 = 4;
1128pub const TRAP_UNK: u32 = 5;
1129pub const TRAP_PERF: u32 = 6;
1130pub const NSIGTRAP: u32 = 6;
1131pub const TRAP_PERF_FLAG_ASYNC: u32 = 1;
1132pub const CLD_EXITED: u32 = 1;
1133pub const CLD_KILLED: u32 = 2;
1134pub const CLD_DUMPED: u32 = 3;
1135pub const CLD_TRAPPED: u32 = 4;
1136pub const CLD_STOPPED: u32 = 5;
1137pub const CLD_CONTINUED: u32 = 6;
1138pub const NSIGCHLD: u32 = 6;
1139pub const POLL_IN: u32 = 1;
1140pub const POLL_OUT: u32 = 2;
1141pub const POLL_MSG: u32 = 3;
1142pub const POLL_ERR: u32 = 4;
1143pub const POLL_PRI: u32 = 5;
1144pub const POLL_HUP: u32 = 6;
1145pub const NSIGPOLL: u32 = 6;
1146pub const SYS_SECCOMP: u32 = 1;
1147pub const SYS_USER_DISPATCH: u32 = 2;
1148pub const NSIGSYS: u32 = 2;
1149pub const EMT_TAGOVF: u32 = 1;
1150pub const NSIGEMT: u32 = 1;
1151pub const SIGEV_SIGNAL: u32 = 0;
1152pub const SIGEV_NONE: u32 = 1;
1153pub const SIGEV_THREAD: u32 = 2;
1154pub const SIGEV_THREAD_ID: u32 = 4;
1155pub const SIGEV_MAX_SIZE: u32 = 64;
1156pub const SS_ONSTACK: u32 = 1;
1157pub const SS_DISABLE: u32 = 2;
1158pub const SS_AUTODISARM: u32 = 2147483648;
1159pub const SS_FLAG_BITS: u32 = 2147483648;
1160pub const _KERNEL__NSIG: u32 = 64;
1161pub const _NSIG: u32 = 65;
1162pub const NSIG: u32 = 65;
1163pub const PAGE_SIZE: u32 = 4096;
1164pub const PAGE_MASK: i32 = -4096;
1165pub const NGREG: u32 = 18;
1166pub const FD_SETSIZE: u32 = 1024;
1167pub const F_ULOCK: u32 = 0;
1168pub const F_LOCK: u32 = 1;
1169pub const F_TLOCK: u32 = 2;
1170pub const F_TEST: u32 = 3;
1171pub const _SC_ARG_MAX: u32 = 0;
1172pub const _SC_BC_BASE_MAX: u32 = 1;
1173pub const _SC_BC_DIM_MAX: u32 = 2;
1174pub const _SC_BC_SCALE_MAX: u32 = 3;
1175pub const _SC_BC_STRING_MAX: u32 = 4;
1176pub const _SC_CHILD_MAX: u32 = 5;
1177pub const _SC_CLK_TCK: u32 = 6;
1178pub const _SC_COLL_WEIGHTS_MAX: u32 = 7;
1179pub const _SC_EXPR_NEST_MAX: u32 = 8;
1180pub const _SC_LINE_MAX: u32 = 9;
1181pub const _SC_NGROUPS_MAX: u32 = 10;
1182pub const _SC_OPEN_MAX: u32 = 11;
1183pub const _SC_PASS_MAX: u32 = 12;
1184pub const _SC_2_C_BIND: u32 = 13;
1185pub const _SC_2_C_DEV: u32 = 14;
1186pub const _SC_2_C_VERSION: u32 = 15;
1187pub const _SC_2_CHAR_TERM: u32 = 16;
1188pub const _SC_2_FORT_DEV: u32 = 17;
1189pub const _SC_2_FORT_RUN: u32 = 18;
1190pub const _SC_2_LOCALEDEF: u32 = 19;
1191pub const _SC_2_SW_DEV: u32 = 20;
1192pub const _SC_2_UPE: u32 = 21;
1193pub const _SC_2_VERSION: u32 = 22;
1194pub const _SC_JOB_CONTROL: u32 = 23;
1195pub const _SC_SAVED_IDS: u32 = 24;
1196pub const _SC_VERSION: u32 = 25;
1197pub const _SC_RE_DUP_MAX: u32 = 26;
1198pub const _SC_STREAM_MAX: u32 = 27;
1199pub const _SC_TZNAME_MAX: u32 = 28;
1200pub const _SC_XOPEN_CRYPT: u32 = 29;
1201pub const _SC_XOPEN_ENH_I18N: u32 = 30;
1202pub const _SC_XOPEN_SHM: u32 = 31;
1203pub const _SC_XOPEN_VERSION: u32 = 32;
1204pub const _SC_XOPEN_XCU_VERSION: u32 = 33;
1205pub const _SC_XOPEN_REALTIME: u32 = 34;
1206pub const _SC_XOPEN_REALTIME_THREADS: u32 = 35;
1207pub const _SC_XOPEN_LEGACY: u32 = 36;
1208pub const _SC_ATEXIT_MAX: u32 = 37;
1209pub const _SC_IOV_MAX: u32 = 38;
1210pub const _SC_UIO_MAXIOV: u32 = 38;
1211pub const _SC_PAGESIZE: u32 = 39;
1212pub const _SC_PAGE_SIZE: u32 = 40;
1213pub const _SC_XOPEN_UNIX: u32 = 41;
1214pub const _SC_XBS5_ILP32_OFF32: u32 = 42;
1215pub const _SC_XBS5_ILP32_OFFBIG: u32 = 43;
1216pub const _SC_XBS5_LP64_OFF64: u32 = 44;
1217pub const _SC_XBS5_LPBIG_OFFBIG: u32 = 45;
1218pub const _SC_AIO_LISTIO_MAX: u32 = 46;
1219pub const _SC_AIO_MAX: u32 = 47;
1220pub const _SC_AIO_PRIO_DELTA_MAX: u32 = 48;
1221pub const _SC_DELAYTIMER_MAX: u32 = 49;
1222pub const _SC_MQ_OPEN_MAX: u32 = 50;
1223pub const _SC_MQ_PRIO_MAX: u32 = 51;
1224pub const _SC_RTSIG_MAX: u32 = 52;
1225pub const _SC_SEM_NSEMS_MAX: u32 = 53;
1226pub const _SC_SEM_VALUE_MAX: u32 = 54;
1227pub const _SC_SIGQUEUE_MAX: u32 = 55;
1228pub const _SC_TIMER_MAX: u32 = 56;
1229pub const _SC_ASYNCHRONOUS_IO: u32 = 57;
1230pub const _SC_FSYNC: u32 = 58;
1231pub const _SC_MAPPED_FILES: u32 = 59;
1232pub const _SC_MEMLOCK: u32 = 60;
1233pub const _SC_MEMLOCK_RANGE: u32 = 61;
1234pub const _SC_MEMORY_PROTECTION: u32 = 62;
1235pub const _SC_MESSAGE_PASSING: u32 = 63;
1236pub const _SC_PRIORITIZED_IO: u32 = 64;
1237pub const _SC_PRIORITY_SCHEDULING: u32 = 65;
1238pub const _SC_REALTIME_SIGNALS: u32 = 66;
1239pub const _SC_SEMAPHORES: u32 = 67;
1240pub const _SC_SHARED_MEMORY_OBJECTS: u32 = 68;
1241pub const _SC_SYNCHRONIZED_IO: u32 = 69;
1242pub const _SC_TIMERS: u32 = 70;
1243pub const _SC_GETGR_R_SIZE_MAX: u32 = 71;
1244pub const _SC_GETPW_R_SIZE_MAX: u32 = 72;
1245pub const _SC_LOGIN_NAME_MAX: u32 = 73;
1246pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: u32 = 74;
1247pub const _SC_THREAD_KEYS_MAX: u32 = 75;
1248pub const _SC_THREAD_STACK_MIN: u32 = 76;
1249pub const _SC_THREAD_THREADS_MAX: u32 = 77;
1250pub const _SC_TTY_NAME_MAX: u32 = 78;
1251pub const _SC_THREADS: u32 = 79;
1252pub const _SC_THREAD_ATTR_STACKADDR: u32 = 80;
1253pub const _SC_THREAD_ATTR_STACKSIZE: u32 = 81;
1254pub const _SC_THREAD_PRIORITY_SCHEDULING: u32 = 82;
1255pub const _SC_THREAD_PRIO_INHERIT: u32 = 83;
1256pub const _SC_THREAD_PRIO_PROTECT: u32 = 84;
1257pub const _SC_THREAD_SAFE_FUNCTIONS: u32 = 85;
1258pub const _SC_NPROCESSORS_CONF: u32 = 96;
1259pub const _SC_NPROCESSORS_ONLN: u32 = 97;
1260pub const _SC_PHYS_PAGES: u32 = 98;
1261pub const _SC_AVPHYS_PAGES: u32 = 99;
1262pub const _SC_MONOTONIC_CLOCK: u32 = 100;
1263pub const _SC_2_PBS: u32 = 101;
1264pub const _SC_2_PBS_ACCOUNTING: u32 = 102;
1265pub const _SC_2_PBS_CHECKPOINT: u32 = 103;
1266pub const _SC_2_PBS_LOCATE: u32 = 104;
1267pub const _SC_2_PBS_MESSAGE: u32 = 105;
1268pub const _SC_2_PBS_TRACK: u32 = 106;
1269pub const _SC_ADVISORY_INFO: u32 = 107;
1270pub const _SC_BARRIERS: u32 = 108;
1271pub const _SC_CLOCK_SELECTION: u32 = 109;
1272pub const _SC_CPUTIME: u32 = 110;
1273pub const _SC_HOST_NAME_MAX: u32 = 111;
1274pub const _SC_IPV6: u32 = 112;
1275pub const _SC_RAW_SOCKETS: u32 = 113;
1276pub const _SC_READER_WRITER_LOCKS: u32 = 114;
1277pub const _SC_REGEXP: u32 = 115;
1278pub const _SC_SHELL: u32 = 116;
1279pub const _SC_SPAWN: u32 = 117;
1280pub const _SC_SPIN_LOCKS: u32 = 118;
1281pub const _SC_SPORADIC_SERVER: u32 = 119;
1282pub const _SC_SS_REPL_MAX: u32 = 120;
1283pub const _SC_SYMLOOP_MAX: u32 = 121;
1284pub const _SC_THREAD_CPUTIME: u32 = 122;
1285pub const _SC_THREAD_PROCESS_SHARED: u32 = 123;
1286pub const _SC_THREAD_ROBUST_PRIO_INHERIT: u32 = 124;
1287pub const _SC_THREAD_ROBUST_PRIO_PROTECT: u32 = 125;
1288pub const _SC_THREAD_SPORADIC_SERVER: u32 = 126;
1289pub const _SC_TIMEOUTS: u32 = 127;
1290pub const _SC_TRACE: u32 = 128;
1291pub const _SC_TRACE_EVENT_FILTER: u32 = 129;
1292pub const _SC_TRACE_EVENT_NAME_MAX: u32 = 130;
1293pub const _SC_TRACE_INHERIT: u32 = 131;
1294pub const _SC_TRACE_LOG: u32 = 132;
1295pub const _SC_TRACE_NAME_MAX: u32 = 133;
1296pub const _SC_TRACE_SYS_MAX: u32 = 134;
1297pub const _SC_TRACE_USER_EVENT_MAX: u32 = 135;
1298pub const _SC_TYPED_MEMORY_OBJECTS: u32 = 136;
1299pub const _SC_V7_ILP32_OFF32: u32 = 137;
1300pub const _SC_V7_ILP32_OFFBIG: u32 = 138;
1301pub const _SC_V7_LP64_OFF64: u32 = 139;
1302pub const _SC_V7_LPBIG_OFFBIG: u32 = 140;
1303pub const _SC_XOPEN_STREAMS: u32 = 141;
1304pub const _SC_XOPEN_UUCP: u32 = 142;
1305pub const _SC_LEVEL1_ICACHE_SIZE: u32 = 143;
1306pub const _SC_LEVEL1_ICACHE_ASSOC: u32 = 144;
1307pub const _SC_LEVEL1_ICACHE_LINESIZE: u32 = 145;
1308pub const _SC_LEVEL1_DCACHE_SIZE: u32 = 146;
1309pub const _SC_LEVEL1_DCACHE_ASSOC: u32 = 147;
1310pub const _SC_LEVEL1_DCACHE_LINESIZE: u32 = 148;
1311pub const _SC_LEVEL2_CACHE_SIZE: u32 = 149;
1312pub const _SC_LEVEL2_CACHE_ASSOC: u32 = 150;
1313pub const _SC_LEVEL2_CACHE_LINESIZE: u32 = 151;
1314pub const _SC_LEVEL3_CACHE_SIZE: u32 = 152;
1315pub const _SC_LEVEL3_CACHE_ASSOC: u32 = 153;
1316pub const _SC_LEVEL3_CACHE_LINESIZE: u32 = 154;
1317pub const _SC_LEVEL4_CACHE_SIZE: u32 = 155;
1318pub const _SC_LEVEL4_CACHE_ASSOC: u32 = 156;
1319pub const _SC_LEVEL4_CACHE_LINESIZE: u32 = 157;
1320pub const STDIN_FILENO: u32 = 0;
1321pub const STDOUT_FILENO: u32 = 1;
1322pub const STDERR_FILENO: u32 = 2;
1323pub const F_OK: u32 = 0;
1324pub const X_OK: u32 = 1;
1325pub const W_OK: u32 = 2;
1326pub const R_OK: u32 = 4;
1327pub const _PC_FILESIZEBITS: u32 = 0;
1328pub const _PC_LINK_MAX: u32 = 1;
1329pub const _PC_MAX_CANON: u32 = 2;
1330pub const _PC_MAX_INPUT: u32 = 3;
1331pub const _PC_NAME_MAX: u32 = 4;
1332pub const _PC_PATH_MAX: u32 = 5;
1333pub const _PC_PIPE_BUF: u32 = 6;
1334pub const _PC_2_SYMLINKS: u32 = 7;
1335pub const _PC_ALLOC_SIZE_MIN: u32 = 8;
1336pub const _PC_REC_INCR_XFER_SIZE: u32 = 9;
1337pub const _PC_REC_MAX_XFER_SIZE: u32 = 10;
1338pub const _PC_REC_MIN_XFER_SIZE: u32 = 11;
1339pub const _PC_REC_XFER_ALIGN: u32 = 12;
1340pub const _PC_SYMLINK_MAX: u32 = 13;
1341pub const _PC_CHOWN_RESTRICTED: u32 = 14;
1342pub const _PC_NO_TRUNC: u32 = 15;
1343pub const _PC_VDISABLE: u32 = 16;
1344pub const _PC_ASYNC_IO: u32 = 17;
1345pub const _PC_PRIO_IO: u32 = 18;
1346pub const _PC_SYNC_IO: u32 = 19;
1347pub const FP_INFINITE: u32 = 1;
1348pub const FP_NAN: u32 = 2;
1349pub const FP_NORMAL: u32 = 4;
1350pub const FP_SUBNORMAL: u32 = 8;
1351pub const FP_ZERO: u32 = 16;
1352pub const FP_ILOGB0: i32 = -2147483647;
1353pub const FP_ILOGBNAN: u32 = 2147483647;
1354pub const MATH_ERRNO: u32 = 1;
1355pub const MATH_ERREXCEPT: u32 = 2;
1356pub const math_errhandling: u32 = 2;
1357pub const M_E: f64 = 2.718281828459045;
1358pub const M_LOG2E: f64 = 1.4426950408889634;
1359pub const M_LOG10E: f64 = 0.4342944819032518;
1360pub const M_LN2: f64 = 0.6931471805599453;
1361pub const M_LN10: f64 = 2.302585092994046;
1362pub const M_PI: f64 = 3.141592653589793;
1363pub const M_PI_2: f64 = 1.5707963267948966;
1364pub const M_PI_4: f64 = 0.7853981633974483;
1365pub const M_1_PI: f64 = 0.3183098861837907;
1366pub const M_2_PI: f64 = 0.6366197723675814;
1367pub const M_2_SQRTPI: f64 = 1.1283791670955126;
1368pub const M_SQRT2: f64 = 1.4142135623730951;
1369pub const M_SQRT1_2: f64 = 0.7071067811865476;
1370pub const ASENSOR_FIFO_COUNT_INVALID: i32 = -1;
1371pub const ASENSOR_DELAY_INVALID: i32 = -2147483648;
1372pub const ASENSOR_INVALID: i32 = -1;
1373pub const ASENSOR_STANDARD_GRAVITY: f64 = 9.80665;
1374pub const ASENSOR_MAGNETIC_FIELD_EARTH_MAX: f64 = 60.0;
1375pub const ASENSOR_MAGNETIC_FIELD_EARTH_MIN: f64 = 30.0;
1376pub const _IOC_NRBITS: u32 = 8;
1377pub const _IOC_TYPEBITS: u32 = 8;
1378pub const _IOC_SIZEBITS: u32 = 14;
1379pub const _IOC_DIRBITS: u32 = 2;
1380pub const _IOC_NRMASK: u32 = 255;
1381pub const _IOC_TYPEMASK: u32 = 255;
1382pub const _IOC_SIZEMASK: u32 = 16383;
1383pub const _IOC_DIRMASK: u32 = 3;
1384pub const _IOC_NRSHIFT: u32 = 0;
1385pub const _IOC_TYPESHIFT: u32 = 8;
1386pub const _IOC_SIZESHIFT: u32 = 16;
1387pub const _IOC_DIRSHIFT: u32 = 30;
1388pub const _IOC_NONE: u32 = 0;
1389pub const _IOC_WRITE: u32 = 1;
1390pub const _IOC_READ: u32 = 2;
1391pub const IOC_IN: u32 = 1073741824;
1392pub const IOC_OUT: u32 = 2147483648;
1393pub const IOC_INOUT: u32 = 3221225472;
1394pub const IOCSIZE_MASK: u32 = 1073676288;
1395pub const IOCSIZE_SHIFT: u32 = 16;
1396pub const SYNC_IOC_MAGIC: u8 = 62u8;
1397pub const CLOCKS_PER_SEC: u32 = 1000000;
1398pub const TIME_UTC: u32 = 1;
1399pub const TIME_MONOTONIC: u32 = 2;
1400pub const TIME_ACTIVE: u32 = 3;
1401pub const TIME_THREAD_ACTIVE: u32 = 4;
1402pub const AAUDIO_UNSPECIFIED: u32 = 0;
1403pub const AAUDIO_SYSTEM_USAGE_OFFSET: u32 = 1000;
1404pub const PROPERTY_VENDOR: &[u8; 7] = b"vendor\0";
1405pub const PROPERTY_VERSION: &[u8; 8] = b"version\0";
1406pub const PROPERTY_DESCRIPTION: &[u8; 12] = b"description\0";
1407pub const PROPERTY_ALGORITHMS: &[u8; 11] = b"algorithms\0";
1408pub const PROPERTY_DEVICE_UNIQUE_ID: &[u8; 15] = b"deviceUniqueId\0";
1409extern "C" {
1410    pub fn android_get_application_target_sdk_version() -> ::std::os::raw::c_int;
1411}
1412extern "C" {
1413    pub fn android_get_device_api_level() -> ::std::os::raw::c_int;
1414}
1415pub type wchar_t = ::std::os::raw::c_uint;
1416#[repr(C)]
1417#[derive(Debug, Copy, Clone)]
1418pub struct max_align_t {
1419    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
1420    pub __clang_max_align_nonce2: f64,
1421}
1422#[test]
1423fn bindgen_test_layout_max_align_t() {
1424    const UNINIT: ::std::mem::MaybeUninit<max_align_t> = ::std::mem::MaybeUninit::uninit();
1425    let ptr = UNINIT.as_ptr();
1426    assert_eq!(
1427        ::std::mem::size_of::<max_align_t>(),
1428        16usize,
1429        concat!("Size of: ", stringify!(max_align_t))
1430    );
1431    assert_eq!(
1432        ::std::mem::align_of::<max_align_t>(),
1433        8usize,
1434        concat!("Alignment of ", stringify!(max_align_t))
1435    );
1436    assert_eq!(
1437        unsafe { ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce1) as usize - ptr as usize },
1438        0usize,
1439        concat!(
1440            "Offset of field: ",
1441            stringify!(max_align_t),
1442            "::",
1443            stringify!(__clang_max_align_nonce1)
1444        )
1445    );
1446    assert_eq!(
1447        unsafe { ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce2) as usize - ptr as usize },
1448        8usize,
1449        concat!(
1450            "Offset of field: ",
1451            stringify!(max_align_t),
1452            "::",
1453            stringify!(__clang_max_align_nonce2)
1454        )
1455    );
1456}
1457pub type __int8_t = ::std::os::raw::c_schar;
1458pub type __uint8_t = ::std::os::raw::c_uchar;
1459pub type __int16_t = ::std::os::raw::c_short;
1460pub type __uint16_t = ::std::os::raw::c_ushort;
1461pub type __int32_t = ::std::os::raw::c_int;
1462pub type __uint32_t = ::std::os::raw::c_uint;
1463pub type __int64_t = ::std::os::raw::c_longlong;
1464pub type __uint64_t = ::std::os::raw::c_ulonglong;
1465pub type __intptr_t = ::std::os::raw::c_int;
1466pub type __uintptr_t = ::std::os::raw::c_uint;
1467pub type int_least8_t = i8;
1468pub type uint_least8_t = u8;
1469pub type int_least16_t = i16;
1470pub type uint_least16_t = u16;
1471pub type int_least32_t = i32;
1472pub type uint_least32_t = u32;
1473pub type int_least64_t = i64;
1474pub type uint_least64_t = u64;
1475pub type int_fast8_t = i8;
1476pub type uint_fast8_t = u8;
1477pub type int_fast64_t = i64;
1478pub type uint_fast64_t = u64;
1479pub type int_fast16_t = i32;
1480pub type uint_fast16_t = u32;
1481pub type int_fast32_t = i32;
1482pub type uint_fast32_t = u32;
1483pub type uintmax_t = u64;
1484pub type intmax_t = i64;
1485pub type __s8 = ::std::os::raw::c_schar;
1486pub type __u8 = ::std::os::raw::c_uchar;
1487pub type __s16 = ::std::os::raw::c_short;
1488pub type __u16 = ::std::os::raw::c_ushort;
1489pub type __s32 = ::std::os::raw::c_int;
1490pub type __u32 = ::std::os::raw::c_uint;
1491pub type __s64 = ::std::os::raw::c_longlong;
1492pub type __u64 = ::std::os::raw::c_ulonglong;
1493#[repr(C)]
1494#[derive(Debug, Copy, Clone)]
1495pub struct __kernel_fd_set {
1496    pub fds_bits: [::std::os::raw::c_ulong; 32usize],
1497}
1498#[test]
1499fn bindgen_test_layout___kernel_fd_set() {
1500    const UNINIT: ::std::mem::MaybeUninit<__kernel_fd_set> = ::std::mem::MaybeUninit::uninit();
1501    let ptr = UNINIT.as_ptr();
1502    assert_eq!(
1503        ::std::mem::size_of::<__kernel_fd_set>(),
1504        128usize,
1505        concat!("Size of: ", stringify!(__kernel_fd_set))
1506    );
1507    assert_eq!(
1508        ::std::mem::align_of::<__kernel_fd_set>(),
1509        4usize,
1510        concat!("Alignment of ", stringify!(__kernel_fd_set))
1511    );
1512    assert_eq!(
1513        unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
1514        0usize,
1515        concat!(
1516            "Offset of field: ",
1517            stringify!(__kernel_fd_set),
1518            "::",
1519            stringify!(fds_bits)
1520        )
1521    );
1522}
1523pub type __kernel_sighandler_t =
1524    ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
1525pub type __kernel_key_t = ::std::os::raw::c_int;
1526pub type __kernel_mqd_t = ::std::os::raw::c_int;
1527pub type __kernel_mode_t = ::std::os::raw::c_ushort;
1528pub type __kernel_ipc_pid_t = ::std::os::raw::c_ushort;
1529pub type __kernel_uid_t = ::std::os::raw::c_ushort;
1530pub type __kernel_gid_t = ::std::os::raw::c_ushort;
1531pub type __kernel_old_dev_t = ::std::os::raw::c_ushort;
1532pub type __kernel_long_t = ::std::os::raw::c_long;
1533pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
1534pub type __kernel_ino_t = __kernel_ulong_t;
1535pub type __kernel_pid_t = ::std::os::raw::c_int;
1536pub type __kernel_suseconds_t = __kernel_long_t;
1537pub type __kernel_daddr_t = ::std::os::raw::c_int;
1538pub type __kernel_uid32_t = ::std::os::raw::c_uint;
1539pub type __kernel_gid32_t = ::std::os::raw::c_uint;
1540pub type __kernel_old_uid_t = __kernel_uid_t;
1541pub type __kernel_old_gid_t = __kernel_gid_t;
1542pub type __kernel_size_t = ::std::os::raw::c_uint;
1543pub type __kernel_ssize_t = ::std::os::raw::c_int;
1544pub type __kernel_ptrdiff_t = ::std::os::raw::c_int;
1545#[repr(C)]
1546#[derive(Debug, Copy, Clone)]
1547pub struct __kernel_fsid_t {
1548    pub val: [::std::os::raw::c_int; 2usize],
1549}
1550#[test]
1551fn bindgen_test_layout___kernel_fsid_t() {
1552    const UNINIT: ::std::mem::MaybeUninit<__kernel_fsid_t> = ::std::mem::MaybeUninit::uninit();
1553    let ptr = UNINIT.as_ptr();
1554    assert_eq!(
1555        ::std::mem::size_of::<__kernel_fsid_t>(),
1556        8usize,
1557        concat!("Size of: ", stringify!(__kernel_fsid_t))
1558    );
1559    assert_eq!(
1560        ::std::mem::align_of::<__kernel_fsid_t>(),
1561        4usize,
1562        concat!("Alignment of ", stringify!(__kernel_fsid_t))
1563    );
1564    assert_eq!(
1565        unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize },
1566        0usize,
1567        concat!(
1568            "Offset of field: ",
1569            stringify!(__kernel_fsid_t),
1570            "::",
1571            stringify!(val)
1572        )
1573    );
1574}
1575pub type __kernel_off_t = __kernel_long_t;
1576pub type __kernel_loff_t = ::std::os::raw::c_longlong;
1577pub type __kernel_old_time_t = __kernel_long_t;
1578pub type __kernel_time_t = __kernel_long_t;
1579pub type __kernel_time64_t = ::std::os::raw::c_longlong;
1580pub type __kernel_clock_t = __kernel_long_t;
1581pub type __kernel_timer_t = ::std::os::raw::c_int;
1582pub type __kernel_clockid_t = ::std::os::raw::c_int;
1583pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
1584pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
1585pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
1586pub type __le16 = __u16;
1587pub type __be16 = __u16;
1588pub type __le32 = __u32;
1589pub type __be32 = __u32;
1590pub type __le64 = __u64;
1591pub type __be64 = __u64;
1592pub type __sum16 = __u16;
1593pub type __wsum = __u32;
1594pub type __poll_t = ::std::os::raw::c_uint;
1595#[repr(C)]
1596#[derive(Debug, Copy, Clone)]
1597pub struct pthread_attr_t {
1598    pub flags: u32,
1599    pub stack_base: *mut ::std::os::raw::c_void,
1600    pub stack_size: usize,
1601    pub guard_size: usize,
1602    pub sched_policy: i32,
1603    pub sched_priority: i32,
1604}
1605#[test]
1606fn bindgen_test_layout_pthread_attr_t() {
1607    const UNINIT: ::std::mem::MaybeUninit<pthread_attr_t> = ::std::mem::MaybeUninit::uninit();
1608    let ptr = UNINIT.as_ptr();
1609    assert_eq!(
1610        ::std::mem::size_of::<pthread_attr_t>(),
1611        24usize,
1612        concat!("Size of: ", stringify!(pthread_attr_t))
1613    );
1614    assert_eq!(
1615        ::std::mem::align_of::<pthread_attr_t>(),
1616        4usize,
1617        concat!("Alignment of ", stringify!(pthread_attr_t))
1618    );
1619    assert_eq!(
1620        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
1621        0usize,
1622        concat!(
1623            "Offset of field: ",
1624            stringify!(pthread_attr_t),
1625            "::",
1626            stringify!(flags)
1627        )
1628    );
1629    assert_eq!(
1630        unsafe { ::std::ptr::addr_of!((*ptr).stack_base) as usize - ptr as usize },
1631        4usize,
1632        concat!(
1633            "Offset of field: ",
1634            stringify!(pthread_attr_t),
1635            "::",
1636            stringify!(stack_base)
1637        )
1638    );
1639    assert_eq!(
1640        unsafe { ::std::ptr::addr_of!((*ptr).stack_size) as usize - ptr as usize },
1641        8usize,
1642        concat!(
1643            "Offset of field: ",
1644            stringify!(pthread_attr_t),
1645            "::",
1646            stringify!(stack_size)
1647        )
1648    );
1649    assert_eq!(
1650        unsafe { ::std::ptr::addr_of!((*ptr).guard_size) as usize - ptr as usize },
1651        12usize,
1652        concat!(
1653            "Offset of field: ",
1654            stringify!(pthread_attr_t),
1655            "::",
1656            stringify!(guard_size)
1657        )
1658    );
1659    assert_eq!(
1660        unsafe { ::std::ptr::addr_of!((*ptr).sched_policy) as usize - ptr as usize },
1661        16usize,
1662        concat!(
1663            "Offset of field: ",
1664            stringify!(pthread_attr_t),
1665            "::",
1666            stringify!(sched_policy)
1667        )
1668    );
1669    assert_eq!(
1670        unsafe { ::std::ptr::addr_of!((*ptr).sched_priority) as usize - ptr as usize },
1671        20usize,
1672        concat!(
1673            "Offset of field: ",
1674            stringify!(pthread_attr_t),
1675            "::",
1676            stringify!(sched_priority)
1677        )
1678    );
1679}
1680#[repr(C)]
1681#[derive(Debug, Copy, Clone)]
1682pub struct pthread_barrier_t {
1683    pub __private: [i32; 8usize],
1684}
1685#[test]
1686fn bindgen_test_layout_pthread_barrier_t() {
1687    const UNINIT: ::std::mem::MaybeUninit<pthread_barrier_t> = ::std::mem::MaybeUninit::uninit();
1688    let ptr = UNINIT.as_ptr();
1689    assert_eq!(
1690        ::std::mem::size_of::<pthread_barrier_t>(),
1691        32usize,
1692        concat!("Size of: ", stringify!(pthread_barrier_t))
1693    );
1694    assert_eq!(
1695        ::std::mem::align_of::<pthread_barrier_t>(),
1696        4usize,
1697        concat!("Alignment of ", stringify!(pthread_barrier_t))
1698    );
1699    assert_eq!(
1700        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1701        0usize,
1702        concat!(
1703            "Offset of field: ",
1704            stringify!(pthread_barrier_t),
1705            "::",
1706            stringify!(__private)
1707        )
1708    );
1709}
1710pub type pthread_barrierattr_t = ::std::os::raw::c_int;
1711#[repr(C)]
1712#[derive(Debug, Copy, Clone)]
1713pub struct pthread_cond_t {
1714    pub __private: [i32; 1usize],
1715}
1716#[test]
1717fn bindgen_test_layout_pthread_cond_t() {
1718    const UNINIT: ::std::mem::MaybeUninit<pthread_cond_t> = ::std::mem::MaybeUninit::uninit();
1719    let ptr = UNINIT.as_ptr();
1720    assert_eq!(
1721        ::std::mem::size_of::<pthread_cond_t>(),
1722        4usize,
1723        concat!("Size of: ", stringify!(pthread_cond_t))
1724    );
1725    assert_eq!(
1726        ::std::mem::align_of::<pthread_cond_t>(),
1727        4usize,
1728        concat!("Alignment of ", stringify!(pthread_cond_t))
1729    );
1730    assert_eq!(
1731        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1732        0usize,
1733        concat!(
1734            "Offset of field: ",
1735            stringify!(pthread_cond_t),
1736            "::",
1737            stringify!(__private)
1738        )
1739    );
1740}
1741pub type pthread_condattr_t = ::std::os::raw::c_long;
1742pub type pthread_key_t = ::std::os::raw::c_int;
1743#[repr(C)]
1744#[derive(Debug, Copy, Clone)]
1745pub struct pthread_mutex_t {
1746    pub __private: [i32; 1usize],
1747}
1748#[test]
1749fn bindgen_test_layout_pthread_mutex_t() {
1750    const UNINIT: ::std::mem::MaybeUninit<pthread_mutex_t> = ::std::mem::MaybeUninit::uninit();
1751    let ptr = UNINIT.as_ptr();
1752    assert_eq!(
1753        ::std::mem::size_of::<pthread_mutex_t>(),
1754        4usize,
1755        concat!("Size of: ", stringify!(pthread_mutex_t))
1756    );
1757    assert_eq!(
1758        ::std::mem::align_of::<pthread_mutex_t>(),
1759        4usize,
1760        concat!("Alignment of ", stringify!(pthread_mutex_t))
1761    );
1762    assert_eq!(
1763        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1764        0usize,
1765        concat!(
1766            "Offset of field: ",
1767            stringify!(pthread_mutex_t),
1768            "::",
1769            stringify!(__private)
1770        )
1771    );
1772}
1773pub type pthread_mutexattr_t = ::std::os::raw::c_long;
1774pub type pthread_once_t = ::std::os::raw::c_int;
1775#[repr(C)]
1776#[derive(Debug, Copy, Clone)]
1777pub struct pthread_rwlock_t {
1778    pub __private: [i32; 10usize],
1779}
1780#[test]
1781fn bindgen_test_layout_pthread_rwlock_t() {
1782    const UNINIT: ::std::mem::MaybeUninit<pthread_rwlock_t> = ::std::mem::MaybeUninit::uninit();
1783    let ptr = UNINIT.as_ptr();
1784    assert_eq!(
1785        ::std::mem::size_of::<pthread_rwlock_t>(),
1786        40usize,
1787        concat!("Size of: ", stringify!(pthread_rwlock_t))
1788    );
1789    assert_eq!(
1790        ::std::mem::align_of::<pthread_rwlock_t>(),
1791        4usize,
1792        concat!("Alignment of ", stringify!(pthread_rwlock_t))
1793    );
1794    assert_eq!(
1795        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1796        0usize,
1797        concat!(
1798            "Offset of field: ",
1799            stringify!(pthread_rwlock_t),
1800            "::",
1801            stringify!(__private)
1802        )
1803    );
1804}
1805pub type pthread_rwlockattr_t = ::std::os::raw::c_long;
1806#[repr(C)]
1807#[derive(Debug, Copy, Clone)]
1808pub struct pthread_spinlock_t {
1809    pub __private: [i32; 2usize],
1810}
1811#[test]
1812fn bindgen_test_layout_pthread_spinlock_t() {
1813    const UNINIT: ::std::mem::MaybeUninit<pthread_spinlock_t> = ::std::mem::MaybeUninit::uninit();
1814    let ptr = UNINIT.as_ptr();
1815    assert_eq!(
1816        ::std::mem::size_of::<pthread_spinlock_t>(),
1817        8usize,
1818        concat!("Size of: ", stringify!(pthread_spinlock_t))
1819    );
1820    assert_eq!(
1821        ::std::mem::align_of::<pthread_spinlock_t>(),
1822        4usize,
1823        concat!("Alignment of ", stringify!(pthread_spinlock_t))
1824    );
1825    assert_eq!(
1826        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1827        0usize,
1828        concat!(
1829            "Offset of field: ",
1830            stringify!(pthread_spinlock_t),
1831            "::",
1832            stringify!(__private)
1833        )
1834    );
1835}
1836pub type pthread_t = ::std::os::raw::c_long;
1837pub type __gid_t = __kernel_gid32_t;
1838pub type gid_t = __gid_t;
1839pub type __uid_t = __kernel_uid32_t;
1840pub type uid_t = __uid_t;
1841pub type __pid_t = __kernel_pid_t;
1842pub type pid_t = __pid_t;
1843pub type __id_t = u32;
1844pub type id_t = __id_t;
1845pub type blkcnt_t = ::std::os::raw::c_ulong;
1846pub type blksize_t = ::std::os::raw::c_ulong;
1847pub type caddr_t = __kernel_caddr_t;
1848pub type clock_t = __kernel_clock_t;
1849pub type __clockid_t = __kernel_clockid_t;
1850pub type clockid_t = __clockid_t;
1851pub type daddr_t = __kernel_daddr_t;
1852pub type fsblkcnt_t = ::std::os::raw::c_ulong;
1853pub type fsfilcnt_t = ::std::os::raw::c_ulong;
1854pub type __mode_t = __kernel_mode_t;
1855pub type mode_t = __mode_t;
1856pub type __key_t = __kernel_key_t;
1857pub type key_t = __key_t;
1858pub type __ino_t = __kernel_ino_t;
1859pub type ino_t = __ino_t;
1860pub type ino64_t = u64;
1861pub type __nlink_t = u32;
1862pub type nlink_t = __nlink_t;
1863pub type __timer_t = *mut ::std::os::raw::c_void;
1864pub type timer_t = __timer_t;
1865pub type __suseconds_t = __kernel_suseconds_t;
1866pub type suseconds_t = __suseconds_t;
1867pub type __useconds_t = u32;
1868pub type useconds_t = __useconds_t;
1869pub type dev_t = u32;
1870pub type __time_t = __kernel_time_t;
1871pub type time_t = __time_t;
1872pub type off_t = __kernel_off_t;
1873pub type loff_t = __kernel_loff_t;
1874pub type off64_t = loff_t;
1875pub type __socklen_t = i32;
1876pub type socklen_t = __socklen_t;
1877pub type __va_list = u32;
1878pub type uint_t = ::std::os::raw::c_uint;
1879pub type uint = ::std::os::raw::c_uint;
1880pub type u_char = ::std::os::raw::c_uchar;
1881pub type u_short = ::std::os::raw::c_ushort;
1882pub type u_int = ::std::os::raw::c_uint;
1883pub type u_long = ::std::os::raw::c_ulong;
1884pub type u_int32_t = u32;
1885pub type u_int16_t = u16;
1886pub type u_int8_t = u8;
1887pub type u_int64_t = u64;
1888#[repr(C)]
1889#[derive(Debug, Copy, Clone)]
1890pub struct AAssetManager {
1891    _unused: [u8; 0],
1892}
1893#[repr(C)]
1894#[derive(Debug, Copy, Clone)]
1895pub struct AAssetDir {
1896    _unused: [u8; 0],
1897}
1898#[repr(C)]
1899#[derive(Debug, Copy, Clone)]
1900pub struct AAsset {
1901    _unused: [u8; 0],
1902}
1903pub const AASSET_MODE_UNKNOWN: _bindgen_ty_1 = 0;
1904pub const AASSET_MODE_RANDOM: _bindgen_ty_1 = 1;
1905pub const AASSET_MODE_STREAMING: _bindgen_ty_1 = 2;
1906pub const AASSET_MODE_BUFFER: _bindgen_ty_1 = 3;
1907pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
1908extern "C" {
1909    pub fn AAssetManager_openDir(
1910        mgr: *mut AAssetManager,
1911        dirName: *const ::std::os::raw::c_char,
1912    ) -> *mut AAssetDir;
1913}
1914extern "C" {
1915    pub fn AAssetManager_open(
1916        mgr: *mut AAssetManager,
1917        filename: *const ::std::os::raw::c_char,
1918        mode: ::std::os::raw::c_int,
1919    ) -> *mut AAsset;
1920}
1921extern "C" {
1922    pub fn AAssetDir_getNextFileName(assetDir: *mut AAssetDir) -> *const ::std::os::raw::c_char;
1923}
1924extern "C" {
1925    pub fn AAssetDir_rewind(assetDir: *mut AAssetDir);
1926}
1927extern "C" {
1928    pub fn AAssetDir_close(assetDir: *mut AAssetDir);
1929}
1930extern "C" {
1931    pub fn AAsset_read(
1932        asset: *mut AAsset,
1933        buf: *mut ::std::os::raw::c_void,
1934        count: usize,
1935    ) -> ::std::os::raw::c_int;
1936}
1937extern "C" {
1938    pub fn AAsset_seek(asset: *mut AAsset, offset: off_t, whence: ::std::os::raw::c_int) -> off_t;
1939}
1940extern "C" {
1941    pub fn AAsset_seek64(
1942        asset: *mut AAsset,
1943        offset: off64_t,
1944        whence: ::std::os::raw::c_int,
1945    ) -> off64_t;
1946}
1947extern "C" {
1948    pub fn AAsset_close(asset: *mut AAsset);
1949}
1950extern "C" {
1951    pub fn AAsset_getBuffer(asset: *mut AAsset) -> *const ::std::os::raw::c_void;
1952}
1953extern "C" {
1954    pub fn AAsset_getLength(asset: *mut AAsset) -> off_t;
1955}
1956extern "C" {
1957    pub fn AAsset_getLength64(asset: *mut AAsset) -> off64_t;
1958}
1959extern "C" {
1960    pub fn AAsset_getRemainingLength(asset: *mut AAsset) -> off_t;
1961}
1962extern "C" {
1963    pub fn AAsset_getRemainingLength64(asset: *mut AAsset) -> off64_t;
1964}
1965extern "C" {
1966    pub fn AAsset_openFileDescriptor(
1967        asset: *mut AAsset,
1968        outStart: *mut off_t,
1969        outLength: *mut off_t,
1970    ) -> ::std::os::raw::c_int;
1971}
1972extern "C" {
1973    pub fn AAsset_openFileDescriptor64(
1974        asset: *mut AAsset,
1975        outStart: *mut off64_t,
1976        outLength: *mut off64_t,
1977    ) -> ::std::os::raw::c_int;
1978}
1979extern "C" {
1980    pub fn AAsset_isAllocated(asset: *mut AAsset) -> ::std::os::raw::c_int;
1981}
1982pub type __gnuc_va_list = u32;
1983pub type va_list = u32;
1984#[repr(C)]
1985pub struct JavaVMAttachArgs {
1986    pub version: jint,
1987    pub name: *const ::std::os::raw::c_char,
1988    pub group: jobject,
1989}
1990#[test]
1991fn bindgen_test_layout_JavaVMAttachArgs() {
1992    const UNINIT: ::std::mem::MaybeUninit<JavaVMAttachArgs> = ::std::mem::MaybeUninit::uninit();
1993    let ptr = UNINIT.as_ptr();
1994    assert_eq!(
1995        ::std::mem::size_of::<JavaVMAttachArgs>(),
1996        12usize,
1997        concat!("Size of: ", stringify!(JavaVMAttachArgs))
1998    );
1999    assert_eq!(
2000        ::std::mem::align_of::<JavaVMAttachArgs>(),
2001        4usize,
2002        concat!("Alignment of ", stringify!(JavaVMAttachArgs))
2003    );
2004    assert_eq!(
2005        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
2006        0usize,
2007        concat!(
2008            "Offset of field: ",
2009            stringify!(JavaVMAttachArgs),
2010            "::",
2011            stringify!(version)
2012        )
2013    );
2014    assert_eq!(
2015        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
2016        4usize,
2017        concat!(
2018            "Offset of field: ",
2019            stringify!(JavaVMAttachArgs),
2020            "::",
2021            stringify!(name)
2022        )
2023    );
2024    assert_eq!(
2025        unsafe { ::std::ptr::addr_of!((*ptr).group) as usize - ptr as usize },
2026        8usize,
2027        concat!(
2028            "Offset of field: ",
2029            stringify!(JavaVMAttachArgs),
2030            "::",
2031            stringify!(group)
2032        )
2033    );
2034}
2035#[repr(C)]
2036#[derive(Debug, Copy, Clone)]
2037pub struct JavaVMOption {
2038    pub optionString: *const ::std::os::raw::c_char,
2039    pub extraInfo: *mut ::std::os::raw::c_void,
2040}
2041#[test]
2042fn bindgen_test_layout_JavaVMOption() {
2043    const UNINIT: ::std::mem::MaybeUninit<JavaVMOption> = ::std::mem::MaybeUninit::uninit();
2044    let ptr = UNINIT.as_ptr();
2045    assert_eq!(
2046        ::std::mem::size_of::<JavaVMOption>(),
2047        8usize,
2048        concat!("Size of: ", stringify!(JavaVMOption))
2049    );
2050    assert_eq!(
2051        ::std::mem::align_of::<JavaVMOption>(),
2052        4usize,
2053        concat!("Alignment of ", stringify!(JavaVMOption))
2054    );
2055    assert_eq!(
2056        unsafe { ::std::ptr::addr_of!((*ptr).optionString) as usize - ptr as usize },
2057        0usize,
2058        concat!(
2059            "Offset of field: ",
2060            stringify!(JavaVMOption),
2061            "::",
2062            stringify!(optionString)
2063        )
2064    );
2065    assert_eq!(
2066        unsafe { ::std::ptr::addr_of!((*ptr).extraInfo) as usize - ptr as usize },
2067        4usize,
2068        concat!(
2069            "Offset of field: ",
2070            stringify!(JavaVMOption),
2071            "::",
2072            stringify!(extraInfo)
2073        )
2074    );
2075}
2076#[repr(C)]
2077pub struct JavaVMInitArgs {
2078    pub version: jint,
2079    pub nOptions: jint,
2080    pub options: *mut JavaVMOption,
2081    pub ignoreUnrecognized: jboolean,
2082}
2083#[test]
2084fn bindgen_test_layout_JavaVMInitArgs() {
2085    const UNINIT: ::std::mem::MaybeUninit<JavaVMInitArgs> = ::std::mem::MaybeUninit::uninit();
2086    let ptr = UNINIT.as_ptr();
2087    assert_eq!(
2088        ::std::mem::size_of::<JavaVMInitArgs>(),
2089        16usize,
2090        concat!("Size of: ", stringify!(JavaVMInitArgs))
2091    );
2092    assert_eq!(
2093        ::std::mem::align_of::<JavaVMInitArgs>(),
2094        4usize,
2095        concat!("Alignment of ", stringify!(JavaVMInitArgs))
2096    );
2097    assert_eq!(
2098        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
2099        0usize,
2100        concat!(
2101            "Offset of field: ",
2102            stringify!(JavaVMInitArgs),
2103            "::",
2104            stringify!(version)
2105        )
2106    );
2107    assert_eq!(
2108        unsafe { ::std::ptr::addr_of!((*ptr).nOptions) as usize - ptr as usize },
2109        4usize,
2110        concat!(
2111            "Offset of field: ",
2112            stringify!(JavaVMInitArgs),
2113            "::",
2114            stringify!(nOptions)
2115        )
2116    );
2117    assert_eq!(
2118        unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
2119        8usize,
2120        concat!(
2121            "Offset of field: ",
2122            stringify!(JavaVMInitArgs),
2123            "::",
2124            stringify!(options)
2125        )
2126    );
2127    assert_eq!(
2128        unsafe { ::std::ptr::addr_of!((*ptr).ignoreUnrecognized) as usize - ptr as usize },
2129        12usize,
2130        concat!(
2131            "Offset of field: ",
2132            stringify!(JavaVMInitArgs),
2133            "::",
2134            stringify!(ignoreUnrecognized)
2135        )
2136    );
2137}
2138extern "C" {
2139    pub fn AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager;
2140}
2141pub const ANDROID_BITMAP_RESULT_SUCCESS: _bindgen_ty_2 = 0;
2142pub const ANDROID_BITMAP_RESULT_BAD_PARAMETER: _bindgen_ty_2 = -1;
2143pub const ANDROID_BITMAP_RESULT_JNI_EXCEPTION: _bindgen_ty_2 = -2;
2144pub const ANDROID_BITMAP_RESULT_ALLOCATION_FAILED: _bindgen_ty_2 = -3;
2145pub type _bindgen_ty_2 = ::std::os::raw::c_int;
2146impl AndroidBitmapFormat {
2147    pub const ANDROID_BITMAP_FORMAT_NONE: AndroidBitmapFormat = AndroidBitmapFormat(0);
2148}
2149impl AndroidBitmapFormat {
2150    pub const ANDROID_BITMAP_FORMAT_RGBA_8888: AndroidBitmapFormat = AndroidBitmapFormat(1);
2151}
2152impl AndroidBitmapFormat {
2153    pub const ANDROID_BITMAP_FORMAT_RGB_565: AndroidBitmapFormat = AndroidBitmapFormat(4);
2154}
2155impl AndroidBitmapFormat {
2156    pub const ANDROID_BITMAP_FORMAT_RGBA_4444: AndroidBitmapFormat = AndroidBitmapFormat(7);
2157}
2158impl AndroidBitmapFormat {
2159    pub const ANDROID_BITMAP_FORMAT_A_8: AndroidBitmapFormat = AndroidBitmapFormat(8);
2160}
2161impl AndroidBitmapFormat {
2162    pub const ANDROID_BITMAP_FORMAT_RGBA_F16: AndroidBitmapFormat = AndroidBitmapFormat(9);
2163}
2164impl AndroidBitmapFormat {
2165    pub const ANDROID_BITMAP_FORMAT_RGBA_1010102: AndroidBitmapFormat = AndroidBitmapFormat(10);
2166}
2167#[repr(transparent)]
2168#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2169pub struct AndroidBitmapFormat(pub ::std::os::raw::c_uint);
2170pub const ANDROID_BITMAP_FLAGS_ALPHA_PREMUL: _bindgen_ty_3 = 0;
2171pub const ANDROID_BITMAP_FLAGS_ALPHA_OPAQUE: _bindgen_ty_3 = 1;
2172pub const ANDROID_BITMAP_FLAGS_ALPHA_UNPREMUL: _bindgen_ty_3 = 2;
2173pub const ANDROID_BITMAP_FLAGS_ALPHA_MASK: _bindgen_ty_3 = 3;
2174pub const ANDROID_BITMAP_FLAGS_ALPHA_SHIFT: _bindgen_ty_3 = 0;
2175pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
2176pub const ANDROID_BITMAP_FLAGS_IS_HARDWARE: _bindgen_ty_4 = -2147483648;
2177pub type _bindgen_ty_4 = ::std::os::raw::c_int;
2178#[repr(C)]
2179#[derive(Debug, Copy, Clone)]
2180pub struct AndroidBitmapInfo {
2181    pub width: u32,
2182    pub height: u32,
2183    pub stride: u32,
2184    pub format: i32,
2185    pub flags: u32,
2186}
2187#[test]
2188fn bindgen_test_layout_AndroidBitmapInfo() {
2189    const UNINIT: ::std::mem::MaybeUninit<AndroidBitmapInfo> = ::std::mem::MaybeUninit::uninit();
2190    let ptr = UNINIT.as_ptr();
2191    assert_eq!(
2192        ::std::mem::size_of::<AndroidBitmapInfo>(),
2193        20usize,
2194        concat!("Size of: ", stringify!(AndroidBitmapInfo))
2195    );
2196    assert_eq!(
2197        ::std::mem::align_of::<AndroidBitmapInfo>(),
2198        4usize,
2199        concat!("Alignment of ", stringify!(AndroidBitmapInfo))
2200    );
2201    assert_eq!(
2202        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
2203        0usize,
2204        concat!(
2205            "Offset of field: ",
2206            stringify!(AndroidBitmapInfo),
2207            "::",
2208            stringify!(width)
2209        )
2210    );
2211    assert_eq!(
2212        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
2213        4usize,
2214        concat!(
2215            "Offset of field: ",
2216            stringify!(AndroidBitmapInfo),
2217            "::",
2218            stringify!(height)
2219        )
2220    );
2221    assert_eq!(
2222        unsafe { ::std::ptr::addr_of!((*ptr).stride) as usize - ptr as usize },
2223        8usize,
2224        concat!(
2225            "Offset of field: ",
2226            stringify!(AndroidBitmapInfo),
2227            "::",
2228            stringify!(stride)
2229        )
2230    );
2231    assert_eq!(
2232        unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
2233        12usize,
2234        concat!(
2235            "Offset of field: ",
2236            stringify!(AndroidBitmapInfo),
2237            "::",
2238            stringify!(format)
2239        )
2240    );
2241    assert_eq!(
2242        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
2243        16usize,
2244        concat!(
2245            "Offset of field: ",
2246            stringify!(AndroidBitmapInfo),
2247            "::",
2248            stringify!(flags)
2249        )
2250    );
2251}
2252extern "C" {
2253    pub fn AndroidBitmap_getInfo(
2254        env: *mut JNIEnv,
2255        jbitmap: jobject,
2256        info: *mut AndroidBitmapInfo,
2257    ) -> ::std::os::raw::c_int;
2258}
2259extern "C" {
2260    pub fn AndroidBitmap_getDataSpace(env: *mut JNIEnv, jbitmap: jobject) -> i32;
2261}
2262extern "C" {
2263    pub fn AndroidBitmap_lockPixels(
2264        env: *mut JNIEnv,
2265        jbitmap: jobject,
2266        addrPtr: *mut *mut ::std::os::raw::c_void,
2267    ) -> ::std::os::raw::c_int;
2268}
2269extern "C" {
2270    pub fn AndroidBitmap_unlockPixels(env: *mut JNIEnv, jbitmap: jobject) -> ::std::os::raw::c_int;
2271}
2272impl AndroidBitmapCompressFormat {
2273    pub const ANDROID_BITMAP_COMPRESS_FORMAT_JPEG: AndroidBitmapCompressFormat =
2274        AndroidBitmapCompressFormat(0);
2275}
2276impl AndroidBitmapCompressFormat {
2277    pub const ANDROID_BITMAP_COMPRESS_FORMAT_PNG: AndroidBitmapCompressFormat =
2278        AndroidBitmapCompressFormat(1);
2279}
2280impl AndroidBitmapCompressFormat {
2281    pub const ANDROID_BITMAP_COMPRESS_FORMAT_WEBP_LOSSY: AndroidBitmapCompressFormat =
2282        AndroidBitmapCompressFormat(3);
2283}
2284impl AndroidBitmapCompressFormat {
2285    pub const ANDROID_BITMAP_COMPRESS_FORMAT_WEBP_LOSSLESS: AndroidBitmapCompressFormat =
2286        AndroidBitmapCompressFormat(4);
2287}
2288#[repr(transparent)]
2289#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2290pub struct AndroidBitmapCompressFormat(pub ::std::os::raw::c_uint);
2291pub type AndroidBitmap_CompressWriteFunc = ::std::option::Option<
2292    unsafe extern "C" fn(
2293        userContext: *mut ::std::os::raw::c_void,
2294        data: *const ::std::os::raw::c_void,
2295        size: usize,
2296    ) -> bool,
2297>;
2298extern "C" {
2299    pub fn AndroidBitmap_compress(
2300        info: *const AndroidBitmapInfo,
2301        dataspace: i32,
2302        pixels: *const ::std::os::raw::c_void,
2303        format: i32,
2304        quality: i32,
2305        userContext: *mut ::std::os::raw::c_void,
2306        fn_: AndroidBitmap_CompressWriteFunc,
2307    ) -> ::std::os::raw::c_int;
2308}
2309#[repr(C)]
2310#[derive(Debug, Copy, Clone)]
2311pub struct AHardwareBuffer {
2312    _unused: [u8; 0],
2313}
2314extern "C" {
2315    pub fn AndroidBitmap_getHardwareBuffer(
2316        env: *mut JNIEnv,
2317        bitmap: jobject,
2318        outBuffer: *mut *mut AHardwareBuffer,
2319    ) -> ::std::os::raw::c_int;
2320}
2321#[repr(C)]
2322#[derive(Debug, Copy, Clone)]
2323pub struct AChoreographer {
2324    _unused: [u8; 0],
2325}
2326pub type AVsyncId = i64;
2327#[repr(C)]
2328#[derive(Debug, Copy, Clone)]
2329pub struct AChoreographerFrameCallbackData {
2330    _unused: [u8; 0],
2331}
2332pub type AChoreographer_frameCallback = ::std::option::Option<
2333    unsafe extern "C" fn(frameTimeNanos: ::std::os::raw::c_long, data: *mut ::std::os::raw::c_void),
2334>;
2335pub type AChoreographer_frameCallback64 = ::std::option::Option<
2336    unsafe extern "C" fn(frameTimeNanos: i64, data: *mut ::std::os::raw::c_void),
2337>;
2338pub type AChoreographer_vsyncCallback = ::std::option::Option<
2339    unsafe extern "C" fn(
2340        callbackData: *const AChoreographerFrameCallbackData,
2341        data: *mut ::std::os::raw::c_void,
2342    ),
2343>;
2344pub type AChoreographer_refreshRateCallback = ::std::option::Option<
2345    unsafe extern "C" fn(vsyncPeriodNanos: i64, data: *mut ::std::os::raw::c_void),
2346>;
2347extern "C" {
2348    pub fn AChoreographer_getInstance() -> *mut AChoreographer;
2349}
2350extern "C" {
2351    pub fn AChoreographer_postFrameCallback(
2352        choreographer: *mut AChoreographer,
2353        callback: AChoreographer_frameCallback,
2354        data: *mut ::std::os::raw::c_void,
2355    );
2356}
2357extern "C" {
2358    pub fn AChoreographer_postFrameCallbackDelayed(
2359        choreographer: *mut AChoreographer,
2360        callback: AChoreographer_frameCallback,
2361        data: *mut ::std::os::raw::c_void,
2362        delayMillis: ::std::os::raw::c_long,
2363    );
2364}
2365extern "C" {
2366    pub fn AChoreographer_postFrameCallback64(
2367        choreographer: *mut AChoreographer,
2368        callback: AChoreographer_frameCallback64,
2369        data: *mut ::std::os::raw::c_void,
2370    );
2371}
2372extern "C" {
2373    pub fn AChoreographer_postFrameCallbackDelayed64(
2374        choreographer: *mut AChoreographer,
2375        callback: AChoreographer_frameCallback64,
2376        data: *mut ::std::os::raw::c_void,
2377        delayMillis: u32,
2378    );
2379}
2380extern "C" {
2381    pub fn AChoreographer_postVsyncCallback(
2382        choreographer: *mut AChoreographer,
2383        callback: AChoreographer_vsyncCallback,
2384        data: *mut ::std::os::raw::c_void,
2385    );
2386}
2387extern "C" {
2388    pub fn AChoreographer_registerRefreshRateCallback(
2389        choreographer: *mut AChoreographer,
2390        arg1: AChoreographer_refreshRateCallback,
2391        data: *mut ::std::os::raw::c_void,
2392    );
2393}
2394extern "C" {
2395    pub fn AChoreographer_unregisterRefreshRateCallback(
2396        choreographer: *mut AChoreographer,
2397        arg1: AChoreographer_refreshRateCallback,
2398        data: *mut ::std::os::raw::c_void,
2399    );
2400}
2401extern "C" {
2402    pub fn AChoreographerFrameCallbackData_getFrameTimeNanos(
2403        data: *const AChoreographerFrameCallbackData,
2404    ) -> i64;
2405}
2406extern "C" {
2407    pub fn AChoreographerFrameCallbackData_getFrameTimelinesLength(
2408        data: *const AChoreographerFrameCallbackData,
2409    ) -> usize;
2410}
2411extern "C" {
2412    pub fn AChoreographerFrameCallbackData_getPreferredFrameTimelineIndex(
2413        data: *const AChoreographerFrameCallbackData,
2414    ) -> usize;
2415}
2416extern "C" {
2417    pub fn AChoreographerFrameCallbackData_getFrameTimelineVsyncId(
2418        data: *const AChoreographerFrameCallbackData,
2419        index: usize,
2420    ) -> AVsyncId;
2421}
2422extern "C" {
2423    pub fn AChoreographerFrameCallbackData_getFrameTimelineExpectedPresentationTimeNanos(
2424        data: *const AChoreographerFrameCallbackData,
2425        index: usize,
2426    ) -> i64;
2427}
2428extern "C" {
2429    pub fn AChoreographerFrameCallbackData_getFrameTimelineDeadlineNanos(
2430        data: *const AChoreographerFrameCallbackData,
2431        index: usize,
2432    ) -> i64;
2433}
2434#[repr(C)]
2435#[derive(Debug, Copy, Clone)]
2436pub struct AConfiguration {
2437    _unused: [u8; 0],
2438}
2439pub const ACONFIGURATION_ORIENTATION_ANY: _bindgen_ty_5 = 0;
2440pub const ACONFIGURATION_ORIENTATION_PORT: _bindgen_ty_5 = 1;
2441pub const ACONFIGURATION_ORIENTATION_LAND: _bindgen_ty_5 = 2;
2442pub const ACONFIGURATION_ORIENTATION_SQUARE: _bindgen_ty_5 = 3;
2443pub const ACONFIGURATION_TOUCHSCREEN_ANY: _bindgen_ty_5 = 0;
2444pub const ACONFIGURATION_TOUCHSCREEN_NOTOUCH: _bindgen_ty_5 = 1;
2445pub const ACONFIGURATION_TOUCHSCREEN_STYLUS: _bindgen_ty_5 = 2;
2446pub const ACONFIGURATION_TOUCHSCREEN_FINGER: _bindgen_ty_5 = 3;
2447pub const ACONFIGURATION_DENSITY_DEFAULT: _bindgen_ty_5 = 0;
2448pub const ACONFIGURATION_DENSITY_LOW: _bindgen_ty_5 = 120;
2449pub const ACONFIGURATION_DENSITY_MEDIUM: _bindgen_ty_5 = 160;
2450pub const ACONFIGURATION_DENSITY_TV: _bindgen_ty_5 = 213;
2451pub const ACONFIGURATION_DENSITY_HIGH: _bindgen_ty_5 = 240;
2452pub const ACONFIGURATION_DENSITY_XHIGH: _bindgen_ty_5 = 320;
2453pub const ACONFIGURATION_DENSITY_XXHIGH: _bindgen_ty_5 = 480;
2454pub const ACONFIGURATION_DENSITY_XXXHIGH: _bindgen_ty_5 = 640;
2455pub const ACONFIGURATION_DENSITY_ANY: _bindgen_ty_5 = 65534;
2456pub const ACONFIGURATION_DENSITY_NONE: _bindgen_ty_5 = 65535;
2457pub const ACONFIGURATION_KEYBOARD_ANY: _bindgen_ty_5 = 0;
2458pub const ACONFIGURATION_KEYBOARD_NOKEYS: _bindgen_ty_5 = 1;
2459pub const ACONFIGURATION_KEYBOARD_QWERTY: _bindgen_ty_5 = 2;
2460pub const ACONFIGURATION_KEYBOARD_12KEY: _bindgen_ty_5 = 3;
2461pub const ACONFIGURATION_NAVIGATION_ANY: _bindgen_ty_5 = 0;
2462pub const ACONFIGURATION_NAVIGATION_NONAV: _bindgen_ty_5 = 1;
2463pub const ACONFIGURATION_NAVIGATION_DPAD: _bindgen_ty_5 = 2;
2464pub const ACONFIGURATION_NAVIGATION_TRACKBALL: _bindgen_ty_5 = 3;
2465pub const ACONFIGURATION_NAVIGATION_WHEEL: _bindgen_ty_5 = 4;
2466pub const ACONFIGURATION_KEYSHIDDEN_ANY: _bindgen_ty_5 = 0;
2467pub const ACONFIGURATION_KEYSHIDDEN_NO: _bindgen_ty_5 = 1;
2468pub const ACONFIGURATION_KEYSHIDDEN_YES: _bindgen_ty_5 = 2;
2469pub const ACONFIGURATION_KEYSHIDDEN_SOFT: _bindgen_ty_5 = 3;
2470pub const ACONFIGURATION_NAVHIDDEN_ANY: _bindgen_ty_5 = 0;
2471pub const ACONFIGURATION_NAVHIDDEN_NO: _bindgen_ty_5 = 1;
2472pub const ACONFIGURATION_NAVHIDDEN_YES: _bindgen_ty_5 = 2;
2473pub const ACONFIGURATION_SCREENSIZE_ANY: _bindgen_ty_5 = 0;
2474pub const ACONFIGURATION_SCREENSIZE_SMALL: _bindgen_ty_5 = 1;
2475pub const ACONFIGURATION_SCREENSIZE_NORMAL: _bindgen_ty_5 = 2;
2476pub const ACONFIGURATION_SCREENSIZE_LARGE: _bindgen_ty_5 = 3;
2477pub const ACONFIGURATION_SCREENSIZE_XLARGE: _bindgen_ty_5 = 4;
2478pub const ACONFIGURATION_SCREENLONG_ANY: _bindgen_ty_5 = 0;
2479pub const ACONFIGURATION_SCREENLONG_NO: _bindgen_ty_5 = 1;
2480pub const ACONFIGURATION_SCREENLONG_YES: _bindgen_ty_5 = 2;
2481pub const ACONFIGURATION_SCREENROUND_ANY: _bindgen_ty_5 = 0;
2482pub const ACONFIGURATION_SCREENROUND_NO: _bindgen_ty_5 = 1;
2483pub const ACONFIGURATION_SCREENROUND_YES: _bindgen_ty_5 = 2;
2484pub const ACONFIGURATION_WIDE_COLOR_GAMUT_ANY: _bindgen_ty_5 = 0;
2485pub const ACONFIGURATION_WIDE_COLOR_GAMUT_NO: _bindgen_ty_5 = 1;
2486pub const ACONFIGURATION_WIDE_COLOR_GAMUT_YES: _bindgen_ty_5 = 2;
2487pub const ACONFIGURATION_HDR_ANY: _bindgen_ty_5 = 0;
2488pub const ACONFIGURATION_HDR_NO: _bindgen_ty_5 = 1;
2489pub const ACONFIGURATION_HDR_YES: _bindgen_ty_5 = 2;
2490pub const ACONFIGURATION_UI_MODE_TYPE_ANY: _bindgen_ty_5 = 0;
2491pub const ACONFIGURATION_UI_MODE_TYPE_NORMAL: _bindgen_ty_5 = 1;
2492pub const ACONFIGURATION_UI_MODE_TYPE_DESK: _bindgen_ty_5 = 2;
2493pub const ACONFIGURATION_UI_MODE_TYPE_CAR: _bindgen_ty_5 = 3;
2494pub const ACONFIGURATION_UI_MODE_TYPE_TELEVISION: _bindgen_ty_5 = 4;
2495pub const ACONFIGURATION_UI_MODE_TYPE_APPLIANCE: _bindgen_ty_5 = 5;
2496pub const ACONFIGURATION_UI_MODE_TYPE_WATCH: _bindgen_ty_5 = 6;
2497pub const ACONFIGURATION_UI_MODE_TYPE_VR_HEADSET: _bindgen_ty_5 = 7;
2498pub const ACONFIGURATION_UI_MODE_NIGHT_ANY: _bindgen_ty_5 = 0;
2499pub const ACONFIGURATION_UI_MODE_NIGHT_NO: _bindgen_ty_5 = 1;
2500pub const ACONFIGURATION_UI_MODE_NIGHT_YES: _bindgen_ty_5 = 2;
2501pub const ACONFIGURATION_SCREEN_WIDTH_DP_ANY: _bindgen_ty_5 = 0;
2502pub const ACONFIGURATION_SCREEN_HEIGHT_DP_ANY: _bindgen_ty_5 = 0;
2503pub const ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY: _bindgen_ty_5 = 0;
2504pub const ACONFIGURATION_LAYOUTDIR_ANY: _bindgen_ty_5 = 0;
2505pub const ACONFIGURATION_LAYOUTDIR_LTR: _bindgen_ty_5 = 1;
2506pub const ACONFIGURATION_LAYOUTDIR_RTL: _bindgen_ty_5 = 2;
2507pub const ACONFIGURATION_MCC: _bindgen_ty_5 = 1;
2508pub const ACONFIGURATION_MNC: _bindgen_ty_5 = 2;
2509pub const ACONFIGURATION_LOCALE: _bindgen_ty_5 = 4;
2510pub const ACONFIGURATION_TOUCHSCREEN: _bindgen_ty_5 = 8;
2511pub const ACONFIGURATION_KEYBOARD: _bindgen_ty_5 = 16;
2512pub const ACONFIGURATION_KEYBOARD_HIDDEN: _bindgen_ty_5 = 32;
2513pub const ACONFIGURATION_NAVIGATION: _bindgen_ty_5 = 64;
2514pub const ACONFIGURATION_ORIENTATION: _bindgen_ty_5 = 128;
2515pub const ACONFIGURATION_DENSITY: _bindgen_ty_5 = 256;
2516pub const ACONFIGURATION_SCREEN_SIZE: _bindgen_ty_5 = 512;
2517pub const ACONFIGURATION_VERSION: _bindgen_ty_5 = 1024;
2518pub const ACONFIGURATION_SCREEN_LAYOUT: _bindgen_ty_5 = 2048;
2519pub const ACONFIGURATION_UI_MODE: _bindgen_ty_5 = 4096;
2520pub const ACONFIGURATION_SMALLEST_SCREEN_SIZE: _bindgen_ty_5 = 8192;
2521pub const ACONFIGURATION_LAYOUTDIR: _bindgen_ty_5 = 16384;
2522pub const ACONFIGURATION_SCREEN_ROUND: _bindgen_ty_5 = 32768;
2523pub const ACONFIGURATION_COLOR_MODE: _bindgen_ty_5 = 65536;
2524pub const ACONFIGURATION_GRAMMATICAL_GENDER: _bindgen_ty_5 = 131072;
2525pub const ACONFIGURATION_MNC_ZERO: _bindgen_ty_5 = 65535;
2526pub const ACONFIGURATION_GRAMMATICAL_GENDER_ANY: _bindgen_ty_5 = 0;
2527pub const ACONFIGURATION_GRAMMATICAL_GENDER_NEUTER: _bindgen_ty_5 = 1;
2528pub const ACONFIGURATION_GRAMMATICAL_GENDER_FEMININE: _bindgen_ty_5 = 2;
2529pub const ACONFIGURATION_GRAMMATICAL_GENDER_MASCULINE: _bindgen_ty_5 = 3;
2530pub type _bindgen_ty_5 = ::std::os::raw::c_uint;
2531extern "C" {
2532    pub fn AConfiguration_new() -> *mut AConfiguration;
2533}
2534extern "C" {
2535    pub fn AConfiguration_delete(config: *mut AConfiguration);
2536}
2537extern "C" {
2538    pub fn AConfiguration_fromAssetManager(out: *mut AConfiguration, am: *mut AAssetManager);
2539}
2540extern "C" {
2541    pub fn AConfiguration_copy(dest: *mut AConfiguration, src: *mut AConfiguration);
2542}
2543extern "C" {
2544    pub fn AConfiguration_getMcc(config: *mut AConfiguration) -> i32;
2545}
2546extern "C" {
2547    pub fn AConfiguration_setMcc(config: *mut AConfiguration, mcc: i32);
2548}
2549extern "C" {
2550    pub fn AConfiguration_getMnc(config: *mut AConfiguration) -> i32;
2551}
2552extern "C" {
2553    pub fn AConfiguration_setMnc(config: *mut AConfiguration, mnc: i32);
2554}
2555extern "C" {
2556    pub fn AConfiguration_getLanguage(
2557        config: *mut AConfiguration,
2558        outLanguage: *mut ::std::os::raw::c_char,
2559    );
2560}
2561extern "C" {
2562    pub fn AConfiguration_setLanguage(
2563        config: *mut AConfiguration,
2564        language: *const ::std::os::raw::c_char,
2565    );
2566}
2567extern "C" {
2568    pub fn AConfiguration_getCountry(
2569        config: *mut AConfiguration,
2570        outCountry: *mut ::std::os::raw::c_char,
2571    );
2572}
2573extern "C" {
2574    pub fn AConfiguration_setCountry(
2575        config: *mut AConfiguration,
2576        country: *const ::std::os::raw::c_char,
2577    );
2578}
2579extern "C" {
2580    pub fn AConfiguration_getOrientation(config: *mut AConfiguration) -> i32;
2581}
2582extern "C" {
2583    pub fn AConfiguration_setOrientation(config: *mut AConfiguration, orientation: i32);
2584}
2585extern "C" {
2586    pub fn AConfiguration_getTouchscreen(config: *mut AConfiguration) -> i32;
2587}
2588extern "C" {
2589    pub fn AConfiguration_setTouchscreen(config: *mut AConfiguration, touchscreen: i32);
2590}
2591extern "C" {
2592    pub fn AConfiguration_getDensity(config: *mut AConfiguration) -> i32;
2593}
2594extern "C" {
2595    pub fn AConfiguration_setDensity(config: *mut AConfiguration, density: i32);
2596}
2597extern "C" {
2598    pub fn AConfiguration_getKeyboard(config: *mut AConfiguration) -> i32;
2599}
2600extern "C" {
2601    pub fn AConfiguration_setKeyboard(config: *mut AConfiguration, keyboard: i32);
2602}
2603extern "C" {
2604    pub fn AConfiguration_getNavigation(config: *mut AConfiguration) -> i32;
2605}
2606extern "C" {
2607    pub fn AConfiguration_setNavigation(config: *mut AConfiguration, navigation: i32);
2608}
2609extern "C" {
2610    pub fn AConfiguration_getKeysHidden(config: *mut AConfiguration) -> i32;
2611}
2612extern "C" {
2613    pub fn AConfiguration_setKeysHidden(config: *mut AConfiguration, keysHidden: i32);
2614}
2615extern "C" {
2616    pub fn AConfiguration_getNavHidden(config: *mut AConfiguration) -> i32;
2617}
2618extern "C" {
2619    pub fn AConfiguration_setNavHidden(config: *mut AConfiguration, navHidden: i32);
2620}
2621extern "C" {
2622    pub fn AConfiguration_getSdkVersion(config: *mut AConfiguration) -> i32;
2623}
2624extern "C" {
2625    pub fn AConfiguration_setSdkVersion(config: *mut AConfiguration, sdkVersion: i32);
2626}
2627extern "C" {
2628    pub fn AConfiguration_getScreenSize(config: *mut AConfiguration) -> i32;
2629}
2630extern "C" {
2631    pub fn AConfiguration_setScreenSize(config: *mut AConfiguration, screenSize: i32);
2632}
2633extern "C" {
2634    pub fn AConfiguration_getScreenLong(config: *mut AConfiguration) -> i32;
2635}
2636extern "C" {
2637    pub fn AConfiguration_setScreenLong(config: *mut AConfiguration, screenLong: i32);
2638}
2639extern "C" {
2640    pub fn AConfiguration_getScreenRound(config: *mut AConfiguration) -> i32;
2641}
2642extern "C" {
2643    pub fn AConfiguration_setScreenRound(config: *mut AConfiguration, screenRound: i32);
2644}
2645extern "C" {
2646    pub fn AConfiguration_getUiModeType(config: *mut AConfiguration) -> i32;
2647}
2648extern "C" {
2649    pub fn AConfiguration_setUiModeType(config: *mut AConfiguration, uiModeType: i32);
2650}
2651extern "C" {
2652    pub fn AConfiguration_getUiModeNight(config: *mut AConfiguration) -> i32;
2653}
2654extern "C" {
2655    pub fn AConfiguration_setUiModeNight(config: *mut AConfiguration, uiModeNight: i32);
2656}
2657extern "C" {
2658    pub fn AConfiguration_getScreenWidthDp(config: *mut AConfiguration) -> i32;
2659}
2660extern "C" {
2661    pub fn AConfiguration_setScreenWidthDp(config: *mut AConfiguration, value: i32);
2662}
2663extern "C" {
2664    pub fn AConfiguration_getScreenHeightDp(config: *mut AConfiguration) -> i32;
2665}
2666extern "C" {
2667    pub fn AConfiguration_setScreenHeightDp(config: *mut AConfiguration, value: i32);
2668}
2669extern "C" {
2670    pub fn AConfiguration_getSmallestScreenWidthDp(config: *mut AConfiguration) -> i32;
2671}
2672extern "C" {
2673    pub fn AConfiguration_setSmallestScreenWidthDp(config: *mut AConfiguration, value: i32);
2674}
2675extern "C" {
2676    pub fn AConfiguration_getLayoutDirection(config: *mut AConfiguration) -> i32;
2677}
2678extern "C" {
2679    pub fn AConfiguration_setLayoutDirection(config: *mut AConfiguration, value: i32);
2680}
2681extern "C" {
2682    pub fn AConfiguration_getGrammaticalGender(config: *mut AConfiguration) -> i32;
2683}
2684extern "C" {
2685    pub fn AConfiguration_setGrammaticalGender(config: *mut AConfiguration, value: i32);
2686}
2687extern "C" {
2688    pub fn AConfiguration_diff(config1: *mut AConfiguration, config2: *mut AConfiguration) -> i32;
2689}
2690extern "C" {
2691    pub fn AConfiguration_match(base: *mut AConfiguration, requested: *mut AConfiguration) -> i32;
2692}
2693extern "C" {
2694    pub fn AConfiguration_isBetterThan(
2695        base: *mut AConfiguration,
2696        test: *mut AConfiguration,
2697        requested: *mut AConfiguration,
2698    ) -> i32;
2699}
2700#[repr(C)]
2701#[derive(Debug, Copy, Clone)]
2702pub struct imaxdiv_t {
2703    pub quot: intmax_t,
2704    pub rem: intmax_t,
2705}
2706#[test]
2707fn bindgen_test_layout_imaxdiv_t() {
2708    const UNINIT: ::std::mem::MaybeUninit<imaxdiv_t> = ::std::mem::MaybeUninit::uninit();
2709    let ptr = UNINIT.as_ptr();
2710    assert_eq!(
2711        ::std::mem::size_of::<imaxdiv_t>(),
2712        16usize,
2713        concat!("Size of: ", stringify!(imaxdiv_t))
2714    );
2715    assert_eq!(
2716        ::std::mem::align_of::<imaxdiv_t>(),
2717        8usize,
2718        concat!("Alignment of ", stringify!(imaxdiv_t))
2719    );
2720    assert_eq!(
2721        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
2722        0usize,
2723        concat!(
2724            "Offset of field: ",
2725            stringify!(imaxdiv_t),
2726            "::",
2727            stringify!(quot)
2728        )
2729    );
2730    assert_eq!(
2731        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
2732        8usize,
2733        concat!(
2734            "Offset of field: ",
2735            stringify!(imaxdiv_t),
2736            "::",
2737            stringify!(rem)
2738        )
2739    );
2740}
2741extern "C" {
2742    pub fn imaxabs(__i: intmax_t) -> intmax_t;
2743}
2744extern "C" {
2745    pub fn imaxdiv(__numerator: intmax_t, __denominator: intmax_t) -> imaxdiv_t;
2746}
2747extern "C" {
2748    pub fn strtoimax(
2749        __s: *const ::std::os::raw::c_char,
2750        __end_ptr: *mut *mut ::std::os::raw::c_char,
2751        __base: ::std::os::raw::c_int,
2752    ) -> intmax_t;
2753}
2754extern "C" {
2755    pub fn strtoumax(
2756        __s: *const ::std::os::raw::c_char,
2757        __end_ptr: *mut *mut ::std::os::raw::c_char,
2758        __base: ::std::os::raw::c_int,
2759    ) -> uintmax_t;
2760}
2761extern "C" {
2762    pub fn wcstoimax(
2763        __s: *const wchar_t,
2764        __end_ptr: *mut *mut wchar_t,
2765        __base: ::std::os::raw::c_int,
2766    ) -> intmax_t;
2767}
2768extern "C" {
2769    pub fn wcstoumax(
2770        __s: *const wchar_t,
2771        __end_ptr: *mut *mut wchar_t,
2772        __base: ::std::os::raw::c_int,
2773    ) -> uintmax_t;
2774}
2775impl ADataSpace {
2776    pub const ADATASPACE_UNKNOWN: ADataSpace = ADataSpace(0);
2777}
2778impl ADataSpace {
2779    pub const STANDARD_MASK: ADataSpace = ADataSpace(4128768);
2780}
2781impl ADataSpace {
2782    pub const STANDARD_UNSPECIFIED: ADataSpace = ADataSpace(0);
2783}
2784impl ADataSpace {
2785    pub const STANDARD_BT709: ADataSpace = ADataSpace(65536);
2786}
2787impl ADataSpace {
2788    pub const STANDARD_BT601_625: ADataSpace = ADataSpace(131072);
2789}
2790impl ADataSpace {
2791    pub const STANDARD_BT601_625_UNADJUSTED: ADataSpace = ADataSpace(196608);
2792}
2793impl ADataSpace {
2794    pub const STANDARD_BT601_525: ADataSpace = ADataSpace(262144);
2795}
2796impl ADataSpace {
2797    pub const STANDARD_BT601_525_UNADJUSTED: ADataSpace = ADataSpace(327680);
2798}
2799impl ADataSpace {
2800    pub const STANDARD_BT2020: ADataSpace = ADataSpace(393216);
2801}
2802impl ADataSpace {
2803    pub const STANDARD_BT2020_CONSTANT_LUMINANCE: ADataSpace = ADataSpace(458752);
2804}
2805impl ADataSpace {
2806    pub const STANDARD_BT470M: ADataSpace = ADataSpace(524288);
2807}
2808impl ADataSpace {
2809    pub const STANDARD_FILM: ADataSpace = ADataSpace(589824);
2810}
2811impl ADataSpace {
2812    pub const STANDARD_DCI_P3: ADataSpace = ADataSpace(655360);
2813}
2814impl ADataSpace {
2815    pub const STANDARD_ADOBE_RGB: ADataSpace = ADataSpace(720896);
2816}
2817impl ADataSpace {
2818    pub const TRANSFER_MASK: ADataSpace = ADataSpace(130023424);
2819}
2820impl ADataSpace {
2821    pub const TRANSFER_UNSPECIFIED: ADataSpace = ADataSpace(0);
2822}
2823impl ADataSpace {
2824    pub const TRANSFER_LINEAR: ADataSpace = ADataSpace(4194304);
2825}
2826impl ADataSpace {
2827    pub const TRANSFER_SRGB: ADataSpace = ADataSpace(8388608);
2828}
2829impl ADataSpace {
2830    pub const TRANSFER_SMPTE_170M: ADataSpace = ADataSpace(12582912);
2831}
2832impl ADataSpace {
2833    pub const TRANSFER_GAMMA2_2: ADataSpace = ADataSpace(16777216);
2834}
2835impl ADataSpace {
2836    pub const TRANSFER_GAMMA2_6: ADataSpace = ADataSpace(20971520);
2837}
2838impl ADataSpace {
2839    pub const TRANSFER_GAMMA2_8: ADataSpace = ADataSpace(25165824);
2840}
2841impl ADataSpace {
2842    pub const TRANSFER_ST2084: ADataSpace = ADataSpace(29360128);
2843}
2844impl ADataSpace {
2845    pub const TRANSFER_HLG: ADataSpace = ADataSpace(33554432);
2846}
2847impl ADataSpace {
2848    pub const RANGE_MASK: ADataSpace = ADataSpace(939524096);
2849}
2850impl ADataSpace {
2851    pub const RANGE_UNSPECIFIED: ADataSpace = ADataSpace(0);
2852}
2853impl ADataSpace {
2854    pub const RANGE_FULL: ADataSpace = ADataSpace(134217728);
2855}
2856impl ADataSpace {
2857    pub const RANGE_LIMITED: ADataSpace = ADataSpace(268435456);
2858}
2859impl ADataSpace {
2860    pub const RANGE_EXTENDED: ADataSpace = ADataSpace(402653184);
2861}
2862impl ADataSpace {
2863    pub const ADATASPACE_SCRGB_LINEAR: ADataSpace = ADataSpace(406913024);
2864}
2865impl ADataSpace {
2866    pub const ADATASPACE_SRGB: ADataSpace = ADataSpace(142671872);
2867}
2868impl ADataSpace {
2869    pub const ADATASPACE_SCRGB: ADataSpace = ADataSpace(411107328);
2870}
2871impl ADataSpace {
2872    pub const ADATASPACE_DISPLAY_P3: ADataSpace = ADataSpace(143261696);
2873}
2874impl ADataSpace {
2875    pub const ADATASPACE_BT2020_PQ: ADataSpace = ADataSpace(163971072);
2876}
2877impl ADataSpace {
2878    pub const ADATASPACE_BT2020_ITU_PQ: ADataSpace = ADataSpace(298188800);
2879}
2880impl ADataSpace {
2881    pub const ADATASPACE_ADOBE_RGB: ADataSpace = ADataSpace(151715840);
2882}
2883impl ADataSpace {
2884    pub const ADATASPACE_JFIF: ADataSpace = ADataSpace(146931712);
2885}
2886impl ADataSpace {
2887    pub const ADATASPACE_BT601_625: ADataSpace = ADataSpace(281149440);
2888}
2889impl ADataSpace {
2890    pub const ADATASPACE_BT601_525: ADataSpace = ADataSpace(281280512);
2891}
2892impl ADataSpace {
2893    pub const ADATASPACE_BT2020: ADataSpace = ADataSpace(147193856);
2894}
2895impl ADataSpace {
2896    pub const ADATASPACE_BT709: ADataSpace = ADataSpace(281083904);
2897}
2898impl ADataSpace {
2899    pub const ADATASPACE_DCI_P3: ADataSpace = ADataSpace(155844608);
2900}
2901impl ADataSpace {
2902    pub const ADATASPACE_SRGB_LINEAR: ADataSpace = ADataSpace(138477568);
2903}
2904impl ADataSpace {
2905    pub const ADATASPACE_BT2020_HLG: ADataSpace = ADataSpace(168165376);
2906}
2907impl ADataSpace {
2908    pub const ADATASPACE_BT2020_ITU_HLG: ADataSpace = ADataSpace(302383104);
2909}
2910impl ADataSpace {
2911    pub const ADATASPACE_DEPTH: ADataSpace = ADataSpace(4096);
2912}
2913impl ADataSpace {
2914    pub const ADATASPACE_DYNAMIC_DEPTH: ADataSpace = ADataSpace(4098);
2915}
2916#[repr(transparent)]
2917#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2918pub struct ADataSpace(pub i32);
2919pub const ANDROID_DLEXT_RESERVED_ADDRESS: _bindgen_ty_6 = 1;
2920pub const ANDROID_DLEXT_RESERVED_ADDRESS_HINT: _bindgen_ty_6 = 2;
2921pub const ANDROID_DLEXT_WRITE_RELRO: _bindgen_ty_6 = 4;
2922pub const ANDROID_DLEXT_USE_RELRO: _bindgen_ty_6 = 8;
2923pub const ANDROID_DLEXT_USE_LIBRARY_FD: _bindgen_ty_6 = 16;
2924pub const ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET: _bindgen_ty_6 = 32;
2925pub const ANDROID_DLEXT_FORCE_LOAD: _bindgen_ty_6 = 64;
2926pub const ANDROID_DLEXT_USE_NAMESPACE: _bindgen_ty_6 = 512;
2927pub const ANDROID_DLEXT_RESERVED_ADDRESS_RECURSIVE: _bindgen_ty_6 = 1024;
2928pub const ANDROID_DLEXT_VALID_FLAG_BITS: _bindgen_ty_6 = 1663;
2929pub type _bindgen_ty_6 = ::std::os::raw::c_uint;
2930#[repr(C)]
2931#[derive(Debug, Copy, Clone)]
2932pub struct android_namespace_t {
2933    _unused: [u8; 0],
2934}
2935#[repr(C)]
2936#[derive(Debug, Copy, Clone)]
2937pub struct android_dlextinfo {
2938    pub flags: u64,
2939    pub reserved_addr: *mut ::std::os::raw::c_void,
2940    pub reserved_size: usize,
2941    pub relro_fd: ::std::os::raw::c_int,
2942    pub library_fd: ::std::os::raw::c_int,
2943    pub library_fd_offset: off64_t,
2944    pub library_namespace: *mut android_namespace_t,
2945}
2946#[test]
2947fn bindgen_test_layout_android_dlextinfo() {
2948    const UNINIT: ::std::mem::MaybeUninit<android_dlextinfo> = ::std::mem::MaybeUninit::uninit();
2949    let ptr = UNINIT.as_ptr();
2950    assert_eq!(
2951        ::std::mem::size_of::<android_dlextinfo>(),
2952        40usize,
2953        concat!("Size of: ", stringify!(android_dlextinfo))
2954    );
2955    assert_eq!(
2956        ::std::mem::align_of::<android_dlextinfo>(),
2957        8usize,
2958        concat!("Alignment of ", stringify!(android_dlextinfo))
2959    );
2960    assert_eq!(
2961        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
2962        0usize,
2963        concat!(
2964            "Offset of field: ",
2965            stringify!(android_dlextinfo),
2966            "::",
2967            stringify!(flags)
2968        )
2969    );
2970    assert_eq!(
2971        unsafe { ::std::ptr::addr_of!((*ptr).reserved_addr) as usize - ptr as usize },
2972        8usize,
2973        concat!(
2974            "Offset of field: ",
2975            stringify!(android_dlextinfo),
2976            "::",
2977            stringify!(reserved_addr)
2978        )
2979    );
2980    assert_eq!(
2981        unsafe { ::std::ptr::addr_of!((*ptr).reserved_size) as usize - ptr as usize },
2982        12usize,
2983        concat!(
2984            "Offset of field: ",
2985            stringify!(android_dlextinfo),
2986            "::",
2987            stringify!(reserved_size)
2988        )
2989    );
2990    assert_eq!(
2991        unsafe { ::std::ptr::addr_of!((*ptr).relro_fd) as usize - ptr as usize },
2992        16usize,
2993        concat!(
2994            "Offset of field: ",
2995            stringify!(android_dlextinfo),
2996            "::",
2997            stringify!(relro_fd)
2998        )
2999    );
3000    assert_eq!(
3001        unsafe { ::std::ptr::addr_of!((*ptr).library_fd) as usize - ptr as usize },
3002        20usize,
3003        concat!(
3004            "Offset of field: ",
3005            stringify!(android_dlextinfo),
3006            "::",
3007            stringify!(library_fd)
3008        )
3009    );
3010    assert_eq!(
3011        unsafe { ::std::ptr::addr_of!((*ptr).library_fd_offset) as usize - ptr as usize },
3012        24usize,
3013        concat!(
3014            "Offset of field: ",
3015            stringify!(android_dlextinfo),
3016            "::",
3017            stringify!(library_fd_offset)
3018        )
3019    );
3020    assert_eq!(
3021        unsafe { ::std::ptr::addr_of!((*ptr).library_namespace) as usize - ptr as usize },
3022        32usize,
3023        concat!(
3024            "Offset of field: ",
3025            stringify!(android_dlextinfo),
3026            "::",
3027            stringify!(library_namespace)
3028        )
3029    );
3030}
3031extern "C" {
3032    pub fn android_dlopen_ext(
3033        __filename: *const ::std::os::raw::c_char,
3034        __flags: ::std::os::raw::c_int,
3035        __info: *const android_dlextinfo,
3036    ) -> *mut ::std::os::raw::c_void;
3037}
3038impl android_fdsan_owner_type {
3039    pub const ANDROID_FDSAN_OWNER_TYPE_GENERIC_00: android_fdsan_owner_type =
3040        android_fdsan_owner_type(0);
3041}
3042impl android_fdsan_owner_type {
3043    pub const ANDROID_FDSAN_OWNER_TYPE_GENERIC_FF: android_fdsan_owner_type =
3044        android_fdsan_owner_type(255);
3045}
3046impl android_fdsan_owner_type {
3047    pub const ANDROID_FDSAN_OWNER_TYPE_FILE: android_fdsan_owner_type = android_fdsan_owner_type(1);
3048}
3049impl android_fdsan_owner_type {
3050    pub const ANDROID_FDSAN_OWNER_TYPE_DIR: android_fdsan_owner_type = android_fdsan_owner_type(2);
3051}
3052impl android_fdsan_owner_type {
3053    pub const ANDROID_FDSAN_OWNER_TYPE_UNIQUE_FD: android_fdsan_owner_type =
3054        android_fdsan_owner_type(3);
3055}
3056impl android_fdsan_owner_type {
3057    pub const ANDROID_FDSAN_OWNER_TYPE_SQLITE: android_fdsan_owner_type =
3058        android_fdsan_owner_type(4);
3059}
3060impl android_fdsan_owner_type {
3061    pub const ANDROID_FDSAN_OWNER_TYPE_FILEINPUTSTREAM: android_fdsan_owner_type =
3062        android_fdsan_owner_type(5);
3063}
3064impl android_fdsan_owner_type {
3065    pub const ANDROID_FDSAN_OWNER_TYPE_FILEOUTPUTSTREAM: android_fdsan_owner_type =
3066        android_fdsan_owner_type(6);
3067}
3068impl android_fdsan_owner_type {
3069    pub const ANDROID_FDSAN_OWNER_TYPE_RANDOMACCESSFILE: android_fdsan_owner_type =
3070        android_fdsan_owner_type(7);
3071}
3072impl android_fdsan_owner_type {
3073    pub const ANDROID_FDSAN_OWNER_TYPE_PARCELFILEDESCRIPTOR: android_fdsan_owner_type =
3074        android_fdsan_owner_type(8);
3075}
3076impl android_fdsan_owner_type {
3077    pub const ANDROID_FDSAN_OWNER_TYPE_ART_FDFILE: android_fdsan_owner_type =
3078        android_fdsan_owner_type(9);
3079}
3080impl android_fdsan_owner_type {
3081    pub const ANDROID_FDSAN_OWNER_TYPE_DATAGRAMSOCKETIMPL: android_fdsan_owner_type =
3082        android_fdsan_owner_type(10);
3083}
3084impl android_fdsan_owner_type {
3085    pub const ANDROID_FDSAN_OWNER_TYPE_SOCKETIMPL: android_fdsan_owner_type =
3086        android_fdsan_owner_type(11);
3087}
3088impl android_fdsan_owner_type {
3089    pub const ANDROID_FDSAN_OWNER_TYPE_ZIPARCHIVE: android_fdsan_owner_type =
3090        android_fdsan_owner_type(12);
3091}
3092impl android_fdsan_owner_type {
3093    pub const ANDROID_FDSAN_OWNER_TYPE_NATIVE_HANDLE: android_fdsan_owner_type =
3094        android_fdsan_owner_type(13);
3095}
3096impl android_fdsan_owner_type {
3097    pub const ANDROID_FDSAN_OWNER_TYPE_PARCEL: android_fdsan_owner_type =
3098        android_fdsan_owner_type(14);
3099}
3100#[repr(transparent)]
3101#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3102pub struct android_fdsan_owner_type(pub ::std::os::raw::c_uint);
3103extern "C" {
3104    pub fn android_fdsan_create_owner_tag(type_: android_fdsan_owner_type, tag: u64) -> u64;
3105}
3106extern "C" {
3107    pub fn android_fdsan_exchange_owner_tag(
3108        fd: ::std::os::raw::c_int,
3109        expected_tag: u64,
3110        new_tag: u64,
3111    );
3112}
3113extern "C" {
3114    pub fn android_fdsan_close_with_tag(
3115        fd: ::std::os::raw::c_int,
3116        tag: u64,
3117    ) -> ::std::os::raw::c_int;
3118}
3119extern "C" {
3120    pub fn android_fdsan_get_owner_tag(fd: ::std::os::raw::c_int) -> u64;
3121}
3122extern "C" {
3123    pub fn android_fdsan_get_tag_type(tag: u64) -> *const ::std::os::raw::c_char;
3124}
3125extern "C" {
3126    pub fn android_fdsan_get_tag_value(tag: u64) -> u64;
3127}
3128impl android_fdsan_error_level {
3129    pub const ANDROID_FDSAN_ERROR_LEVEL_DISABLED: android_fdsan_error_level =
3130        android_fdsan_error_level(0);
3131}
3132impl android_fdsan_error_level {
3133    pub const ANDROID_FDSAN_ERROR_LEVEL_WARN_ONCE: android_fdsan_error_level =
3134        android_fdsan_error_level(1);
3135}
3136impl android_fdsan_error_level {
3137    pub const ANDROID_FDSAN_ERROR_LEVEL_WARN_ALWAYS: android_fdsan_error_level =
3138        android_fdsan_error_level(2);
3139}
3140impl android_fdsan_error_level {
3141    pub const ANDROID_FDSAN_ERROR_LEVEL_FATAL: android_fdsan_error_level =
3142        android_fdsan_error_level(3);
3143}
3144#[repr(transparent)]
3145#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3146pub struct android_fdsan_error_level(pub ::std::os::raw::c_uint);
3147extern "C" {
3148    pub fn android_fdsan_get_error_level() -> android_fdsan_error_level;
3149}
3150extern "C" {
3151    pub fn android_fdsan_set_error_level(
3152        new_level: android_fdsan_error_level,
3153    ) -> android_fdsan_error_level;
3154}
3155extern "C" {
3156    pub fn android_fdsan_set_error_level_from_property(
3157        default_level: android_fdsan_error_level,
3158    ) -> android_fdsan_error_level;
3159}
3160extern "C" {
3161    pub fn AFileDescriptor_create(env: *mut JNIEnv) -> jobject;
3162}
3163extern "C" {
3164    pub fn AFileDescriptor_getFd(
3165        env: *mut JNIEnv,
3166        fileDescriptor: jobject,
3167    ) -> ::std::os::raw::c_int;
3168}
3169extern "C" {
3170    pub fn AFileDescriptor_setFd(
3171        env: *mut JNIEnv,
3172        fileDescriptor: jobject,
3173        fd: ::std::os::raw::c_int,
3174    );
3175}
3176pub const AFONT_WEIGHT_MIN: _bindgen_ty_7 = 0;
3177pub const AFONT_WEIGHT_THIN: _bindgen_ty_7 = 100;
3178pub const AFONT_WEIGHT_EXTRA_LIGHT: _bindgen_ty_7 = 200;
3179pub const AFONT_WEIGHT_LIGHT: _bindgen_ty_7 = 300;
3180pub const AFONT_WEIGHT_NORMAL: _bindgen_ty_7 = 400;
3181pub const AFONT_WEIGHT_MEDIUM: _bindgen_ty_7 = 500;
3182pub const AFONT_WEIGHT_SEMI_BOLD: _bindgen_ty_7 = 600;
3183pub const AFONT_WEIGHT_BOLD: _bindgen_ty_7 = 700;
3184pub const AFONT_WEIGHT_EXTRA_BOLD: _bindgen_ty_7 = 800;
3185pub const AFONT_WEIGHT_BLACK: _bindgen_ty_7 = 900;
3186pub const AFONT_WEIGHT_MAX: _bindgen_ty_7 = 1000;
3187pub type _bindgen_ty_7 = ::std::os::raw::c_uint;
3188#[repr(C)]
3189#[derive(Debug, Copy, Clone)]
3190pub struct AFont {
3191    _unused: [u8; 0],
3192}
3193extern "C" {
3194    pub fn AFont_close(font: *mut AFont);
3195}
3196extern "C" {
3197    pub fn AFont_getFontFilePath(font: *const AFont) -> *const ::std::os::raw::c_char;
3198}
3199extern "C" {
3200    pub fn AFont_getWeight(font: *const AFont) -> u16;
3201}
3202extern "C" {
3203    pub fn AFont_isItalic(font: *const AFont) -> bool;
3204}
3205extern "C" {
3206    pub fn AFont_getLocale(font: *const AFont) -> *const ::std::os::raw::c_char;
3207}
3208extern "C" {
3209    pub fn AFont_getCollectionIndex(font: *const AFont) -> usize;
3210}
3211extern "C" {
3212    pub fn AFont_getAxisCount(font: *const AFont) -> usize;
3213}
3214extern "C" {
3215    pub fn AFont_getAxisTag(font: *const AFont, axisIndex: u32) -> u32;
3216}
3217extern "C" {
3218    pub fn AFont_getAxisValue(font: *const AFont, axisIndex: u32) -> f32;
3219}
3220pub const AFAMILY_VARIANT_DEFAULT: _bindgen_ty_8 = 0;
3221pub const AFAMILY_VARIANT_COMPACT: _bindgen_ty_8 = 1;
3222pub const AFAMILY_VARIANT_ELEGANT: _bindgen_ty_8 = 2;
3223pub type _bindgen_ty_8 = ::std::os::raw::c_uint;
3224#[repr(C)]
3225#[derive(Debug, Copy, Clone)]
3226pub struct AFontMatcher {
3227    _unused: [u8; 0],
3228}
3229extern "C" {
3230    pub fn AFontMatcher_create() -> *mut AFontMatcher;
3231}
3232extern "C" {
3233    pub fn AFontMatcher_destroy(matcher: *mut AFontMatcher);
3234}
3235extern "C" {
3236    pub fn AFontMatcher_setStyle(matcher: *mut AFontMatcher, weight: u16, italic: bool);
3237}
3238extern "C" {
3239    pub fn AFontMatcher_setLocales(
3240        matcher: *mut AFontMatcher,
3241        languageTags: *const ::std::os::raw::c_char,
3242    );
3243}
3244extern "C" {
3245    pub fn AFontMatcher_setFamilyVariant(matcher: *mut AFontMatcher, familyVariant: u32);
3246}
3247extern "C" {
3248    pub fn AFontMatcher_match(
3249        matcher: *const AFontMatcher,
3250        familyName: *const ::std::os::raw::c_char,
3251        text: *const u16,
3252        textLength: u32,
3253        runLengthOut: *mut u32,
3254    ) -> *mut AFont;
3255}
3256#[repr(C)]
3257#[derive(Debug, Copy, Clone)]
3258pub struct ARect {
3259    pub left: i32,
3260    pub top: i32,
3261    pub right: i32,
3262    pub bottom: i32,
3263}
3264#[test]
3265fn bindgen_test_layout_ARect() {
3266    const UNINIT: ::std::mem::MaybeUninit<ARect> = ::std::mem::MaybeUninit::uninit();
3267    let ptr = UNINIT.as_ptr();
3268    assert_eq!(
3269        ::std::mem::size_of::<ARect>(),
3270        16usize,
3271        concat!("Size of: ", stringify!(ARect))
3272    );
3273    assert_eq!(
3274        ::std::mem::align_of::<ARect>(),
3275        4usize,
3276        concat!("Alignment of ", stringify!(ARect))
3277    );
3278    assert_eq!(
3279        unsafe { ::std::ptr::addr_of!((*ptr).left) as usize - ptr as usize },
3280        0usize,
3281        concat!(
3282            "Offset of field: ",
3283            stringify!(ARect),
3284            "::",
3285            stringify!(left)
3286        )
3287    );
3288    assert_eq!(
3289        unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize },
3290        4usize,
3291        concat!(
3292            "Offset of field: ",
3293            stringify!(ARect),
3294            "::",
3295            stringify!(top)
3296        )
3297    );
3298    assert_eq!(
3299        unsafe { ::std::ptr::addr_of!((*ptr).right) as usize - ptr as usize },
3300        8usize,
3301        concat!(
3302            "Offset of field: ",
3303            stringify!(ARect),
3304            "::",
3305            stringify!(right)
3306        )
3307    );
3308    assert_eq!(
3309        unsafe { ::std::ptr::addr_of!((*ptr).bottom) as usize - ptr as usize },
3310        12usize,
3311        concat!(
3312            "Offset of field: ",
3313            stringify!(ARect),
3314            "::",
3315            stringify!(bottom)
3316        )
3317    );
3318}
3319impl AHardwareBuffer_Format {
3320    pub const AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM: AHardwareBuffer_Format =
3321        AHardwareBuffer_Format(1);
3322}
3323impl AHardwareBuffer_Format {
3324    pub const AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM: AHardwareBuffer_Format =
3325        AHardwareBuffer_Format(2);
3326}
3327impl AHardwareBuffer_Format {
3328    pub const AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM: AHardwareBuffer_Format =
3329        AHardwareBuffer_Format(3);
3330}
3331impl AHardwareBuffer_Format {
3332    pub const AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM: AHardwareBuffer_Format =
3333        AHardwareBuffer_Format(4);
3334}
3335impl AHardwareBuffer_Format {
3336    pub const AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT: AHardwareBuffer_Format =
3337        AHardwareBuffer_Format(22);
3338}
3339impl AHardwareBuffer_Format {
3340    pub const AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM: AHardwareBuffer_Format =
3341        AHardwareBuffer_Format(43);
3342}
3343impl AHardwareBuffer_Format {
3344    pub const AHARDWAREBUFFER_FORMAT_BLOB: AHardwareBuffer_Format = AHardwareBuffer_Format(33);
3345}
3346impl AHardwareBuffer_Format {
3347    pub const AHARDWAREBUFFER_FORMAT_D16_UNORM: AHardwareBuffer_Format = AHardwareBuffer_Format(48);
3348}
3349impl AHardwareBuffer_Format {
3350    pub const AHARDWAREBUFFER_FORMAT_D24_UNORM: AHardwareBuffer_Format = AHardwareBuffer_Format(49);
3351}
3352impl AHardwareBuffer_Format {
3353    pub const AHARDWAREBUFFER_FORMAT_D24_UNORM_S8_UINT: AHardwareBuffer_Format =
3354        AHardwareBuffer_Format(50);
3355}
3356impl AHardwareBuffer_Format {
3357    pub const AHARDWAREBUFFER_FORMAT_D32_FLOAT: AHardwareBuffer_Format = AHardwareBuffer_Format(51);
3358}
3359impl AHardwareBuffer_Format {
3360    pub const AHARDWAREBUFFER_FORMAT_D32_FLOAT_S8_UINT: AHardwareBuffer_Format =
3361        AHardwareBuffer_Format(52);
3362}
3363impl AHardwareBuffer_Format {
3364    pub const AHARDWAREBUFFER_FORMAT_S8_UINT: AHardwareBuffer_Format = AHardwareBuffer_Format(53);
3365}
3366impl AHardwareBuffer_Format {
3367    pub const AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420: AHardwareBuffer_Format =
3368        AHardwareBuffer_Format(35);
3369}
3370impl AHardwareBuffer_Format {
3371    pub const AHARDWAREBUFFER_FORMAT_YCbCr_P010: AHardwareBuffer_Format =
3372        AHardwareBuffer_Format(54);
3373}
3374impl AHardwareBuffer_Format {
3375    pub const AHARDWAREBUFFER_FORMAT_R8_UNORM: AHardwareBuffer_Format = AHardwareBuffer_Format(56);
3376}
3377impl AHardwareBuffer_Format {
3378    pub const AHARDWAREBUFFER_FORMAT_R16_UINT: AHardwareBuffer_Format = AHardwareBuffer_Format(57);
3379}
3380impl AHardwareBuffer_Format {
3381    pub const AHARDWAREBUFFER_FORMAT_R16G16_UINT: AHardwareBuffer_Format =
3382        AHardwareBuffer_Format(58);
3383}
3384impl AHardwareBuffer_Format {
3385    pub const AHARDWAREBUFFER_FORMAT_R10G10B10A10_UNORM: AHardwareBuffer_Format =
3386        AHardwareBuffer_Format(59);
3387}
3388#[repr(transparent)]
3389#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3390pub struct AHardwareBuffer_Format(pub ::std::os::raw::c_uint);
3391impl AHardwareBuffer_UsageFlags {
3392    pub const AHARDWAREBUFFER_USAGE_CPU_READ_NEVER: AHardwareBuffer_UsageFlags =
3393        AHardwareBuffer_UsageFlags(0);
3394}
3395impl AHardwareBuffer_UsageFlags {
3396    pub const AHARDWAREBUFFER_USAGE_CPU_READ_RARELY: AHardwareBuffer_UsageFlags =
3397        AHardwareBuffer_UsageFlags(2);
3398}
3399impl AHardwareBuffer_UsageFlags {
3400    pub const AHARDWAREBUFFER_USAGE_CPU_READ_OFTEN: AHardwareBuffer_UsageFlags =
3401        AHardwareBuffer_UsageFlags(3);
3402}
3403impl AHardwareBuffer_UsageFlags {
3404    pub const AHARDWAREBUFFER_USAGE_CPU_READ_MASK: AHardwareBuffer_UsageFlags =
3405        AHardwareBuffer_UsageFlags(15);
3406}
3407impl AHardwareBuffer_UsageFlags {
3408    pub const AHARDWAREBUFFER_USAGE_CPU_WRITE_NEVER: AHardwareBuffer_UsageFlags =
3409        AHardwareBuffer_UsageFlags(0);
3410}
3411impl AHardwareBuffer_UsageFlags {
3412    pub const AHARDWAREBUFFER_USAGE_CPU_WRITE_RARELY: AHardwareBuffer_UsageFlags =
3413        AHardwareBuffer_UsageFlags(32);
3414}
3415impl AHardwareBuffer_UsageFlags {
3416    pub const AHARDWAREBUFFER_USAGE_CPU_WRITE_OFTEN: AHardwareBuffer_UsageFlags =
3417        AHardwareBuffer_UsageFlags(48);
3418}
3419impl AHardwareBuffer_UsageFlags {
3420    pub const AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK: AHardwareBuffer_UsageFlags =
3421        AHardwareBuffer_UsageFlags(240);
3422}
3423impl AHardwareBuffer_UsageFlags {
3424    pub const AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE: AHardwareBuffer_UsageFlags =
3425        AHardwareBuffer_UsageFlags(256);
3426}
3427impl AHardwareBuffer_UsageFlags {
3428    pub const AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER: AHardwareBuffer_UsageFlags =
3429        AHardwareBuffer_UsageFlags(512);
3430}
3431impl AHardwareBuffer_UsageFlags {
3432    pub const AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT: AHardwareBuffer_UsageFlags =
3433        AHardwareBuffer_UsageFlags(512);
3434}
3435impl AHardwareBuffer_UsageFlags {
3436    pub const AHARDWAREBUFFER_USAGE_COMPOSER_OVERLAY: AHardwareBuffer_UsageFlags =
3437        AHardwareBuffer_UsageFlags(2048);
3438}
3439impl AHardwareBuffer_UsageFlags {
3440    pub const AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT: AHardwareBuffer_UsageFlags =
3441        AHardwareBuffer_UsageFlags(16384);
3442}
3443impl AHardwareBuffer_UsageFlags {
3444    pub const AHARDWAREBUFFER_USAGE_VIDEO_ENCODE: AHardwareBuffer_UsageFlags =
3445        AHardwareBuffer_UsageFlags(65536);
3446}
3447impl AHardwareBuffer_UsageFlags {
3448    pub const AHARDWAREBUFFER_USAGE_SENSOR_DIRECT_DATA: AHardwareBuffer_UsageFlags =
3449        AHardwareBuffer_UsageFlags(8388608);
3450}
3451impl AHardwareBuffer_UsageFlags {
3452    pub const AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER: AHardwareBuffer_UsageFlags =
3453        AHardwareBuffer_UsageFlags(16777216);
3454}
3455impl AHardwareBuffer_UsageFlags {
3456    pub const AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP: AHardwareBuffer_UsageFlags =
3457        AHardwareBuffer_UsageFlags(33554432);
3458}
3459impl AHardwareBuffer_UsageFlags {
3460    pub const AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE: AHardwareBuffer_UsageFlags =
3461        AHardwareBuffer_UsageFlags(67108864);
3462}
3463impl AHardwareBuffer_UsageFlags {
3464    pub const AHARDWAREBUFFER_USAGE_FRONT_BUFFER: AHardwareBuffer_UsageFlags =
3465        AHardwareBuffer_UsageFlags(2147483648);
3466}
3467impl AHardwareBuffer_UsageFlags {
3468    pub const AHARDWAREBUFFER_USAGE_VENDOR_0: AHardwareBuffer_UsageFlags =
3469        AHardwareBuffer_UsageFlags(268435456);
3470}
3471impl AHardwareBuffer_UsageFlags {
3472    pub const AHARDWAREBUFFER_USAGE_VENDOR_1: AHardwareBuffer_UsageFlags =
3473        AHardwareBuffer_UsageFlags(536870912);
3474}
3475impl AHardwareBuffer_UsageFlags {
3476    pub const AHARDWAREBUFFER_USAGE_VENDOR_2: AHardwareBuffer_UsageFlags =
3477        AHardwareBuffer_UsageFlags(1073741824);
3478}
3479impl AHardwareBuffer_UsageFlags {
3480    pub const AHARDWAREBUFFER_USAGE_VENDOR_3: AHardwareBuffer_UsageFlags =
3481        AHardwareBuffer_UsageFlags(2147483648);
3482}
3483impl AHardwareBuffer_UsageFlags {
3484    pub const AHARDWAREBUFFER_USAGE_VENDOR_4: AHardwareBuffer_UsageFlags =
3485        AHardwareBuffer_UsageFlags(281474976710656);
3486}
3487impl AHardwareBuffer_UsageFlags {
3488    pub const AHARDWAREBUFFER_USAGE_VENDOR_5: AHardwareBuffer_UsageFlags =
3489        AHardwareBuffer_UsageFlags(562949953421312);
3490}
3491impl AHardwareBuffer_UsageFlags {
3492    pub const AHARDWAREBUFFER_USAGE_VENDOR_6: AHardwareBuffer_UsageFlags =
3493        AHardwareBuffer_UsageFlags(1125899906842624);
3494}
3495impl AHardwareBuffer_UsageFlags {
3496    pub const AHARDWAREBUFFER_USAGE_VENDOR_7: AHardwareBuffer_UsageFlags =
3497        AHardwareBuffer_UsageFlags(2251799813685248);
3498}
3499impl AHardwareBuffer_UsageFlags {
3500    pub const AHARDWAREBUFFER_USAGE_VENDOR_8: AHardwareBuffer_UsageFlags =
3501        AHardwareBuffer_UsageFlags(4503599627370496);
3502}
3503impl AHardwareBuffer_UsageFlags {
3504    pub const AHARDWAREBUFFER_USAGE_VENDOR_9: AHardwareBuffer_UsageFlags =
3505        AHardwareBuffer_UsageFlags(9007199254740992);
3506}
3507impl AHardwareBuffer_UsageFlags {
3508    pub const AHARDWAREBUFFER_USAGE_VENDOR_10: AHardwareBuffer_UsageFlags =
3509        AHardwareBuffer_UsageFlags(18014398509481984);
3510}
3511impl AHardwareBuffer_UsageFlags {
3512    pub const AHARDWAREBUFFER_USAGE_VENDOR_11: AHardwareBuffer_UsageFlags =
3513        AHardwareBuffer_UsageFlags(36028797018963968);
3514}
3515impl AHardwareBuffer_UsageFlags {
3516    pub const AHARDWAREBUFFER_USAGE_VENDOR_12: AHardwareBuffer_UsageFlags =
3517        AHardwareBuffer_UsageFlags(72057594037927936);
3518}
3519impl AHardwareBuffer_UsageFlags {
3520    pub const AHARDWAREBUFFER_USAGE_VENDOR_13: AHardwareBuffer_UsageFlags =
3521        AHardwareBuffer_UsageFlags(144115188075855872);
3522}
3523impl AHardwareBuffer_UsageFlags {
3524    pub const AHARDWAREBUFFER_USAGE_VENDOR_14: AHardwareBuffer_UsageFlags =
3525        AHardwareBuffer_UsageFlags(288230376151711744);
3526}
3527impl AHardwareBuffer_UsageFlags {
3528    pub const AHARDWAREBUFFER_USAGE_VENDOR_15: AHardwareBuffer_UsageFlags =
3529        AHardwareBuffer_UsageFlags(576460752303423488);
3530}
3531impl AHardwareBuffer_UsageFlags {
3532    pub const AHARDWAREBUFFER_USAGE_VENDOR_16: AHardwareBuffer_UsageFlags =
3533        AHardwareBuffer_UsageFlags(1152921504606846976);
3534}
3535impl AHardwareBuffer_UsageFlags {
3536    pub const AHARDWAREBUFFER_USAGE_VENDOR_17: AHardwareBuffer_UsageFlags =
3537        AHardwareBuffer_UsageFlags(2305843009213693952);
3538}
3539impl AHardwareBuffer_UsageFlags {
3540    pub const AHARDWAREBUFFER_USAGE_VENDOR_18: AHardwareBuffer_UsageFlags =
3541        AHardwareBuffer_UsageFlags(4611686018427387904);
3542}
3543impl AHardwareBuffer_UsageFlags {
3544    pub const AHARDWAREBUFFER_USAGE_VENDOR_19: AHardwareBuffer_UsageFlags =
3545        AHardwareBuffer_UsageFlags(9223372036854775808);
3546}
3547#[repr(transparent)]
3548#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3549pub struct AHardwareBuffer_UsageFlags(pub ::std::os::raw::c_ulonglong);
3550#[repr(C)]
3551#[derive(Debug, Copy, Clone)]
3552pub struct AHardwareBuffer_Desc {
3553    pub width: u32,
3554    pub height: u32,
3555    pub layers: u32,
3556    pub format: u32,
3557    pub usage: u64,
3558    pub stride: u32,
3559    pub rfu0: u32,
3560    pub rfu1: u64,
3561}
3562#[test]
3563fn bindgen_test_layout_AHardwareBuffer_Desc() {
3564    const UNINIT: ::std::mem::MaybeUninit<AHardwareBuffer_Desc> = ::std::mem::MaybeUninit::uninit();
3565    let ptr = UNINIT.as_ptr();
3566    assert_eq!(
3567        ::std::mem::size_of::<AHardwareBuffer_Desc>(),
3568        40usize,
3569        concat!("Size of: ", stringify!(AHardwareBuffer_Desc))
3570    );
3571    assert_eq!(
3572        ::std::mem::align_of::<AHardwareBuffer_Desc>(),
3573        8usize,
3574        concat!("Alignment of ", stringify!(AHardwareBuffer_Desc))
3575    );
3576    assert_eq!(
3577        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
3578        0usize,
3579        concat!(
3580            "Offset of field: ",
3581            stringify!(AHardwareBuffer_Desc),
3582            "::",
3583            stringify!(width)
3584        )
3585    );
3586    assert_eq!(
3587        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
3588        4usize,
3589        concat!(
3590            "Offset of field: ",
3591            stringify!(AHardwareBuffer_Desc),
3592            "::",
3593            stringify!(height)
3594        )
3595    );
3596    assert_eq!(
3597        unsafe { ::std::ptr::addr_of!((*ptr).layers) as usize - ptr as usize },
3598        8usize,
3599        concat!(
3600            "Offset of field: ",
3601            stringify!(AHardwareBuffer_Desc),
3602            "::",
3603            stringify!(layers)
3604        )
3605    );
3606    assert_eq!(
3607        unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
3608        12usize,
3609        concat!(
3610            "Offset of field: ",
3611            stringify!(AHardwareBuffer_Desc),
3612            "::",
3613            stringify!(format)
3614        )
3615    );
3616    assert_eq!(
3617        unsafe { ::std::ptr::addr_of!((*ptr).usage) as usize - ptr as usize },
3618        16usize,
3619        concat!(
3620            "Offset of field: ",
3621            stringify!(AHardwareBuffer_Desc),
3622            "::",
3623            stringify!(usage)
3624        )
3625    );
3626    assert_eq!(
3627        unsafe { ::std::ptr::addr_of!((*ptr).stride) as usize - ptr as usize },
3628        24usize,
3629        concat!(
3630            "Offset of field: ",
3631            stringify!(AHardwareBuffer_Desc),
3632            "::",
3633            stringify!(stride)
3634        )
3635    );
3636    assert_eq!(
3637        unsafe { ::std::ptr::addr_of!((*ptr).rfu0) as usize - ptr as usize },
3638        28usize,
3639        concat!(
3640            "Offset of field: ",
3641            stringify!(AHardwareBuffer_Desc),
3642            "::",
3643            stringify!(rfu0)
3644        )
3645    );
3646    assert_eq!(
3647        unsafe { ::std::ptr::addr_of!((*ptr).rfu1) as usize - ptr as usize },
3648        32usize,
3649        concat!(
3650            "Offset of field: ",
3651            stringify!(AHardwareBuffer_Desc),
3652            "::",
3653            stringify!(rfu1)
3654        )
3655    );
3656}
3657#[repr(C)]
3658#[derive(Debug, Copy, Clone)]
3659pub struct AHardwareBuffer_Plane {
3660    pub data: *mut ::std::os::raw::c_void,
3661    pub pixelStride: u32,
3662    pub rowStride: u32,
3663}
3664#[test]
3665fn bindgen_test_layout_AHardwareBuffer_Plane() {
3666    const UNINIT: ::std::mem::MaybeUninit<AHardwareBuffer_Plane> =
3667        ::std::mem::MaybeUninit::uninit();
3668    let ptr = UNINIT.as_ptr();
3669    assert_eq!(
3670        ::std::mem::size_of::<AHardwareBuffer_Plane>(),
3671        12usize,
3672        concat!("Size of: ", stringify!(AHardwareBuffer_Plane))
3673    );
3674    assert_eq!(
3675        ::std::mem::align_of::<AHardwareBuffer_Plane>(),
3676        4usize,
3677        concat!("Alignment of ", stringify!(AHardwareBuffer_Plane))
3678    );
3679    assert_eq!(
3680        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
3681        0usize,
3682        concat!(
3683            "Offset of field: ",
3684            stringify!(AHardwareBuffer_Plane),
3685            "::",
3686            stringify!(data)
3687        )
3688    );
3689    assert_eq!(
3690        unsafe { ::std::ptr::addr_of!((*ptr).pixelStride) as usize - ptr as usize },
3691        4usize,
3692        concat!(
3693            "Offset of field: ",
3694            stringify!(AHardwareBuffer_Plane),
3695            "::",
3696            stringify!(pixelStride)
3697        )
3698    );
3699    assert_eq!(
3700        unsafe { ::std::ptr::addr_of!((*ptr).rowStride) as usize - ptr as usize },
3701        8usize,
3702        concat!(
3703            "Offset of field: ",
3704            stringify!(AHardwareBuffer_Plane),
3705            "::",
3706            stringify!(rowStride)
3707        )
3708    );
3709}
3710#[repr(C)]
3711#[derive(Debug, Copy, Clone)]
3712pub struct AHardwareBuffer_Planes {
3713    pub planeCount: u32,
3714    pub planes: [AHardwareBuffer_Plane; 4usize],
3715}
3716#[test]
3717fn bindgen_test_layout_AHardwareBuffer_Planes() {
3718    const UNINIT: ::std::mem::MaybeUninit<AHardwareBuffer_Planes> =
3719        ::std::mem::MaybeUninit::uninit();
3720    let ptr = UNINIT.as_ptr();
3721    assert_eq!(
3722        ::std::mem::size_of::<AHardwareBuffer_Planes>(),
3723        52usize,
3724        concat!("Size of: ", stringify!(AHardwareBuffer_Planes))
3725    );
3726    assert_eq!(
3727        ::std::mem::align_of::<AHardwareBuffer_Planes>(),
3728        4usize,
3729        concat!("Alignment of ", stringify!(AHardwareBuffer_Planes))
3730    );
3731    assert_eq!(
3732        unsafe { ::std::ptr::addr_of!((*ptr).planeCount) as usize - ptr as usize },
3733        0usize,
3734        concat!(
3735            "Offset of field: ",
3736            stringify!(AHardwareBuffer_Planes),
3737            "::",
3738            stringify!(planeCount)
3739        )
3740    );
3741    assert_eq!(
3742        unsafe { ::std::ptr::addr_of!((*ptr).planes) as usize - ptr as usize },
3743        4usize,
3744        concat!(
3745            "Offset of field: ",
3746            stringify!(AHardwareBuffer_Planes),
3747            "::",
3748            stringify!(planes)
3749        )
3750    );
3751}
3752extern "C" {
3753    pub fn AHardwareBuffer_allocate(
3754        desc: *const AHardwareBuffer_Desc,
3755        outBuffer: *mut *mut AHardwareBuffer,
3756    ) -> ::std::os::raw::c_int;
3757}
3758extern "C" {
3759    pub fn AHardwareBuffer_acquire(buffer: *mut AHardwareBuffer);
3760}
3761extern "C" {
3762    pub fn AHardwareBuffer_release(buffer: *mut AHardwareBuffer);
3763}
3764extern "C" {
3765    pub fn AHardwareBuffer_describe(
3766        buffer: *const AHardwareBuffer,
3767        outDesc: *mut AHardwareBuffer_Desc,
3768    );
3769}
3770extern "C" {
3771    pub fn AHardwareBuffer_lock(
3772        buffer: *mut AHardwareBuffer,
3773        usage: u64,
3774        fence: i32,
3775        rect: *const ARect,
3776        outVirtualAddress: *mut *mut ::std::os::raw::c_void,
3777    ) -> ::std::os::raw::c_int;
3778}
3779extern "C" {
3780    pub fn AHardwareBuffer_unlock(
3781        buffer: *mut AHardwareBuffer,
3782        fence: *mut i32,
3783    ) -> ::std::os::raw::c_int;
3784}
3785extern "C" {
3786    pub fn AHardwareBuffer_sendHandleToUnixSocket(
3787        buffer: *const AHardwareBuffer,
3788        socketFd: ::std::os::raw::c_int,
3789    ) -> ::std::os::raw::c_int;
3790}
3791extern "C" {
3792    pub fn AHardwareBuffer_recvHandleFromUnixSocket(
3793        socketFd: ::std::os::raw::c_int,
3794        outBuffer: *mut *mut AHardwareBuffer,
3795    ) -> ::std::os::raw::c_int;
3796}
3797extern "C" {
3798    pub fn AHardwareBuffer_lockPlanes(
3799        buffer: *mut AHardwareBuffer,
3800        usage: u64,
3801        fence: i32,
3802        rect: *const ARect,
3803        outPlanes: *mut AHardwareBuffer_Planes,
3804    ) -> ::std::os::raw::c_int;
3805}
3806extern "C" {
3807    pub fn AHardwareBuffer_isSupported(desc: *const AHardwareBuffer_Desc) -> ::std::os::raw::c_int;
3808}
3809extern "C" {
3810    pub fn AHardwareBuffer_lockAndGetInfo(
3811        buffer: *mut AHardwareBuffer,
3812        usage: u64,
3813        fence: i32,
3814        rect: *const ARect,
3815        outVirtualAddress: *mut *mut ::std::os::raw::c_void,
3816        outBytesPerPixel: *mut i32,
3817        outBytesPerStride: *mut i32,
3818    ) -> ::std::os::raw::c_int;
3819}
3820extern "C" {
3821    pub fn AHardwareBuffer_getId(
3822        buffer: *const AHardwareBuffer,
3823        outId: *mut u64,
3824    ) -> ::std::os::raw::c_int;
3825}
3826extern "C" {
3827    pub fn AHardwareBuffer_fromHardwareBuffer(
3828        env: *mut JNIEnv,
3829        hardwareBufferObj: jobject,
3830    ) -> *mut AHardwareBuffer;
3831}
3832extern "C" {
3833    pub fn AHardwareBuffer_toHardwareBuffer(
3834        env: *mut JNIEnv,
3835        hardwareBuffer: *mut AHardwareBuffer,
3836    ) -> jobject;
3837}
3838impl AHdrMetadataType {
3839    pub const HDR10_SMPTE2086: AHdrMetadataType = AHdrMetadataType(1);
3840}
3841impl AHdrMetadataType {
3842    pub const HDR10_CTA861_3: AHdrMetadataType = AHdrMetadataType(2);
3843}
3844impl AHdrMetadataType {
3845    pub const HDR10PLUS_SEI: AHdrMetadataType = AHdrMetadataType(3);
3846}
3847#[repr(transparent)]
3848#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3849pub struct AHdrMetadataType(pub u32);
3850#[repr(C)]
3851#[derive(Debug, Copy, Clone)]
3852pub struct AColor_xy {
3853    pub x: f32,
3854    pub y: f32,
3855}
3856#[test]
3857fn bindgen_test_layout_AColor_xy() {
3858    const UNINIT: ::std::mem::MaybeUninit<AColor_xy> = ::std::mem::MaybeUninit::uninit();
3859    let ptr = UNINIT.as_ptr();
3860    assert_eq!(
3861        ::std::mem::size_of::<AColor_xy>(),
3862        8usize,
3863        concat!("Size of: ", stringify!(AColor_xy))
3864    );
3865    assert_eq!(
3866        ::std::mem::align_of::<AColor_xy>(),
3867        4usize,
3868        concat!("Alignment of ", stringify!(AColor_xy))
3869    );
3870    assert_eq!(
3871        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
3872        0usize,
3873        concat!(
3874            "Offset of field: ",
3875            stringify!(AColor_xy),
3876            "::",
3877            stringify!(x)
3878        )
3879    );
3880    assert_eq!(
3881        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
3882        4usize,
3883        concat!(
3884            "Offset of field: ",
3885            stringify!(AColor_xy),
3886            "::",
3887            stringify!(y)
3888        )
3889    );
3890}
3891#[repr(C)]
3892#[derive(Debug, Copy, Clone)]
3893pub struct AHdrMetadata_smpte2086 {
3894    pub displayPrimaryRed: AColor_xy,
3895    pub displayPrimaryGreen: AColor_xy,
3896    pub displayPrimaryBlue: AColor_xy,
3897    pub whitePoint: AColor_xy,
3898    pub maxLuminance: f32,
3899    pub minLuminance: f32,
3900}
3901#[test]
3902fn bindgen_test_layout_AHdrMetadata_smpte2086() {
3903    const UNINIT: ::std::mem::MaybeUninit<AHdrMetadata_smpte2086> =
3904        ::std::mem::MaybeUninit::uninit();
3905    let ptr = UNINIT.as_ptr();
3906    assert_eq!(
3907        ::std::mem::size_of::<AHdrMetadata_smpte2086>(),
3908        40usize,
3909        concat!("Size of: ", stringify!(AHdrMetadata_smpte2086))
3910    );
3911    assert_eq!(
3912        ::std::mem::align_of::<AHdrMetadata_smpte2086>(),
3913        4usize,
3914        concat!("Alignment of ", stringify!(AHdrMetadata_smpte2086))
3915    );
3916    assert_eq!(
3917        unsafe { ::std::ptr::addr_of!((*ptr).displayPrimaryRed) as usize - ptr as usize },
3918        0usize,
3919        concat!(
3920            "Offset of field: ",
3921            stringify!(AHdrMetadata_smpte2086),
3922            "::",
3923            stringify!(displayPrimaryRed)
3924        )
3925    );
3926    assert_eq!(
3927        unsafe { ::std::ptr::addr_of!((*ptr).displayPrimaryGreen) as usize - ptr as usize },
3928        8usize,
3929        concat!(
3930            "Offset of field: ",
3931            stringify!(AHdrMetadata_smpte2086),
3932            "::",
3933            stringify!(displayPrimaryGreen)
3934        )
3935    );
3936    assert_eq!(
3937        unsafe { ::std::ptr::addr_of!((*ptr).displayPrimaryBlue) as usize - ptr as usize },
3938        16usize,
3939        concat!(
3940            "Offset of field: ",
3941            stringify!(AHdrMetadata_smpte2086),
3942            "::",
3943            stringify!(displayPrimaryBlue)
3944        )
3945    );
3946    assert_eq!(
3947        unsafe { ::std::ptr::addr_of!((*ptr).whitePoint) as usize - ptr as usize },
3948        24usize,
3949        concat!(
3950            "Offset of field: ",
3951            stringify!(AHdrMetadata_smpte2086),
3952            "::",
3953            stringify!(whitePoint)
3954        )
3955    );
3956    assert_eq!(
3957        unsafe { ::std::ptr::addr_of!((*ptr).maxLuminance) as usize - ptr as usize },
3958        32usize,
3959        concat!(
3960            "Offset of field: ",
3961            stringify!(AHdrMetadata_smpte2086),
3962            "::",
3963            stringify!(maxLuminance)
3964        )
3965    );
3966    assert_eq!(
3967        unsafe { ::std::ptr::addr_of!((*ptr).minLuminance) as usize - ptr as usize },
3968        36usize,
3969        concat!(
3970            "Offset of field: ",
3971            stringify!(AHdrMetadata_smpte2086),
3972            "::",
3973            stringify!(minLuminance)
3974        )
3975    );
3976}
3977#[repr(C)]
3978#[derive(Debug, Copy, Clone)]
3979pub struct AHdrMetadata_cta861_3 {
3980    pub maxContentLightLevel: f32,
3981    pub maxFrameAverageLightLevel: f32,
3982}
3983#[test]
3984fn bindgen_test_layout_AHdrMetadata_cta861_3() {
3985    const UNINIT: ::std::mem::MaybeUninit<AHdrMetadata_cta861_3> =
3986        ::std::mem::MaybeUninit::uninit();
3987    let ptr = UNINIT.as_ptr();
3988    assert_eq!(
3989        ::std::mem::size_of::<AHdrMetadata_cta861_3>(),
3990        8usize,
3991        concat!("Size of: ", stringify!(AHdrMetadata_cta861_3))
3992    );
3993    assert_eq!(
3994        ::std::mem::align_of::<AHdrMetadata_cta861_3>(),
3995        4usize,
3996        concat!("Alignment of ", stringify!(AHdrMetadata_cta861_3))
3997    );
3998    assert_eq!(
3999        unsafe { ::std::ptr::addr_of!((*ptr).maxContentLightLevel) as usize - ptr as usize },
4000        0usize,
4001        concat!(
4002            "Offset of field: ",
4003            stringify!(AHdrMetadata_cta861_3),
4004            "::",
4005            stringify!(maxContentLightLevel)
4006        )
4007    );
4008    assert_eq!(
4009        unsafe { ::std::ptr::addr_of!((*ptr).maxFrameAverageLightLevel) as usize - ptr as usize },
4010        4usize,
4011        concat!(
4012            "Offset of field: ",
4013            stringify!(AHdrMetadata_cta861_3),
4014            "::",
4015            stringify!(maxFrameAverageLightLevel)
4016        )
4017    );
4018}
4019pub const ANDROID_IMAGE_DECODER_SUCCESS: _bindgen_ty_9 = 0;
4020pub const ANDROID_IMAGE_DECODER_INCOMPLETE: _bindgen_ty_9 = -1;
4021pub const ANDROID_IMAGE_DECODER_ERROR: _bindgen_ty_9 = -2;
4022pub const ANDROID_IMAGE_DECODER_INVALID_CONVERSION: _bindgen_ty_9 = -3;
4023pub const ANDROID_IMAGE_DECODER_INVALID_SCALE: _bindgen_ty_9 = -4;
4024pub const ANDROID_IMAGE_DECODER_BAD_PARAMETER: _bindgen_ty_9 = -5;
4025pub const ANDROID_IMAGE_DECODER_INVALID_INPUT: _bindgen_ty_9 = -6;
4026pub const ANDROID_IMAGE_DECODER_SEEK_ERROR: _bindgen_ty_9 = -7;
4027pub const ANDROID_IMAGE_DECODER_INTERNAL_ERROR: _bindgen_ty_9 = -8;
4028pub const ANDROID_IMAGE_DECODER_UNSUPPORTED_FORMAT: _bindgen_ty_9 = -9;
4029pub const ANDROID_IMAGE_DECODER_FINISHED: _bindgen_ty_9 = -10;
4030pub const ANDROID_IMAGE_DECODER_INVALID_STATE: _bindgen_ty_9 = -11;
4031pub type _bindgen_ty_9 = ::std::os::raw::c_int;
4032extern "C" {
4033    pub fn AImageDecoder_resultToString(
4034        arg1: ::std::os::raw::c_int,
4035    ) -> *const ::std::os::raw::c_char;
4036}
4037#[repr(C)]
4038#[derive(Debug, Copy, Clone)]
4039pub struct AImageDecoder {
4040    _unused: [u8; 0],
4041}
4042extern "C" {
4043    pub fn AImageDecoder_createFromAAsset(
4044        asset: *mut AAsset,
4045        outDecoder: *mut *mut AImageDecoder,
4046    ) -> ::std::os::raw::c_int;
4047}
4048extern "C" {
4049    pub fn AImageDecoder_createFromFd(
4050        fd: ::std::os::raw::c_int,
4051        outDecoder: *mut *mut AImageDecoder,
4052    ) -> ::std::os::raw::c_int;
4053}
4054extern "C" {
4055    pub fn AImageDecoder_createFromBuffer(
4056        buffer: *const ::std::os::raw::c_void,
4057        length: usize,
4058        outDecoder: *mut *mut AImageDecoder,
4059    ) -> ::std::os::raw::c_int;
4060}
4061extern "C" {
4062    pub fn AImageDecoder_delete(decoder: *mut AImageDecoder);
4063}
4064extern "C" {
4065    pub fn AImageDecoder_setAndroidBitmapFormat(
4066        decoder: *mut AImageDecoder,
4067        format: i32,
4068    ) -> ::std::os::raw::c_int;
4069}
4070extern "C" {
4071    pub fn AImageDecoder_setUnpremultipliedRequired(
4072        decoder: *mut AImageDecoder,
4073        unpremultipliedRequired: bool,
4074    ) -> ::std::os::raw::c_int;
4075}
4076extern "C" {
4077    pub fn AImageDecoder_setDataSpace(
4078        decoder: *mut AImageDecoder,
4079        dataspace: i32,
4080    ) -> ::std::os::raw::c_int;
4081}
4082extern "C" {
4083    pub fn AImageDecoder_setTargetSize(
4084        decoder: *mut AImageDecoder,
4085        width: i32,
4086        height: i32,
4087    ) -> ::std::os::raw::c_int;
4088}
4089extern "C" {
4090    pub fn AImageDecoder_computeSampledSize(
4091        decoder: *const AImageDecoder,
4092        sampleSize: ::std::os::raw::c_int,
4093        width: *mut i32,
4094        height: *mut i32,
4095    ) -> ::std::os::raw::c_int;
4096}
4097extern "C" {
4098    pub fn AImageDecoder_setCrop(decoder: *mut AImageDecoder, crop: ARect)
4099        -> ::std::os::raw::c_int;
4100}
4101#[repr(C)]
4102#[derive(Debug, Copy, Clone)]
4103pub struct AImageDecoderHeaderInfo {
4104    _unused: [u8; 0],
4105}
4106extern "C" {
4107    pub fn AImageDecoder_getHeaderInfo(
4108        decoder: *const AImageDecoder,
4109    ) -> *const AImageDecoderHeaderInfo;
4110}
4111extern "C" {
4112    pub fn AImageDecoderHeaderInfo_getWidth(arg1: *const AImageDecoderHeaderInfo) -> i32;
4113}
4114extern "C" {
4115    pub fn AImageDecoderHeaderInfo_getHeight(arg1: *const AImageDecoderHeaderInfo) -> i32;
4116}
4117extern "C" {
4118    pub fn AImageDecoderHeaderInfo_getMimeType(
4119        arg1: *const AImageDecoderHeaderInfo,
4120    ) -> *const ::std::os::raw::c_char;
4121}
4122extern "C" {
4123    pub fn AImageDecoderHeaderInfo_getAndroidBitmapFormat(
4124        arg1: *const AImageDecoderHeaderInfo,
4125    ) -> i32;
4126}
4127extern "C" {
4128    pub fn AImageDecoderHeaderInfo_getAlphaFlags(
4129        arg1: *const AImageDecoderHeaderInfo,
4130    ) -> ::std::os::raw::c_int;
4131}
4132extern "C" {
4133    pub fn AImageDecoderHeaderInfo_getDataSpace(arg1: *const AImageDecoderHeaderInfo) -> i32;
4134}
4135extern "C" {
4136    pub fn AImageDecoder_getMinimumStride(decoder: *mut AImageDecoder) -> usize;
4137}
4138extern "C" {
4139    pub fn AImageDecoder_decodeImage(
4140        decoder: *mut AImageDecoder,
4141        pixels: *mut ::std::os::raw::c_void,
4142        stride: usize,
4143        size: usize,
4144    ) -> ::std::os::raw::c_int;
4145}
4146extern "C" {
4147    pub fn AImageDecoder_isAnimated(decoder: *mut AImageDecoder) -> bool;
4148}
4149pub const ANDROID_IMAGE_DECODER_INFINITE: _bindgen_ty_10 = 2147483647;
4150pub type _bindgen_ty_10 = ::std::os::raw::c_uint;
4151extern "C" {
4152    pub fn AImageDecoder_getRepeatCount(decoder: *mut AImageDecoder) -> i32;
4153}
4154extern "C" {
4155    pub fn AImageDecoder_advanceFrame(decoder: *mut AImageDecoder) -> ::std::os::raw::c_int;
4156}
4157extern "C" {
4158    pub fn AImageDecoder_rewind(decoder: *mut AImageDecoder) -> ::std::os::raw::c_int;
4159}
4160#[repr(C)]
4161#[derive(Debug, Copy, Clone)]
4162pub struct AImageDecoderFrameInfo {
4163    _unused: [u8; 0],
4164}
4165extern "C" {
4166    pub fn AImageDecoderFrameInfo_create() -> *mut AImageDecoderFrameInfo;
4167}
4168extern "C" {
4169    pub fn AImageDecoderFrameInfo_delete(info: *mut AImageDecoderFrameInfo);
4170}
4171extern "C" {
4172    pub fn AImageDecoder_getFrameInfo(
4173        decoder: *mut AImageDecoder,
4174        info: *mut AImageDecoderFrameInfo,
4175    ) -> ::std::os::raw::c_int;
4176}
4177extern "C" {
4178    pub fn AImageDecoderFrameInfo_getDuration(info: *const AImageDecoderFrameInfo) -> i64;
4179}
4180extern "C" {
4181    pub fn AImageDecoderFrameInfo_getFrameRect(info: *const AImageDecoderFrameInfo) -> ARect;
4182}
4183extern "C" {
4184    pub fn AImageDecoderFrameInfo_hasAlphaWithinBounds(info: *const AImageDecoderFrameInfo)
4185        -> bool;
4186}
4187pub const ANDROID_IMAGE_DECODER_DISPOSE_OP_NONE: _bindgen_ty_11 = 1;
4188pub const ANDROID_IMAGE_DECODER_DISPOSE_OP_BACKGROUND: _bindgen_ty_11 = 2;
4189pub const ANDROID_IMAGE_DECODER_DISPOSE_OP_PREVIOUS: _bindgen_ty_11 = 3;
4190pub type _bindgen_ty_11 = ::std::os::raw::c_uint;
4191extern "C" {
4192    pub fn AImageDecoderFrameInfo_getDisposeOp(info: *const AImageDecoderFrameInfo) -> i32;
4193}
4194pub const ANDROID_IMAGE_DECODER_BLEND_OP_SRC: _bindgen_ty_12 = 1;
4195pub const ANDROID_IMAGE_DECODER_BLEND_OP_SRC_OVER: _bindgen_ty_12 = 2;
4196pub type _bindgen_ty_12 = ::std::os::raw::c_uint;
4197extern "C" {
4198    pub fn AImageDecoderFrameInfo_getBlendOp(info: *const AImageDecoderFrameInfo) -> i32;
4199}
4200extern "C" {
4201    pub fn AImageDecoder_setInternallyHandleDisposePrevious(
4202        decoder: *mut AImageDecoder,
4203        handleInternally: bool,
4204    );
4205}
4206pub const AKEYCODE_UNKNOWN: _bindgen_ty_13 = 0;
4207pub const AKEYCODE_SOFT_LEFT: _bindgen_ty_13 = 1;
4208pub const AKEYCODE_SOFT_RIGHT: _bindgen_ty_13 = 2;
4209pub const AKEYCODE_HOME: _bindgen_ty_13 = 3;
4210pub const AKEYCODE_BACK: _bindgen_ty_13 = 4;
4211pub const AKEYCODE_CALL: _bindgen_ty_13 = 5;
4212pub const AKEYCODE_ENDCALL: _bindgen_ty_13 = 6;
4213pub const AKEYCODE_0: _bindgen_ty_13 = 7;
4214pub const AKEYCODE_1: _bindgen_ty_13 = 8;
4215pub const AKEYCODE_2: _bindgen_ty_13 = 9;
4216pub const AKEYCODE_3: _bindgen_ty_13 = 10;
4217pub const AKEYCODE_4: _bindgen_ty_13 = 11;
4218pub const AKEYCODE_5: _bindgen_ty_13 = 12;
4219pub const AKEYCODE_6: _bindgen_ty_13 = 13;
4220pub const AKEYCODE_7: _bindgen_ty_13 = 14;
4221pub const AKEYCODE_8: _bindgen_ty_13 = 15;
4222pub const AKEYCODE_9: _bindgen_ty_13 = 16;
4223pub const AKEYCODE_STAR: _bindgen_ty_13 = 17;
4224pub const AKEYCODE_POUND: _bindgen_ty_13 = 18;
4225pub const AKEYCODE_DPAD_UP: _bindgen_ty_13 = 19;
4226pub const AKEYCODE_DPAD_DOWN: _bindgen_ty_13 = 20;
4227pub const AKEYCODE_DPAD_LEFT: _bindgen_ty_13 = 21;
4228pub const AKEYCODE_DPAD_RIGHT: _bindgen_ty_13 = 22;
4229pub const AKEYCODE_DPAD_CENTER: _bindgen_ty_13 = 23;
4230pub const AKEYCODE_VOLUME_UP: _bindgen_ty_13 = 24;
4231pub const AKEYCODE_VOLUME_DOWN: _bindgen_ty_13 = 25;
4232pub const AKEYCODE_POWER: _bindgen_ty_13 = 26;
4233pub const AKEYCODE_CAMERA: _bindgen_ty_13 = 27;
4234pub const AKEYCODE_CLEAR: _bindgen_ty_13 = 28;
4235pub const AKEYCODE_A: _bindgen_ty_13 = 29;
4236pub const AKEYCODE_B: _bindgen_ty_13 = 30;
4237pub const AKEYCODE_C: _bindgen_ty_13 = 31;
4238pub const AKEYCODE_D: _bindgen_ty_13 = 32;
4239pub const AKEYCODE_E: _bindgen_ty_13 = 33;
4240pub const AKEYCODE_F: _bindgen_ty_13 = 34;
4241pub const AKEYCODE_G: _bindgen_ty_13 = 35;
4242pub const AKEYCODE_H: _bindgen_ty_13 = 36;
4243pub const AKEYCODE_I: _bindgen_ty_13 = 37;
4244pub const AKEYCODE_J: _bindgen_ty_13 = 38;
4245pub const AKEYCODE_K: _bindgen_ty_13 = 39;
4246pub const AKEYCODE_L: _bindgen_ty_13 = 40;
4247pub const AKEYCODE_M: _bindgen_ty_13 = 41;
4248pub const AKEYCODE_N: _bindgen_ty_13 = 42;
4249pub const AKEYCODE_O: _bindgen_ty_13 = 43;
4250pub const AKEYCODE_P: _bindgen_ty_13 = 44;
4251pub const AKEYCODE_Q: _bindgen_ty_13 = 45;
4252pub const AKEYCODE_R: _bindgen_ty_13 = 46;
4253pub const AKEYCODE_S: _bindgen_ty_13 = 47;
4254pub const AKEYCODE_T: _bindgen_ty_13 = 48;
4255pub const AKEYCODE_U: _bindgen_ty_13 = 49;
4256pub const AKEYCODE_V: _bindgen_ty_13 = 50;
4257pub const AKEYCODE_W: _bindgen_ty_13 = 51;
4258pub const AKEYCODE_X: _bindgen_ty_13 = 52;
4259pub const AKEYCODE_Y: _bindgen_ty_13 = 53;
4260pub const AKEYCODE_Z: _bindgen_ty_13 = 54;
4261pub const AKEYCODE_COMMA: _bindgen_ty_13 = 55;
4262pub const AKEYCODE_PERIOD: _bindgen_ty_13 = 56;
4263pub const AKEYCODE_ALT_LEFT: _bindgen_ty_13 = 57;
4264pub const AKEYCODE_ALT_RIGHT: _bindgen_ty_13 = 58;
4265pub const AKEYCODE_SHIFT_LEFT: _bindgen_ty_13 = 59;
4266pub const AKEYCODE_SHIFT_RIGHT: _bindgen_ty_13 = 60;
4267pub const AKEYCODE_TAB: _bindgen_ty_13 = 61;
4268pub const AKEYCODE_SPACE: _bindgen_ty_13 = 62;
4269pub const AKEYCODE_SYM: _bindgen_ty_13 = 63;
4270pub const AKEYCODE_EXPLORER: _bindgen_ty_13 = 64;
4271pub const AKEYCODE_ENVELOPE: _bindgen_ty_13 = 65;
4272pub const AKEYCODE_ENTER: _bindgen_ty_13 = 66;
4273pub const AKEYCODE_DEL: _bindgen_ty_13 = 67;
4274pub const AKEYCODE_GRAVE: _bindgen_ty_13 = 68;
4275pub const AKEYCODE_MINUS: _bindgen_ty_13 = 69;
4276pub const AKEYCODE_EQUALS: _bindgen_ty_13 = 70;
4277pub const AKEYCODE_LEFT_BRACKET: _bindgen_ty_13 = 71;
4278pub const AKEYCODE_RIGHT_BRACKET: _bindgen_ty_13 = 72;
4279pub const AKEYCODE_BACKSLASH: _bindgen_ty_13 = 73;
4280pub const AKEYCODE_SEMICOLON: _bindgen_ty_13 = 74;
4281pub const AKEYCODE_APOSTROPHE: _bindgen_ty_13 = 75;
4282pub const AKEYCODE_SLASH: _bindgen_ty_13 = 76;
4283pub const AKEYCODE_AT: _bindgen_ty_13 = 77;
4284pub const AKEYCODE_NUM: _bindgen_ty_13 = 78;
4285pub const AKEYCODE_HEADSETHOOK: _bindgen_ty_13 = 79;
4286pub const AKEYCODE_FOCUS: _bindgen_ty_13 = 80;
4287pub const AKEYCODE_PLUS: _bindgen_ty_13 = 81;
4288pub const AKEYCODE_MENU: _bindgen_ty_13 = 82;
4289pub const AKEYCODE_NOTIFICATION: _bindgen_ty_13 = 83;
4290pub const AKEYCODE_SEARCH: _bindgen_ty_13 = 84;
4291pub const AKEYCODE_MEDIA_PLAY_PAUSE: _bindgen_ty_13 = 85;
4292pub const AKEYCODE_MEDIA_STOP: _bindgen_ty_13 = 86;
4293pub const AKEYCODE_MEDIA_NEXT: _bindgen_ty_13 = 87;
4294pub const AKEYCODE_MEDIA_PREVIOUS: _bindgen_ty_13 = 88;
4295pub const AKEYCODE_MEDIA_REWIND: _bindgen_ty_13 = 89;
4296pub const AKEYCODE_MEDIA_FAST_FORWARD: _bindgen_ty_13 = 90;
4297pub const AKEYCODE_MUTE: _bindgen_ty_13 = 91;
4298pub const AKEYCODE_PAGE_UP: _bindgen_ty_13 = 92;
4299pub const AKEYCODE_PAGE_DOWN: _bindgen_ty_13 = 93;
4300pub const AKEYCODE_PICTSYMBOLS: _bindgen_ty_13 = 94;
4301pub const AKEYCODE_SWITCH_CHARSET: _bindgen_ty_13 = 95;
4302pub const AKEYCODE_BUTTON_A: _bindgen_ty_13 = 96;
4303pub const AKEYCODE_BUTTON_B: _bindgen_ty_13 = 97;
4304pub const AKEYCODE_BUTTON_C: _bindgen_ty_13 = 98;
4305pub const AKEYCODE_BUTTON_X: _bindgen_ty_13 = 99;
4306pub const AKEYCODE_BUTTON_Y: _bindgen_ty_13 = 100;
4307pub const AKEYCODE_BUTTON_Z: _bindgen_ty_13 = 101;
4308pub const AKEYCODE_BUTTON_L1: _bindgen_ty_13 = 102;
4309pub const AKEYCODE_BUTTON_R1: _bindgen_ty_13 = 103;
4310pub const AKEYCODE_BUTTON_L2: _bindgen_ty_13 = 104;
4311pub const AKEYCODE_BUTTON_R2: _bindgen_ty_13 = 105;
4312pub const AKEYCODE_BUTTON_THUMBL: _bindgen_ty_13 = 106;
4313pub const AKEYCODE_BUTTON_THUMBR: _bindgen_ty_13 = 107;
4314pub const AKEYCODE_BUTTON_START: _bindgen_ty_13 = 108;
4315pub const AKEYCODE_BUTTON_SELECT: _bindgen_ty_13 = 109;
4316pub const AKEYCODE_BUTTON_MODE: _bindgen_ty_13 = 110;
4317pub const AKEYCODE_ESCAPE: _bindgen_ty_13 = 111;
4318pub const AKEYCODE_FORWARD_DEL: _bindgen_ty_13 = 112;
4319pub const AKEYCODE_CTRL_LEFT: _bindgen_ty_13 = 113;
4320pub const AKEYCODE_CTRL_RIGHT: _bindgen_ty_13 = 114;
4321pub const AKEYCODE_CAPS_LOCK: _bindgen_ty_13 = 115;
4322pub const AKEYCODE_SCROLL_LOCK: _bindgen_ty_13 = 116;
4323pub const AKEYCODE_META_LEFT: _bindgen_ty_13 = 117;
4324pub const AKEYCODE_META_RIGHT: _bindgen_ty_13 = 118;
4325pub const AKEYCODE_FUNCTION: _bindgen_ty_13 = 119;
4326pub const AKEYCODE_SYSRQ: _bindgen_ty_13 = 120;
4327pub const AKEYCODE_BREAK: _bindgen_ty_13 = 121;
4328pub const AKEYCODE_MOVE_HOME: _bindgen_ty_13 = 122;
4329pub const AKEYCODE_MOVE_END: _bindgen_ty_13 = 123;
4330pub const AKEYCODE_INSERT: _bindgen_ty_13 = 124;
4331pub const AKEYCODE_FORWARD: _bindgen_ty_13 = 125;
4332pub const AKEYCODE_MEDIA_PLAY: _bindgen_ty_13 = 126;
4333pub const AKEYCODE_MEDIA_PAUSE: _bindgen_ty_13 = 127;
4334pub const AKEYCODE_MEDIA_CLOSE: _bindgen_ty_13 = 128;
4335pub const AKEYCODE_MEDIA_EJECT: _bindgen_ty_13 = 129;
4336pub const AKEYCODE_MEDIA_RECORD: _bindgen_ty_13 = 130;
4337pub const AKEYCODE_F1: _bindgen_ty_13 = 131;
4338pub const AKEYCODE_F2: _bindgen_ty_13 = 132;
4339pub const AKEYCODE_F3: _bindgen_ty_13 = 133;
4340pub const AKEYCODE_F4: _bindgen_ty_13 = 134;
4341pub const AKEYCODE_F5: _bindgen_ty_13 = 135;
4342pub const AKEYCODE_F6: _bindgen_ty_13 = 136;
4343pub const AKEYCODE_F7: _bindgen_ty_13 = 137;
4344pub const AKEYCODE_F8: _bindgen_ty_13 = 138;
4345pub const AKEYCODE_F9: _bindgen_ty_13 = 139;
4346pub const AKEYCODE_F10: _bindgen_ty_13 = 140;
4347pub const AKEYCODE_F11: _bindgen_ty_13 = 141;
4348pub const AKEYCODE_F12: _bindgen_ty_13 = 142;
4349pub const AKEYCODE_NUM_LOCK: _bindgen_ty_13 = 143;
4350pub const AKEYCODE_NUMPAD_0: _bindgen_ty_13 = 144;
4351pub const AKEYCODE_NUMPAD_1: _bindgen_ty_13 = 145;
4352pub const AKEYCODE_NUMPAD_2: _bindgen_ty_13 = 146;
4353pub const AKEYCODE_NUMPAD_3: _bindgen_ty_13 = 147;
4354pub const AKEYCODE_NUMPAD_4: _bindgen_ty_13 = 148;
4355pub const AKEYCODE_NUMPAD_5: _bindgen_ty_13 = 149;
4356pub const AKEYCODE_NUMPAD_6: _bindgen_ty_13 = 150;
4357pub const AKEYCODE_NUMPAD_7: _bindgen_ty_13 = 151;
4358pub const AKEYCODE_NUMPAD_8: _bindgen_ty_13 = 152;
4359pub const AKEYCODE_NUMPAD_9: _bindgen_ty_13 = 153;
4360pub const AKEYCODE_NUMPAD_DIVIDE: _bindgen_ty_13 = 154;
4361pub const AKEYCODE_NUMPAD_MULTIPLY: _bindgen_ty_13 = 155;
4362pub const AKEYCODE_NUMPAD_SUBTRACT: _bindgen_ty_13 = 156;
4363pub const AKEYCODE_NUMPAD_ADD: _bindgen_ty_13 = 157;
4364pub const AKEYCODE_NUMPAD_DOT: _bindgen_ty_13 = 158;
4365pub const AKEYCODE_NUMPAD_COMMA: _bindgen_ty_13 = 159;
4366pub const AKEYCODE_NUMPAD_ENTER: _bindgen_ty_13 = 160;
4367pub const AKEYCODE_NUMPAD_EQUALS: _bindgen_ty_13 = 161;
4368pub const AKEYCODE_NUMPAD_LEFT_PAREN: _bindgen_ty_13 = 162;
4369pub const AKEYCODE_NUMPAD_RIGHT_PAREN: _bindgen_ty_13 = 163;
4370pub const AKEYCODE_VOLUME_MUTE: _bindgen_ty_13 = 164;
4371pub const AKEYCODE_INFO: _bindgen_ty_13 = 165;
4372pub const AKEYCODE_CHANNEL_UP: _bindgen_ty_13 = 166;
4373pub const AKEYCODE_CHANNEL_DOWN: _bindgen_ty_13 = 167;
4374pub const AKEYCODE_ZOOM_IN: _bindgen_ty_13 = 168;
4375pub const AKEYCODE_ZOOM_OUT: _bindgen_ty_13 = 169;
4376pub const AKEYCODE_TV: _bindgen_ty_13 = 170;
4377pub const AKEYCODE_WINDOW: _bindgen_ty_13 = 171;
4378pub const AKEYCODE_GUIDE: _bindgen_ty_13 = 172;
4379pub const AKEYCODE_DVR: _bindgen_ty_13 = 173;
4380pub const AKEYCODE_BOOKMARK: _bindgen_ty_13 = 174;
4381pub const AKEYCODE_CAPTIONS: _bindgen_ty_13 = 175;
4382pub const AKEYCODE_SETTINGS: _bindgen_ty_13 = 176;
4383pub const AKEYCODE_TV_POWER: _bindgen_ty_13 = 177;
4384pub const AKEYCODE_TV_INPUT: _bindgen_ty_13 = 178;
4385pub const AKEYCODE_STB_POWER: _bindgen_ty_13 = 179;
4386pub const AKEYCODE_STB_INPUT: _bindgen_ty_13 = 180;
4387pub const AKEYCODE_AVR_POWER: _bindgen_ty_13 = 181;
4388pub const AKEYCODE_AVR_INPUT: _bindgen_ty_13 = 182;
4389pub const AKEYCODE_PROG_RED: _bindgen_ty_13 = 183;
4390pub const AKEYCODE_PROG_GREEN: _bindgen_ty_13 = 184;
4391pub const AKEYCODE_PROG_YELLOW: _bindgen_ty_13 = 185;
4392pub const AKEYCODE_PROG_BLUE: _bindgen_ty_13 = 186;
4393pub const AKEYCODE_APP_SWITCH: _bindgen_ty_13 = 187;
4394pub const AKEYCODE_BUTTON_1: _bindgen_ty_13 = 188;
4395pub const AKEYCODE_BUTTON_2: _bindgen_ty_13 = 189;
4396pub const AKEYCODE_BUTTON_3: _bindgen_ty_13 = 190;
4397pub const AKEYCODE_BUTTON_4: _bindgen_ty_13 = 191;
4398pub const AKEYCODE_BUTTON_5: _bindgen_ty_13 = 192;
4399pub const AKEYCODE_BUTTON_6: _bindgen_ty_13 = 193;
4400pub const AKEYCODE_BUTTON_7: _bindgen_ty_13 = 194;
4401pub const AKEYCODE_BUTTON_8: _bindgen_ty_13 = 195;
4402pub const AKEYCODE_BUTTON_9: _bindgen_ty_13 = 196;
4403pub const AKEYCODE_BUTTON_10: _bindgen_ty_13 = 197;
4404pub const AKEYCODE_BUTTON_11: _bindgen_ty_13 = 198;
4405pub const AKEYCODE_BUTTON_12: _bindgen_ty_13 = 199;
4406pub const AKEYCODE_BUTTON_13: _bindgen_ty_13 = 200;
4407pub const AKEYCODE_BUTTON_14: _bindgen_ty_13 = 201;
4408pub const AKEYCODE_BUTTON_15: _bindgen_ty_13 = 202;
4409pub const AKEYCODE_BUTTON_16: _bindgen_ty_13 = 203;
4410pub const AKEYCODE_LANGUAGE_SWITCH: _bindgen_ty_13 = 204;
4411pub const AKEYCODE_MANNER_MODE: _bindgen_ty_13 = 205;
4412pub const AKEYCODE_3D_MODE: _bindgen_ty_13 = 206;
4413pub const AKEYCODE_CONTACTS: _bindgen_ty_13 = 207;
4414pub const AKEYCODE_CALENDAR: _bindgen_ty_13 = 208;
4415pub const AKEYCODE_MUSIC: _bindgen_ty_13 = 209;
4416pub const AKEYCODE_CALCULATOR: _bindgen_ty_13 = 210;
4417pub const AKEYCODE_ZENKAKU_HANKAKU: _bindgen_ty_13 = 211;
4418pub const AKEYCODE_EISU: _bindgen_ty_13 = 212;
4419pub const AKEYCODE_MUHENKAN: _bindgen_ty_13 = 213;
4420pub const AKEYCODE_HENKAN: _bindgen_ty_13 = 214;
4421pub const AKEYCODE_KATAKANA_HIRAGANA: _bindgen_ty_13 = 215;
4422pub const AKEYCODE_YEN: _bindgen_ty_13 = 216;
4423pub const AKEYCODE_RO: _bindgen_ty_13 = 217;
4424pub const AKEYCODE_KANA: _bindgen_ty_13 = 218;
4425pub const AKEYCODE_ASSIST: _bindgen_ty_13 = 219;
4426pub const AKEYCODE_BRIGHTNESS_DOWN: _bindgen_ty_13 = 220;
4427pub const AKEYCODE_BRIGHTNESS_UP: _bindgen_ty_13 = 221;
4428pub const AKEYCODE_MEDIA_AUDIO_TRACK: _bindgen_ty_13 = 222;
4429pub const AKEYCODE_SLEEP: _bindgen_ty_13 = 223;
4430pub const AKEYCODE_WAKEUP: _bindgen_ty_13 = 224;
4431pub const AKEYCODE_PAIRING: _bindgen_ty_13 = 225;
4432pub const AKEYCODE_MEDIA_TOP_MENU: _bindgen_ty_13 = 226;
4433pub const AKEYCODE_11: _bindgen_ty_13 = 227;
4434pub const AKEYCODE_12: _bindgen_ty_13 = 228;
4435pub const AKEYCODE_LAST_CHANNEL: _bindgen_ty_13 = 229;
4436pub const AKEYCODE_TV_DATA_SERVICE: _bindgen_ty_13 = 230;
4437pub const AKEYCODE_VOICE_ASSIST: _bindgen_ty_13 = 231;
4438pub const AKEYCODE_TV_RADIO_SERVICE: _bindgen_ty_13 = 232;
4439pub const AKEYCODE_TV_TELETEXT: _bindgen_ty_13 = 233;
4440pub const AKEYCODE_TV_NUMBER_ENTRY: _bindgen_ty_13 = 234;
4441pub const AKEYCODE_TV_TERRESTRIAL_ANALOG: _bindgen_ty_13 = 235;
4442pub const AKEYCODE_TV_TERRESTRIAL_DIGITAL: _bindgen_ty_13 = 236;
4443pub const AKEYCODE_TV_SATELLITE: _bindgen_ty_13 = 237;
4444pub const AKEYCODE_TV_SATELLITE_BS: _bindgen_ty_13 = 238;
4445pub const AKEYCODE_TV_SATELLITE_CS: _bindgen_ty_13 = 239;
4446pub const AKEYCODE_TV_SATELLITE_SERVICE: _bindgen_ty_13 = 240;
4447pub const AKEYCODE_TV_NETWORK: _bindgen_ty_13 = 241;
4448pub const AKEYCODE_TV_ANTENNA_CABLE: _bindgen_ty_13 = 242;
4449pub const AKEYCODE_TV_INPUT_HDMI_1: _bindgen_ty_13 = 243;
4450pub const AKEYCODE_TV_INPUT_HDMI_2: _bindgen_ty_13 = 244;
4451pub const AKEYCODE_TV_INPUT_HDMI_3: _bindgen_ty_13 = 245;
4452pub const AKEYCODE_TV_INPUT_HDMI_4: _bindgen_ty_13 = 246;
4453pub const AKEYCODE_TV_INPUT_COMPOSITE_1: _bindgen_ty_13 = 247;
4454pub const AKEYCODE_TV_INPUT_COMPOSITE_2: _bindgen_ty_13 = 248;
4455pub const AKEYCODE_TV_INPUT_COMPONENT_1: _bindgen_ty_13 = 249;
4456pub const AKEYCODE_TV_INPUT_COMPONENT_2: _bindgen_ty_13 = 250;
4457pub const AKEYCODE_TV_INPUT_VGA_1: _bindgen_ty_13 = 251;
4458pub const AKEYCODE_TV_AUDIO_DESCRIPTION: _bindgen_ty_13 = 252;
4459pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP: _bindgen_ty_13 = 253;
4460pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN: _bindgen_ty_13 = 254;
4461pub const AKEYCODE_TV_ZOOM_MODE: _bindgen_ty_13 = 255;
4462pub const AKEYCODE_TV_CONTENTS_MENU: _bindgen_ty_13 = 256;
4463pub const AKEYCODE_TV_MEDIA_CONTEXT_MENU: _bindgen_ty_13 = 257;
4464pub const AKEYCODE_TV_TIMER_PROGRAMMING: _bindgen_ty_13 = 258;
4465pub const AKEYCODE_HELP: _bindgen_ty_13 = 259;
4466pub const AKEYCODE_NAVIGATE_PREVIOUS: _bindgen_ty_13 = 260;
4467pub const AKEYCODE_NAVIGATE_NEXT: _bindgen_ty_13 = 261;
4468pub const AKEYCODE_NAVIGATE_IN: _bindgen_ty_13 = 262;
4469pub const AKEYCODE_NAVIGATE_OUT: _bindgen_ty_13 = 263;
4470pub const AKEYCODE_STEM_PRIMARY: _bindgen_ty_13 = 264;
4471pub const AKEYCODE_STEM_1: _bindgen_ty_13 = 265;
4472pub const AKEYCODE_STEM_2: _bindgen_ty_13 = 266;
4473pub const AKEYCODE_STEM_3: _bindgen_ty_13 = 267;
4474pub const AKEYCODE_DPAD_UP_LEFT: _bindgen_ty_13 = 268;
4475pub const AKEYCODE_DPAD_DOWN_LEFT: _bindgen_ty_13 = 269;
4476pub const AKEYCODE_DPAD_UP_RIGHT: _bindgen_ty_13 = 270;
4477pub const AKEYCODE_DPAD_DOWN_RIGHT: _bindgen_ty_13 = 271;
4478pub const AKEYCODE_MEDIA_SKIP_FORWARD: _bindgen_ty_13 = 272;
4479pub const AKEYCODE_MEDIA_SKIP_BACKWARD: _bindgen_ty_13 = 273;
4480pub const AKEYCODE_MEDIA_STEP_FORWARD: _bindgen_ty_13 = 274;
4481pub const AKEYCODE_MEDIA_STEP_BACKWARD: _bindgen_ty_13 = 275;
4482pub const AKEYCODE_SOFT_SLEEP: _bindgen_ty_13 = 276;
4483pub const AKEYCODE_CUT: _bindgen_ty_13 = 277;
4484pub const AKEYCODE_COPY: _bindgen_ty_13 = 278;
4485pub const AKEYCODE_PASTE: _bindgen_ty_13 = 279;
4486pub const AKEYCODE_SYSTEM_NAVIGATION_UP: _bindgen_ty_13 = 280;
4487pub const AKEYCODE_SYSTEM_NAVIGATION_DOWN: _bindgen_ty_13 = 281;
4488pub const AKEYCODE_SYSTEM_NAVIGATION_LEFT: _bindgen_ty_13 = 282;
4489pub const AKEYCODE_SYSTEM_NAVIGATION_RIGHT: _bindgen_ty_13 = 283;
4490pub const AKEYCODE_ALL_APPS: _bindgen_ty_13 = 284;
4491pub const AKEYCODE_REFRESH: _bindgen_ty_13 = 285;
4492pub const AKEYCODE_THUMBS_UP: _bindgen_ty_13 = 286;
4493pub const AKEYCODE_THUMBS_DOWN: _bindgen_ty_13 = 287;
4494pub const AKEYCODE_PROFILE_SWITCH: _bindgen_ty_13 = 288;
4495pub const AKEYCODE_VIDEO_APP_1: _bindgen_ty_13 = 289;
4496pub const AKEYCODE_VIDEO_APP_2: _bindgen_ty_13 = 290;
4497pub const AKEYCODE_VIDEO_APP_3: _bindgen_ty_13 = 291;
4498pub const AKEYCODE_VIDEO_APP_4: _bindgen_ty_13 = 292;
4499pub const AKEYCODE_VIDEO_APP_5: _bindgen_ty_13 = 293;
4500pub const AKEYCODE_VIDEO_APP_6: _bindgen_ty_13 = 294;
4501pub const AKEYCODE_VIDEO_APP_7: _bindgen_ty_13 = 295;
4502pub const AKEYCODE_VIDEO_APP_8: _bindgen_ty_13 = 296;
4503pub const AKEYCODE_FEATURED_APP_1: _bindgen_ty_13 = 297;
4504pub const AKEYCODE_FEATURED_APP_2: _bindgen_ty_13 = 298;
4505pub const AKEYCODE_FEATURED_APP_3: _bindgen_ty_13 = 299;
4506pub const AKEYCODE_FEATURED_APP_4: _bindgen_ty_13 = 300;
4507pub const AKEYCODE_DEMO_APP_1: _bindgen_ty_13 = 301;
4508pub const AKEYCODE_DEMO_APP_2: _bindgen_ty_13 = 302;
4509pub const AKEYCODE_DEMO_APP_3: _bindgen_ty_13 = 303;
4510pub const AKEYCODE_DEMO_APP_4: _bindgen_ty_13 = 304;
4511pub const AKEYCODE_KEYBOARD_BACKLIGHT_DOWN: _bindgen_ty_13 = 305;
4512pub const AKEYCODE_KEYBOARD_BACKLIGHT_UP: _bindgen_ty_13 = 306;
4513pub const AKEYCODE_KEYBOARD_BACKLIGHT_TOGGLE: _bindgen_ty_13 = 307;
4514pub const AKEYCODE_STYLUS_BUTTON_PRIMARY: _bindgen_ty_13 = 308;
4515pub const AKEYCODE_STYLUS_BUTTON_SECONDARY: _bindgen_ty_13 = 309;
4516pub const AKEYCODE_STYLUS_BUTTON_TERTIARY: _bindgen_ty_13 = 310;
4517pub const AKEYCODE_STYLUS_BUTTON_TAIL: _bindgen_ty_13 = 311;
4518pub const AKEYCODE_RECENT_APPS: _bindgen_ty_13 = 312;
4519pub const AKEYCODE_MACRO_1: _bindgen_ty_13 = 313;
4520pub const AKEYCODE_MACRO_2: _bindgen_ty_13 = 314;
4521pub const AKEYCODE_MACRO_3: _bindgen_ty_13 = 315;
4522pub const AKEYCODE_MACRO_4: _bindgen_ty_13 = 316;
4523pub type _bindgen_ty_13 = ::std::os::raw::c_uint;
4524#[repr(C)]
4525#[derive(Debug, Copy, Clone)]
4526pub struct ALooper {
4527    _unused: [u8; 0],
4528}
4529extern "C" {
4530    pub fn ALooper_forThread() -> *mut ALooper;
4531}
4532pub const ALOOPER_PREPARE_ALLOW_NON_CALLBACKS: _bindgen_ty_14 = 1;
4533pub type _bindgen_ty_14 = ::std::os::raw::c_uint;
4534extern "C" {
4535    pub fn ALooper_prepare(opts: ::std::os::raw::c_int) -> *mut ALooper;
4536}
4537pub const ALOOPER_POLL_WAKE: _bindgen_ty_15 = -1;
4538pub const ALOOPER_POLL_CALLBACK: _bindgen_ty_15 = -2;
4539pub const ALOOPER_POLL_TIMEOUT: _bindgen_ty_15 = -3;
4540pub const ALOOPER_POLL_ERROR: _bindgen_ty_15 = -4;
4541pub type _bindgen_ty_15 = ::std::os::raw::c_int;
4542extern "C" {
4543    pub fn ALooper_acquire(looper: *mut ALooper);
4544}
4545extern "C" {
4546    pub fn ALooper_release(looper: *mut ALooper);
4547}
4548pub const ALOOPER_EVENT_INPUT: _bindgen_ty_16 = 1;
4549pub const ALOOPER_EVENT_OUTPUT: _bindgen_ty_16 = 2;
4550pub const ALOOPER_EVENT_ERROR: _bindgen_ty_16 = 4;
4551pub const ALOOPER_EVENT_HANGUP: _bindgen_ty_16 = 8;
4552pub const ALOOPER_EVENT_INVALID: _bindgen_ty_16 = 16;
4553pub type _bindgen_ty_16 = ::std::os::raw::c_uint;
4554pub type ALooper_callbackFunc = ::std::option::Option<
4555    unsafe extern "C" fn(
4556        fd: ::std::os::raw::c_int,
4557        events: ::std::os::raw::c_int,
4558        data: *mut ::std::os::raw::c_void,
4559    ) -> ::std::os::raw::c_int,
4560>;
4561extern "C" {
4562    pub fn ALooper_pollOnce(
4563        timeoutMillis: ::std::os::raw::c_int,
4564        outFd: *mut ::std::os::raw::c_int,
4565        outEvents: *mut ::std::os::raw::c_int,
4566        outData: *mut *mut ::std::os::raw::c_void,
4567    ) -> ::std::os::raw::c_int;
4568}
4569extern "C" {
4570    pub fn ALooper_pollAll(
4571        timeoutMillis: ::std::os::raw::c_int,
4572        outFd: *mut ::std::os::raw::c_int,
4573        outEvents: *mut ::std::os::raw::c_int,
4574        outData: *mut *mut ::std::os::raw::c_void,
4575    ) -> ::std::os::raw::c_int;
4576}
4577extern "C" {
4578    pub fn ALooper_wake(looper: *mut ALooper);
4579}
4580extern "C" {
4581    pub fn ALooper_addFd(
4582        looper: *mut ALooper,
4583        fd: ::std::os::raw::c_int,
4584        ident: ::std::os::raw::c_int,
4585        events: ::std::os::raw::c_int,
4586        callback: ALooper_callbackFunc,
4587        data: *mut ::std::os::raw::c_void,
4588    ) -> ::std::os::raw::c_int;
4589}
4590extern "C" {
4591    pub fn ALooper_removeFd(
4592        looper: *mut ALooper,
4593        fd: ::std::os::raw::c_int,
4594    ) -> ::std::os::raw::c_int;
4595}
4596pub const AKEY_STATE_UNKNOWN: _bindgen_ty_17 = -1;
4597pub const AKEY_STATE_UP: _bindgen_ty_17 = 0;
4598pub const AKEY_STATE_DOWN: _bindgen_ty_17 = 1;
4599pub const AKEY_STATE_VIRTUAL: _bindgen_ty_17 = 2;
4600pub type _bindgen_ty_17 = ::std::os::raw::c_int;
4601pub const AMETA_NONE: _bindgen_ty_18 = 0;
4602pub const AMETA_ALT_ON: _bindgen_ty_18 = 2;
4603pub const AMETA_ALT_LEFT_ON: _bindgen_ty_18 = 16;
4604pub const AMETA_ALT_RIGHT_ON: _bindgen_ty_18 = 32;
4605pub const AMETA_SHIFT_ON: _bindgen_ty_18 = 1;
4606pub const AMETA_SHIFT_LEFT_ON: _bindgen_ty_18 = 64;
4607pub const AMETA_SHIFT_RIGHT_ON: _bindgen_ty_18 = 128;
4608pub const AMETA_SYM_ON: _bindgen_ty_18 = 4;
4609pub const AMETA_FUNCTION_ON: _bindgen_ty_18 = 8;
4610pub const AMETA_CTRL_ON: _bindgen_ty_18 = 4096;
4611pub const AMETA_CTRL_LEFT_ON: _bindgen_ty_18 = 8192;
4612pub const AMETA_CTRL_RIGHT_ON: _bindgen_ty_18 = 16384;
4613pub const AMETA_META_ON: _bindgen_ty_18 = 65536;
4614pub const AMETA_META_LEFT_ON: _bindgen_ty_18 = 131072;
4615pub const AMETA_META_RIGHT_ON: _bindgen_ty_18 = 262144;
4616pub const AMETA_CAPS_LOCK_ON: _bindgen_ty_18 = 1048576;
4617pub const AMETA_NUM_LOCK_ON: _bindgen_ty_18 = 2097152;
4618pub const AMETA_SCROLL_LOCK_ON: _bindgen_ty_18 = 4194304;
4619pub type _bindgen_ty_18 = ::std::os::raw::c_uint;
4620#[repr(C)]
4621#[derive(Debug, Copy, Clone)]
4622pub struct AInputEvent {
4623    _unused: [u8; 0],
4624}
4625pub const AINPUT_EVENT_TYPE_KEY: _bindgen_ty_19 = 1;
4626pub const AINPUT_EVENT_TYPE_MOTION: _bindgen_ty_19 = 2;
4627pub const AINPUT_EVENT_TYPE_FOCUS: _bindgen_ty_19 = 3;
4628pub const AINPUT_EVENT_TYPE_CAPTURE: _bindgen_ty_19 = 4;
4629pub const AINPUT_EVENT_TYPE_DRAG: _bindgen_ty_19 = 5;
4630pub const AINPUT_EVENT_TYPE_TOUCH_MODE: _bindgen_ty_19 = 6;
4631pub type _bindgen_ty_19 = ::std::os::raw::c_uint;
4632pub const AKEY_EVENT_ACTION_DOWN: _bindgen_ty_20 = 0;
4633pub const AKEY_EVENT_ACTION_UP: _bindgen_ty_20 = 1;
4634pub const AKEY_EVENT_ACTION_MULTIPLE: _bindgen_ty_20 = 2;
4635pub type _bindgen_ty_20 = ::std::os::raw::c_uint;
4636pub const AKEY_EVENT_FLAG_WOKE_HERE: _bindgen_ty_21 = 1;
4637pub const AKEY_EVENT_FLAG_SOFT_KEYBOARD: _bindgen_ty_21 = 2;
4638pub const AKEY_EVENT_FLAG_KEEP_TOUCH_MODE: _bindgen_ty_21 = 4;
4639pub const AKEY_EVENT_FLAG_FROM_SYSTEM: _bindgen_ty_21 = 8;
4640pub const AKEY_EVENT_FLAG_EDITOR_ACTION: _bindgen_ty_21 = 16;
4641pub const AKEY_EVENT_FLAG_CANCELED: _bindgen_ty_21 = 32;
4642pub const AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY: _bindgen_ty_21 = 64;
4643pub const AKEY_EVENT_FLAG_LONG_PRESS: _bindgen_ty_21 = 128;
4644pub const AKEY_EVENT_FLAG_CANCELED_LONG_PRESS: _bindgen_ty_21 = 256;
4645pub const AKEY_EVENT_FLAG_TRACKING: _bindgen_ty_21 = 512;
4646pub const AKEY_EVENT_FLAG_FALLBACK: _bindgen_ty_21 = 1024;
4647pub type _bindgen_ty_21 = ::std::os::raw::c_uint;
4648pub const AMOTION_EVENT_ACTION_MASK: _bindgen_ty_22 = 255;
4649pub const AMOTION_EVENT_ACTION_POINTER_INDEX_MASK: _bindgen_ty_22 = 65280;
4650pub const AMOTION_EVENT_ACTION_DOWN: _bindgen_ty_22 = 0;
4651pub const AMOTION_EVENT_ACTION_UP: _bindgen_ty_22 = 1;
4652pub const AMOTION_EVENT_ACTION_MOVE: _bindgen_ty_22 = 2;
4653pub const AMOTION_EVENT_ACTION_CANCEL: _bindgen_ty_22 = 3;
4654pub const AMOTION_EVENT_ACTION_OUTSIDE: _bindgen_ty_22 = 4;
4655pub const AMOTION_EVENT_ACTION_POINTER_DOWN: _bindgen_ty_22 = 5;
4656pub const AMOTION_EVENT_ACTION_POINTER_UP: _bindgen_ty_22 = 6;
4657pub const AMOTION_EVENT_ACTION_HOVER_MOVE: _bindgen_ty_22 = 7;
4658pub const AMOTION_EVENT_ACTION_SCROLL: _bindgen_ty_22 = 8;
4659pub const AMOTION_EVENT_ACTION_HOVER_ENTER: _bindgen_ty_22 = 9;
4660pub const AMOTION_EVENT_ACTION_HOVER_EXIT: _bindgen_ty_22 = 10;
4661pub const AMOTION_EVENT_ACTION_BUTTON_PRESS: _bindgen_ty_22 = 11;
4662pub const AMOTION_EVENT_ACTION_BUTTON_RELEASE: _bindgen_ty_22 = 12;
4663pub type _bindgen_ty_22 = ::std::os::raw::c_uint;
4664pub const AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED: _bindgen_ty_23 = 1;
4665pub type _bindgen_ty_23 = ::std::os::raw::c_uint;
4666pub const AMOTION_EVENT_EDGE_FLAG_NONE: _bindgen_ty_24 = 0;
4667pub const AMOTION_EVENT_EDGE_FLAG_TOP: _bindgen_ty_24 = 1;
4668pub const AMOTION_EVENT_EDGE_FLAG_BOTTOM: _bindgen_ty_24 = 2;
4669pub const AMOTION_EVENT_EDGE_FLAG_LEFT: _bindgen_ty_24 = 4;
4670pub const AMOTION_EVENT_EDGE_FLAG_RIGHT: _bindgen_ty_24 = 8;
4671pub type _bindgen_ty_24 = ::std::os::raw::c_uint;
4672pub const AMOTION_EVENT_AXIS_X: _bindgen_ty_25 = 0;
4673pub const AMOTION_EVENT_AXIS_Y: _bindgen_ty_25 = 1;
4674pub const AMOTION_EVENT_AXIS_PRESSURE: _bindgen_ty_25 = 2;
4675pub const AMOTION_EVENT_AXIS_SIZE: _bindgen_ty_25 = 3;
4676pub const AMOTION_EVENT_AXIS_TOUCH_MAJOR: _bindgen_ty_25 = 4;
4677pub const AMOTION_EVENT_AXIS_TOUCH_MINOR: _bindgen_ty_25 = 5;
4678pub const AMOTION_EVENT_AXIS_TOOL_MAJOR: _bindgen_ty_25 = 6;
4679pub const AMOTION_EVENT_AXIS_TOOL_MINOR: _bindgen_ty_25 = 7;
4680pub const AMOTION_EVENT_AXIS_ORIENTATION: _bindgen_ty_25 = 8;
4681pub const AMOTION_EVENT_AXIS_VSCROLL: _bindgen_ty_25 = 9;
4682pub const AMOTION_EVENT_AXIS_HSCROLL: _bindgen_ty_25 = 10;
4683pub const AMOTION_EVENT_AXIS_Z: _bindgen_ty_25 = 11;
4684pub const AMOTION_EVENT_AXIS_RX: _bindgen_ty_25 = 12;
4685pub const AMOTION_EVENT_AXIS_RY: _bindgen_ty_25 = 13;
4686pub const AMOTION_EVENT_AXIS_RZ: _bindgen_ty_25 = 14;
4687pub const AMOTION_EVENT_AXIS_HAT_X: _bindgen_ty_25 = 15;
4688pub const AMOTION_EVENT_AXIS_HAT_Y: _bindgen_ty_25 = 16;
4689pub const AMOTION_EVENT_AXIS_LTRIGGER: _bindgen_ty_25 = 17;
4690pub const AMOTION_EVENT_AXIS_RTRIGGER: _bindgen_ty_25 = 18;
4691pub const AMOTION_EVENT_AXIS_THROTTLE: _bindgen_ty_25 = 19;
4692pub const AMOTION_EVENT_AXIS_RUDDER: _bindgen_ty_25 = 20;
4693pub const AMOTION_EVENT_AXIS_WHEEL: _bindgen_ty_25 = 21;
4694pub const AMOTION_EVENT_AXIS_GAS: _bindgen_ty_25 = 22;
4695pub const AMOTION_EVENT_AXIS_BRAKE: _bindgen_ty_25 = 23;
4696pub const AMOTION_EVENT_AXIS_DISTANCE: _bindgen_ty_25 = 24;
4697pub const AMOTION_EVENT_AXIS_TILT: _bindgen_ty_25 = 25;
4698pub const AMOTION_EVENT_AXIS_SCROLL: _bindgen_ty_25 = 26;
4699pub const AMOTION_EVENT_AXIS_RELATIVE_X: _bindgen_ty_25 = 27;
4700pub const AMOTION_EVENT_AXIS_RELATIVE_Y: _bindgen_ty_25 = 28;
4701pub const AMOTION_EVENT_AXIS_GENERIC_1: _bindgen_ty_25 = 32;
4702pub const AMOTION_EVENT_AXIS_GENERIC_2: _bindgen_ty_25 = 33;
4703pub const AMOTION_EVENT_AXIS_GENERIC_3: _bindgen_ty_25 = 34;
4704pub const AMOTION_EVENT_AXIS_GENERIC_4: _bindgen_ty_25 = 35;
4705pub const AMOTION_EVENT_AXIS_GENERIC_5: _bindgen_ty_25 = 36;
4706pub const AMOTION_EVENT_AXIS_GENERIC_6: _bindgen_ty_25 = 37;
4707pub const AMOTION_EVENT_AXIS_GENERIC_7: _bindgen_ty_25 = 38;
4708pub const AMOTION_EVENT_AXIS_GENERIC_8: _bindgen_ty_25 = 39;
4709pub const AMOTION_EVENT_AXIS_GENERIC_9: _bindgen_ty_25 = 40;
4710pub const AMOTION_EVENT_AXIS_GENERIC_10: _bindgen_ty_25 = 41;
4711pub const AMOTION_EVENT_AXIS_GENERIC_11: _bindgen_ty_25 = 42;
4712pub const AMOTION_EVENT_AXIS_GENERIC_12: _bindgen_ty_25 = 43;
4713pub const AMOTION_EVENT_AXIS_GENERIC_13: _bindgen_ty_25 = 44;
4714pub const AMOTION_EVENT_AXIS_GENERIC_14: _bindgen_ty_25 = 45;
4715pub const AMOTION_EVENT_AXIS_GENERIC_15: _bindgen_ty_25 = 46;
4716pub const AMOTION_EVENT_AXIS_GENERIC_16: _bindgen_ty_25 = 47;
4717pub const AMOTION_EVENT_AXIS_GESTURE_X_OFFSET: _bindgen_ty_25 = 48;
4718pub const AMOTION_EVENT_AXIS_GESTURE_Y_OFFSET: _bindgen_ty_25 = 49;
4719pub const AMOTION_EVENT_AXIS_GESTURE_SCROLL_X_DISTANCE: _bindgen_ty_25 = 50;
4720pub const AMOTION_EVENT_AXIS_GESTURE_SCROLL_Y_DISTANCE: _bindgen_ty_25 = 51;
4721pub const AMOTION_EVENT_AXIS_GESTURE_PINCH_SCALE_FACTOR: _bindgen_ty_25 = 52;
4722pub const AMOTION_EVENT_AXIS_GESTURE_SWIPE_FINGER_COUNT: _bindgen_ty_25 = 53;
4723pub const AMOTION_EVENT_MAXIMUM_VALID_AXIS_VALUE: _bindgen_ty_25 = 53;
4724pub type _bindgen_ty_25 = ::std::os::raw::c_uint;
4725pub const AMOTION_EVENT_BUTTON_PRIMARY: _bindgen_ty_26 = 1;
4726pub const AMOTION_EVENT_BUTTON_SECONDARY: _bindgen_ty_26 = 2;
4727pub const AMOTION_EVENT_BUTTON_TERTIARY: _bindgen_ty_26 = 4;
4728pub const AMOTION_EVENT_BUTTON_BACK: _bindgen_ty_26 = 8;
4729pub const AMOTION_EVENT_BUTTON_FORWARD: _bindgen_ty_26 = 16;
4730pub const AMOTION_EVENT_BUTTON_STYLUS_PRIMARY: _bindgen_ty_26 = 32;
4731pub const AMOTION_EVENT_BUTTON_STYLUS_SECONDARY: _bindgen_ty_26 = 64;
4732pub type _bindgen_ty_26 = ::std::os::raw::c_uint;
4733pub const AMOTION_EVENT_TOOL_TYPE_UNKNOWN: _bindgen_ty_27 = 0;
4734pub const AMOTION_EVENT_TOOL_TYPE_FINGER: _bindgen_ty_27 = 1;
4735pub const AMOTION_EVENT_TOOL_TYPE_STYLUS: _bindgen_ty_27 = 2;
4736pub const AMOTION_EVENT_TOOL_TYPE_MOUSE: _bindgen_ty_27 = 3;
4737pub const AMOTION_EVENT_TOOL_TYPE_ERASER: _bindgen_ty_27 = 4;
4738pub const AMOTION_EVENT_TOOL_TYPE_PALM: _bindgen_ty_27 = 5;
4739pub type _bindgen_ty_27 = ::std::os::raw::c_uint;
4740impl AMotionClassification {
4741    pub const AMOTION_EVENT_CLASSIFICATION_NONE: AMotionClassification = AMotionClassification(0);
4742}
4743impl AMotionClassification {
4744    pub const AMOTION_EVENT_CLASSIFICATION_AMBIGUOUS_GESTURE: AMotionClassification =
4745        AMotionClassification(1);
4746}
4747impl AMotionClassification {
4748    pub const AMOTION_EVENT_CLASSIFICATION_DEEP_PRESS: AMotionClassification =
4749        AMotionClassification(2);
4750}
4751impl AMotionClassification {
4752    pub const AMOTION_EVENT_CLASSIFICATION_TWO_FINGER_SWIPE: AMotionClassification =
4753        AMotionClassification(3);
4754}
4755impl AMotionClassification {
4756    pub const AMOTION_EVENT_CLASSIFICATION_MULTI_FINGER_SWIPE: AMotionClassification =
4757        AMotionClassification(4);
4758}
4759impl AMotionClassification {
4760    pub const AMOTION_EVENT_CLASSIFICATION_PINCH: AMotionClassification = AMotionClassification(5);
4761}
4762#[repr(transparent)]
4763#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4764pub struct AMotionClassification(pub u32);
4765pub const AINPUT_SOURCE_CLASS_MASK: _bindgen_ty_28 = 255;
4766pub const AINPUT_SOURCE_CLASS_NONE: _bindgen_ty_28 = 0;
4767pub const AINPUT_SOURCE_CLASS_BUTTON: _bindgen_ty_28 = 1;
4768pub const AINPUT_SOURCE_CLASS_POINTER: _bindgen_ty_28 = 2;
4769pub const AINPUT_SOURCE_CLASS_NAVIGATION: _bindgen_ty_28 = 4;
4770pub const AINPUT_SOURCE_CLASS_POSITION: _bindgen_ty_28 = 8;
4771pub const AINPUT_SOURCE_CLASS_JOYSTICK: _bindgen_ty_28 = 16;
4772pub type _bindgen_ty_28 = ::std::os::raw::c_uint;
4773pub const AINPUT_SOURCE_UNKNOWN: _bindgen_ty_29 = 0;
4774pub const AINPUT_SOURCE_KEYBOARD: _bindgen_ty_29 = 257;
4775pub const AINPUT_SOURCE_DPAD: _bindgen_ty_29 = 513;
4776pub const AINPUT_SOURCE_GAMEPAD: _bindgen_ty_29 = 1025;
4777pub const AINPUT_SOURCE_TOUCHSCREEN: _bindgen_ty_29 = 4098;
4778pub const AINPUT_SOURCE_MOUSE: _bindgen_ty_29 = 8194;
4779pub const AINPUT_SOURCE_STYLUS: _bindgen_ty_29 = 16386;
4780pub const AINPUT_SOURCE_BLUETOOTH_STYLUS: _bindgen_ty_29 = 49154;
4781pub const AINPUT_SOURCE_TRACKBALL: _bindgen_ty_29 = 65540;
4782pub const AINPUT_SOURCE_MOUSE_RELATIVE: _bindgen_ty_29 = 131076;
4783pub const AINPUT_SOURCE_TOUCHPAD: _bindgen_ty_29 = 1048584;
4784pub const AINPUT_SOURCE_TOUCH_NAVIGATION: _bindgen_ty_29 = 2097152;
4785pub const AINPUT_SOURCE_JOYSTICK: _bindgen_ty_29 = 16777232;
4786pub const AINPUT_SOURCE_HDMI: _bindgen_ty_29 = 33554433;
4787pub const AINPUT_SOURCE_SENSOR: _bindgen_ty_29 = 67108864;
4788pub const AINPUT_SOURCE_ROTARY_ENCODER: _bindgen_ty_29 = 4194304;
4789pub const AINPUT_SOURCE_ANY: _bindgen_ty_29 = 4294967040;
4790pub type _bindgen_ty_29 = ::std::os::raw::c_uint;
4791pub const AINPUT_KEYBOARD_TYPE_NONE: _bindgen_ty_30 = 0;
4792pub const AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC: _bindgen_ty_30 = 1;
4793pub const AINPUT_KEYBOARD_TYPE_ALPHABETIC: _bindgen_ty_30 = 2;
4794pub type _bindgen_ty_30 = ::std::os::raw::c_uint;
4795pub const AINPUT_MOTION_RANGE_X: _bindgen_ty_31 = 0;
4796pub const AINPUT_MOTION_RANGE_Y: _bindgen_ty_31 = 1;
4797pub const AINPUT_MOTION_RANGE_PRESSURE: _bindgen_ty_31 = 2;
4798pub const AINPUT_MOTION_RANGE_SIZE: _bindgen_ty_31 = 3;
4799pub const AINPUT_MOTION_RANGE_TOUCH_MAJOR: _bindgen_ty_31 = 4;
4800pub const AINPUT_MOTION_RANGE_TOUCH_MINOR: _bindgen_ty_31 = 5;
4801pub const AINPUT_MOTION_RANGE_TOOL_MAJOR: _bindgen_ty_31 = 6;
4802pub const AINPUT_MOTION_RANGE_TOOL_MINOR: _bindgen_ty_31 = 7;
4803pub const AINPUT_MOTION_RANGE_ORIENTATION: _bindgen_ty_31 = 8;
4804pub type _bindgen_ty_31 = ::std::os::raw::c_uint;
4805extern "C" {
4806    pub fn AInputEvent_getType(event: *const AInputEvent) -> i32;
4807}
4808extern "C" {
4809    pub fn AInputEvent_getDeviceId(event: *const AInputEvent) -> i32;
4810}
4811extern "C" {
4812    pub fn AInputEvent_getSource(event: *const AInputEvent) -> i32;
4813}
4814extern "C" {
4815    pub fn AInputEvent_release(event: *const AInputEvent);
4816}
4817extern "C" {
4818    pub fn AKeyEvent_getAction(key_event: *const AInputEvent) -> i32;
4819}
4820extern "C" {
4821    pub fn AKeyEvent_getFlags(key_event: *const AInputEvent) -> i32;
4822}
4823extern "C" {
4824    pub fn AKeyEvent_getKeyCode(key_event: *const AInputEvent) -> i32;
4825}
4826extern "C" {
4827    pub fn AKeyEvent_getScanCode(key_event: *const AInputEvent) -> i32;
4828}
4829extern "C" {
4830    pub fn AKeyEvent_getMetaState(key_event: *const AInputEvent) -> i32;
4831}
4832extern "C" {
4833    pub fn AKeyEvent_getRepeatCount(key_event: *const AInputEvent) -> i32;
4834}
4835extern "C" {
4836    pub fn AKeyEvent_getDownTime(key_event: *const AInputEvent) -> i64;
4837}
4838extern "C" {
4839    pub fn AKeyEvent_getEventTime(key_event: *const AInputEvent) -> i64;
4840}
4841extern "C" {
4842    pub fn AKeyEvent_fromJava(env: *mut JNIEnv, keyEvent: jobject) -> *const AInputEvent;
4843}
4844extern "C" {
4845    pub fn AMotionEvent_getAction(motion_event: *const AInputEvent) -> i32;
4846}
4847extern "C" {
4848    pub fn AMotionEvent_getFlags(motion_event: *const AInputEvent) -> i32;
4849}
4850extern "C" {
4851    pub fn AMotionEvent_getMetaState(motion_event: *const AInputEvent) -> i32;
4852}
4853extern "C" {
4854    pub fn AMotionEvent_getButtonState(motion_event: *const AInputEvent) -> i32;
4855}
4856extern "C" {
4857    pub fn AMotionEvent_getEdgeFlags(motion_event: *const AInputEvent) -> i32;
4858}
4859extern "C" {
4860    pub fn AMotionEvent_getDownTime(motion_event: *const AInputEvent) -> i64;
4861}
4862extern "C" {
4863    pub fn AMotionEvent_getEventTime(motion_event: *const AInputEvent) -> i64;
4864}
4865extern "C" {
4866    pub fn AMotionEvent_getXOffset(motion_event: *const AInputEvent) -> f32;
4867}
4868extern "C" {
4869    pub fn AMotionEvent_getYOffset(motion_event: *const AInputEvent) -> f32;
4870}
4871extern "C" {
4872    pub fn AMotionEvent_getXPrecision(motion_event: *const AInputEvent) -> f32;
4873}
4874extern "C" {
4875    pub fn AMotionEvent_getYPrecision(motion_event: *const AInputEvent) -> f32;
4876}
4877extern "C" {
4878    pub fn AMotionEvent_getPointerCount(motion_event: *const AInputEvent) -> usize;
4879}
4880extern "C" {
4881    pub fn AMotionEvent_getPointerId(motion_event: *const AInputEvent, pointer_index: usize)
4882        -> i32;
4883}
4884extern "C" {
4885    pub fn AMotionEvent_getToolType(motion_event: *const AInputEvent, pointer_index: usize) -> i32;
4886}
4887extern "C" {
4888    pub fn AMotionEvent_getRawX(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4889}
4890extern "C" {
4891    pub fn AMotionEvent_getRawY(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4892}
4893extern "C" {
4894    pub fn AMotionEvent_getX(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4895}
4896extern "C" {
4897    pub fn AMotionEvent_getY(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4898}
4899extern "C" {
4900    pub fn AMotionEvent_getPressure(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4901}
4902extern "C" {
4903    pub fn AMotionEvent_getSize(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4904}
4905extern "C" {
4906    pub fn AMotionEvent_getTouchMajor(
4907        motion_event: *const AInputEvent,
4908        pointer_index: usize,
4909    ) -> f32;
4910}
4911extern "C" {
4912    pub fn AMotionEvent_getTouchMinor(
4913        motion_event: *const AInputEvent,
4914        pointer_index: usize,
4915    ) -> f32;
4916}
4917extern "C" {
4918    pub fn AMotionEvent_getToolMajor(motion_event: *const AInputEvent, pointer_index: usize)
4919        -> f32;
4920}
4921extern "C" {
4922    pub fn AMotionEvent_getToolMinor(motion_event: *const AInputEvent, pointer_index: usize)
4923        -> f32;
4924}
4925extern "C" {
4926    pub fn AMotionEvent_getOrientation(
4927        motion_event: *const AInputEvent,
4928        pointer_index: usize,
4929    ) -> f32;
4930}
4931extern "C" {
4932    pub fn AMotionEvent_getAxisValue(
4933        motion_event: *const AInputEvent,
4934        axis: i32,
4935        pointer_index: usize,
4936    ) -> f32;
4937}
4938extern "C" {
4939    pub fn AMotionEvent_getHistorySize(motion_event: *const AInputEvent) -> usize;
4940}
4941extern "C" {
4942    pub fn AMotionEvent_getHistoricalEventTime(
4943        motion_event: *const AInputEvent,
4944        history_index: usize,
4945    ) -> i64;
4946}
4947extern "C" {
4948    pub fn AMotionEvent_getHistoricalRawX(
4949        motion_event: *const AInputEvent,
4950        pointer_index: usize,
4951        history_index: usize,
4952    ) -> f32;
4953}
4954extern "C" {
4955    pub fn AMotionEvent_getHistoricalRawY(
4956        motion_event: *const AInputEvent,
4957        pointer_index: usize,
4958        history_index: usize,
4959    ) -> f32;
4960}
4961extern "C" {
4962    pub fn AMotionEvent_getHistoricalX(
4963        motion_event: *const AInputEvent,
4964        pointer_index: usize,
4965        history_index: usize,
4966    ) -> f32;
4967}
4968extern "C" {
4969    pub fn AMotionEvent_getHistoricalY(
4970        motion_event: *const AInputEvent,
4971        pointer_index: usize,
4972        history_index: usize,
4973    ) -> f32;
4974}
4975extern "C" {
4976    pub fn AMotionEvent_getHistoricalPressure(
4977        motion_event: *const AInputEvent,
4978        pointer_index: usize,
4979        history_index: usize,
4980    ) -> f32;
4981}
4982extern "C" {
4983    pub fn AMotionEvent_getHistoricalSize(
4984        motion_event: *const AInputEvent,
4985        pointer_index: usize,
4986        history_index: usize,
4987    ) -> f32;
4988}
4989extern "C" {
4990    pub fn AMotionEvent_getHistoricalTouchMajor(
4991        motion_event: *const AInputEvent,
4992        pointer_index: usize,
4993        history_index: usize,
4994    ) -> f32;
4995}
4996extern "C" {
4997    pub fn AMotionEvent_getHistoricalTouchMinor(
4998        motion_event: *const AInputEvent,
4999        pointer_index: usize,
5000        history_index: usize,
5001    ) -> f32;
5002}
5003extern "C" {
5004    pub fn AMotionEvent_getHistoricalToolMajor(
5005        motion_event: *const AInputEvent,
5006        pointer_index: usize,
5007        history_index: usize,
5008    ) -> f32;
5009}
5010extern "C" {
5011    pub fn AMotionEvent_getHistoricalToolMinor(
5012        motion_event: *const AInputEvent,
5013        pointer_index: usize,
5014        history_index: usize,
5015    ) -> f32;
5016}
5017extern "C" {
5018    pub fn AMotionEvent_getHistoricalOrientation(
5019        motion_event: *const AInputEvent,
5020        pointer_index: usize,
5021        history_index: usize,
5022    ) -> f32;
5023}
5024extern "C" {
5025    pub fn AMotionEvent_getHistoricalAxisValue(
5026        motion_event: *const AInputEvent,
5027        axis: i32,
5028        pointer_index: usize,
5029        history_index: usize,
5030    ) -> f32;
5031}
5032extern "C" {
5033    pub fn AMotionEvent_getActionButton(motion_event: *const AInputEvent) -> i32;
5034}
5035extern "C" {
5036    pub fn AMotionEvent_getClassification(motion_event: *const AInputEvent) -> i32;
5037}
5038extern "C" {
5039    pub fn AMotionEvent_fromJava(env: *mut JNIEnv, motionEvent: jobject) -> *const AInputEvent;
5040}
5041#[repr(C)]
5042#[derive(Debug, Copy, Clone)]
5043pub struct AInputQueue {
5044    _unused: [u8; 0],
5045}
5046extern "C" {
5047    pub fn AInputQueue_attachLooper(
5048        queue: *mut AInputQueue,
5049        looper: *mut ALooper,
5050        ident: ::std::os::raw::c_int,
5051        callback: ALooper_callbackFunc,
5052        data: *mut ::std::os::raw::c_void,
5053    );
5054}
5055extern "C" {
5056    pub fn AInputQueue_detachLooper(queue: *mut AInputQueue);
5057}
5058extern "C" {
5059    pub fn AInputQueue_hasEvents(queue: *mut AInputQueue) -> i32;
5060}
5061extern "C" {
5062    pub fn AInputQueue_getEvent(queue: *mut AInputQueue, outEvent: *mut *mut AInputEvent) -> i32;
5063}
5064extern "C" {
5065    pub fn AInputQueue_preDispatchEvent(queue: *mut AInputQueue, event: *mut AInputEvent) -> i32;
5066}
5067extern "C" {
5068    pub fn AInputQueue_finishEvent(
5069        queue: *mut AInputQueue,
5070        event: *mut AInputEvent,
5071        handled: ::std::os::raw::c_int,
5072    );
5073}
5074extern "C" {
5075    pub fn AInputQueue_fromJava(env: *mut JNIEnv, inputQueue: jobject) -> *mut AInputQueue;
5076}
5077impl android_LogPriority {
5078    pub const ANDROID_LOG_UNKNOWN: android_LogPriority = android_LogPriority(0);
5079}
5080impl android_LogPriority {
5081    pub const ANDROID_LOG_DEFAULT: android_LogPriority = android_LogPriority(1);
5082}
5083impl android_LogPriority {
5084    pub const ANDROID_LOG_VERBOSE: android_LogPriority = android_LogPriority(2);
5085}
5086impl android_LogPriority {
5087    pub const ANDROID_LOG_DEBUG: android_LogPriority = android_LogPriority(3);
5088}
5089impl android_LogPriority {
5090    pub const ANDROID_LOG_INFO: android_LogPriority = android_LogPriority(4);
5091}
5092impl android_LogPriority {
5093    pub const ANDROID_LOG_WARN: android_LogPriority = android_LogPriority(5);
5094}
5095impl android_LogPriority {
5096    pub const ANDROID_LOG_ERROR: android_LogPriority = android_LogPriority(6);
5097}
5098impl android_LogPriority {
5099    pub const ANDROID_LOG_FATAL: android_LogPriority = android_LogPriority(7);
5100}
5101impl android_LogPriority {
5102    pub const ANDROID_LOG_SILENT: android_LogPriority = android_LogPriority(8);
5103}
5104#[repr(transparent)]
5105#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5106pub struct android_LogPriority(pub ::std::os::raw::c_uint);
5107extern "C" {
5108    pub fn __android_log_write(
5109        prio: ::std::os::raw::c_int,
5110        tag: *const ::std::os::raw::c_char,
5111        text: *const ::std::os::raw::c_char,
5112    ) -> ::std::os::raw::c_int;
5113}
5114extern "C" {
5115    pub fn __android_log_print(
5116        prio: ::std::os::raw::c_int,
5117        tag: *const ::std::os::raw::c_char,
5118        fmt: *const ::std::os::raw::c_char,
5119        ...
5120    ) -> ::std::os::raw::c_int;
5121}
5122extern "C" {
5123    pub fn __android_log_vprint(
5124        prio: ::std::os::raw::c_int,
5125        tag: *const ::std::os::raw::c_char,
5126        fmt: *const ::std::os::raw::c_char,
5127        ap: va_list,
5128    ) -> ::std::os::raw::c_int;
5129}
5130extern "C" {
5131    pub fn __android_log_assert(
5132        cond: *const ::std::os::raw::c_char,
5133        tag: *const ::std::os::raw::c_char,
5134        fmt: *const ::std::os::raw::c_char,
5135        ...
5136    ) -> !;
5137}
5138impl log_id {
5139    pub const LOG_ID_MIN: log_id = log_id(0);
5140}
5141impl log_id {
5142    pub const LOG_ID_MAIN: log_id = log_id(0);
5143}
5144impl log_id {
5145    pub const LOG_ID_RADIO: log_id = log_id(1);
5146}
5147impl log_id {
5148    pub const LOG_ID_EVENTS: log_id = log_id(2);
5149}
5150impl log_id {
5151    pub const LOG_ID_SYSTEM: log_id = log_id(3);
5152}
5153impl log_id {
5154    pub const LOG_ID_CRASH: log_id = log_id(4);
5155}
5156impl log_id {
5157    pub const LOG_ID_STATS: log_id = log_id(5);
5158}
5159impl log_id {
5160    pub const LOG_ID_SECURITY: log_id = log_id(6);
5161}
5162impl log_id {
5163    pub const LOG_ID_KERNEL: log_id = log_id(7);
5164}
5165impl log_id {
5166    pub const LOG_ID_MAX: log_id = log_id(8);
5167}
5168impl log_id {
5169    pub const LOG_ID_DEFAULT: log_id = log_id(2147483647);
5170}
5171#[repr(transparent)]
5172#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5173pub struct log_id(pub ::std::os::raw::c_uint);
5174pub use self::log_id as log_id_t;
5175extern "C" {
5176    pub fn __android_log_buf_write(
5177        bufID: ::std::os::raw::c_int,
5178        prio: ::std::os::raw::c_int,
5179        tag: *const ::std::os::raw::c_char,
5180        text: *const ::std::os::raw::c_char,
5181    ) -> ::std::os::raw::c_int;
5182}
5183extern "C" {
5184    pub fn __android_log_buf_print(
5185        bufID: ::std::os::raw::c_int,
5186        prio: ::std::os::raw::c_int,
5187        tag: *const ::std::os::raw::c_char,
5188        fmt: *const ::std::os::raw::c_char,
5189        ...
5190    ) -> ::std::os::raw::c_int;
5191}
5192#[repr(C)]
5193#[derive(Debug, Copy, Clone)]
5194pub struct __android_log_message {
5195    pub struct_size: usize,
5196    pub buffer_id: i32,
5197    pub priority: i32,
5198    pub tag: *const ::std::os::raw::c_char,
5199    pub file: *const ::std::os::raw::c_char,
5200    pub line: u32,
5201    pub message: *const ::std::os::raw::c_char,
5202}
5203#[test]
5204fn bindgen_test_layout___android_log_message() {
5205    const UNINIT: ::std::mem::MaybeUninit<__android_log_message> =
5206        ::std::mem::MaybeUninit::uninit();
5207    let ptr = UNINIT.as_ptr();
5208    assert_eq!(
5209        ::std::mem::size_of::<__android_log_message>(),
5210        28usize,
5211        concat!("Size of: ", stringify!(__android_log_message))
5212    );
5213    assert_eq!(
5214        ::std::mem::align_of::<__android_log_message>(),
5215        4usize,
5216        concat!("Alignment of ", stringify!(__android_log_message))
5217    );
5218    assert_eq!(
5219        unsafe { ::std::ptr::addr_of!((*ptr).struct_size) as usize - ptr as usize },
5220        0usize,
5221        concat!(
5222            "Offset of field: ",
5223            stringify!(__android_log_message),
5224            "::",
5225            stringify!(struct_size)
5226        )
5227    );
5228    assert_eq!(
5229        unsafe { ::std::ptr::addr_of!((*ptr).buffer_id) as usize - ptr as usize },
5230        4usize,
5231        concat!(
5232            "Offset of field: ",
5233            stringify!(__android_log_message),
5234            "::",
5235            stringify!(buffer_id)
5236        )
5237    );
5238    assert_eq!(
5239        unsafe { ::std::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
5240        8usize,
5241        concat!(
5242            "Offset of field: ",
5243            stringify!(__android_log_message),
5244            "::",
5245            stringify!(priority)
5246        )
5247    );
5248    assert_eq!(
5249        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
5250        12usize,
5251        concat!(
5252            "Offset of field: ",
5253            stringify!(__android_log_message),
5254            "::",
5255            stringify!(tag)
5256        )
5257    );
5258    assert_eq!(
5259        unsafe { ::std::ptr::addr_of!((*ptr).file) as usize - ptr as usize },
5260        16usize,
5261        concat!(
5262            "Offset of field: ",
5263            stringify!(__android_log_message),
5264            "::",
5265            stringify!(file)
5266        )
5267    );
5268    assert_eq!(
5269        unsafe { ::std::ptr::addr_of!((*ptr).line) as usize - ptr as usize },
5270        20usize,
5271        concat!(
5272            "Offset of field: ",
5273            stringify!(__android_log_message),
5274            "::",
5275            stringify!(line)
5276        )
5277    );
5278    assert_eq!(
5279        unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize },
5280        24usize,
5281        concat!(
5282            "Offset of field: ",
5283            stringify!(__android_log_message),
5284            "::",
5285            stringify!(message)
5286        )
5287    );
5288}
5289pub type __android_logger_function =
5290    ::std::option::Option<unsafe extern "C" fn(log_message: *const __android_log_message)>;
5291pub type __android_aborter_function =
5292    ::std::option::Option<unsafe extern "C" fn(abort_message: *const ::std::os::raw::c_char)>;
5293extern "C" {
5294    pub fn __android_log_write_log_message(log_message: *mut __android_log_message);
5295}
5296extern "C" {
5297    pub fn __android_log_set_logger(logger: __android_logger_function);
5298}
5299extern "C" {
5300    pub fn __android_log_logd_logger(log_message: *const __android_log_message);
5301}
5302extern "C" {
5303    pub fn __android_log_stderr_logger(log_message: *const __android_log_message);
5304}
5305extern "C" {
5306    pub fn __android_log_set_aborter(aborter: __android_aborter_function);
5307}
5308extern "C" {
5309    pub fn __android_log_call_aborter(abort_message: *const ::std::os::raw::c_char);
5310}
5311extern "C" {
5312    pub fn __android_log_default_aborter(abort_message: *const ::std::os::raw::c_char) -> !;
5313}
5314extern "C" {
5315    pub fn __android_log_is_loggable(
5316        prio: ::std::os::raw::c_int,
5317        tag: *const ::std::os::raw::c_char,
5318        default_prio: ::std::os::raw::c_int,
5319    ) -> ::std::os::raw::c_int;
5320}
5321extern "C" {
5322    pub fn __android_log_is_loggable_len(
5323        prio: ::std::os::raw::c_int,
5324        tag: *const ::std::os::raw::c_char,
5325        len: usize,
5326        default_prio: ::std::os::raw::c_int,
5327    ) -> ::std::os::raw::c_int;
5328}
5329extern "C" {
5330    pub fn __android_log_set_minimum_priority(priority: i32) -> i32;
5331}
5332extern "C" {
5333    pub fn __android_log_get_minimum_priority() -> i32;
5334}
5335extern "C" {
5336    pub fn __android_log_set_default_tag(tag: *const ::std::os::raw::c_char);
5337}
5338#[repr(C)]
5339#[derive(Debug, Copy, Clone)]
5340pub struct flock {
5341    pub l_type: ::std::os::raw::c_short,
5342    pub l_whence: ::std::os::raw::c_short,
5343    pub l_start: off_t,
5344    pub l_len: off_t,
5345    pub l_pid: pid_t,
5346}
5347#[test]
5348fn bindgen_test_layout_flock() {
5349    const UNINIT: ::std::mem::MaybeUninit<flock> = ::std::mem::MaybeUninit::uninit();
5350    let ptr = UNINIT.as_ptr();
5351    assert_eq!(
5352        ::std::mem::size_of::<flock>(),
5353        16usize,
5354        concat!("Size of: ", stringify!(flock))
5355    );
5356    assert_eq!(
5357        ::std::mem::align_of::<flock>(),
5358        4usize,
5359        concat!("Alignment of ", stringify!(flock))
5360    );
5361    assert_eq!(
5362        unsafe { ::std::ptr::addr_of!((*ptr).l_type) as usize - ptr as usize },
5363        0usize,
5364        concat!(
5365            "Offset of field: ",
5366            stringify!(flock),
5367            "::",
5368            stringify!(l_type)
5369        )
5370    );
5371    assert_eq!(
5372        unsafe { ::std::ptr::addr_of!((*ptr).l_whence) as usize - ptr as usize },
5373        2usize,
5374        concat!(
5375            "Offset of field: ",
5376            stringify!(flock),
5377            "::",
5378            stringify!(l_whence)
5379        )
5380    );
5381    assert_eq!(
5382        unsafe { ::std::ptr::addr_of!((*ptr).l_start) as usize - ptr as usize },
5383        4usize,
5384        concat!(
5385            "Offset of field: ",
5386            stringify!(flock),
5387            "::",
5388            stringify!(l_start)
5389        )
5390    );
5391    assert_eq!(
5392        unsafe { ::std::ptr::addr_of!((*ptr).l_len) as usize - ptr as usize },
5393        8usize,
5394        concat!(
5395            "Offset of field: ",
5396            stringify!(flock),
5397            "::",
5398            stringify!(l_len)
5399        )
5400    );
5401    assert_eq!(
5402        unsafe { ::std::ptr::addr_of!((*ptr).l_pid) as usize - ptr as usize },
5403        12usize,
5404        concat!(
5405            "Offset of field: ",
5406            stringify!(flock),
5407            "::",
5408            stringify!(l_pid)
5409        )
5410    );
5411}
5412#[repr(C)]
5413#[derive(Debug, Copy, Clone)]
5414pub struct flock64 {
5415    pub l_type: ::std::os::raw::c_short,
5416    pub l_whence: ::std::os::raw::c_short,
5417    pub l_start: off64_t,
5418    pub l_len: off64_t,
5419    pub l_pid: pid_t,
5420}
5421#[test]
5422fn bindgen_test_layout_flock64() {
5423    const UNINIT: ::std::mem::MaybeUninit<flock64> = ::std::mem::MaybeUninit::uninit();
5424    let ptr = UNINIT.as_ptr();
5425    assert_eq!(
5426        ::std::mem::size_of::<flock64>(),
5427        32usize,
5428        concat!("Size of: ", stringify!(flock64))
5429    );
5430    assert_eq!(
5431        ::std::mem::align_of::<flock64>(),
5432        8usize,
5433        concat!("Alignment of ", stringify!(flock64))
5434    );
5435    assert_eq!(
5436        unsafe { ::std::ptr::addr_of!((*ptr).l_type) as usize - ptr as usize },
5437        0usize,
5438        concat!(
5439            "Offset of field: ",
5440            stringify!(flock64),
5441            "::",
5442            stringify!(l_type)
5443        )
5444    );
5445    assert_eq!(
5446        unsafe { ::std::ptr::addr_of!((*ptr).l_whence) as usize - ptr as usize },
5447        2usize,
5448        concat!(
5449            "Offset of field: ",
5450            stringify!(flock64),
5451            "::",
5452            stringify!(l_whence)
5453        )
5454    );
5455    assert_eq!(
5456        unsafe { ::std::ptr::addr_of!((*ptr).l_start) as usize - ptr as usize },
5457        8usize,
5458        concat!(
5459            "Offset of field: ",
5460            stringify!(flock64),
5461            "::",
5462            stringify!(l_start)
5463        )
5464    );
5465    assert_eq!(
5466        unsafe { ::std::ptr::addr_of!((*ptr).l_len) as usize - ptr as usize },
5467        16usize,
5468        concat!(
5469            "Offset of field: ",
5470            stringify!(flock64),
5471            "::",
5472            stringify!(l_len)
5473        )
5474    );
5475    assert_eq!(
5476        unsafe { ::std::ptr::addr_of!((*ptr).l_pid) as usize - ptr as usize },
5477        24usize,
5478        concat!(
5479            "Offset of field: ",
5480            stringify!(flock64),
5481            "::",
5482            stringify!(l_pid)
5483        )
5484    );
5485}
5486#[repr(C)]
5487#[derive(Debug, Copy, Clone)]
5488pub struct f_owner_ex {
5489    pub type_: ::std::os::raw::c_int,
5490    pub pid: __kernel_pid_t,
5491}
5492#[test]
5493fn bindgen_test_layout_f_owner_ex() {
5494    const UNINIT: ::std::mem::MaybeUninit<f_owner_ex> = ::std::mem::MaybeUninit::uninit();
5495    let ptr = UNINIT.as_ptr();
5496    assert_eq!(
5497        ::std::mem::size_of::<f_owner_ex>(),
5498        8usize,
5499        concat!("Size of: ", stringify!(f_owner_ex))
5500    );
5501    assert_eq!(
5502        ::std::mem::align_of::<f_owner_ex>(),
5503        4usize,
5504        concat!("Alignment of ", stringify!(f_owner_ex))
5505    );
5506    assert_eq!(
5507        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5508        0usize,
5509        concat!(
5510            "Offset of field: ",
5511            stringify!(f_owner_ex),
5512            "::",
5513            stringify!(type_)
5514        )
5515    );
5516    assert_eq!(
5517        unsafe { ::std::ptr::addr_of!((*ptr).pid) as usize - ptr as usize },
5518        4usize,
5519        concat!(
5520            "Offset of field: ",
5521            stringify!(f_owner_ex),
5522            "::",
5523            stringify!(pid)
5524        )
5525    );
5526}
5527#[repr(C)]
5528#[derive(Debug, Copy, Clone)]
5529pub struct iovec {
5530    pub iov_base: *mut ::std::os::raw::c_void,
5531    pub iov_len: __kernel_size_t,
5532}
5533#[test]
5534fn bindgen_test_layout_iovec() {
5535    const UNINIT: ::std::mem::MaybeUninit<iovec> = ::std::mem::MaybeUninit::uninit();
5536    let ptr = UNINIT.as_ptr();
5537    assert_eq!(
5538        ::std::mem::size_of::<iovec>(),
5539        8usize,
5540        concat!("Size of: ", stringify!(iovec))
5541    );
5542    assert_eq!(
5543        ::std::mem::align_of::<iovec>(),
5544        4usize,
5545        concat!("Alignment of ", stringify!(iovec))
5546    );
5547    assert_eq!(
5548        unsafe { ::std::ptr::addr_of!((*ptr).iov_base) as usize - ptr as usize },
5549        0usize,
5550        concat!(
5551            "Offset of field: ",
5552            stringify!(iovec),
5553            "::",
5554            stringify!(iov_base)
5555        )
5556    );
5557    assert_eq!(
5558        unsafe { ::std::ptr::addr_of!((*ptr).iov_len) as usize - ptr as usize },
5559        4usize,
5560        concat!(
5561            "Offset of field: ",
5562            stringify!(iovec),
5563            "::",
5564            stringify!(iov_len)
5565        )
5566    );
5567}
5568pub type sa_family_t = ::std::os::raw::c_ushort;
5569#[repr(C)]
5570#[derive(Copy, Clone)]
5571pub struct sockaddr_storage {
5572    pub __bindgen_anon_1: sockaddr_storage__bindgen_ty_1,
5573}
5574#[repr(C)]
5575#[derive(Copy, Clone)]
5576pub union sockaddr_storage__bindgen_ty_1 {
5577    pub __bindgen_anon_1: sockaddr_storage__bindgen_ty_1__bindgen_ty_1,
5578    pub __align: *mut ::std::os::raw::c_void,
5579}
5580#[repr(C)]
5581#[derive(Debug, Copy, Clone)]
5582pub struct sockaddr_storage__bindgen_ty_1__bindgen_ty_1 {
5583    pub ss_family: sa_family_t,
5584    pub __data: [::std::os::raw::c_char; 126usize],
5585}
5586#[test]
5587fn bindgen_test_layout_sockaddr_storage__bindgen_ty_1__bindgen_ty_1() {
5588    const UNINIT: ::std::mem::MaybeUninit<sockaddr_storage__bindgen_ty_1__bindgen_ty_1> =
5589        ::std::mem::MaybeUninit::uninit();
5590    let ptr = UNINIT.as_ptr();
5591    assert_eq!(
5592        ::std::mem::size_of::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>(),
5593        128usize,
5594        concat!(
5595            "Size of: ",
5596            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1)
5597        )
5598    );
5599    assert_eq!(
5600        ::std::mem::align_of::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>(),
5601        2usize,
5602        concat!(
5603            "Alignment of ",
5604            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1)
5605        )
5606    );
5607    assert_eq!(
5608        unsafe { ::std::ptr::addr_of!((*ptr).ss_family) as usize - ptr as usize },
5609        0usize,
5610        concat!(
5611            "Offset of field: ",
5612            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1),
5613            "::",
5614            stringify!(ss_family)
5615        )
5616    );
5617    assert_eq!(
5618        unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
5619        2usize,
5620        concat!(
5621            "Offset of field: ",
5622            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1),
5623            "::",
5624            stringify!(__data)
5625        )
5626    );
5627}
5628#[test]
5629fn bindgen_test_layout_sockaddr_storage__bindgen_ty_1() {
5630    const UNINIT: ::std::mem::MaybeUninit<sockaddr_storage__bindgen_ty_1> =
5631        ::std::mem::MaybeUninit::uninit();
5632    let ptr = UNINIT.as_ptr();
5633    assert_eq!(
5634        ::std::mem::size_of::<sockaddr_storage__bindgen_ty_1>(),
5635        128usize,
5636        concat!("Size of: ", stringify!(sockaddr_storage__bindgen_ty_1))
5637    );
5638    assert_eq!(
5639        ::std::mem::align_of::<sockaddr_storage__bindgen_ty_1>(),
5640        4usize,
5641        concat!("Alignment of ", stringify!(sockaddr_storage__bindgen_ty_1))
5642    );
5643    assert_eq!(
5644        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
5645        0usize,
5646        concat!(
5647            "Offset of field: ",
5648            stringify!(sockaddr_storage__bindgen_ty_1),
5649            "::",
5650            stringify!(__align)
5651        )
5652    );
5653}
5654#[test]
5655fn bindgen_test_layout_sockaddr_storage() {
5656    assert_eq!(
5657        ::std::mem::size_of::<sockaddr_storage>(),
5658        128usize,
5659        concat!("Size of: ", stringify!(sockaddr_storage))
5660    );
5661    assert_eq!(
5662        ::std::mem::align_of::<sockaddr_storage>(),
5663        4usize,
5664        concat!("Alignment of ", stringify!(sockaddr_storage))
5665    );
5666}
5667pub const SHUT_RD: _bindgen_ty_32 = 0;
5668pub const SHUT_WR: _bindgen_ty_32 = 1;
5669pub const SHUT_RDWR: _bindgen_ty_32 = 2;
5670pub type _bindgen_ty_32 = ::std::os::raw::c_uint;
5671#[repr(C)]
5672#[derive(Debug, Copy, Clone)]
5673pub struct sockaddr {
5674    pub sa_family: sa_family_t,
5675    pub sa_data: [::std::os::raw::c_char; 14usize],
5676}
5677#[test]
5678fn bindgen_test_layout_sockaddr() {
5679    const UNINIT: ::std::mem::MaybeUninit<sockaddr> = ::std::mem::MaybeUninit::uninit();
5680    let ptr = UNINIT.as_ptr();
5681    assert_eq!(
5682        ::std::mem::size_of::<sockaddr>(),
5683        16usize,
5684        concat!("Size of: ", stringify!(sockaddr))
5685    );
5686    assert_eq!(
5687        ::std::mem::align_of::<sockaddr>(),
5688        2usize,
5689        concat!("Alignment of ", stringify!(sockaddr))
5690    );
5691    assert_eq!(
5692        unsafe { ::std::ptr::addr_of!((*ptr).sa_family) as usize - ptr as usize },
5693        0usize,
5694        concat!(
5695            "Offset of field: ",
5696            stringify!(sockaddr),
5697            "::",
5698            stringify!(sa_family)
5699        )
5700    );
5701    assert_eq!(
5702        unsafe { ::std::ptr::addr_of!((*ptr).sa_data) as usize - ptr as usize },
5703        2usize,
5704        concat!(
5705            "Offset of field: ",
5706            stringify!(sockaddr),
5707            "::",
5708            stringify!(sa_data)
5709        )
5710    );
5711}
5712#[repr(C)]
5713#[derive(Debug, Copy, Clone)]
5714pub struct linger {
5715    pub l_onoff: ::std::os::raw::c_int,
5716    pub l_linger: ::std::os::raw::c_int,
5717}
5718#[test]
5719fn bindgen_test_layout_linger() {
5720    const UNINIT: ::std::mem::MaybeUninit<linger> = ::std::mem::MaybeUninit::uninit();
5721    let ptr = UNINIT.as_ptr();
5722    assert_eq!(
5723        ::std::mem::size_of::<linger>(),
5724        8usize,
5725        concat!("Size of: ", stringify!(linger))
5726    );
5727    assert_eq!(
5728        ::std::mem::align_of::<linger>(),
5729        4usize,
5730        concat!("Alignment of ", stringify!(linger))
5731    );
5732    assert_eq!(
5733        unsafe { ::std::ptr::addr_of!((*ptr).l_onoff) as usize - ptr as usize },
5734        0usize,
5735        concat!(
5736            "Offset of field: ",
5737            stringify!(linger),
5738            "::",
5739            stringify!(l_onoff)
5740        )
5741    );
5742    assert_eq!(
5743        unsafe { ::std::ptr::addr_of!((*ptr).l_linger) as usize - ptr as usize },
5744        4usize,
5745        concat!(
5746            "Offset of field: ",
5747            stringify!(linger),
5748            "::",
5749            stringify!(l_linger)
5750        )
5751    );
5752}
5753#[repr(C)]
5754#[derive(Debug, Copy, Clone)]
5755pub struct msghdr {
5756    pub msg_name: *mut ::std::os::raw::c_void,
5757    pub msg_namelen: socklen_t,
5758    pub msg_iov: *mut iovec,
5759    pub msg_iovlen: usize,
5760    pub msg_control: *mut ::std::os::raw::c_void,
5761    pub msg_controllen: usize,
5762    pub msg_flags: ::std::os::raw::c_int,
5763}
5764#[test]
5765fn bindgen_test_layout_msghdr() {
5766    const UNINIT: ::std::mem::MaybeUninit<msghdr> = ::std::mem::MaybeUninit::uninit();
5767    let ptr = UNINIT.as_ptr();
5768    assert_eq!(
5769        ::std::mem::size_of::<msghdr>(),
5770        28usize,
5771        concat!("Size of: ", stringify!(msghdr))
5772    );
5773    assert_eq!(
5774        ::std::mem::align_of::<msghdr>(),
5775        4usize,
5776        concat!("Alignment of ", stringify!(msghdr))
5777    );
5778    assert_eq!(
5779        unsafe { ::std::ptr::addr_of!((*ptr).msg_name) as usize - ptr as usize },
5780        0usize,
5781        concat!(
5782            "Offset of field: ",
5783            stringify!(msghdr),
5784            "::",
5785            stringify!(msg_name)
5786        )
5787    );
5788    assert_eq!(
5789        unsafe { ::std::ptr::addr_of!((*ptr).msg_namelen) as usize - ptr as usize },
5790        4usize,
5791        concat!(
5792            "Offset of field: ",
5793            stringify!(msghdr),
5794            "::",
5795            stringify!(msg_namelen)
5796        )
5797    );
5798    assert_eq!(
5799        unsafe { ::std::ptr::addr_of!((*ptr).msg_iov) as usize - ptr as usize },
5800        8usize,
5801        concat!(
5802            "Offset of field: ",
5803            stringify!(msghdr),
5804            "::",
5805            stringify!(msg_iov)
5806        )
5807    );
5808    assert_eq!(
5809        unsafe { ::std::ptr::addr_of!((*ptr).msg_iovlen) as usize - ptr as usize },
5810        12usize,
5811        concat!(
5812            "Offset of field: ",
5813            stringify!(msghdr),
5814            "::",
5815            stringify!(msg_iovlen)
5816        )
5817    );
5818    assert_eq!(
5819        unsafe { ::std::ptr::addr_of!((*ptr).msg_control) as usize - ptr as usize },
5820        16usize,
5821        concat!(
5822            "Offset of field: ",
5823            stringify!(msghdr),
5824            "::",
5825            stringify!(msg_control)
5826        )
5827    );
5828    assert_eq!(
5829        unsafe { ::std::ptr::addr_of!((*ptr).msg_controllen) as usize - ptr as usize },
5830        20usize,
5831        concat!(
5832            "Offset of field: ",
5833            stringify!(msghdr),
5834            "::",
5835            stringify!(msg_controllen)
5836        )
5837    );
5838    assert_eq!(
5839        unsafe { ::std::ptr::addr_of!((*ptr).msg_flags) as usize - ptr as usize },
5840        24usize,
5841        concat!(
5842            "Offset of field: ",
5843            stringify!(msghdr),
5844            "::",
5845            stringify!(msg_flags)
5846        )
5847    );
5848}
5849#[repr(C)]
5850#[derive(Debug, Copy, Clone)]
5851pub struct mmsghdr {
5852    pub msg_hdr: msghdr,
5853    pub msg_len: ::std::os::raw::c_uint,
5854}
5855#[test]
5856fn bindgen_test_layout_mmsghdr() {
5857    const UNINIT: ::std::mem::MaybeUninit<mmsghdr> = ::std::mem::MaybeUninit::uninit();
5858    let ptr = UNINIT.as_ptr();
5859    assert_eq!(
5860        ::std::mem::size_of::<mmsghdr>(),
5861        32usize,
5862        concat!("Size of: ", stringify!(mmsghdr))
5863    );
5864    assert_eq!(
5865        ::std::mem::align_of::<mmsghdr>(),
5866        4usize,
5867        concat!("Alignment of ", stringify!(mmsghdr))
5868    );
5869    assert_eq!(
5870        unsafe { ::std::ptr::addr_of!((*ptr).msg_hdr) as usize - ptr as usize },
5871        0usize,
5872        concat!(
5873            "Offset of field: ",
5874            stringify!(mmsghdr),
5875            "::",
5876            stringify!(msg_hdr)
5877        )
5878    );
5879    assert_eq!(
5880        unsafe { ::std::ptr::addr_of!((*ptr).msg_len) as usize - ptr as usize },
5881        28usize,
5882        concat!(
5883            "Offset of field: ",
5884            stringify!(mmsghdr),
5885            "::",
5886            stringify!(msg_len)
5887        )
5888    );
5889}
5890#[repr(C)]
5891#[derive(Debug, Copy, Clone)]
5892pub struct cmsghdr {
5893    pub cmsg_len: usize,
5894    pub cmsg_level: ::std::os::raw::c_int,
5895    pub cmsg_type: ::std::os::raw::c_int,
5896}
5897#[test]
5898fn bindgen_test_layout_cmsghdr() {
5899    const UNINIT: ::std::mem::MaybeUninit<cmsghdr> = ::std::mem::MaybeUninit::uninit();
5900    let ptr = UNINIT.as_ptr();
5901    assert_eq!(
5902        ::std::mem::size_of::<cmsghdr>(),
5903        12usize,
5904        concat!("Size of: ", stringify!(cmsghdr))
5905    );
5906    assert_eq!(
5907        ::std::mem::align_of::<cmsghdr>(),
5908        4usize,
5909        concat!("Alignment of ", stringify!(cmsghdr))
5910    );
5911    assert_eq!(
5912        unsafe { ::std::ptr::addr_of!((*ptr).cmsg_len) as usize - ptr as usize },
5913        0usize,
5914        concat!(
5915            "Offset of field: ",
5916            stringify!(cmsghdr),
5917            "::",
5918            stringify!(cmsg_len)
5919        )
5920    );
5921    assert_eq!(
5922        unsafe { ::std::ptr::addr_of!((*ptr).cmsg_level) as usize - ptr as usize },
5923        4usize,
5924        concat!(
5925            "Offset of field: ",
5926            stringify!(cmsghdr),
5927            "::",
5928            stringify!(cmsg_level)
5929        )
5930    );
5931    assert_eq!(
5932        unsafe { ::std::ptr::addr_of!((*ptr).cmsg_type) as usize - ptr as usize },
5933        8usize,
5934        concat!(
5935            "Offset of field: ",
5936            stringify!(cmsghdr),
5937            "::",
5938            stringify!(cmsg_type)
5939        )
5940    );
5941}
5942extern "C" {
5943    pub fn __cmsg_nxthdr(__msg: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr;
5944}
5945#[repr(C)]
5946#[derive(Debug, Copy, Clone)]
5947pub struct ucred {
5948    pub pid: pid_t,
5949    pub uid: uid_t,
5950    pub gid: gid_t,
5951}
5952#[test]
5953fn bindgen_test_layout_ucred() {
5954    const UNINIT: ::std::mem::MaybeUninit<ucred> = ::std::mem::MaybeUninit::uninit();
5955    let ptr = UNINIT.as_ptr();
5956    assert_eq!(
5957        ::std::mem::size_of::<ucred>(),
5958        12usize,
5959        concat!("Size of: ", stringify!(ucred))
5960    );
5961    assert_eq!(
5962        ::std::mem::align_of::<ucred>(),
5963        4usize,
5964        concat!("Alignment of ", stringify!(ucred))
5965    );
5966    assert_eq!(
5967        unsafe { ::std::ptr::addr_of!((*ptr).pid) as usize - ptr as usize },
5968        0usize,
5969        concat!(
5970            "Offset of field: ",
5971            stringify!(ucred),
5972            "::",
5973            stringify!(pid)
5974        )
5975    );
5976    assert_eq!(
5977        unsafe { ::std::ptr::addr_of!((*ptr).uid) as usize - ptr as usize },
5978        4usize,
5979        concat!(
5980            "Offset of field: ",
5981            stringify!(ucred),
5982            "::",
5983            stringify!(uid)
5984        )
5985    );
5986    assert_eq!(
5987        unsafe { ::std::ptr::addr_of!((*ptr).gid) as usize - ptr as usize },
5988        8usize,
5989        concat!(
5990            "Offset of field: ",
5991            stringify!(ucred),
5992            "::",
5993            stringify!(gid)
5994        )
5995    );
5996}
5997extern "C" {
5998    pub fn accept(
5999        __fd: ::std::os::raw::c_int,
6000        __addr: *mut sockaddr,
6001        __addr_length: *mut socklen_t,
6002    ) -> ::std::os::raw::c_int;
6003}
6004extern "C" {
6005    pub fn accept4(
6006        __fd: ::std::os::raw::c_int,
6007        __addr: *mut sockaddr,
6008        __addr_length: *mut socklen_t,
6009        __flags: ::std::os::raw::c_int,
6010    ) -> ::std::os::raw::c_int;
6011}
6012extern "C" {
6013    pub fn bind(
6014        __fd: ::std::os::raw::c_int,
6015        __addr: *const sockaddr,
6016        __addr_length: socklen_t,
6017    ) -> ::std::os::raw::c_int;
6018}
6019extern "C" {
6020    pub fn connect(
6021        __fd: ::std::os::raw::c_int,
6022        __addr: *const sockaddr,
6023        __addr_length: socklen_t,
6024    ) -> ::std::os::raw::c_int;
6025}
6026extern "C" {
6027    pub fn getpeername(
6028        __fd: ::std::os::raw::c_int,
6029        __addr: *mut sockaddr,
6030        __addr_length: *mut socklen_t,
6031    ) -> ::std::os::raw::c_int;
6032}
6033extern "C" {
6034    pub fn getsockname(
6035        __fd: ::std::os::raw::c_int,
6036        __addr: *mut sockaddr,
6037        __addr_length: *mut socklen_t,
6038    ) -> ::std::os::raw::c_int;
6039}
6040extern "C" {
6041    pub fn getsockopt(
6042        __fd: ::std::os::raw::c_int,
6043        __level: ::std::os::raw::c_int,
6044        __option: ::std::os::raw::c_int,
6045        __value: *mut ::std::os::raw::c_void,
6046        __value_length: *mut socklen_t,
6047    ) -> ::std::os::raw::c_int;
6048}
6049extern "C" {
6050    pub fn listen(
6051        __fd: ::std::os::raw::c_int,
6052        __backlog: ::std::os::raw::c_int,
6053    ) -> ::std::os::raw::c_int;
6054}
6055extern "C" {
6056    pub fn recvmmsg(
6057        __fd: ::std::os::raw::c_int,
6058        __msgs: *mut mmsghdr,
6059        __msg_count: ::std::os::raw::c_uint,
6060        __flags: ::std::os::raw::c_int,
6061        __timeout: *const timespec,
6062    ) -> ::std::os::raw::c_int;
6063}
6064extern "C" {
6065    pub fn recvmsg(
6066        __fd: ::std::os::raw::c_int,
6067        __msg: *mut msghdr,
6068        __flags: ::std::os::raw::c_int,
6069    ) -> isize;
6070}
6071extern "C" {
6072    pub fn sendmmsg(
6073        __fd: ::std::os::raw::c_int,
6074        __msgs: *const mmsghdr,
6075        __msg_count: ::std::os::raw::c_uint,
6076        __flags: ::std::os::raw::c_int,
6077    ) -> ::std::os::raw::c_int;
6078}
6079extern "C" {
6080    pub fn sendmsg(
6081        __fd: ::std::os::raw::c_int,
6082        __msg: *const msghdr,
6083        __flags: ::std::os::raw::c_int,
6084    ) -> isize;
6085}
6086extern "C" {
6087    pub fn setsockopt(
6088        __fd: ::std::os::raw::c_int,
6089        __level: ::std::os::raw::c_int,
6090        __option: ::std::os::raw::c_int,
6091        __value: *const ::std::os::raw::c_void,
6092        __value_length: socklen_t,
6093    ) -> ::std::os::raw::c_int;
6094}
6095extern "C" {
6096    pub fn shutdown(
6097        __fd: ::std::os::raw::c_int,
6098        __how: ::std::os::raw::c_int,
6099    ) -> ::std::os::raw::c_int;
6100}
6101extern "C" {
6102    pub fn socket(
6103        __af: ::std::os::raw::c_int,
6104        __type: ::std::os::raw::c_int,
6105        __protocol: ::std::os::raw::c_int,
6106    ) -> ::std::os::raw::c_int;
6107}
6108extern "C" {
6109    pub fn socketpair(
6110        __af: ::std::os::raw::c_int,
6111        __type: ::std::os::raw::c_int,
6112        __protocol: ::std::os::raw::c_int,
6113        __fds: *mut ::std::os::raw::c_int,
6114    ) -> ::std::os::raw::c_int;
6115}
6116extern "C" {
6117    pub fn recv(
6118        __fd: ::std::os::raw::c_int,
6119        __buf: *mut ::std::os::raw::c_void,
6120        __n: usize,
6121        __flags: ::std::os::raw::c_int,
6122    ) -> isize;
6123}
6124extern "C" {
6125    pub fn send(
6126        __fd: ::std::os::raw::c_int,
6127        __buf: *const ::std::os::raw::c_void,
6128        __n: usize,
6129        __flags: ::std::os::raw::c_int,
6130    ) -> isize;
6131}
6132extern "C" {
6133    pub fn sendto(
6134        __fd: ::std::os::raw::c_int,
6135        __buf: *const ::std::os::raw::c_void,
6136        __n: usize,
6137        __flags: ::std::os::raw::c_int,
6138        __dst_addr: *const sockaddr,
6139        __dst_addr_length: socklen_t,
6140    ) -> isize;
6141}
6142extern "C" {
6143    pub fn recvfrom(
6144        __fd: ::std::os::raw::c_int,
6145        __buf: *mut ::std::os::raw::c_void,
6146        __n: usize,
6147        __flags: ::std::os::raw::c_int,
6148        __src_addr: *mut sockaddr,
6149        __src_addr_length: *mut socklen_t,
6150    ) -> isize;
6151}
6152#[repr(C)]
6153#[derive(Debug, Copy, Clone)]
6154pub struct hostent {
6155    pub h_name: *mut ::std::os::raw::c_char,
6156    pub h_aliases: *mut *mut ::std::os::raw::c_char,
6157    pub h_addrtype: ::std::os::raw::c_int,
6158    pub h_length: ::std::os::raw::c_int,
6159    pub h_addr_list: *mut *mut ::std::os::raw::c_char,
6160}
6161#[test]
6162fn bindgen_test_layout_hostent() {
6163    const UNINIT: ::std::mem::MaybeUninit<hostent> = ::std::mem::MaybeUninit::uninit();
6164    let ptr = UNINIT.as_ptr();
6165    assert_eq!(
6166        ::std::mem::size_of::<hostent>(),
6167        20usize,
6168        concat!("Size of: ", stringify!(hostent))
6169    );
6170    assert_eq!(
6171        ::std::mem::align_of::<hostent>(),
6172        4usize,
6173        concat!("Alignment of ", stringify!(hostent))
6174    );
6175    assert_eq!(
6176        unsafe { ::std::ptr::addr_of!((*ptr).h_name) as usize - ptr as usize },
6177        0usize,
6178        concat!(
6179            "Offset of field: ",
6180            stringify!(hostent),
6181            "::",
6182            stringify!(h_name)
6183        )
6184    );
6185    assert_eq!(
6186        unsafe { ::std::ptr::addr_of!((*ptr).h_aliases) as usize - ptr as usize },
6187        4usize,
6188        concat!(
6189            "Offset of field: ",
6190            stringify!(hostent),
6191            "::",
6192            stringify!(h_aliases)
6193        )
6194    );
6195    assert_eq!(
6196        unsafe { ::std::ptr::addr_of!((*ptr).h_addrtype) as usize - ptr as usize },
6197        8usize,
6198        concat!(
6199            "Offset of field: ",
6200            stringify!(hostent),
6201            "::",
6202            stringify!(h_addrtype)
6203        )
6204    );
6205    assert_eq!(
6206        unsafe { ::std::ptr::addr_of!((*ptr).h_length) as usize - ptr as usize },
6207        12usize,
6208        concat!(
6209            "Offset of field: ",
6210            stringify!(hostent),
6211            "::",
6212            stringify!(h_length)
6213        )
6214    );
6215    assert_eq!(
6216        unsafe { ::std::ptr::addr_of!((*ptr).h_addr_list) as usize - ptr as usize },
6217        16usize,
6218        concat!(
6219            "Offset of field: ",
6220            stringify!(hostent),
6221            "::",
6222            stringify!(h_addr_list)
6223        )
6224    );
6225}
6226#[repr(C)]
6227#[derive(Debug, Copy, Clone)]
6228pub struct netent {
6229    pub n_name: *mut ::std::os::raw::c_char,
6230    pub n_aliases: *mut *mut ::std::os::raw::c_char,
6231    pub n_addrtype: ::std::os::raw::c_int,
6232    pub n_net: u32,
6233}
6234#[test]
6235fn bindgen_test_layout_netent() {
6236    const UNINIT: ::std::mem::MaybeUninit<netent> = ::std::mem::MaybeUninit::uninit();
6237    let ptr = UNINIT.as_ptr();
6238    assert_eq!(
6239        ::std::mem::size_of::<netent>(),
6240        16usize,
6241        concat!("Size of: ", stringify!(netent))
6242    );
6243    assert_eq!(
6244        ::std::mem::align_of::<netent>(),
6245        4usize,
6246        concat!("Alignment of ", stringify!(netent))
6247    );
6248    assert_eq!(
6249        unsafe { ::std::ptr::addr_of!((*ptr).n_name) as usize - ptr as usize },
6250        0usize,
6251        concat!(
6252            "Offset of field: ",
6253            stringify!(netent),
6254            "::",
6255            stringify!(n_name)
6256        )
6257    );
6258    assert_eq!(
6259        unsafe { ::std::ptr::addr_of!((*ptr).n_aliases) as usize - ptr as usize },
6260        4usize,
6261        concat!(
6262            "Offset of field: ",
6263            stringify!(netent),
6264            "::",
6265            stringify!(n_aliases)
6266        )
6267    );
6268    assert_eq!(
6269        unsafe { ::std::ptr::addr_of!((*ptr).n_addrtype) as usize - ptr as usize },
6270        8usize,
6271        concat!(
6272            "Offset of field: ",
6273            stringify!(netent),
6274            "::",
6275            stringify!(n_addrtype)
6276        )
6277    );
6278    assert_eq!(
6279        unsafe { ::std::ptr::addr_of!((*ptr).n_net) as usize - ptr as usize },
6280        12usize,
6281        concat!(
6282            "Offset of field: ",
6283            stringify!(netent),
6284            "::",
6285            stringify!(n_net)
6286        )
6287    );
6288}
6289#[repr(C)]
6290#[derive(Debug, Copy, Clone)]
6291pub struct servent {
6292    pub s_name: *mut ::std::os::raw::c_char,
6293    pub s_aliases: *mut *mut ::std::os::raw::c_char,
6294    pub s_port: ::std::os::raw::c_int,
6295    pub s_proto: *mut ::std::os::raw::c_char,
6296}
6297#[test]
6298fn bindgen_test_layout_servent() {
6299    const UNINIT: ::std::mem::MaybeUninit<servent> = ::std::mem::MaybeUninit::uninit();
6300    let ptr = UNINIT.as_ptr();
6301    assert_eq!(
6302        ::std::mem::size_of::<servent>(),
6303        16usize,
6304        concat!("Size of: ", stringify!(servent))
6305    );
6306    assert_eq!(
6307        ::std::mem::align_of::<servent>(),
6308        4usize,
6309        concat!("Alignment of ", stringify!(servent))
6310    );
6311    assert_eq!(
6312        unsafe { ::std::ptr::addr_of!((*ptr).s_name) as usize - ptr as usize },
6313        0usize,
6314        concat!(
6315            "Offset of field: ",
6316            stringify!(servent),
6317            "::",
6318            stringify!(s_name)
6319        )
6320    );
6321    assert_eq!(
6322        unsafe { ::std::ptr::addr_of!((*ptr).s_aliases) as usize - ptr as usize },
6323        4usize,
6324        concat!(
6325            "Offset of field: ",
6326            stringify!(servent),
6327            "::",
6328            stringify!(s_aliases)
6329        )
6330    );
6331    assert_eq!(
6332        unsafe { ::std::ptr::addr_of!((*ptr).s_port) as usize - ptr as usize },
6333        8usize,
6334        concat!(
6335            "Offset of field: ",
6336            stringify!(servent),
6337            "::",
6338            stringify!(s_port)
6339        )
6340    );
6341    assert_eq!(
6342        unsafe { ::std::ptr::addr_of!((*ptr).s_proto) as usize - ptr as usize },
6343        12usize,
6344        concat!(
6345            "Offset of field: ",
6346            stringify!(servent),
6347            "::",
6348            stringify!(s_proto)
6349        )
6350    );
6351}
6352#[repr(C)]
6353#[derive(Debug, Copy, Clone)]
6354pub struct protoent {
6355    pub p_name: *mut ::std::os::raw::c_char,
6356    pub p_aliases: *mut *mut ::std::os::raw::c_char,
6357    pub p_proto: ::std::os::raw::c_int,
6358}
6359#[test]
6360fn bindgen_test_layout_protoent() {
6361    const UNINIT: ::std::mem::MaybeUninit<protoent> = ::std::mem::MaybeUninit::uninit();
6362    let ptr = UNINIT.as_ptr();
6363    assert_eq!(
6364        ::std::mem::size_of::<protoent>(),
6365        12usize,
6366        concat!("Size of: ", stringify!(protoent))
6367    );
6368    assert_eq!(
6369        ::std::mem::align_of::<protoent>(),
6370        4usize,
6371        concat!("Alignment of ", stringify!(protoent))
6372    );
6373    assert_eq!(
6374        unsafe { ::std::ptr::addr_of!((*ptr).p_name) as usize - ptr as usize },
6375        0usize,
6376        concat!(
6377            "Offset of field: ",
6378            stringify!(protoent),
6379            "::",
6380            stringify!(p_name)
6381        )
6382    );
6383    assert_eq!(
6384        unsafe { ::std::ptr::addr_of!((*ptr).p_aliases) as usize - ptr as usize },
6385        4usize,
6386        concat!(
6387            "Offset of field: ",
6388            stringify!(protoent),
6389            "::",
6390            stringify!(p_aliases)
6391        )
6392    );
6393    assert_eq!(
6394        unsafe { ::std::ptr::addr_of!((*ptr).p_proto) as usize - ptr as usize },
6395        8usize,
6396        concat!(
6397            "Offset of field: ",
6398            stringify!(protoent),
6399            "::",
6400            stringify!(p_proto)
6401        )
6402    );
6403}
6404#[repr(C)]
6405#[derive(Debug, Copy, Clone)]
6406pub struct addrinfo {
6407    pub ai_flags: ::std::os::raw::c_int,
6408    pub ai_family: ::std::os::raw::c_int,
6409    pub ai_socktype: ::std::os::raw::c_int,
6410    pub ai_protocol: ::std::os::raw::c_int,
6411    pub ai_addrlen: socklen_t,
6412    pub ai_canonname: *mut ::std::os::raw::c_char,
6413    pub ai_addr: *mut sockaddr,
6414    pub ai_next: *mut addrinfo,
6415}
6416#[test]
6417fn bindgen_test_layout_addrinfo() {
6418    const UNINIT: ::std::mem::MaybeUninit<addrinfo> = ::std::mem::MaybeUninit::uninit();
6419    let ptr = UNINIT.as_ptr();
6420    assert_eq!(
6421        ::std::mem::size_of::<addrinfo>(),
6422        32usize,
6423        concat!("Size of: ", stringify!(addrinfo))
6424    );
6425    assert_eq!(
6426        ::std::mem::align_of::<addrinfo>(),
6427        4usize,
6428        concat!("Alignment of ", stringify!(addrinfo))
6429    );
6430    assert_eq!(
6431        unsafe { ::std::ptr::addr_of!((*ptr).ai_flags) as usize - ptr as usize },
6432        0usize,
6433        concat!(
6434            "Offset of field: ",
6435            stringify!(addrinfo),
6436            "::",
6437            stringify!(ai_flags)
6438        )
6439    );
6440    assert_eq!(
6441        unsafe { ::std::ptr::addr_of!((*ptr).ai_family) as usize - ptr as usize },
6442        4usize,
6443        concat!(
6444            "Offset of field: ",
6445            stringify!(addrinfo),
6446            "::",
6447            stringify!(ai_family)
6448        )
6449    );
6450    assert_eq!(
6451        unsafe { ::std::ptr::addr_of!((*ptr).ai_socktype) as usize - ptr as usize },
6452        8usize,
6453        concat!(
6454            "Offset of field: ",
6455            stringify!(addrinfo),
6456            "::",
6457            stringify!(ai_socktype)
6458        )
6459    );
6460    assert_eq!(
6461        unsafe { ::std::ptr::addr_of!((*ptr).ai_protocol) as usize - ptr as usize },
6462        12usize,
6463        concat!(
6464            "Offset of field: ",
6465            stringify!(addrinfo),
6466            "::",
6467            stringify!(ai_protocol)
6468        )
6469    );
6470    assert_eq!(
6471        unsafe { ::std::ptr::addr_of!((*ptr).ai_addrlen) as usize - ptr as usize },
6472        16usize,
6473        concat!(
6474            "Offset of field: ",
6475            stringify!(addrinfo),
6476            "::",
6477            stringify!(ai_addrlen)
6478        )
6479    );
6480    assert_eq!(
6481        unsafe { ::std::ptr::addr_of!((*ptr).ai_canonname) as usize - ptr as usize },
6482        20usize,
6483        concat!(
6484            "Offset of field: ",
6485            stringify!(addrinfo),
6486            "::",
6487            stringify!(ai_canonname)
6488        )
6489    );
6490    assert_eq!(
6491        unsafe { ::std::ptr::addr_of!((*ptr).ai_addr) as usize - ptr as usize },
6492        24usize,
6493        concat!(
6494            "Offset of field: ",
6495            stringify!(addrinfo),
6496            "::",
6497            stringify!(ai_addr)
6498        )
6499    );
6500    assert_eq!(
6501        unsafe { ::std::ptr::addr_of!((*ptr).ai_next) as usize - ptr as usize },
6502        28usize,
6503        concat!(
6504            "Offset of field: ",
6505            stringify!(addrinfo),
6506            "::",
6507            stringify!(ai_next)
6508        )
6509    );
6510}
6511extern "C" {
6512    pub fn getaddrinfo(
6513        __node: *const ::std::os::raw::c_char,
6514        __service: *const ::std::os::raw::c_char,
6515        __hints: *const addrinfo,
6516        __result: *mut *mut addrinfo,
6517    ) -> ::std::os::raw::c_int;
6518}
6519extern "C" {
6520    pub fn freeaddrinfo(__ptr: *mut addrinfo);
6521}
6522extern "C" {
6523    pub fn getnameinfo(
6524        __sa: *const sockaddr,
6525        __sa_length: socklen_t,
6526        __host: *mut ::std::os::raw::c_char,
6527        __host_length: usize,
6528        __service: *mut ::std::os::raw::c_char,
6529        __service_length: usize,
6530        __flags: ::std::os::raw::c_int,
6531    ) -> ::std::os::raw::c_int;
6532}
6533extern "C" {
6534    pub fn gai_strerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6535}
6536extern "C" {
6537    pub fn __get_h_errno() -> *mut ::std::os::raw::c_int;
6538}
6539extern "C" {
6540    pub fn herror(__s: *const ::std::os::raw::c_char);
6541}
6542extern "C" {
6543    pub fn hstrerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6544}
6545extern "C" {
6546    pub fn gethostbyaddr(
6547        __addr: *const ::std::os::raw::c_void,
6548        __length: socklen_t,
6549        __type: ::std::os::raw::c_int,
6550    ) -> *mut hostent;
6551}
6552extern "C" {
6553    pub fn gethostbyaddr_r(
6554        __addr: *const ::std::os::raw::c_void,
6555        __length: socklen_t,
6556        __type: ::std::os::raw::c_int,
6557        __ret: *mut hostent,
6558        __buf: *mut ::std::os::raw::c_char,
6559        __buf_size: usize,
6560        __result: *mut *mut hostent,
6561        __h_errno_ptr: *mut ::std::os::raw::c_int,
6562    ) -> ::std::os::raw::c_int;
6563}
6564extern "C" {
6565    pub fn gethostbyname(__name: *const ::std::os::raw::c_char) -> *mut hostent;
6566}
6567extern "C" {
6568    pub fn gethostbyname_r(
6569        __name: *const ::std::os::raw::c_char,
6570        __ret: *mut hostent,
6571        __buf: *mut ::std::os::raw::c_char,
6572        __buf_size: usize,
6573        __result: *mut *mut hostent,
6574        __h_errno_ptr: *mut ::std::os::raw::c_int,
6575    ) -> ::std::os::raw::c_int;
6576}
6577extern "C" {
6578    pub fn gethostbyname2(
6579        __name: *const ::std::os::raw::c_char,
6580        __af: ::std::os::raw::c_int,
6581    ) -> *mut hostent;
6582}
6583extern "C" {
6584    pub fn gethostbyname2_r(
6585        __name: *const ::std::os::raw::c_char,
6586        __af: ::std::os::raw::c_int,
6587        __ret: *mut hostent,
6588        __buf: *mut ::std::os::raw::c_char,
6589        __buf_size: usize,
6590        __result: *mut *mut hostent,
6591        __h_errno_ptr: *mut ::std::os::raw::c_int,
6592    ) -> ::std::os::raw::c_int;
6593}
6594extern "C" {
6595    pub fn endhostent();
6596}
6597extern "C" {
6598    pub fn gethostent() -> *mut hostent;
6599}
6600extern "C" {
6601    pub fn sethostent(__stay_open: ::std::os::raw::c_int);
6602}
6603extern "C" {
6604    pub fn endnetent();
6605}
6606extern "C" {
6607    pub fn getnetbyaddr(__net: u32, __type: ::std::os::raw::c_int) -> *mut netent;
6608}
6609extern "C" {
6610    pub fn getnetbyname(__name: *const ::std::os::raw::c_char) -> *mut netent;
6611}
6612extern "C" {
6613    pub fn getnetent() -> *mut netent;
6614}
6615extern "C" {
6616    pub fn setnetent(__stay_open: ::std::os::raw::c_int);
6617}
6618extern "C" {
6619    pub fn endprotoent();
6620}
6621extern "C" {
6622    pub fn getprotobyname(__name: *const ::std::os::raw::c_char) -> *mut protoent;
6623}
6624extern "C" {
6625    pub fn getprotobynumber(__proto: ::std::os::raw::c_int) -> *mut protoent;
6626}
6627extern "C" {
6628    pub fn getprotoent() -> *mut protoent;
6629}
6630extern "C" {
6631    pub fn setprotoent(__stay_open: ::std::os::raw::c_int);
6632}
6633extern "C" {
6634    pub fn endservent();
6635}
6636extern "C" {
6637    pub fn getservbyname(
6638        __name: *const ::std::os::raw::c_char,
6639        __proto: *const ::std::os::raw::c_char,
6640    ) -> *mut servent;
6641}
6642extern "C" {
6643    pub fn getservbyport(
6644        __port_in_network_order: ::std::os::raw::c_int,
6645        __proto: *const ::std::os::raw::c_char,
6646    ) -> *mut servent;
6647}
6648extern "C" {
6649    pub fn getservent() -> *mut servent;
6650}
6651extern "C" {
6652    pub fn setservent(__stay_open: ::std::os::raw::c_int);
6653}
6654pub type fpos_t = off_t;
6655pub type fpos64_t = off64_t;
6656#[repr(C)]
6657#[derive(Debug, Copy, Clone)]
6658pub struct __sFILE {
6659    _unused: [u8; 0],
6660}
6661pub type FILE = __sFILE;
6662extern "C" {
6663    pub static mut stdin: *mut FILE;
6664}
6665extern "C" {
6666    pub static mut stdout: *mut FILE;
6667}
6668extern "C" {
6669    pub static mut stderr: *mut FILE;
6670}
6671extern "C" {
6672    pub fn clearerr(__fp: *mut FILE);
6673}
6674extern "C" {
6675    pub fn fclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
6676}
6677extern "C" {
6678    pub fn feof(__fp: *mut FILE) -> ::std::os::raw::c_int;
6679}
6680extern "C" {
6681    pub fn ferror(__fp: *mut FILE) -> ::std::os::raw::c_int;
6682}
6683extern "C" {
6684    pub fn fflush(__fp: *mut FILE) -> ::std::os::raw::c_int;
6685}
6686extern "C" {
6687    pub fn fgetc(__fp: *mut FILE) -> ::std::os::raw::c_int;
6688}
6689extern "C" {
6690    pub fn fgets(
6691        __buf: *mut ::std::os::raw::c_char,
6692        __size: ::std::os::raw::c_int,
6693        __fp: *mut FILE,
6694    ) -> *mut ::std::os::raw::c_char;
6695}
6696extern "C" {
6697    pub fn fprintf(
6698        __fp: *mut FILE,
6699        __fmt: *const ::std::os::raw::c_char,
6700        ...
6701    ) -> ::std::os::raw::c_int;
6702}
6703extern "C" {
6704    pub fn fputc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
6705}
6706extern "C" {
6707    pub fn fputs(__s: *const ::std::os::raw::c_char, __fp: *mut FILE) -> ::std::os::raw::c_int;
6708}
6709extern "C" {
6710    pub fn fread(
6711        __buf: *mut ::std::os::raw::c_void,
6712        __size: ::std::os::raw::c_uint,
6713        __count: ::std::os::raw::c_uint,
6714        __fp: *mut FILE,
6715    ) -> ::std::os::raw::c_uint;
6716}
6717extern "C" {
6718    pub fn fscanf(
6719        __fp: *mut FILE,
6720        __fmt: *const ::std::os::raw::c_char,
6721        ...
6722    ) -> ::std::os::raw::c_int;
6723}
6724extern "C" {
6725    pub fn fwrite(
6726        __buf: *const ::std::os::raw::c_void,
6727        __size: ::std::os::raw::c_uint,
6728        __count: ::std::os::raw::c_uint,
6729        __fp: *mut FILE,
6730    ) -> ::std::os::raw::c_uint;
6731}
6732extern "C" {
6733    pub fn getc(__fp: *mut FILE) -> ::std::os::raw::c_int;
6734}
6735extern "C" {
6736    pub fn getchar() -> ::std::os::raw::c_int;
6737}
6738extern "C" {
6739    pub fn getdelim(
6740        __line_ptr: *mut *mut ::std::os::raw::c_char,
6741        __line_length_ptr: *mut usize,
6742        __delimiter: ::std::os::raw::c_int,
6743        __fp: *mut FILE,
6744    ) -> isize;
6745}
6746extern "C" {
6747    pub fn getline(
6748        __line_ptr: *mut *mut ::std::os::raw::c_char,
6749        __line_length_ptr: *mut usize,
6750        __fp: *mut FILE,
6751    ) -> isize;
6752}
6753extern "C" {
6754    pub fn perror(__msg: *const ::std::os::raw::c_char);
6755}
6756extern "C" {
6757    pub fn printf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
6758}
6759extern "C" {
6760    pub fn putc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
6761}
6762extern "C" {
6763    pub fn putchar(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6764}
6765extern "C" {
6766    pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
6767}
6768extern "C" {
6769    pub fn remove(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
6770}
6771extern "C" {
6772    pub fn rewind(__fp: *mut FILE);
6773}
6774extern "C" {
6775    pub fn scanf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
6776}
6777extern "C" {
6778    pub fn setbuf(__fp: *mut FILE, __buf: *mut ::std::os::raw::c_char);
6779}
6780extern "C" {
6781    pub fn setvbuf(
6782        __fp: *mut FILE,
6783        __buf: *mut ::std::os::raw::c_char,
6784        __mode: ::std::os::raw::c_int,
6785        __size: usize,
6786    ) -> ::std::os::raw::c_int;
6787}
6788extern "C" {
6789    pub fn sscanf(
6790        __s: *const ::std::os::raw::c_char,
6791        __fmt: *const ::std::os::raw::c_char,
6792        ...
6793    ) -> ::std::os::raw::c_int;
6794}
6795extern "C" {
6796    pub fn ungetc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
6797}
6798extern "C" {
6799    pub fn vfprintf(
6800        __fp: *mut FILE,
6801        __fmt: *const ::std::os::raw::c_char,
6802        __args: u32,
6803    ) -> ::std::os::raw::c_int;
6804}
6805extern "C" {
6806    pub fn vprintf(__fp: *const ::std::os::raw::c_char, __args: u32) -> ::std::os::raw::c_int;
6807}
6808extern "C" {
6809    pub fn dprintf(
6810        __fd: ::std::os::raw::c_int,
6811        __fmt: *const ::std::os::raw::c_char,
6812        ...
6813    ) -> ::std::os::raw::c_int;
6814}
6815extern "C" {
6816    pub fn vdprintf(
6817        __fd: ::std::os::raw::c_int,
6818        __fmt: *const ::std::os::raw::c_char,
6819        __args: va_list,
6820    ) -> ::std::os::raw::c_int;
6821}
6822extern "C" {
6823    pub fn sprintf(
6824        __s: *mut ::std::os::raw::c_char,
6825        __fmt: *const ::std::os::raw::c_char,
6826        ...
6827    ) -> ::std::os::raw::c_int;
6828}
6829extern "C" {
6830    pub fn vsprintf(
6831        __s: *mut ::std::os::raw::c_char,
6832        __fmt: *const ::std::os::raw::c_char,
6833        __args: u32,
6834    ) -> ::std::os::raw::c_int;
6835}
6836extern "C" {
6837    pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6838}
6839extern "C" {
6840    pub fn tempnam(
6841        __dir: *const ::std::os::raw::c_char,
6842        __prefix: *const ::std::os::raw::c_char,
6843    ) -> *mut ::std::os::raw::c_char;
6844}
6845extern "C" {
6846    pub fn rename(
6847        __old_path: *const ::std::os::raw::c_char,
6848        __new_path: *const ::std::os::raw::c_char,
6849    ) -> ::std::os::raw::c_int;
6850}
6851extern "C" {
6852    pub fn renameat(
6853        __old_dir_fd: ::std::os::raw::c_int,
6854        __old_path: *const ::std::os::raw::c_char,
6855        __new_dir_fd: ::std::os::raw::c_int,
6856        __new_path: *const ::std::os::raw::c_char,
6857    ) -> ::std::os::raw::c_int;
6858}
6859extern "C" {
6860    pub fn fseek(
6861        __fp: *mut FILE,
6862        __offset: ::std::os::raw::c_long,
6863        __whence: ::std::os::raw::c_int,
6864    ) -> ::std::os::raw::c_int;
6865}
6866extern "C" {
6867    pub fn ftell(__fp: *mut FILE) -> ::std::os::raw::c_long;
6868}
6869extern "C" {
6870    pub fn fgetpos(__fp: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
6871}
6872extern "C" {
6873    pub fn fsetpos(__fp: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
6874}
6875extern "C" {
6876    pub fn fseeko(
6877        __fp: *mut FILE,
6878        __offset: off_t,
6879        __whence: ::std::os::raw::c_int,
6880    ) -> ::std::os::raw::c_int;
6881}
6882extern "C" {
6883    pub fn ftello(__fp: *mut FILE) -> off_t;
6884}
6885extern "C" {
6886    pub fn fgetpos64(__fp: *mut FILE, __pos: *mut fpos64_t) -> ::std::os::raw::c_int;
6887}
6888extern "C" {
6889    pub fn fsetpos64(__fp: *mut FILE, __pos: *const fpos64_t) -> ::std::os::raw::c_int;
6890}
6891extern "C" {
6892    pub fn fseeko64(
6893        __fp: *mut FILE,
6894        __offset: off64_t,
6895        __whence: ::std::os::raw::c_int,
6896    ) -> ::std::os::raw::c_int;
6897}
6898extern "C" {
6899    pub fn ftello64(__fp: *mut FILE) -> off64_t;
6900}
6901extern "C" {
6902    pub fn fopen(
6903        __path: *const ::std::os::raw::c_char,
6904        __mode: *const ::std::os::raw::c_char,
6905    ) -> *mut FILE;
6906}
6907extern "C" {
6908    pub fn fopen64(
6909        __path: *const ::std::os::raw::c_char,
6910        __mode: *const ::std::os::raw::c_char,
6911    ) -> *mut FILE;
6912}
6913extern "C" {
6914    pub fn freopen(
6915        __path: *const ::std::os::raw::c_char,
6916        __mode: *const ::std::os::raw::c_char,
6917        __fp: *mut FILE,
6918    ) -> *mut FILE;
6919}
6920extern "C" {
6921    pub fn freopen64(
6922        __path: *const ::std::os::raw::c_char,
6923        __mode: *const ::std::os::raw::c_char,
6924        __fp: *mut FILE,
6925    ) -> *mut FILE;
6926}
6927extern "C" {
6928    pub fn tmpfile() -> *mut FILE;
6929}
6930extern "C" {
6931    pub fn tmpfile64() -> *mut FILE;
6932}
6933extern "C" {
6934    pub fn snprintf(
6935        __buf: *mut ::std::os::raw::c_char,
6936        __size: ::std::os::raw::c_uint,
6937        __fmt: *const ::std::os::raw::c_char,
6938        ...
6939    ) -> ::std::os::raw::c_int;
6940}
6941extern "C" {
6942    pub fn vfscanf(
6943        __fp: *mut FILE,
6944        __fmt: *const ::std::os::raw::c_char,
6945        __args: u32,
6946    ) -> ::std::os::raw::c_int;
6947}
6948extern "C" {
6949    pub fn vscanf(__fmt: *const ::std::os::raw::c_char, __args: u32) -> ::std::os::raw::c_int;
6950}
6951extern "C" {
6952    pub fn vsnprintf(
6953        __buf: *mut ::std::os::raw::c_char,
6954        __size: ::std::os::raw::c_uint,
6955        __fmt: *const ::std::os::raw::c_char,
6956        __args: u32,
6957    ) -> ::std::os::raw::c_int;
6958}
6959extern "C" {
6960    pub fn vsscanf(
6961        __s: *const ::std::os::raw::c_char,
6962        __fmt: *const ::std::os::raw::c_char,
6963        __args: u32,
6964    ) -> ::std::os::raw::c_int;
6965}
6966extern "C" {
6967    pub fn ctermid(__buf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6968}
6969extern "C" {
6970    pub fn fdopen(__fd: ::std::os::raw::c_int, __mode: *const ::std::os::raw::c_char) -> *mut FILE;
6971}
6972extern "C" {
6973    pub fn fileno(__fp: *mut FILE) -> ::std::os::raw::c_int;
6974}
6975extern "C" {
6976    pub fn pclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
6977}
6978extern "C" {
6979    pub fn popen(
6980        __command: *const ::std::os::raw::c_char,
6981        __mode: *const ::std::os::raw::c_char,
6982    ) -> *mut FILE;
6983}
6984extern "C" {
6985    pub fn flockfile(__fp: *mut FILE);
6986}
6987extern "C" {
6988    pub fn ftrylockfile(__fp: *mut FILE) -> ::std::os::raw::c_int;
6989}
6990extern "C" {
6991    pub fn funlockfile(__fp: *mut FILE);
6992}
6993extern "C" {
6994    pub fn getc_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
6995}
6996extern "C" {
6997    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
6998}
6999extern "C" {
7000    pub fn putc_unlocked(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
7001}
7002extern "C" {
7003    pub fn putchar_unlocked(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7004}
7005extern "C" {
7006    pub fn fmemopen(
7007        __buf: *mut ::std::os::raw::c_void,
7008        __size: usize,
7009        __mode: *const ::std::os::raw::c_char,
7010    ) -> *mut FILE;
7011}
7012extern "C" {
7013    pub fn open_memstream(
7014        __ptr: *mut *mut ::std::os::raw::c_char,
7015        __size_ptr: *mut usize,
7016    ) -> *mut FILE;
7017}
7018extern "C" {
7019    pub fn asprintf(
7020        __s_ptr: *mut *mut ::std::os::raw::c_char,
7021        __fmt: *const ::std::os::raw::c_char,
7022        ...
7023    ) -> ::std::os::raw::c_int;
7024}
7025extern "C" {
7026    pub fn fgetln(__fp: *mut FILE, __length_ptr: *mut usize) -> *mut ::std::os::raw::c_char;
7027}
7028extern "C" {
7029    pub fn fpurge(__fp: *mut FILE) -> ::std::os::raw::c_int;
7030}
7031extern "C" {
7032    pub fn setbuffer(
7033        __fp: *mut FILE,
7034        __buf: *mut ::std::os::raw::c_char,
7035        __size: ::std::os::raw::c_int,
7036    );
7037}
7038extern "C" {
7039    pub fn setlinebuf(__fp: *mut FILE) -> ::std::os::raw::c_int;
7040}
7041extern "C" {
7042    pub fn vasprintf(
7043        __s_ptr: *mut *mut ::std::os::raw::c_char,
7044        __fmt: *const ::std::os::raw::c_char,
7045        __args: va_list,
7046    ) -> ::std::os::raw::c_int;
7047}
7048extern "C" {
7049    pub fn clearerr_unlocked(__fp: *mut FILE);
7050}
7051extern "C" {
7052    pub fn feof_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
7053}
7054extern "C" {
7055    pub fn ferror_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
7056}
7057extern "C" {
7058    pub fn fileno_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
7059}
7060extern "C" {
7061    pub fn malloc(__byte_count: ::std::os::raw::c_uint) -> *mut ::std::os::raw::c_void;
7062}
7063extern "C" {
7064    pub fn calloc(
7065        __item_count: ::std::os::raw::c_uint,
7066        __item_size: ::std::os::raw::c_uint,
7067    ) -> *mut ::std::os::raw::c_void;
7068}
7069extern "C" {
7070    pub fn realloc(
7071        __ptr: *mut ::std::os::raw::c_void,
7072        __byte_count: ::std::os::raw::c_uint,
7073    ) -> *mut ::std::os::raw::c_void;
7074}
7075extern "C" {
7076    pub fn reallocarray(
7077        __ptr: *mut ::std::os::raw::c_void,
7078        __item_count: usize,
7079        __item_size: usize,
7080    ) -> *mut ::std::os::raw::c_void;
7081}
7082extern "C" {
7083    pub fn free(__ptr: *mut ::std::os::raw::c_void);
7084}
7085extern "C" {
7086    pub fn memalign(
7087        __alignment: ::std::os::raw::c_uint,
7088        __byte_count: ::std::os::raw::c_uint,
7089    ) -> *mut ::std::os::raw::c_void;
7090}
7091extern "C" {
7092    pub fn malloc_usable_size(__ptr: *const ::std::os::raw::c_void) -> usize;
7093}
7094#[repr(C)]
7095#[derive(Debug, Copy, Clone)]
7096pub struct mallinfo {
7097    pub arena: usize,
7098    pub ordblks: usize,
7099    pub smblks: usize,
7100    pub hblks: usize,
7101    pub hblkhd: usize,
7102    pub usmblks: usize,
7103    pub fsmblks: usize,
7104    pub uordblks: usize,
7105    pub fordblks: usize,
7106    pub keepcost: usize,
7107}
7108#[test]
7109fn bindgen_test_layout_mallinfo() {
7110    const UNINIT: ::std::mem::MaybeUninit<mallinfo> = ::std::mem::MaybeUninit::uninit();
7111    let ptr = UNINIT.as_ptr();
7112    assert_eq!(
7113        ::std::mem::size_of::<mallinfo>(),
7114        40usize,
7115        concat!("Size of: ", stringify!(mallinfo))
7116    );
7117    assert_eq!(
7118        ::std::mem::align_of::<mallinfo>(),
7119        4usize,
7120        concat!("Alignment of ", stringify!(mallinfo))
7121    );
7122    assert_eq!(
7123        unsafe { ::std::ptr::addr_of!((*ptr).arena) as usize - ptr as usize },
7124        0usize,
7125        concat!(
7126            "Offset of field: ",
7127            stringify!(mallinfo),
7128            "::",
7129            stringify!(arena)
7130        )
7131    );
7132    assert_eq!(
7133        unsafe { ::std::ptr::addr_of!((*ptr).ordblks) as usize - ptr as usize },
7134        4usize,
7135        concat!(
7136            "Offset of field: ",
7137            stringify!(mallinfo),
7138            "::",
7139            stringify!(ordblks)
7140        )
7141    );
7142    assert_eq!(
7143        unsafe { ::std::ptr::addr_of!((*ptr).smblks) as usize - ptr as usize },
7144        8usize,
7145        concat!(
7146            "Offset of field: ",
7147            stringify!(mallinfo),
7148            "::",
7149            stringify!(smblks)
7150        )
7151    );
7152    assert_eq!(
7153        unsafe { ::std::ptr::addr_of!((*ptr).hblks) as usize - ptr as usize },
7154        12usize,
7155        concat!(
7156            "Offset of field: ",
7157            stringify!(mallinfo),
7158            "::",
7159            stringify!(hblks)
7160        )
7161    );
7162    assert_eq!(
7163        unsafe { ::std::ptr::addr_of!((*ptr).hblkhd) as usize - ptr as usize },
7164        16usize,
7165        concat!(
7166            "Offset of field: ",
7167            stringify!(mallinfo),
7168            "::",
7169            stringify!(hblkhd)
7170        )
7171    );
7172    assert_eq!(
7173        unsafe { ::std::ptr::addr_of!((*ptr).usmblks) as usize - ptr as usize },
7174        20usize,
7175        concat!(
7176            "Offset of field: ",
7177            stringify!(mallinfo),
7178            "::",
7179            stringify!(usmblks)
7180        )
7181    );
7182    assert_eq!(
7183        unsafe { ::std::ptr::addr_of!((*ptr).fsmblks) as usize - ptr as usize },
7184        24usize,
7185        concat!(
7186            "Offset of field: ",
7187            stringify!(mallinfo),
7188            "::",
7189            stringify!(fsmblks)
7190        )
7191    );
7192    assert_eq!(
7193        unsafe { ::std::ptr::addr_of!((*ptr).uordblks) as usize - ptr as usize },
7194        28usize,
7195        concat!(
7196            "Offset of field: ",
7197            stringify!(mallinfo),
7198            "::",
7199            stringify!(uordblks)
7200        )
7201    );
7202    assert_eq!(
7203        unsafe { ::std::ptr::addr_of!((*ptr).fordblks) as usize - ptr as usize },
7204        32usize,
7205        concat!(
7206            "Offset of field: ",
7207            stringify!(mallinfo),
7208            "::",
7209            stringify!(fordblks)
7210        )
7211    );
7212    assert_eq!(
7213        unsafe { ::std::ptr::addr_of!((*ptr).keepcost) as usize - ptr as usize },
7214        36usize,
7215        concat!(
7216            "Offset of field: ",
7217            stringify!(mallinfo),
7218            "::",
7219            stringify!(keepcost)
7220        )
7221    );
7222}
7223extern "C" {
7224    pub fn mallinfo() -> mallinfo;
7225}
7226#[repr(C)]
7227#[derive(Debug, Copy, Clone)]
7228pub struct mallinfo2 {
7229    pub arena: usize,
7230    pub ordblks: usize,
7231    pub smblks: usize,
7232    pub hblks: usize,
7233    pub hblkhd: usize,
7234    pub usmblks: usize,
7235    pub fsmblks: usize,
7236    pub uordblks: usize,
7237    pub fordblks: usize,
7238    pub keepcost: usize,
7239}
7240#[test]
7241fn bindgen_test_layout_mallinfo2() {
7242    const UNINIT: ::std::mem::MaybeUninit<mallinfo2> = ::std::mem::MaybeUninit::uninit();
7243    let ptr = UNINIT.as_ptr();
7244    assert_eq!(
7245        ::std::mem::size_of::<mallinfo2>(),
7246        40usize,
7247        concat!("Size of: ", stringify!(mallinfo2))
7248    );
7249    assert_eq!(
7250        ::std::mem::align_of::<mallinfo2>(),
7251        4usize,
7252        concat!("Alignment of ", stringify!(mallinfo2))
7253    );
7254    assert_eq!(
7255        unsafe { ::std::ptr::addr_of!((*ptr).arena) as usize - ptr as usize },
7256        0usize,
7257        concat!(
7258            "Offset of field: ",
7259            stringify!(mallinfo2),
7260            "::",
7261            stringify!(arena)
7262        )
7263    );
7264    assert_eq!(
7265        unsafe { ::std::ptr::addr_of!((*ptr).ordblks) as usize - ptr as usize },
7266        4usize,
7267        concat!(
7268            "Offset of field: ",
7269            stringify!(mallinfo2),
7270            "::",
7271            stringify!(ordblks)
7272        )
7273    );
7274    assert_eq!(
7275        unsafe { ::std::ptr::addr_of!((*ptr).smblks) as usize - ptr as usize },
7276        8usize,
7277        concat!(
7278            "Offset of field: ",
7279            stringify!(mallinfo2),
7280            "::",
7281            stringify!(smblks)
7282        )
7283    );
7284    assert_eq!(
7285        unsafe { ::std::ptr::addr_of!((*ptr).hblks) as usize - ptr as usize },
7286        12usize,
7287        concat!(
7288            "Offset of field: ",
7289            stringify!(mallinfo2),
7290            "::",
7291            stringify!(hblks)
7292        )
7293    );
7294    assert_eq!(
7295        unsafe { ::std::ptr::addr_of!((*ptr).hblkhd) as usize - ptr as usize },
7296        16usize,
7297        concat!(
7298            "Offset of field: ",
7299            stringify!(mallinfo2),
7300            "::",
7301            stringify!(hblkhd)
7302        )
7303    );
7304    assert_eq!(
7305        unsafe { ::std::ptr::addr_of!((*ptr).usmblks) as usize - ptr as usize },
7306        20usize,
7307        concat!(
7308            "Offset of field: ",
7309            stringify!(mallinfo2),
7310            "::",
7311            stringify!(usmblks)
7312        )
7313    );
7314    assert_eq!(
7315        unsafe { ::std::ptr::addr_of!((*ptr).fsmblks) as usize - ptr as usize },
7316        24usize,
7317        concat!(
7318            "Offset of field: ",
7319            stringify!(mallinfo2),
7320            "::",
7321            stringify!(fsmblks)
7322        )
7323    );
7324    assert_eq!(
7325        unsafe { ::std::ptr::addr_of!((*ptr).uordblks) as usize - ptr as usize },
7326        28usize,
7327        concat!(
7328            "Offset of field: ",
7329            stringify!(mallinfo2),
7330            "::",
7331            stringify!(uordblks)
7332        )
7333    );
7334    assert_eq!(
7335        unsafe { ::std::ptr::addr_of!((*ptr).fordblks) as usize - ptr as usize },
7336        32usize,
7337        concat!(
7338            "Offset of field: ",
7339            stringify!(mallinfo2),
7340            "::",
7341            stringify!(fordblks)
7342        )
7343    );
7344    assert_eq!(
7345        unsafe { ::std::ptr::addr_of!((*ptr).keepcost) as usize - ptr as usize },
7346        36usize,
7347        concat!(
7348            "Offset of field: ",
7349            stringify!(mallinfo2),
7350            "::",
7351            stringify!(keepcost)
7352        )
7353    );
7354}
7355extern "C" {
7356    pub fn malloc_info(
7357        __must_be_zero: ::std::os::raw::c_int,
7358        __fp: *mut FILE,
7359    ) -> ::std::os::raw::c_int;
7360}
7361impl HeapTaggingLevel {
7362    pub const M_HEAP_TAGGING_LEVEL_NONE: HeapTaggingLevel = HeapTaggingLevel(0);
7363}
7364impl HeapTaggingLevel {
7365    pub const M_HEAP_TAGGING_LEVEL_TBI: HeapTaggingLevel = HeapTaggingLevel(1);
7366}
7367impl HeapTaggingLevel {
7368    pub const M_HEAP_TAGGING_LEVEL_ASYNC: HeapTaggingLevel = HeapTaggingLevel(2);
7369}
7370impl HeapTaggingLevel {
7371    pub const M_HEAP_TAGGING_LEVEL_SYNC: HeapTaggingLevel = HeapTaggingLevel(3);
7372}
7373#[repr(transparent)]
7374#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7375pub struct HeapTaggingLevel(pub ::std::os::raw::c_uint);
7376extern "C" {
7377    pub fn mallopt(
7378        __option: ::std::os::raw::c_int,
7379        __value: ::std::os::raw::c_int,
7380    ) -> ::std::os::raw::c_int;
7381}
7382extern "C" {
7383    pub static mut __malloc_hook: ::std::option::Option<
7384        unsafe extern "C" fn(
7385            __byte_count: usize,
7386            __caller: *const ::std::os::raw::c_void,
7387        ) -> *mut ::std::os::raw::c_void,
7388    >;
7389}
7390extern "C" {
7391    pub static mut __realloc_hook: ::std::option::Option<
7392        unsafe extern "C" fn(
7393            __ptr: *mut ::std::os::raw::c_void,
7394            __byte_count: usize,
7395            __caller: *const ::std::os::raw::c_void,
7396        ) -> *mut ::std::os::raw::c_void,
7397    >;
7398}
7399extern "C" {
7400    pub static mut __free_hook: ::std::option::Option<
7401        unsafe extern "C" fn(
7402            __ptr: *mut ::std::os::raw::c_void,
7403            __caller: *const ::std::os::raw::c_void,
7404        ),
7405    >;
7406}
7407extern "C" {
7408    pub static mut __memalign_hook: ::std::option::Option<
7409        unsafe extern "C" fn(
7410            __alignment: usize,
7411            __byte_count: usize,
7412            __caller: *const ::std::os::raw::c_void,
7413        ) -> *mut ::std::os::raw::c_void,
7414    >;
7415}
7416#[repr(C)]
7417#[derive(Debug, Copy, Clone)]
7418pub struct __locale_t {
7419    _unused: [u8; 0],
7420}
7421pub type locale_t = *mut __locale_t;
7422extern "C" {
7423    pub fn abort() -> !;
7424}
7425extern "C" {
7426    pub fn exit(__status: ::std::os::raw::c_int) -> !;
7427}
7428extern "C" {
7429    pub fn _Exit(__status: ::std::os::raw::c_int) -> !;
7430}
7431extern "C" {
7432    pub fn atexit(__fn: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
7433}
7434extern "C" {
7435    pub fn at_quick_exit(
7436        __fn: ::std::option::Option<unsafe extern "C" fn()>,
7437    ) -> ::std::os::raw::c_int;
7438}
7439extern "C" {
7440    pub fn quick_exit(__status: ::std::os::raw::c_int) -> !;
7441}
7442extern "C" {
7443    pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
7444}
7445extern "C" {
7446    pub fn putenv(__assignment: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7447}
7448extern "C" {
7449    pub fn setenv(
7450        __name: *const ::std::os::raw::c_char,
7451        __value: *const ::std::os::raw::c_char,
7452        __overwrite: ::std::os::raw::c_int,
7453    ) -> ::std::os::raw::c_int;
7454}
7455extern "C" {
7456    pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7457}
7458extern "C" {
7459    pub fn clearenv() -> ::std::os::raw::c_int;
7460}
7461extern "C" {
7462    pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
7463}
7464extern "C" {
7465    pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
7466}
7467extern "C" {
7468    pub fn mkostemp64(
7469        __template: *mut ::std::os::raw::c_char,
7470        __flags: ::std::os::raw::c_int,
7471    ) -> ::std::os::raw::c_int;
7472}
7473extern "C" {
7474    pub fn mkostemp(
7475        __template: *mut ::std::os::raw::c_char,
7476        __flags: ::std::os::raw::c_int,
7477    ) -> ::std::os::raw::c_int;
7478}
7479extern "C" {
7480    pub fn mkostemps64(
7481        __template: *mut ::std::os::raw::c_char,
7482        __suffix_length: ::std::os::raw::c_int,
7483        __flags: ::std::os::raw::c_int,
7484    ) -> ::std::os::raw::c_int;
7485}
7486extern "C" {
7487    pub fn mkostemps(
7488        __template: *mut ::std::os::raw::c_char,
7489        __suffix_length: ::std::os::raw::c_int,
7490        __flags: ::std::os::raw::c_int,
7491    ) -> ::std::os::raw::c_int;
7492}
7493extern "C" {
7494    pub fn mkstemp64(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7495}
7496extern "C" {
7497    pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7498}
7499extern "C" {
7500    pub fn mkstemps64(
7501        __template: *mut ::std::os::raw::c_char,
7502        __flags: ::std::os::raw::c_int,
7503    ) -> ::std::os::raw::c_int;
7504}
7505extern "C" {
7506    pub fn mkstemps(
7507        __template: *mut ::std::os::raw::c_char,
7508        __flags: ::std::os::raw::c_int,
7509    ) -> ::std::os::raw::c_int;
7510}
7511extern "C" {
7512    pub fn strtol(
7513        __s: *const ::std::os::raw::c_char,
7514        __end_ptr: *mut *mut ::std::os::raw::c_char,
7515        __base: ::std::os::raw::c_int,
7516    ) -> ::std::os::raw::c_long;
7517}
7518extern "C" {
7519    pub fn strtoll(
7520        __s: *const ::std::os::raw::c_char,
7521        __end_ptr: *mut *mut ::std::os::raw::c_char,
7522        __base: ::std::os::raw::c_int,
7523    ) -> ::std::os::raw::c_longlong;
7524}
7525extern "C" {
7526    pub fn strtoul(
7527        __s: *const ::std::os::raw::c_char,
7528        __end_ptr: *mut *mut ::std::os::raw::c_char,
7529        __base: ::std::os::raw::c_int,
7530    ) -> ::std::os::raw::c_ulong;
7531}
7532extern "C" {
7533    pub fn strtoull(
7534        __s: *const ::std::os::raw::c_char,
7535        __end_ptr: *mut *mut ::std::os::raw::c_char,
7536        __base: ::std::os::raw::c_int,
7537    ) -> ::std::os::raw::c_ulonglong;
7538}
7539extern "C" {
7540    pub fn posix_memalign(
7541        __memptr: *mut *mut ::std::os::raw::c_void,
7542        __alignment: usize,
7543        __size: usize,
7544    ) -> ::std::os::raw::c_int;
7545}
7546extern "C" {
7547    pub fn aligned_alloc(
7548        __alignment: ::std::os::raw::c_uint,
7549        __size: ::std::os::raw::c_uint,
7550    ) -> *mut ::std::os::raw::c_void;
7551}
7552extern "C" {
7553    pub fn strtod(
7554        __s: *const ::std::os::raw::c_char,
7555        __end_ptr: *mut *mut ::std::os::raw::c_char,
7556    ) -> f64;
7557}
7558extern "C" {
7559    pub fn strtold(
7560        __s: *const ::std::os::raw::c_char,
7561        __end_ptr: *mut *mut ::std::os::raw::c_char,
7562    ) -> f64;
7563}
7564extern "C" {
7565    pub fn strtoul_l(
7566        __s: *const ::std::os::raw::c_char,
7567        __end_ptr: *mut *mut ::std::os::raw::c_char,
7568        __base: ::std::os::raw::c_int,
7569        __l: locale_t,
7570    ) -> ::std::os::raw::c_ulong;
7571}
7572extern "C" {
7573    pub fn atoi(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7574}
7575extern "C" {
7576    pub fn atol(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
7577}
7578extern "C" {
7579    pub fn atoll(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
7580}
7581extern "C" {
7582    pub fn realpath(
7583        __path: *const ::std::os::raw::c_char,
7584        __resolved: *mut ::std::os::raw::c_char,
7585    ) -> *mut ::std::os::raw::c_char;
7586}
7587extern "C" {
7588    pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7589}
7590extern "C" {
7591    pub fn bsearch(
7592        __key: *const ::std::os::raw::c_void,
7593        __base: *const ::std::os::raw::c_void,
7594        __nmemb: usize,
7595        __size: usize,
7596        __comparator: ::std::option::Option<
7597            unsafe extern "C" fn(
7598                __lhs: *const ::std::os::raw::c_void,
7599                __rhs: *const ::std::os::raw::c_void,
7600            ) -> ::std::os::raw::c_int,
7601        >,
7602    ) -> *mut ::std::os::raw::c_void;
7603}
7604extern "C" {
7605    pub fn qsort(
7606        __base: *mut ::std::os::raw::c_void,
7607        __nmemb: usize,
7608        __size: usize,
7609        __comparator: ::std::option::Option<
7610            unsafe extern "C" fn(
7611                __lhs: *const ::std::os::raw::c_void,
7612                __rhs: *const ::std::os::raw::c_void,
7613            ) -> ::std::os::raw::c_int,
7614        >,
7615    );
7616}
7617extern "C" {
7618    pub fn arc4random() -> u32;
7619}
7620extern "C" {
7621    pub fn arc4random_uniform(__upper_bound: u32) -> u32;
7622}
7623extern "C" {
7624    pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __n: usize);
7625}
7626extern "C" {
7627    pub fn rand_r(__seed_ptr: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
7628}
7629extern "C" {
7630    pub fn drand48() -> f64;
7631}
7632extern "C" {
7633    pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
7634}
7635extern "C" {
7636    pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
7637}
7638extern "C" {
7639    pub fn lrand48() -> ::std::os::raw::c_long;
7640}
7641extern "C" {
7642    pub fn mrand48() -> ::std::os::raw::c_long;
7643}
7644extern "C" {
7645    pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
7646}
7647extern "C" {
7648    pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
7649}
7650extern "C" {
7651    pub fn srand48(__seed: ::std::os::raw::c_long);
7652}
7653extern "C" {
7654    pub fn initstate(
7655        __seed: ::std::os::raw::c_uint,
7656        __state: *mut ::std::os::raw::c_char,
7657        __n: usize,
7658    ) -> *mut ::std::os::raw::c_char;
7659}
7660extern "C" {
7661    pub fn setstate(__state: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
7662}
7663extern "C" {
7664    pub fn getpt() -> ::std::os::raw::c_int;
7665}
7666extern "C" {
7667    pub fn posix_openpt(__flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7668}
7669extern "C" {
7670    pub fn ptsname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
7671}
7672extern "C" {
7673    pub fn ptsname_r(
7674        __fd: ::std::os::raw::c_int,
7675        __buf: *mut ::std::os::raw::c_char,
7676        __n: usize,
7677    ) -> ::std::os::raw::c_int;
7678}
7679extern "C" {
7680    pub fn unlockpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7681}
7682extern "C" {
7683    pub fn getsubopt(
7684        __option: *mut *mut ::std::os::raw::c_char,
7685        __tokens: *const *mut ::std::os::raw::c_char,
7686        __value_ptr: *mut *mut ::std::os::raw::c_char,
7687    ) -> ::std::os::raw::c_int;
7688}
7689#[repr(C)]
7690#[derive(Debug, Copy, Clone)]
7691pub struct div_t {
7692    pub quot: ::std::os::raw::c_int,
7693    pub rem: ::std::os::raw::c_int,
7694}
7695#[test]
7696fn bindgen_test_layout_div_t() {
7697    const UNINIT: ::std::mem::MaybeUninit<div_t> = ::std::mem::MaybeUninit::uninit();
7698    let ptr = UNINIT.as_ptr();
7699    assert_eq!(
7700        ::std::mem::size_of::<div_t>(),
7701        8usize,
7702        concat!("Size of: ", stringify!(div_t))
7703    );
7704    assert_eq!(
7705        ::std::mem::align_of::<div_t>(),
7706        4usize,
7707        concat!("Alignment of ", stringify!(div_t))
7708    );
7709    assert_eq!(
7710        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
7711        0usize,
7712        concat!(
7713            "Offset of field: ",
7714            stringify!(div_t),
7715            "::",
7716            stringify!(quot)
7717        )
7718    );
7719    assert_eq!(
7720        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
7721        4usize,
7722        concat!(
7723            "Offset of field: ",
7724            stringify!(div_t),
7725            "::",
7726            stringify!(rem)
7727        )
7728    );
7729}
7730extern "C" {
7731    pub fn div(__numerator: ::std::os::raw::c_int, __denominator: ::std::os::raw::c_int) -> div_t;
7732}
7733#[repr(C)]
7734#[derive(Debug, Copy, Clone)]
7735pub struct ldiv_t {
7736    pub quot: ::std::os::raw::c_long,
7737    pub rem: ::std::os::raw::c_long,
7738}
7739#[test]
7740fn bindgen_test_layout_ldiv_t() {
7741    const UNINIT: ::std::mem::MaybeUninit<ldiv_t> = ::std::mem::MaybeUninit::uninit();
7742    let ptr = UNINIT.as_ptr();
7743    assert_eq!(
7744        ::std::mem::size_of::<ldiv_t>(),
7745        8usize,
7746        concat!("Size of: ", stringify!(ldiv_t))
7747    );
7748    assert_eq!(
7749        ::std::mem::align_of::<ldiv_t>(),
7750        4usize,
7751        concat!("Alignment of ", stringify!(ldiv_t))
7752    );
7753    assert_eq!(
7754        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
7755        0usize,
7756        concat!(
7757            "Offset of field: ",
7758            stringify!(ldiv_t),
7759            "::",
7760            stringify!(quot)
7761        )
7762    );
7763    assert_eq!(
7764        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
7765        4usize,
7766        concat!(
7767            "Offset of field: ",
7768            stringify!(ldiv_t),
7769            "::",
7770            stringify!(rem)
7771        )
7772    );
7773}
7774extern "C" {
7775    pub fn ldiv(
7776        __numerator: ::std::os::raw::c_long,
7777        __denominator: ::std::os::raw::c_long,
7778    ) -> ldiv_t;
7779}
7780#[repr(C)]
7781#[derive(Debug, Copy, Clone)]
7782pub struct lldiv_t {
7783    pub quot: ::std::os::raw::c_longlong,
7784    pub rem: ::std::os::raw::c_longlong,
7785}
7786#[test]
7787fn bindgen_test_layout_lldiv_t() {
7788    const UNINIT: ::std::mem::MaybeUninit<lldiv_t> = ::std::mem::MaybeUninit::uninit();
7789    let ptr = UNINIT.as_ptr();
7790    assert_eq!(
7791        ::std::mem::size_of::<lldiv_t>(),
7792        16usize,
7793        concat!("Size of: ", stringify!(lldiv_t))
7794    );
7795    assert_eq!(
7796        ::std::mem::align_of::<lldiv_t>(),
7797        8usize,
7798        concat!("Alignment of ", stringify!(lldiv_t))
7799    );
7800    assert_eq!(
7801        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
7802        0usize,
7803        concat!(
7804            "Offset of field: ",
7805            stringify!(lldiv_t),
7806            "::",
7807            stringify!(quot)
7808        )
7809    );
7810    assert_eq!(
7811        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
7812        8usize,
7813        concat!(
7814            "Offset of field: ",
7815            stringify!(lldiv_t),
7816            "::",
7817            stringify!(rem)
7818        )
7819    );
7820}
7821extern "C" {
7822    pub fn lldiv(
7823        __numerator: ::std::os::raw::c_longlong,
7824        __denominator: ::std::os::raw::c_longlong,
7825    ) -> lldiv_t;
7826}
7827extern "C" {
7828    pub fn getloadavg(__averages: *mut f64, __n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7829}
7830extern "C" {
7831    pub fn getprogname() -> *const ::std::os::raw::c_char;
7832}
7833extern "C" {
7834    pub fn setprogname(__name: *const ::std::os::raw::c_char);
7835}
7836extern "C" {
7837    pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
7838}
7839extern "C" {
7840    pub fn mbstowcs(__dst: *mut wchar_t, __src: *const ::std::os::raw::c_char, __n: usize)
7841        -> usize;
7842}
7843extern "C" {
7844    pub fn mbtowc(
7845        __wc_ptr: *mut wchar_t,
7846        __s: *const ::std::os::raw::c_char,
7847        __n: usize,
7848    ) -> ::std::os::raw::c_int;
7849}
7850extern "C" {
7851    pub fn wctomb(__dst: *mut ::std::os::raw::c_char, __wc: wchar_t) -> ::std::os::raw::c_int;
7852}
7853extern "C" {
7854    pub fn wcstombs(__dst: *mut ::std::os::raw::c_char, __src: *const wchar_t, __n: usize)
7855        -> usize;
7856}
7857extern "C" {
7858    pub fn __ctype_get_mb_cur_max() -> usize;
7859}
7860extern "C" {
7861    pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7862}
7863extern "C" {
7864    pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
7865}
7866extern "C" {
7867    pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
7868}
7869extern "C" {
7870    pub fn strtof(
7871        __s: *const ::std::os::raw::c_char,
7872        __end_ptr: *mut *mut ::std::os::raw::c_char,
7873    ) -> f32;
7874}
7875extern "C" {
7876    pub fn atof(__s: *const ::std::os::raw::c_char) -> f64;
7877}
7878extern "C" {
7879    pub fn rand() -> ::std::os::raw::c_int;
7880}
7881extern "C" {
7882    pub fn srand(__seed: ::std::os::raw::c_uint);
7883}
7884extern "C" {
7885    pub fn random() -> ::std::os::raw::c_long;
7886}
7887extern "C" {
7888    pub fn srandom(__seed: ::std::os::raw::c_uint);
7889}
7890extern "C" {
7891    pub fn grantpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7892}
7893extern "C" {
7894    pub fn strtoll_l(
7895        __s: *const ::std::os::raw::c_char,
7896        __end_ptr: *mut *mut ::std::os::raw::c_char,
7897        __base: ::std::os::raw::c_int,
7898        __l: locale_t,
7899    ) -> ::std::os::raw::c_longlong;
7900}
7901extern "C" {
7902    pub fn strtoull_l(
7903        __s: *const ::std::os::raw::c_char,
7904        __end_ptr: *mut *mut ::std::os::raw::c_char,
7905        __base: ::std::os::raw::c_int,
7906        __l: locale_t,
7907    ) -> ::std::os::raw::c_ulonglong;
7908}
7909extern "C" {
7910    pub fn strtold_l(
7911        __s: *const ::std::os::raw::c_char,
7912        __end_ptr: *mut *mut ::std::os::raw::c_char,
7913        __l: locale_t,
7914    ) -> f64;
7915}
7916extern "C" {
7917    pub fn strtod_l(
7918        __s: *const ::std::os::raw::c_char,
7919        __end_ptr: *mut *mut ::std::os::raw::c_char,
7920        __l: locale_t,
7921    ) -> f64;
7922}
7923extern "C" {
7924    pub fn strtof_l(
7925        __s: *const ::std::os::raw::c_char,
7926        __end_ptr: *mut *mut ::std::os::raw::c_char,
7927        __l: locale_t,
7928    ) -> f32;
7929}
7930extern "C" {
7931    pub fn strtol_l(
7932        __s: *const ::std::os::raw::c_char,
7933        __end_ptr: *mut *mut ::std::os::raw::c_char,
7934        arg1: ::std::os::raw::c_int,
7935        __l: locale_t,
7936    ) -> ::std::os::raw::c_long;
7937}
7938pub type net_handle_t = u64;
7939extern "C" {
7940    pub fn android_setsocknetwork(
7941        network: net_handle_t,
7942        fd: ::std::os::raw::c_int,
7943    ) -> ::std::os::raw::c_int;
7944}
7945extern "C" {
7946    pub fn android_setprocnetwork(network: net_handle_t) -> ::std::os::raw::c_int;
7947}
7948extern "C" {
7949    pub fn android_getprocnetwork(network: *mut net_handle_t) -> ::std::os::raw::c_int;
7950}
7951extern "C" {
7952    pub fn android_setprocdns(network: net_handle_t) -> ::std::os::raw::c_int;
7953}
7954extern "C" {
7955    pub fn android_getprocdns(network: *mut net_handle_t) -> ::std::os::raw::c_int;
7956}
7957extern "C" {
7958    pub fn android_getaddrinfofornetwork(
7959        network: net_handle_t,
7960        node: *const ::std::os::raw::c_char,
7961        service: *const ::std::os::raw::c_char,
7962        hints: *const addrinfo,
7963        res: *mut *mut addrinfo,
7964    ) -> ::std::os::raw::c_int;
7965}
7966impl ResNsendFlags {
7967    pub const ANDROID_RESOLV_NO_RETRY: ResNsendFlags = ResNsendFlags(1);
7968}
7969impl ResNsendFlags {
7970    pub const ANDROID_RESOLV_NO_CACHE_STORE: ResNsendFlags = ResNsendFlags(2);
7971}
7972impl ResNsendFlags {
7973    pub const ANDROID_RESOLV_NO_CACHE_LOOKUP: ResNsendFlags = ResNsendFlags(4);
7974}
7975#[repr(transparent)]
7976#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7977pub struct ResNsendFlags(pub u32);
7978extern "C" {
7979    pub fn android_res_nquery(
7980        network: net_handle_t,
7981        dname: *const ::std::os::raw::c_char,
7982        ns_class: ::std::os::raw::c_int,
7983        ns_type: ::std::os::raw::c_int,
7984        flags: u32,
7985    ) -> ::std::os::raw::c_int;
7986}
7987extern "C" {
7988    pub fn android_res_nsend(
7989        network: net_handle_t,
7990        msg: *const u8,
7991        msglen: usize,
7992        flags: u32,
7993    ) -> ::std::os::raw::c_int;
7994}
7995extern "C" {
7996    pub fn android_res_nresult(
7997        fd: ::std::os::raw::c_int,
7998        rcode: *mut ::std::os::raw::c_int,
7999        answer: *mut u8,
8000        anslen: usize,
8001    ) -> ::std::os::raw::c_int;
8002}
8003extern "C" {
8004    pub fn android_res_cancel(nsend_fd: ::std::os::raw::c_int);
8005}
8006extern "C" {
8007    pub fn android_tag_socket_with_uid(
8008        sockfd: ::std::os::raw::c_int,
8009        tag: u32,
8010        uid: uid_t,
8011    ) -> ::std::os::raw::c_int;
8012}
8013extern "C" {
8014    pub fn android_tag_socket(sockfd: ::std::os::raw::c_int, tag: u32) -> ::std::os::raw::c_int;
8015}
8016extern "C" {
8017    pub fn android_untag_socket(sockfd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8018}
8019impl ANativeWindow_LegacyFormat {
8020    pub const WINDOW_FORMAT_RGBA_8888: ANativeWindow_LegacyFormat = ANativeWindow_LegacyFormat(1);
8021}
8022impl ANativeWindow_LegacyFormat {
8023    pub const WINDOW_FORMAT_RGBX_8888: ANativeWindow_LegacyFormat = ANativeWindow_LegacyFormat(2);
8024}
8025impl ANativeWindow_LegacyFormat {
8026    pub const WINDOW_FORMAT_RGB_565: ANativeWindow_LegacyFormat = ANativeWindow_LegacyFormat(4);
8027}
8028#[repr(transparent)]
8029#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8030pub struct ANativeWindow_LegacyFormat(pub ::std::os::raw::c_uint);
8031impl ANativeWindowTransform {
8032    pub const ANATIVEWINDOW_TRANSFORM_IDENTITY: ANativeWindowTransform = ANativeWindowTransform(0);
8033}
8034impl ANativeWindowTransform {
8035    pub const ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL: ANativeWindowTransform =
8036        ANativeWindowTransform(1);
8037}
8038impl ANativeWindowTransform {
8039    pub const ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL: ANativeWindowTransform =
8040        ANativeWindowTransform(2);
8041}
8042impl ANativeWindowTransform {
8043    pub const ANATIVEWINDOW_TRANSFORM_ROTATE_90: ANativeWindowTransform = ANativeWindowTransform(4);
8044}
8045impl ANativeWindowTransform {
8046    pub const ANATIVEWINDOW_TRANSFORM_ROTATE_180: ANativeWindowTransform =
8047        ANativeWindowTransform(3);
8048}
8049impl ANativeWindowTransform {
8050    pub const ANATIVEWINDOW_TRANSFORM_ROTATE_270: ANativeWindowTransform =
8051        ANativeWindowTransform(7);
8052}
8053#[repr(transparent)]
8054#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8055pub struct ANativeWindowTransform(pub ::std::os::raw::c_uint);
8056#[repr(C)]
8057#[derive(Debug, Copy, Clone)]
8058pub struct ANativeWindow {
8059    _unused: [u8; 0],
8060}
8061#[repr(C)]
8062#[derive(Debug, Copy, Clone)]
8063pub struct ANativeWindow_Buffer {
8064    pub width: i32,
8065    pub height: i32,
8066    pub stride: i32,
8067    pub format: i32,
8068    pub bits: *mut ::std::os::raw::c_void,
8069    pub reserved: [u32; 6usize],
8070}
8071#[test]
8072fn bindgen_test_layout_ANativeWindow_Buffer() {
8073    const UNINIT: ::std::mem::MaybeUninit<ANativeWindow_Buffer> = ::std::mem::MaybeUninit::uninit();
8074    let ptr = UNINIT.as_ptr();
8075    assert_eq!(
8076        ::std::mem::size_of::<ANativeWindow_Buffer>(),
8077        44usize,
8078        concat!("Size of: ", stringify!(ANativeWindow_Buffer))
8079    );
8080    assert_eq!(
8081        ::std::mem::align_of::<ANativeWindow_Buffer>(),
8082        4usize,
8083        concat!("Alignment of ", stringify!(ANativeWindow_Buffer))
8084    );
8085    assert_eq!(
8086        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
8087        0usize,
8088        concat!(
8089            "Offset of field: ",
8090            stringify!(ANativeWindow_Buffer),
8091            "::",
8092            stringify!(width)
8093        )
8094    );
8095    assert_eq!(
8096        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
8097        4usize,
8098        concat!(
8099            "Offset of field: ",
8100            stringify!(ANativeWindow_Buffer),
8101            "::",
8102            stringify!(height)
8103        )
8104    );
8105    assert_eq!(
8106        unsafe { ::std::ptr::addr_of!((*ptr).stride) as usize - ptr as usize },
8107        8usize,
8108        concat!(
8109            "Offset of field: ",
8110            stringify!(ANativeWindow_Buffer),
8111            "::",
8112            stringify!(stride)
8113        )
8114    );
8115    assert_eq!(
8116        unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
8117        12usize,
8118        concat!(
8119            "Offset of field: ",
8120            stringify!(ANativeWindow_Buffer),
8121            "::",
8122            stringify!(format)
8123        )
8124    );
8125    assert_eq!(
8126        unsafe { ::std::ptr::addr_of!((*ptr).bits) as usize - ptr as usize },
8127        16usize,
8128        concat!(
8129            "Offset of field: ",
8130            stringify!(ANativeWindow_Buffer),
8131            "::",
8132            stringify!(bits)
8133        )
8134    );
8135    assert_eq!(
8136        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
8137        20usize,
8138        concat!(
8139            "Offset of field: ",
8140            stringify!(ANativeWindow_Buffer),
8141            "::",
8142            stringify!(reserved)
8143        )
8144    );
8145}
8146extern "C" {
8147    pub fn ANativeWindow_acquire(window: *mut ANativeWindow);
8148}
8149extern "C" {
8150    pub fn ANativeWindow_release(window: *mut ANativeWindow);
8151}
8152extern "C" {
8153    pub fn ANativeWindow_getWidth(window: *mut ANativeWindow) -> i32;
8154}
8155extern "C" {
8156    pub fn ANativeWindow_getHeight(window: *mut ANativeWindow) -> i32;
8157}
8158extern "C" {
8159    pub fn ANativeWindow_getFormat(window: *mut ANativeWindow) -> i32;
8160}
8161extern "C" {
8162    pub fn ANativeWindow_setBuffersGeometry(
8163        window: *mut ANativeWindow,
8164        width: i32,
8165        height: i32,
8166        format: i32,
8167    ) -> i32;
8168}
8169extern "C" {
8170    pub fn ANativeWindow_lock(
8171        window: *mut ANativeWindow,
8172        outBuffer: *mut ANativeWindow_Buffer,
8173        inOutDirtyBounds: *mut ARect,
8174    ) -> i32;
8175}
8176extern "C" {
8177    pub fn ANativeWindow_unlockAndPost(window: *mut ANativeWindow) -> i32;
8178}
8179extern "C" {
8180    pub fn ANativeWindow_setBuffersTransform(window: *mut ANativeWindow, transform: i32) -> i32;
8181}
8182extern "C" {
8183    pub fn ANativeWindow_setBuffersDataSpace(window: *mut ANativeWindow, dataSpace: i32) -> i32;
8184}
8185extern "C" {
8186    pub fn ANativeWindow_getBuffersDataSpace(window: *mut ANativeWindow) -> i32;
8187}
8188extern "C" {
8189    pub fn ANativeWindow_getBuffersDefaultDataSpace(window: *mut ANativeWindow) -> i32;
8190}
8191impl ANativeWindow_FrameRateCompatibility {
8192    pub const ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_DEFAULT: ANativeWindow_FrameRateCompatibility =
8193        ANativeWindow_FrameRateCompatibility(0);
8194}
8195impl ANativeWindow_FrameRateCompatibility {
8196    pub const ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_FIXED_SOURCE:
8197        ANativeWindow_FrameRateCompatibility = ANativeWindow_FrameRateCompatibility(1);
8198}
8199#[repr(transparent)]
8200#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8201pub struct ANativeWindow_FrameRateCompatibility(pub ::std::os::raw::c_uint);
8202extern "C" {
8203    pub fn ANativeWindow_setFrameRate(
8204        window: *mut ANativeWindow,
8205        frameRate: f32,
8206        compatibility: i8,
8207    ) -> i32;
8208}
8209extern "C" {
8210    pub fn ANativeWindow_tryAllocateBuffers(window: *mut ANativeWindow);
8211}
8212impl ANativeWindow_ChangeFrameRateStrategy {
8213    pub const ANATIVEWINDOW_CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS:
8214        ANativeWindow_ChangeFrameRateStrategy = ANativeWindow_ChangeFrameRateStrategy(0);
8215}
8216impl ANativeWindow_ChangeFrameRateStrategy {
8217    pub const ANATIVEWINDOW_CHANGE_FRAME_RATE_ALWAYS: ANativeWindow_ChangeFrameRateStrategy =
8218        ANativeWindow_ChangeFrameRateStrategy(1);
8219}
8220#[repr(transparent)]
8221#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8222pub struct ANativeWindow_ChangeFrameRateStrategy(pub ::std::os::raw::c_uint);
8223extern "C" {
8224    pub fn ANativeWindow_setFrameRateWithChangeStrategy(
8225        window: *mut ANativeWindow,
8226        frameRate: f32,
8227        compatibility: i8,
8228        changeFrameRateStrategy: i8,
8229    ) -> i32;
8230}
8231#[repr(C)]
8232pub struct ANativeActivity {
8233    pub callbacks: *mut ANativeActivityCallbacks,
8234    pub vm: *mut JavaVM,
8235    pub env: *mut JNIEnv,
8236    pub clazz: jobject,
8237    pub internalDataPath: *const ::std::os::raw::c_char,
8238    pub externalDataPath: *const ::std::os::raw::c_char,
8239    pub sdkVersion: i32,
8240    pub instance: *mut ::std::os::raw::c_void,
8241    pub assetManager: *mut AAssetManager,
8242    pub obbPath: *const ::std::os::raw::c_char,
8243}
8244#[test]
8245fn bindgen_test_layout_ANativeActivity() {
8246    const UNINIT: ::std::mem::MaybeUninit<ANativeActivity> = ::std::mem::MaybeUninit::uninit();
8247    let ptr = UNINIT.as_ptr();
8248    assert_eq!(
8249        ::std::mem::size_of::<ANativeActivity>(),
8250        40usize,
8251        concat!("Size of: ", stringify!(ANativeActivity))
8252    );
8253    assert_eq!(
8254        ::std::mem::align_of::<ANativeActivity>(),
8255        4usize,
8256        concat!("Alignment of ", stringify!(ANativeActivity))
8257    );
8258    assert_eq!(
8259        unsafe { ::std::ptr::addr_of!((*ptr).callbacks) as usize - ptr as usize },
8260        0usize,
8261        concat!(
8262            "Offset of field: ",
8263            stringify!(ANativeActivity),
8264            "::",
8265            stringify!(callbacks)
8266        )
8267    );
8268    assert_eq!(
8269        unsafe { ::std::ptr::addr_of!((*ptr).vm) as usize - ptr as usize },
8270        4usize,
8271        concat!(
8272            "Offset of field: ",
8273            stringify!(ANativeActivity),
8274            "::",
8275            stringify!(vm)
8276        )
8277    );
8278    assert_eq!(
8279        unsafe { ::std::ptr::addr_of!((*ptr).env) as usize - ptr as usize },
8280        8usize,
8281        concat!(
8282            "Offset of field: ",
8283            stringify!(ANativeActivity),
8284            "::",
8285            stringify!(env)
8286        )
8287    );
8288    assert_eq!(
8289        unsafe { ::std::ptr::addr_of!((*ptr).clazz) as usize - ptr as usize },
8290        12usize,
8291        concat!(
8292            "Offset of field: ",
8293            stringify!(ANativeActivity),
8294            "::",
8295            stringify!(clazz)
8296        )
8297    );
8298    assert_eq!(
8299        unsafe { ::std::ptr::addr_of!((*ptr).internalDataPath) as usize - ptr as usize },
8300        16usize,
8301        concat!(
8302            "Offset of field: ",
8303            stringify!(ANativeActivity),
8304            "::",
8305            stringify!(internalDataPath)
8306        )
8307    );
8308    assert_eq!(
8309        unsafe { ::std::ptr::addr_of!((*ptr).externalDataPath) as usize - ptr as usize },
8310        20usize,
8311        concat!(
8312            "Offset of field: ",
8313            stringify!(ANativeActivity),
8314            "::",
8315            stringify!(externalDataPath)
8316        )
8317    );
8318    assert_eq!(
8319        unsafe { ::std::ptr::addr_of!((*ptr).sdkVersion) as usize - ptr as usize },
8320        24usize,
8321        concat!(
8322            "Offset of field: ",
8323            stringify!(ANativeActivity),
8324            "::",
8325            stringify!(sdkVersion)
8326        )
8327    );
8328    assert_eq!(
8329        unsafe { ::std::ptr::addr_of!((*ptr).instance) as usize - ptr as usize },
8330        28usize,
8331        concat!(
8332            "Offset of field: ",
8333            stringify!(ANativeActivity),
8334            "::",
8335            stringify!(instance)
8336        )
8337    );
8338    assert_eq!(
8339        unsafe { ::std::ptr::addr_of!((*ptr).assetManager) as usize - ptr as usize },
8340        32usize,
8341        concat!(
8342            "Offset of field: ",
8343            stringify!(ANativeActivity),
8344            "::",
8345            stringify!(assetManager)
8346        )
8347    );
8348    assert_eq!(
8349        unsafe { ::std::ptr::addr_of!((*ptr).obbPath) as usize - ptr as usize },
8350        36usize,
8351        concat!(
8352            "Offset of field: ",
8353            stringify!(ANativeActivity),
8354            "::",
8355            stringify!(obbPath)
8356        )
8357    );
8358}
8359#[repr(C)]
8360#[derive(Debug, Copy, Clone)]
8361pub struct ANativeActivityCallbacks {
8362    pub onStart: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8363    pub onResume: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8364    pub onSaveInstanceState: ::std::option::Option<
8365        unsafe extern "C" fn(
8366            activity: *mut ANativeActivity,
8367            outSize: *mut usize,
8368        ) -> *mut ::std::os::raw::c_void,
8369    >,
8370    pub onPause: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8371    pub onStop: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8372    pub onDestroy: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8373    pub onWindowFocusChanged: ::std::option::Option<
8374        unsafe extern "C" fn(activity: *mut ANativeActivity, hasFocus: ::std::os::raw::c_int),
8375    >,
8376    pub onNativeWindowCreated: ::std::option::Option<
8377        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
8378    >,
8379    pub onNativeWindowResized: ::std::option::Option<
8380        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
8381    >,
8382    pub onNativeWindowRedrawNeeded: ::std::option::Option<
8383        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
8384    >,
8385    pub onNativeWindowDestroyed: ::std::option::Option<
8386        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
8387    >,
8388    pub onInputQueueCreated: ::std::option::Option<
8389        unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
8390    >,
8391    pub onInputQueueDestroyed: ::std::option::Option<
8392        unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
8393    >,
8394    pub onContentRectChanged: ::std::option::Option<
8395        unsafe extern "C" fn(activity: *mut ANativeActivity, rect: *const ARect),
8396    >,
8397    pub onConfigurationChanged:
8398        ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8399    pub onLowMemory: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8400}
8401#[test]
8402fn bindgen_test_layout_ANativeActivityCallbacks() {
8403    const UNINIT: ::std::mem::MaybeUninit<ANativeActivityCallbacks> =
8404        ::std::mem::MaybeUninit::uninit();
8405    let ptr = UNINIT.as_ptr();
8406    assert_eq!(
8407        ::std::mem::size_of::<ANativeActivityCallbacks>(),
8408        64usize,
8409        concat!("Size of: ", stringify!(ANativeActivityCallbacks))
8410    );
8411    assert_eq!(
8412        ::std::mem::align_of::<ANativeActivityCallbacks>(),
8413        4usize,
8414        concat!("Alignment of ", stringify!(ANativeActivityCallbacks))
8415    );
8416    assert_eq!(
8417        unsafe { ::std::ptr::addr_of!((*ptr).onStart) as usize - ptr as usize },
8418        0usize,
8419        concat!(
8420            "Offset of field: ",
8421            stringify!(ANativeActivityCallbacks),
8422            "::",
8423            stringify!(onStart)
8424        )
8425    );
8426    assert_eq!(
8427        unsafe { ::std::ptr::addr_of!((*ptr).onResume) as usize - ptr as usize },
8428        4usize,
8429        concat!(
8430            "Offset of field: ",
8431            stringify!(ANativeActivityCallbacks),
8432            "::",
8433            stringify!(onResume)
8434        )
8435    );
8436    assert_eq!(
8437        unsafe { ::std::ptr::addr_of!((*ptr).onSaveInstanceState) as usize - ptr as usize },
8438        8usize,
8439        concat!(
8440            "Offset of field: ",
8441            stringify!(ANativeActivityCallbacks),
8442            "::",
8443            stringify!(onSaveInstanceState)
8444        )
8445    );
8446    assert_eq!(
8447        unsafe { ::std::ptr::addr_of!((*ptr).onPause) as usize - ptr as usize },
8448        12usize,
8449        concat!(
8450            "Offset of field: ",
8451            stringify!(ANativeActivityCallbacks),
8452            "::",
8453            stringify!(onPause)
8454        )
8455    );
8456    assert_eq!(
8457        unsafe { ::std::ptr::addr_of!((*ptr).onStop) as usize - ptr as usize },
8458        16usize,
8459        concat!(
8460            "Offset of field: ",
8461            stringify!(ANativeActivityCallbacks),
8462            "::",
8463            stringify!(onStop)
8464        )
8465    );
8466    assert_eq!(
8467        unsafe { ::std::ptr::addr_of!((*ptr).onDestroy) as usize - ptr as usize },
8468        20usize,
8469        concat!(
8470            "Offset of field: ",
8471            stringify!(ANativeActivityCallbacks),
8472            "::",
8473            stringify!(onDestroy)
8474        )
8475    );
8476    assert_eq!(
8477        unsafe { ::std::ptr::addr_of!((*ptr).onWindowFocusChanged) as usize - ptr as usize },
8478        24usize,
8479        concat!(
8480            "Offset of field: ",
8481            stringify!(ANativeActivityCallbacks),
8482            "::",
8483            stringify!(onWindowFocusChanged)
8484        )
8485    );
8486    assert_eq!(
8487        unsafe { ::std::ptr::addr_of!((*ptr).onNativeWindowCreated) as usize - ptr as usize },
8488        28usize,
8489        concat!(
8490            "Offset of field: ",
8491            stringify!(ANativeActivityCallbacks),
8492            "::",
8493            stringify!(onNativeWindowCreated)
8494        )
8495    );
8496    assert_eq!(
8497        unsafe { ::std::ptr::addr_of!((*ptr).onNativeWindowResized) as usize - ptr as usize },
8498        32usize,
8499        concat!(
8500            "Offset of field: ",
8501            stringify!(ANativeActivityCallbacks),
8502            "::",
8503            stringify!(onNativeWindowResized)
8504        )
8505    );
8506    assert_eq!(
8507        unsafe { ::std::ptr::addr_of!((*ptr).onNativeWindowRedrawNeeded) as usize - ptr as usize },
8508        36usize,
8509        concat!(
8510            "Offset of field: ",
8511            stringify!(ANativeActivityCallbacks),
8512            "::",
8513            stringify!(onNativeWindowRedrawNeeded)
8514        )
8515    );
8516    assert_eq!(
8517        unsafe { ::std::ptr::addr_of!((*ptr).onNativeWindowDestroyed) as usize - ptr as usize },
8518        40usize,
8519        concat!(
8520            "Offset of field: ",
8521            stringify!(ANativeActivityCallbacks),
8522            "::",
8523            stringify!(onNativeWindowDestroyed)
8524        )
8525    );
8526    assert_eq!(
8527        unsafe { ::std::ptr::addr_of!((*ptr).onInputQueueCreated) as usize - ptr as usize },
8528        44usize,
8529        concat!(
8530            "Offset of field: ",
8531            stringify!(ANativeActivityCallbacks),
8532            "::",
8533            stringify!(onInputQueueCreated)
8534        )
8535    );
8536    assert_eq!(
8537        unsafe { ::std::ptr::addr_of!((*ptr).onInputQueueDestroyed) as usize - ptr as usize },
8538        48usize,
8539        concat!(
8540            "Offset of field: ",
8541            stringify!(ANativeActivityCallbacks),
8542            "::",
8543            stringify!(onInputQueueDestroyed)
8544        )
8545    );
8546    assert_eq!(
8547        unsafe { ::std::ptr::addr_of!((*ptr).onContentRectChanged) as usize - ptr as usize },
8548        52usize,
8549        concat!(
8550            "Offset of field: ",
8551            stringify!(ANativeActivityCallbacks),
8552            "::",
8553            stringify!(onContentRectChanged)
8554        )
8555    );
8556    assert_eq!(
8557        unsafe { ::std::ptr::addr_of!((*ptr).onConfigurationChanged) as usize - ptr as usize },
8558        56usize,
8559        concat!(
8560            "Offset of field: ",
8561            stringify!(ANativeActivityCallbacks),
8562            "::",
8563            stringify!(onConfigurationChanged)
8564        )
8565    );
8566    assert_eq!(
8567        unsafe { ::std::ptr::addr_of!((*ptr).onLowMemory) as usize - ptr as usize },
8568        60usize,
8569        concat!(
8570            "Offset of field: ",
8571            stringify!(ANativeActivityCallbacks),
8572            "::",
8573            stringify!(onLowMemory)
8574        )
8575    );
8576}
8577pub type ANativeActivity_createFunc = ::std::option::Option<
8578    unsafe extern "C" fn(
8579        activity: *mut ANativeActivity,
8580        savedState: *mut ::std::os::raw::c_void,
8581        savedStateSize: usize,
8582    ),
8583>;
8584extern "C" {
8585    pub fn ANativeActivity_onCreate(
8586        activity: *mut ANativeActivity,
8587        savedState: *mut ::std::os::raw::c_void,
8588        savedStateSize: usize,
8589    );
8590}
8591extern "C" {
8592    pub fn ANativeActivity_finish(activity: *mut ANativeActivity);
8593}
8594extern "C" {
8595    pub fn ANativeActivity_setWindowFormat(activity: *mut ANativeActivity, format: i32);
8596}
8597extern "C" {
8598    pub fn ANativeActivity_setWindowFlags(
8599        activity: *mut ANativeActivity,
8600        addFlags: u32,
8601        removeFlags: u32,
8602    );
8603}
8604pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT: _bindgen_ty_33 = 1;
8605pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED: _bindgen_ty_33 = 2;
8606pub type _bindgen_ty_33 = ::std::os::raw::c_uint;
8607extern "C" {
8608    pub fn ANativeActivity_showSoftInput(activity: *mut ANativeActivity, flags: u32);
8609}
8610pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY: _bindgen_ty_34 = 1;
8611pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS: _bindgen_ty_34 = 2;
8612pub type _bindgen_ty_34 = ::std::os::raw::c_uint;
8613extern "C" {
8614    pub fn ANativeActivity_hideSoftInput(activity: *mut ANativeActivity, flags: u32);
8615}
8616extern "C" {
8617    pub fn ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow;
8618}
8619extern "C" {
8620    pub fn ANativeWindow_toSurface(env: *mut JNIEnv, window: *mut ANativeWindow) -> jobject;
8621}
8622impl OperandCode {
8623    pub const ANEURALNETWORKS_FLOAT32: OperandCode = OperandCode(0);
8624}
8625impl OperandCode {
8626    pub const ANEURALNETWORKS_INT32: OperandCode = OperandCode(1);
8627}
8628impl OperandCode {
8629    pub const ANEURALNETWORKS_UINT32: OperandCode = OperandCode(2);
8630}
8631impl OperandCode {
8632    pub const ANEURALNETWORKS_TENSOR_FLOAT32: OperandCode = OperandCode(3);
8633}
8634impl OperandCode {
8635    pub const ANEURALNETWORKS_TENSOR_INT32: OperandCode = OperandCode(4);
8636}
8637impl OperandCode {
8638    pub const ANEURALNETWORKS_TENSOR_QUANT8_ASYMM: OperandCode = OperandCode(5);
8639}
8640impl OperandCode {
8641    pub const ANEURALNETWORKS_BOOL: OperandCode = OperandCode(6);
8642}
8643impl OperandCode {
8644    pub const ANEURALNETWORKS_TENSOR_QUANT16_SYMM: OperandCode = OperandCode(7);
8645}
8646impl OperandCode {
8647    pub const ANEURALNETWORKS_TENSOR_FLOAT16: OperandCode = OperandCode(8);
8648}
8649impl OperandCode {
8650    pub const ANEURALNETWORKS_TENSOR_BOOL8: OperandCode = OperandCode(9);
8651}
8652impl OperandCode {
8653    pub const ANEURALNETWORKS_FLOAT16: OperandCode = OperandCode(10);
8654}
8655impl OperandCode {
8656    pub const ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL: OperandCode = OperandCode(11);
8657}
8658impl OperandCode {
8659    pub const ANEURALNETWORKS_TENSOR_QUANT16_ASYMM: OperandCode = OperandCode(12);
8660}
8661impl OperandCode {
8662    pub const ANEURALNETWORKS_TENSOR_QUANT8_SYMM: OperandCode = OperandCode(13);
8663}
8664impl OperandCode {
8665    pub const ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED: OperandCode = OperandCode(14);
8666}
8667impl OperandCode {
8668    pub const ANEURALNETWORKS_MODEL: OperandCode = OperandCode(15);
8669}
8670#[repr(transparent)]
8671#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8672pub struct OperandCode(pub ::std::os::raw::c_uint);
8673impl OperationCode {
8674    pub const ANEURALNETWORKS_ADD: OperationCode = OperationCode(0);
8675}
8676impl OperationCode {
8677    pub const ANEURALNETWORKS_AVERAGE_POOL_2D: OperationCode = OperationCode(1);
8678}
8679impl OperationCode {
8680    pub const ANEURALNETWORKS_CONCATENATION: OperationCode = OperationCode(2);
8681}
8682impl OperationCode {
8683    pub const ANEURALNETWORKS_CONV_2D: OperationCode = OperationCode(3);
8684}
8685impl OperationCode {
8686    pub const ANEURALNETWORKS_DEPTHWISE_CONV_2D: OperationCode = OperationCode(4);
8687}
8688impl OperationCode {
8689    pub const ANEURALNETWORKS_DEPTH_TO_SPACE: OperationCode = OperationCode(5);
8690}
8691impl OperationCode {
8692    pub const ANEURALNETWORKS_DEQUANTIZE: OperationCode = OperationCode(6);
8693}
8694impl OperationCode {
8695    pub const ANEURALNETWORKS_EMBEDDING_LOOKUP: OperationCode = OperationCode(7);
8696}
8697impl OperationCode {
8698    pub const ANEURALNETWORKS_FLOOR: OperationCode = OperationCode(8);
8699}
8700impl OperationCode {
8701    pub const ANEURALNETWORKS_FULLY_CONNECTED: OperationCode = OperationCode(9);
8702}
8703impl OperationCode {
8704    pub const ANEURALNETWORKS_HASHTABLE_LOOKUP: OperationCode = OperationCode(10);
8705}
8706impl OperationCode {
8707    pub const ANEURALNETWORKS_L2_NORMALIZATION: OperationCode = OperationCode(11);
8708}
8709impl OperationCode {
8710    pub const ANEURALNETWORKS_L2_POOL_2D: OperationCode = OperationCode(12);
8711}
8712impl OperationCode {
8713    pub const ANEURALNETWORKS_LOCAL_RESPONSE_NORMALIZATION: OperationCode = OperationCode(13);
8714}
8715impl OperationCode {
8716    pub const ANEURALNETWORKS_LOGISTIC: OperationCode = OperationCode(14);
8717}
8718impl OperationCode {
8719    pub const ANEURALNETWORKS_LSH_PROJECTION: OperationCode = OperationCode(15);
8720}
8721impl OperationCode {
8722    pub const ANEURALNETWORKS_LSTM: OperationCode = OperationCode(16);
8723}
8724impl OperationCode {
8725    pub const ANEURALNETWORKS_MAX_POOL_2D: OperationCode = OperationCode(17);
8726}
8727impl OperationCode {
8728    pub const ANEURALNETWORKS_MUL: OperationCode = OperationCode(18);
8729}
8730impl OperationCode {
8731    pub const ANEURALNETWORKS_RELU: OperationCode = OperationCode(19);
8732}
8733impl OperationCode {
8734    pub const ANEURALNETWORKS_RELU1: OperationCode = OperationCode(20);
8735}
8736impl OperationCode {
8737    pub const ANEURALNETWORKS_RELU6: OperationCode = OperationCode(21);
8738}
8739impl OperationCode {
8740    pub const ANEURALNETWORKS_RESHAPE: OperationCode = OperationCode(22);
8741}
8742impl OperationCode {
8743    pub const ANEURALNETWORKS_RESIZE_BILINEAR: OperationCode = OperationCode(23);
8744}
8745impl OperationCode {
8746    pub const ANEURALNETWORKS_RNN: OperationCode = OperationCode(24);
8747}
8748impl OperationCode {
8749    pub const ANEURALNETWORKS_SOFTMAX: OperationCode = OperationCode(25);
8750}
8751impl OperationCode {
8752    pub const ANEURALNETWORKS_SPACE_TO_DEPTH: OperationCode = OperationCode(26);
8753}
8754impl OperationCode {
8755    pub const ANEURALNETWORKS_SVDF: OperationCode = OperationCode(27);
8756}
8757impl OperationCode {
8758    pub const ANEURALNETWORKS_TANH: OperationCode = OperationCode(28);
8759}
8760impl OperationCode {
8761    pub const ANEURALNETWORKS_BATCH_TO_SPACE_ND: OperationCode = OperationCode(29);
8762}
8763impl OperationCode {
8764    pub const ANEURALNETWORKS_DIV: OperationCode = OperationCode(30);
8765}
8766impl OperationCode {
8767    pub const ANEURALNETWORKS_MEAN: OperationCode = OperationCode(31);
8768}
8769impl OperationCode {
8770    pub const ANEURALNETWORKS_PAD: OperationCode = OperationCode(32);
8771}
8772impl OperationCode {
8773    pub const ANEURALNETWORKS_SPACE_TO_BATCH_ND: OperationCode = OperationCode(33);
8774}
8775impl OperationCode {
8776    pub const ANEURALNETWORKS_SQUEEZE: OperationCode = OperationCode(34);
8777}
8778impl OperationCode {
8779    pub const ANEURALNETWORKS_STRIDED_SLICE: OperationCode = OperationCode(35);
8780}
8781impl OperationCode {
8782    pub const ANEURALNETWORKS_SUB: OperationCode = OperationCode(36);
8783}
8784impl OperationCode {
8785    pub const ANEURALNETWORKS_TRANSPOSE: OperationCode = OperationCode(37);
8786}
8787impl OperationCode {
8788    pub const ANEURALNETWORKS_ABS: OperationCode = OperationCode(38);
8789}
8790impl OperationCode {
8791    pub const ANEURALNETWORKS_ARGMAX: OperationCode = OperationCode(39);
8792}
8793impl OperationCode {
8794    pub const ANEURALNETWORKS_ARGMIN: OperationCode = OperationCode(40);
8795}
8796impl OperationCode {
8797    pub const ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM: OperationCode = OperationCode(41);
8798}
8799impl OperationCode {
8800    pub const ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = OperationCode(42);
8801}
8802impl OperationCode {
8803    pub const ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_RNN: OperationCode = OperationCode(43);
8804}
8805impl OperationCode {
8806    pub const ANEURALNETWORKS_BOX_WITH_NMS_LIMIT: OperationCode = OperationCode(44);
8807}
8808impl OperationCode {
8809    pub const ANEURALNETWORKS_CAST: OperationCode = OperationCode(45);
8810}
8811impl OperationCode {
8812    pub const ANEURALNETWORKS_CHANNEL_SHUFFLE: OperationCode = OperationCode(46);
8813}
8814impl OperationCode {
8815    pub const ANEURALNETWORKS_DETECTION_POSTPROCESSING: OperationCode = OperationCode(47);
8816}
8817impl OperationCode {
8818    pub const ANEURALNETWORKS_EQUAL: OperationCode = OperationCode(48);
8819}
8820impl OperationCode {
8821    pub const ANEURALNETWORKS_EXP: OperationCode = OperationCode(49);
8822}
8823impl OperationCode {
8824    pub const ANEURALNETWORKS_EXPAND_DIMS: OperationCode = OperationCode(50);
8825}
8826impl OperationCode {
8827    pub const ANEURALNETWORKS_GATHER: OperationCode = OperationCode(51);
8828}
8829impl OperationCode {
8830    pub const ANEURALNETWORKS_GENERATE_PROPOSALS: OperationCode = OperationCode(52);
8831}
8832impl OperationCode {
8833    pub const ANEURALNETWORKS_GREATER: OperationCode = OperationCode(53);
8834}
8835impl OperationCode {
8836    pub const ANEURALNETWORKS_GREATER_EQUAL: OperationCode = OperationCode(54);
8837}
8838impl OperationCode {
8839    pub const ANEURALNETWORKS_GROUPED_CONV_2D: OperationCode = OperationCode(55);
8840}
8841impl OperationCode {
8842    pub const ANEURALNETWORKS_HEATMAP_MAX_KEYPOINT: OperationCode = OperationCode(56);
8843}
8844impl OperationCode {
8845    pub const ANEURALNETWORKS_INSTANCE_NORMALIZATION: OperationCode = OperationCode(57);
8846}
8847impl OperationCode {
8848    pub const ANEURALNETWORKS_LESS: OperationCode = OperationCode(58);
8849}
8850impl OperationCode {
8851    pub const ANEURALNETWORKS_LESS_EQUAL: OperationCode = OperationCode(59);
8852}
8853impl OperationCode {
8854    pub const ANEURALNETWORKS_LOG: OperationCode = OperationCode(60);
8855}
8856impl OperationCode {
8857    pub const ANEURALNETWORKS_LOGICAL_AND: OperationCode = OperationCode(61);
8858}
8859impl OperationCode {
8860    pub const ANEURALNETWORKS_LOGICAL_NOT: OperationCode = OperationCode(62);
8861}
8862impl OperationCode {
8863    pub const ANEURALNETWORKS_LOGICAL_OR: OperationCode = OperationCode(63);
8864}
8865impl OperationCode {
8866    pub const ANEURALNETWORKS_LOG_SOFTMAX: OperationCode = OperationCode(64);
8867}
8868impl OperationCode {
8869    pub const ANEURALNETWORKS_MAXIMUM: OperationCode = OperationCode(65);
8870}
8871impl OperationCode {
8872    pub const ANEURALNETWORKS_MINIMUM: OperationCode = OperationCode(66);
8873}
8874impl OperationCode {
8875    pub const ANEURALNETWORKS_NEG: OperationCode = OperationCode(67);
8876}
8877impl OperationCode {
8878    pub const ANEURALNETWORKS_NOT_EQUAL: OperationCode = OperationCode(68);
8879}
8880impl OperationCode {
8881    pub const ANEURALNETWORKS_PAD_V2: OperationCode = OperationCode(69);
8882}
8883impl OperationCode {
8884    pub const ANEURALNETWORKS_POW: OperationCode = OperationCode(70);
8885}
8886impl OperationCode {
8887    pub const ANEURALNETWORKS_PRELU: OperationCode = OperationCode(71);
8888}
8889impl OperationCode {
8890    pub const ANEURALNETWORKS_QUANTIZE: OperationCode = OperationCode(72);
8891}
8892impl OperationCode {
8893    pub const ANEURALNETWORKS_QUANTIZED_16BIT_LSTM: OperationCode = OperationCode(73);
8894}
8895impl OperationCode {
8896    pub const ANEURALNETWORKS_RANDOM_MULTINOMIAL: OperationCode = OperationCode(74);
8897}
8898impl OperationCode {
8899    pub const ANEURALNETWORKS_REDUCE_ALL: OperationCode = OperationCode(75);
8900}
8901impl OperationCode {
8902    pub const ANEURALNETWORKS_REDUCE_ANY: OperationCode = OperationCode(76);
8903}
8904impl OperationCode {
8905    pub const ANEURALNETWORKS_REDUCE_MAX: OperationCode = OperationCode(77);
8906}
8907impl OperationCode {
8908    pub const ANEURALNETWORKS_REDUCE_MIN: OperationCode = OperationCode(78);
8909}
8910impl OperationCode {
8911    pub const ANEURALNETWORKS_REDUCE_PROD: OperationCode = OperationCode(79);
8912}
8913impl OperationCode {
8914    pub const ANEURALNETWORKS_REDUCE_SUM: OperationCode = OperationCode(80);
8915}
8916impl OperationCode {
8917    pub const ANEURALNETWORKS_ROI_ALIGN: OperationCode = OperationCode(81);
8918}
8919impl OperationCode {
8920    pub const ANEURALNETWORKS_ROI_POOLING: OperationCode = OperationCode(82);
8921}
8922impl OperationCode {
8923    pub const ANEURALNETWORKS_RSQRT: OperationCode = OperationCode(83);
8924}
8925impl OperationCode {
8926    pub const ANEURALNETWORKS_SELECT: OperationCode = OperationCode(84);
8927}
8928impl OperationCode {
8929    pub const ANEURALNETWORKS_SIN: OperationCode = OperationCode(85);
8930}
8931impl OperationCode {
8932    pub const ANEURALNETWORKS_SLICE: OperationCode = OperationCode(86);
8933}
8934impl OperationCode {
8935    pub const ANEURALNETWORKS_SPLIT: OperationCode = OperationCode(87);
8936}
8937impl OperationCode {
8938    pub const ANEURALNETWORKS_SQRT: OperationCode = OperationCode(88);
8939}
8940impl OperationCode {
8941    pub const ANEURALNETWORKS_TILE: OperationCode = OperationCode(89);
8942}
8943impl OperationCode {
8944    pub const ANEURALNETWORKS_TOPK_V2: OperationCode = OperationCode(90);
8945}
8946impl OperationCode {
8947    pub const ANEURALNETWORKS_TRANSPOSE_CONV_2D: OperationCode = OperationCode(91);
8948}
8949impl OperationCode {
8950    pub const ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = OperationCode(92);
8951}
8952impl OperationCode {
8953    pub const ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_RNN: OperationCode = OperationCode(93);
8954}
8955impl OperationCode {
8956    pub const ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR: OperationCode = OperationCode(94);
8957}
8958impl OperationCode {
8959    pub const ANEURALNETWORKS_QUANTIZED_LSTM: OperationCode = OperationCode(95);
8960}
8961impl OperationCode {
8962    pub const ANEURALNETWORKS_IF: OperationCode = OperationCode(96);
8963}
8964impl OperationCode {
8965    pub const ANEURALNETWORKS_WHILE: OperationCode = OperationCode(97);
8966}
8967impl OperationCode {
8968    pub const ANEURALNETWORKS_ELU: OperationCode = OperationCode(98);
8969}
8970impl OperationCode {
8971    pub const ANEURALNETWORKS_HARD_SWISH: OperationCode = OperationCode(99);
8972}
8973impl OperationCode {
8974    pub const ANEURALNETWORKS_FILL: OperationCode = OperationCode(100);
8975}
8976impl OperationCode {
8977    pub const ANEURALNETWORKS_RANK: OperationCode = OperationCode(101);
8978}
8979impl OperationCode {
8980    pub const ANEURALNETWORKS_BATCH_MATMUL: OperationCode = OperationCode(102);
8981}
8982impl OperationCode {
8983    pub const ANEURALNETWORKS_PACK: OperationCode = OperationCode(103);
8984}
8985impl OperationCode {
8986    pub const ANEURALNETWORKS_MIRROR_PAD: OperationCode = OperationCode(104);
8987}
8988impl OperationCode {
8989    pub const ANEURALNETWORKS_REVERSE: OperationCode = OperationCode(105);
8990}
8991#[repr(transparent)]
8992#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8993pub struct OperationCode(pub ::std::os::raw::c_uint);
8994impl FuseCode {
8995    pub const ANEURALNETWORKS_FUSED_NONE: FuseCode = FuseCode(0);
8996}
8997impl FuseCode {
8998    pub const ANEURALNETWORKS_FUSED_RELU: FuseCode = FuseCode(1);
8999}
9000impl FuseCode {
9001    pub const ANEURALNETWORKS_FUSED_RELU1: FuseCode = FuseCode(2);
9002}
9003impl FuseCode {
9004    pub const ANEURALNETWORKS_FUSED_RELU6: FuseCode = FuseCode(3);
9005}
9006#[repr(transparent)]
9007#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9008pub struct FuseCode(pub ::std::os::raw::c_uint);
9009impl PaddingCode {
9010    pub const ANEURALNETWORKS_PADDING_SAME: PaddingCode = PaddingCode(1);
9011}
9012impl PaddingCode {
9013    pub const ANEURALNETWORKS_PADDING_VALID: PaddingCode = PaddingCode(2);
9014}
9015#[repr(transparent)]
9016#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9017pub struct PaddingCode(pub ::std::os::raw::c_uint);
9018impl PreferenceCode {
9019    pub const ANEURALNETWORKS_PREFER_LOW_POWER: PreferenceCode = PreferenceCode(0);
9020}
9021impl PreferenceCode {
9022    pub const ANEURALNETWORKS_PREFER_FAST_SINGLE_ANSWER: PreferenceCode = PreferenceCode(1);
9023}
9024impl PreferenceCode {
9025    pub const ANEURALNETWORKS_PREFER_SUSTAINED_SPEED: PreferenceCode = PreferenceCode(2);
9026}
9027#[repr(transparent)]
9028#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9029pub struct PreferenceCode(pub ::std::os::raw::c_uint);
9030impl DeviceTypeCode {
9031    pub const ANEURALNETWORKS_DEVICE_UNKNOWN: DeviceTypeCode = DeviceTypeCode(0);
9032}
9033impl DeviceTypeCode {
9034    pub const ANEURALNETWORKS_DEVICE_OTHER: DeviceTypeCode = DeviceTypeCode(1);
9035}
9036impl DeviceTypeCode {
9037    pub const ANEURALNETWORKS_DEVICE_CPU: DeviceTypeCode = DeviceTypeCode(2);
9038}
9039impl DeviceTypeCode {
9040    pub const ANEURALNETWORKS_DEVICE_GPU: DeviceTypeCode = DeviceTypeCode(3);
9041}
9042impl DeviceTypeCode {
9043    pub const ANEURALNETWORKS_DEVICE_ACCELERATOR: DeviceTypeCode = DeviceTypeCode(4);
9044}
9045#[repr(transparent)]
9046#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9047pub struct DeviceTypeCode(pub ::std::os::raw::c_uint);
9048impl FeatureLevelCode {
9049    pub const ANEURALNETWORKS_FEATURE_LEVEL_1: FeatureLevelCode = FeatureLevelCode(27);
9050}
9051impl FeatureLevelCode {
9052    pub const ANEURALNETWORKS_FEATURE_LEVEL_2: FeatureLevelCode = FeatureLevelCode(28);
9053}
9054impl FeatureLevelCode {
9055    pub const ANEURALNETWORKS_FEATURE_LEVEL_3: FeatureLevelCode = FeatureLevelCode(29);
9056}
9057impl FeatureLevelCode {
9058    pub const ANEURALNETWORKS_FEATURE_LEVEL_4: FeatureLevelCode = FeatureLevelCode(30);
9059}
9060impl FeatureLevelCode {
9061    pub const ANEURALNETWORKS_FEATURE_LEVEL_5: FeatureLevelCode = FeatureLevelCode(31);
9062}
9063impl FeatureLevelCode {
9064    pub const ANEURALNETWORKS_FEATURE_LEVEL_6: FeatureLevelCode = FeatureLevelCode(1000006);
9065}
9066impl FeatureLevelCode {
9067    pub const ANEURALNETWORKS_FEATURE_LEVEL_7: FeatureLevelCode = FeatureLevelCode(1000007);
9068}
9069impl FeatureLevelCode {
9070    pub const ANEURALNETWORKS_FEATURE_LEVEL_8: FeatureLevelCode = FeatureLevelCode(1000008);
9071}
9072#[repr(transparent)]
9073#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9074pub struct FeatureLevelCode(pub ::std::os::raw::c_uint);
9075impl ResultCode {
9076    pub const ANEURALNETWORKS_NO_ERROR: ResultCode = ResultCode(0);
9077}
9078impl ResultCode {
9079    pub const ANEURALNETWORKS_OUT_OF_MEMORY: ResultCode = ResultCode(1);
9080}
9081impl ResultCode {
9082    pub const ANEURALNETWORKS_INCOMPLETE: ResultCode = ResultCode(2);
9083}
9084impl ResultCode {
9085    pub const ANEURALNETWORKS_UNEXPECTED_NULL: ResultCode = ResultCode(3);
9086}
9087impl ResultCode {
9088    pub const ANEURALNETWORKS_BAD_DATA: ResultCode = ResultCode(4);
9089}
9090impl ResultCode {
9091    pub const ANEURALNETWORKS_OP_FAILED: ResultCode = ResultCode(5);
9092}
9093impl ResultCode {
9094    pub const ANEURALNETWORKS_BAD_STATE: ResultCode = ResultCode(6);
9095}
9096impl ResultCode {
9097    pub const ANEURALNETWORKS_UNMAPPABLE: ResultCode = ResultCode(7);
9098}
9099impl ResultCode {
9100    pub const ANEURALNETWORKS_OUTPUT_INSUFFICIENT_SIZE: ResultCode = ResultCode(8);
9101}
9102impl ResultCode {
9103    pub const ANEURALNETWORKS_UNAVAILABLE_DEVICE: ResultCode = ResultCode(9);
9104}
9105impl ResultCode {
9106    pub const ANEURALNETWORKS_MISSED_DEADLINE_TRANSIENT: ResultCode = ResultCode(10);
9107}
9108impl ResultCode {
9109    pub const ANEURALNETWORKS_MISSED_DEADLINE_PERSISTENT: ResultCode = ResultCode(11);
9110}
9111impl ResultCode {
9112    pub const ANEURALNETWORKS_RESOURCE_EXHAUSTED_TRANSIENT: ResultCode = ResultCode(12);
9113}
9114impl ResultCode {
9115    pub const ANEURALNETWORKS_RESOURCE_EXHAUSTED_PERSISTENT: ResultCode = ResultCode(13);
9116}
9117impl ResultCode {
9118    pub const ANEURALNETWORKS_DEAD_OBJECT: ResultCode = ResultCode(14);
9119}
9120#[repr(transparent)]
9121#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9122pub struct ResultCode(pub ::std::os::raw::c_uint);
9123pub const ANEURALNETWORKS_MAX_SIZE_OF_IMMEDIATELY_COPIED_VALUES: _bindgen_ty_35 = 128;
9124pub type _bindgen_ty_35 = ::std::os::raw::c_uint;
9125pub const ANEURALNETWORKS_BYTE_SIZE_OF_CACHE_TOKEN: _bindgen_ty_36 = 32;
9126pub type _bindgen_ty_36 = ::std::os::raw::c_uint;
9127impl DurationCode {
9128    pub const ANEURALNETWORKS_DURATION_ON_HARDWARE: DurationCode = DurationCode(0);
9129}
9130impl DurationCode {
9131    pub const ANEURALNETWORKS_DURATION_IN_DRIVER: DurationCode = DurationCode(1);
9132}
9133impl DurationCode {
9134    pub const ANEURALNETWORKS_FENCED_DURATION_ON_HARDWARE: DurationCode = DurationCode(2);
9135}
9136impl DurationCode {
9137    pub const ANEURALNETWORKS_FENCED_DURATION_IN_DRIVER: DurationCode = DurationCode(3);
9138}
9139#[repr(transparent)]
9140#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9141pub struct DurationCode(pub ::std::os::raw::c_uint);
9142impl PriorityCode {
9143    pub const ANEURALNETWORKS_PRIORITY_LOW: PriorityCode = PriorityCode(90);
9144}
9145impl PriorityCode {
9146    pub const ANEURALNETWORKS_PRIORITY_MEDIUM: PriorityCode = PriorityCode(100);
9147}
9148impl PriorityCode {
9149    pub const ANEURALNETWORKS_PRIORITY_HIGH: PriorityCode = PriorityCode(110);
9150}
9151impl PriorityCode {
9152    pub const ANEURALNETWORKS_PRIORITY_DEFAULT: PriorityCode = PriorityCode(100);
9153}
9154#[repr(transparent)]
9155#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9156pub struct PriorityCode(pub ::std::os::raw::c_uint);
9157#[repr(C)]
9158#[derive(Debug, Copy, Clone)]
9159pub struct ANeuralNetworksMemory {
9160    _unused: [u8; 0],
9161}
9162#[repr(C)]
9163#[derive(Debug, Copy, Clone)]
9164pub struct ANeuralNetworksModel {
9165    _unused: [u8; 0],
9166}
9167#[repr(C)]
9168#[derive(Debug, Copy, Clone)]
9169pub struct ANeuralNetworksCompilation {
9170    _unused: [u8; 0],
9171}
9172#[repr(C)]
9173#[derive(Debug, Copy, Clone)]
9174pub struct ANeuralNetworksExecution {
9175    _unused: [u8; 0],
9176}
9177#[repr(C)]
9178#[derive(Debug, Copy, Clone)]
9179pub struct ANeuralNetworksSymmPerChannelQuantParams {
9180    pub channelDim: u32,
9181    pub scaleCount: u32,
9182    pub scales: *const f32,
9183}
9184#[test]
9185fn bindgen_test_layout_ANeuralNetworksSymmPerChannelQuantParams() {
9186    const UNINIT: ::std::mem::MaybeUninit<ANeuralNetworksSymmPerChannelQuantParams> =
9187        ::std::mem::MaybeUninit::uninit();
9188    let ptr = UNINIT.as_ptr();
9189    assert_eq!(
9190        ::std::mem::size_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
9191        12usize,
9192        concat!(
9193            "Size of: ",
9194            stringify!(ANeuralNetworksSymmPerChannelQuantParams)
9195        )
9196    );
9197    assert_eq!(
9198        ::std::mem::align_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
9199        4usize,
9200        concat!(
9201            "Alignment of ",
9202            stringify!(ANeuralNetworksSymmPerChannelQuantParams)
9203        )
9204    );
9205    assert_eq!(
9206        unsafe { ::std::ptr::addr_of!((*ptr).channelDim) as usize - ptr as usize },
9207        0usize,
9208        concat!(
9209            "Offset of field: ",
9210            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
9211            "::",
9212            stringify!(channelDim)
9213        )
9214    );
9215    assert_eq!(
9216        unsafe { ::std::ptr::addr_of!((*ptr).scaleCount) as usize - ptr as usize },
9217        4usize,
9218        concat!(
9219            "Offset of field: ",
9220            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
9221            "::",
9222            stringify!(scaleCount)
9223        )
9224    );
9225    assert_eq!(
9226        unsafe { ::std::ptr::addr_of!((*ptr).scales) as usize - ptr as usize },
9227        8usize,
9228        concat!(
9229            "Offset of field: ",
9230            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
9231            "::",
9232            stringify!(scales)
9233        )
9234    );
9235}
9236#[repr(C)]
9237#[derive(Debug, Copy, Clone)]
9238pub struct ANeuralNetworksBurst {
9239    _unused: [u8; 0],
9240}
9241#[repr(C)]
9242#[derive(Debug, Copy, Clone)]
9243pub struct ANeuralNetworksOperandType {
9244    pub type_: i32,
9245    pub dimensionCount: u32,
9246    pub dimensions: *const u32,
9247    pub scale: f32,
9248    pub zeroPoint: i32,
9249}
9250#[test]
9251fn bindgen_test_layout_ANeuralNetworksOperandType() {
9252    const UNINIT: ::std::mem::MaybeUninit<ANeuralNetworksOperandType> =
9253        ::std::mem::MaybeUninit::uninit();
9254    let ptr = UNINIT.as_ptr();
9255    assert_eq!(
9256        ::std::mem::size_of::<ANeuralNetworksOperandType>(),
9257        20usize,
9258        concat!("Size of: ", stringify!(ANeuralNetworksOperandType))
9259    );
9260    assert_eq!(
9261        ::std::mem::align_of::<ANeuralNetworksOperandType>(),
9262        4usize,
9263        concat!("Alignment of ", stringify!(ANeuralNetworksOperandType))
9264    );
9265    assert_eq!(
9266        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
9267        0usize,
9268        concat!(
9269            "Offset of field: ",
9270            stringify!(ANeuralNetworksOperandType),
9271            "::",
9272            stringify!(type_)
9273        )
9274    );
9275    assert_eq!(
9276        unsafe { ::std::ptr::addr_of!((*ptr).dimensionCount) as usize - ptr as usize },
9277        4usize,
9278        concat!(
9279            "Offset of field: ",
9280            stringify!(ANeuralNetworksOperandType),
9281            "::",
9282            stringify!(dimensionCount)
9283        )
9284    );
9285    assert_eq!(
9286        unsafe { ::std::ptr::addr_of!((*ptr).dimensions) as usize - ptr as usize },
9287        8usize,
9288        concat!(
9289            "Offset of field: ",
9290            stringify!(ANeuralNetworksOperandType),
9291            "::",
9292            stringify!(dimensions)
9293        )
9294    );
9295    assert_eq!(
9296        unsafe { ::std::ptr::addr_of!((*ptr).scale) as usize - ptr as usize },
9297        12usize,
9298        concat!(
9299            "Offset of field: ",
9300            stringify!(ANeuralNetworksOperandType),
9301            "::",
9302            stringify!(scale)
9303        )
9304    );
9305    assert_eq!(
9306        unsafe { ::std::ptr::addr_of!((*ptr).zeroPoint) as usize - ptr as usize },
9307        16usize,
9308        concat!(
9309            "Offset of field: ",
9310            stringify!(ANeuralNetworksOperandType),
9311            "::",
9312            stringify!(zeroPoint)
9313        )
9314    );
9315}
9316pub type ANeuralNetworksOperationType = i32;
9317#[repr(C)]
9318#[derive(Debug, Copy, Clone)]
9319pub struct ANeuralNetworksEvent {
9320    _unused: [u8; 0],
9321}
9322#[repr(C)]
9323#[derive(Debug, Copy, Clone)]
9324pub struct ANeuralNetworksDevice {
9325    _unused: [u8; 0],
9326}
9327#[repr(C)]
9328#[derive(Debug, Copy, Clone)]
9329pub struct ANeuralNetworksMemoryDesc {
9330    _unused: [u8; 0],
9331}
9332extern "C" {
9333    pub fn ANeuralNetworksMemoryDesc_create(
9334        desc: *mut *mut ANeuralNetworksMemoryDesc,
9335    ) -> ::std::os::raw::c_int;
9336}
9337extern "C" {
9338    pub fn ANeuralNetworksMemoryDesc_free(desc: *mut ANeuralNetworksMemoryDesc);
9339}
9340extern "C" {
9341    pub fn ANeuralNetworksMemoryDesc_addInputRole(
9342        desc: *mut ANeuralNetworksMemoryDesc,
9343        compilation: *const ANeuralNetworksCompilation,
9344        index: u32,
9345        frequency: f32,
9346    ) -> ::std::os::raw::c_int;
9347}
9348extern "C" {
9349    pub fn ANeuralNetworksMemoryDesc_addOutputRole(
9350        desc: *mut ANeuralNetworksMemoryDesc,
9351        compilation: *const ANeuralNetworksCompilation,
9352        index: u32,
9353        frequency: f32,
9354    ) -> ::std::os::raw::c_int;
9355}
9356extern "C" {
9357    pub fn ANeuralNetworksMemoryDesc_setDimensions(
9358        desc: *mut ANeuralNetworksMemoryDesc,
9359        rank: u32,
9360        dimensions: *const u32,
9361    ) -> ::std::os::raw::c_int;
9362}
9363extern "C" {
9364    pub fn ANeuralNetworksMemoryDesc_finish(
9365        desc: *mut ANeuralNetworksMemoryDesc,
9366    ) -> ::std::os::raw::c_int;
9367}
9368extern "C" {
9369    pub fn ANeuralNetworksMemory_createFromDesc(
9370        desc: *const ANeuralNetworksMemoryDesc,
9371        memory: *mut *mut ANeuralNetworksMemory,
9372    ) -> ::std::os::raw::c_int;
9373}
9374extern "C" {
9375    pub fn ANeuralNetworksMemory_copy(
9376        src: *const ANeuralNetworksMemory,
9377        dst: *const ANeuralNetworksMemory,
9378    ) -> ::std::os::raw::c_int;
9379}
9380extern "C" {
9381    pub fn ANeuralNetworks_getDeviceCount(numDevices: *mut u32) -> ::std::os::raw::c_int;
9382}
9383extern "C" {
9384    pub fn ANeuralNetworks_getDevice(
9385        devIndex: u32,
9386        device: *mut *mut ANeuralNetworksDevice,
9387    ) -> ::std::os::raw::c_int;
9388}
9389extern "C" {
9390    pub fn ANeuralNetworksDevice_getName(
9391        device: *const ANeuralNetworksDevice,
9392        name: *mut *const ::std::os::raw::c_char,
9393    ) -> ::std::os::raw::c_int;
9394}
9395extern "C" {
9396    pub fn ANeuralNetworksDevice_getType(
9397        device: *const ANeuralNetworksDevice,
9398        type_: *mut i32,
9399    ) -> ::std::os::raw::c_int;
9400}
9401extern "C" {
9402    pub fn ANeuralNetworksDevice_getVersion(
9403        device: *const ANeuralNetworksDevice,
9404        version: *mut *const ::std::os::raw::c_char,
9405    ) -> ::std::os::raw::c_int;
9406}
9407extern "C" {
9408    pub fn ANeuralNetworksDevice_getFeatureLevel(
9409        device: *const ANeuralNetworksDevice,
9410        featureLevel: *mut i64,
9411    ) -> ::std::os::raw::c_int;
9412}
9413extern "C" {
9414    pub fn ANeuralNetworksDevice_wait(
9415        device: *const ANeuralNetworksDevice,
9416    ) -> ::std::os::raw::c_int;
9417}
9418extern "C" {
9419    pub fn ANeuralNetworksModel_getSupportedOperationsForDevices(
9420        model: *const ANeuralNetworksModel,
9421        devices: *const *const ANeuralNetworksDevice,
9422        numDevices: u32,
9423        supportedOps: *mut bool,
9424    ) -> ::std::os::raw::c_int;
9425}
9426extern "C" {
9427    pub fn ANeuralNetworksCompilation_createForDevices(
9428        model: *mut ANeuralNetworksModel,
9429        devices: *const *const ANeuralNetworksDevice,
9430        numDevices: u32,
9431        compilation: *mut *mut ANeuralNetworksCompilation,
9432    ) -> ::std::os::raw::c_int;
9433}
9434extern "C" {
9435    pub fn ANeuralNetworksCompilation_setCaching(
9436        compilation: *mut ANeuralNetworksCompilation,
9437        cacheDir: *const ::std::os::raw::c_char,
9438        token: *const u8,
9439    ) -> ::std::os::raw::c_int;
9440}
9441extern "C" {
9442    pub fn ANeuralNetworksExecution_compute(
9443        execution: *mut ANeuralNetworksExecution,
9444    ) -> ::std::os::raw::c_int;
9445}
9446extern "C" {
9447    pub fn ANeuralNetworksExecution_getOutputOperandRank(
9448        execution: *mut ANeuralNetworksExecution,
9449        index: i32,
9450        rank: *mut u32,
9451    ) -> ::std::os::raw::c_int;
9452}
9453extern "C" {
9454    pub fn ANeuralNetworksExecution_getOutputOperandDimensions(
9455        execution: *mut ANeuralNetworksExecution,
9456        index: i32,
9457        dimensions: *mut u32,
9458    ) -> ::std::os::raw::c_int;
9459}
9460extern "C" {
9461    pub fn ANeuralNetworksBurst_create(
9462        compilation: *mut ANeuralNetworksCompilation,
9463        burst: *mut *mut ANeuralNetworksBurst,
9464    ) -> ::std::os::raw::c_int;
9465}
9466extern "C" {
9467    pub fn ANeuralNetworksBurst_free(burst: *mut ANeuralNetworksBurst);
9468}
9469extern "C" {
9470    pub fn ANeuralNetworksExecution_burstCompute(
9471        execution: *mut ANeuralNetworksExecution,
9472        burst: *mut ANeuralNetworksBurst,
9473    ) -> ::std::os::raw::c_int;
9474}
9475extern "C" {
9476    pub fn ANeuralNetworksMemory_createFromAHardwareBuffer(
9477        ahwb: *const AHardwareBuffer,
9478        memory: *mut *mut ANeuralNetworksMemory,
9479    ) -> ::std::os::raw::c_int;
9480}
9481extern "C" {
9482    pub fn ANeuralNetworksExecution_setMeasureTiming(
9483        execution: *mut ANeuralNetworksExecution,
9484        measure: bool,
9485    ) -> ::std::os::raw::c_int;
9486}
9487extern "C" {
9488    pub fn ANeuralNetworksExecution_getDuration(
9489        execution: *const ANeuralNetworksExecution,
9490        durationCode: i32,
9491        duration: *mut u64,
9492    ) -> ::std::os::raw::c_int;
9493}
9494extern "C" {
9495    pub fn ANeuralNetworksMemory_createFromFd(
9496        size: usize,
9497        protect: ::std::os::raw::c_int,
9498        fd: ::std::os::raw::c_int,
9499        offset: usize,
9500        memory: *mut *mut ANeuralNetworksMemory,
9501    ) -> ::std::os::raw::c_int;
9502}
9503extern "C" {
9504    pub fn ANeuralNetworksMemory_free(memory: *mut ANeuralNetworksMemory);
9505}
9506extern "C" {
9507    pub fn ANeuralNetworksModel_create(
9508        model: *mut *mut ANeuralNetworksModel,
9509    ) -> ::std::os::raw::c_int;
9510}
9511extern "C" {
9512    pub fn ANeuralNetworksModel_free(model: *mut ANeuralNetworksModel);
9513}
9514extern "C" {
9515    pub fn ANeuralNetworksModel_finish(model: *mut ANeuralNetworksModel) -> ::std::os::raw::c_int;
9516}
9517extern "C" {
9518    pub fn ANeuralNetworksModel_addOperand(
9519        model: *mut ANeuralNetworksModel,
9520        type_: *const ANeuralNetworksOperandType,
9521    ) -> ::std::os::raw::c_int;
9522}
9523extern "C" {
9524    pub fn ANeuralNetworksModel_setOperandValue(
9525        model: *mut ANeuralNetworksModel,
9526        index: i32,
9527        buffer: *const ::std::os::raw::c_void,
9528        length: usize,
9529    ) -> ::std::os::raw::c_int;
9530}
9531extern "C" {
9532    pub fn ANeuralNetworksModel_setOperandSymmPerChannelQuantParams(
9533        model: *mut ANeuralNetworksModel,
9534        index: i32,
9535        channelQuant: *const ANeuralNetworksSymmPerChannelQuantParams,
9536    ) -> ::std::os::raw::c_int;
9537}
9538extern "C" {
9539    pub fn ANeuralNetworksModel_setOperandValueFromMemory(
9540        model: *mut ANeuralNetworksModel,
9541        index: i32,
9542        memory: *const ANeuralNetworksMemory,
9543        offset: usize,
9544        length: usize,
9545    ) -> ::std::os::raw::c_int;
9546}
9547extern "C" {
9548    pub fn ANeuralNetworksModel_setOperandValueFromModel(
9549        model: *mut ANeuralNetworksModel,
9550        index: i32,
9551        value: *const ANeuralNetworksModel,
9552    ) -> ::std::os::raw::c_int;
9553}
9554extern "C" {
9555    pub fn ANeuralNetworksModel_addOperation(
9556        model: *mut ANeuralNetworksModel,
9557        type_: ANeuralNetworksOperationType,
9558        inputCount: u32,
9559        inputs: *const u32,
9560        outputCount: u32,
9561        outputs: *const u32,
9562    ) -> ::std::os::raw::c_int;
9563}
9564extern "C" {
9565    pub fn ANeuralNetworksModel_identifyInputsAndOutputs(
9566        model: *mut ANeuralNetworksModel,
9567        inputCount: u32,
9568        inputs: *const u32,
9569        outputCount: u32,
9570        outputs: *const u32,
9571    ) -> ::std::os::raw::c_int;
9572}
9573extern "C" {
9574    pub fn ANeuralNetworksModel_relaxComputationFloat32toFloat16(
9575        model: *mut ANeuralNetworksModel,
9576        allow: bool,
9577    ) -> ::std::os::raw::c_int;
9578}
9579extern "C" {
9580    pub fn ANeuralNetworksCompilation_create(
9581        model: *mut ANeuralNetworksModel,
9582        compilation: *mut *mut ANeuralNetworksCompilation,
9583    ) -> ::std::os::raw::c_int;
9584}
9585extern "C" {
9586    pub fn ANeuralNetworksCompilation_free(compilation: *mut ANeuralNetworksCompilation);
9587}
9588extern "C" {
9589    pub fn ANeuralNetworksCompilation_setPreference(
9590        compilation: *mut ANeuralNetworksCompilation,
9591        preference: i32,
9592    ) -> ::std::os::raw::c_int;
9593}
9594extern "C" {
9595    pub fn ANeuralNetworksCompilation_finish(
9596        compilation: *mut ANeuralNetworksCompilation,
9597    ) -> ::std::os::raw::c_int;
9598}
9599extern "C" {
9600    pub fn ANeuralNetworksCompilation_setPriority(
9601        compilation: *mut ANeuralNetworksCompilation,
9602        priority: ::std::os::raw::c_int,
9603    ) -> ::std::os::raw::c_int;
9604}
9605extern "C" {
9606    pub fn ANeuralNetworksCompilation_setTimeout(
9607        compilation: *mut ANeuralNetworksCompilation,
9608        duration: u64,
9609    ) -> ::std::os::raw::c_int;
9610}
9611extern "C" {
9612    pub fn ANeuralNetworksExecution_create(
9613        compilation: *mut ANeuralNetworksCompilation,
9614        execution: *mut *mut ANeuralNetworksExecution,
9615    ) -> ::std::os::raw::c_int;
9616}
9617extern "C" {
9618    pub fn ANeuralNetworksExecution_free(execution: *mut ANeuralNetworksExecution);
9619}
9620extern "C" {
9621    pub fn ANeuralNetworksExecution_setInput(
9622        execution: *mut ANeuralNetworksExecution,
9623        index: i32,
9624        type_: *const ANeuralNetworksOperandType,
9625        buffer: *const ::std::os::raw::c_void,
9626        length: usize,
9627    ) -> ::std::os::raw::c_int;
9628}
9629extern "C" {
9630    pub fn ANeuralNetworksExecution_setInputFromMemory(
9631        execution: *mut ANeuralNetworksExecution,
9632        index: i32,
9633        type_: *const ANeuralNetworksOperandType,
9634        memory: *const ANeuralNetworksMemory,
9635        offset: usize,
9636        length: usize,
9637    ) -> ::std::os::raw::c_int;
9638}
9639extern "C" {
9640    pub fn ANeuralNetworksExecution_setOutput(
9641        execution: *mut ANeuralNetworksExecution,
9642        index: i32,
9643        type_: *const ANeuralNetworksOperandType,
9644        buffer: *mut ::std::os::raw::c_void,
9645        length: usize,
9646    ) -> ::std::os::raw::c_int;
9647}
9648extern "C" {
9649    pub fn ANeuralNetworksExecution_setOutputFromMemory(
9650        execution: *mut ANeuralNetworksExecution,
9651        index: i32,
9652        type_: *const ANeuralNetworksOperandType,
9653        memory: *const ANeuralNetworksMemory,
9654        offset: usize,
9655        length: usize,
9656    ) -> ::std::os::raw::c_int;
9657}
9658extern "C" {
9659    pub fn ANeuralNetworksExecution_startCompute(
9660        execution: *mut ANeuralNetworksExecution,
9661        event: *mut *mut ANeuralNetworksEvent,
9662    ) -> ::std::os::raw::c_int;
9663}
9664extern "C" {
9665    pub fn ANeuralNetworksExecution_setTimeout(
9666        execution: *mut ANeuralNetworksExecution,
9667        duration: u64,
9668    ) -> ::std::os::raw::c_int;
9669}
9670extern "C" {
9671    pub fn ANeuralNetworksExecution_setLoopTimeout(
9672        execution: *mut ANeuralNetworksExecution,
9673        duration: u64,
9674    ) -> ::std::os::raw::c_int;
9675}
9676extern "C" {
9677    pub fn ANeuralNetworks_getDefaultLoopTimeout() -> u64;
9678}
9679extern "C" {
9680    pub fn ANeuralNetworks_getMaximumLoopTimeout() -> u64;
9681}
9682extern "C" {
9683    pub fn ANeuralNetworksEvent_wait(event: *mut ANeuralNetworksEvent) -> ::std::os::raw::c_int;
9684}
9685extern "C" {
9686    pub fn ANeuralNetworksEvent_free(event: *mut ANeuralNetworksEvent);
9687}
9688extern "C" {
9689    pub fn ANeuralNetworksEvent_createFromSyncFenceFd(
9690        sync_fence_fd: ::std::os::raw::c_int,
9691        event: *mut *mut ANeuralNetworksEvent,
9692    ) -> ::std::os::raw::c_int;
9693}
9694extern "C" {
9695    pub fn ANeuralNetworksEvent_getSyncFenceFd(
9696        event: *const ANeuralNetworksEvent,
9697        sync_fence_fd: *mut ::std::os::raw::c_int,
9698    ) -> ::std::os::raw::c_int;
9699}
9700extern "C" {
9701    pub fn ANeuralNetworksExecution_startComputeWithDependencies(
9702        execution: *mut ANeuralNetworksExecution,
9703        dependencies: *const *const ANeuralNetworksEvent,
9704        num_dependencies: u32,
9705        duration: u64,
9706        event: *mut *mut ANeuralNetworksEvent,
9707    ) -> ::std::os::raw::c_int;
9708}
9709extern "C" {
9710    pub fn ANeuralNetworks_getRuntimeFeatureLevel() -> i64;
9711}
9712extern "C" {
9713    pub fn ANeuralNetworksExecution_enableInputAndOutputPadding(
9714        execution: *mut ANeuralNetworksExecution,
9715        enable: bool,
9716    ) -> ::std::os::raw::c_int;
9717}
9718extern "C" {
9719    pub fn ANeuralNetworksCompilation_getPreferredMemoryAlignmentForInput(
9720        compilation: *const ANeuralNetworksCompilation,
9721        index: u32,
9722        alignment: *mut u32,
9723    ) -> ::std::os::raw::c_int;
9724}
9725extern "C" {
9726    pub fn ANeuralNetworksCompilation_getPreferredMemoryPaddingForInput(
9727        compilation: *const ANeuralNetworksCompilation,
9728        index: u32,
9729        padding: *mut u32,
9730    ) -> ::std::os::raw::c_int;
9731}
9732extern "C" {
9733    pub fn ANeuralNetworksCompilation_getPreferredMemoryAlignmentForOutput(
9734        compilation: *const ANeuralNetworksCompilation,
9735        index: u32,
9736        alignment: *mut u32,
9737    ) -> ::std::os::raw::c_int;
9738}
9739extern "C" {
9740    pub fn ANeuralNetworksCompilation_getPreferredMemoryPaddingForOutput(
9741        compilation: *const ANeuralNetworksCompilation,
9742        index: u32,
9743        padding: *mut u32,
9744    ) -> ::std::os::raw::c_int;
9745}
9746extern "C" {
9747    pub fn ANeuralNetworksExecution_setReusable(
9748        execution: *mut ANeuralNetworksExecution,
9749        reusable: bool,
9750    ) -> ::std::os::raw::c_int;
9751}
9752#[repr(C)]
9753#[derive(Debug, Copy, Clone)]
9754pub struct AObbInfo {
9755    _unused: [u8; 0],
9756}
9757pub const AOBBINFO_OVERLAY: _bindgen_ty_37 = 1;
9758pub type _bindgen_ty_37 = ::std::os::raw::c_uint;
9759extern "C" {
9760    pub fn AObbScanner_getObbInfo(filename: *const ::std::os::raw::c_char) -> *mut AObbInfo;
9761}
9762extern "C" {
9763    pub fn AObbInfo_delete(obbInfo: *mut AObbInfo);
9764}
9765extern "C" {
9766    pub fn AObbInfo_getPackageName(obbInfo: *mut AObbInfo) -> *const ::std::os::raw::c_char;
9767}
9768extern "C" {
9769    pub fn AObbInfo_getVersion(obbInfo: *mut AObbInfo) -> i32;
9770}
9771extern "C" {
9772    pub fn AObbInfo_getFlags(obbInfo: *mut AObbInfo) -> i32;
9773}
9774#[repr(C)]
9775#[derive(Debug, Copy, Clone)]
9776pub struct timespec {
9777    pub tv_sec: time_t,
9778    pub tv_nsec: ::std::os::raw::c_long,
9779}
9780#[test]
9781fn bindgen_test_layout_timespec() {
9782    const UNINIT: ::std::mem::MaybeUninit<timespec> = ::std::mem::MaybeUninit::uninit();
9783    let ptr = UNINIT.as_ptr();
9784    assert_eq!(
9785        ::std::mem::size_of::<timespec>(),
9786        8usize,
9787        concat!("Size of: ", stringify!(timespec))
9788    );
9789    assert_eq!(
9790        ::std::mem::align_of::<timespec>(),
9791        4usize,
9792        concat!("Alignment of ", stringify!(timespec))
9793    );
9794    assert_eq!(
9795        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9796        0usize,
9797        concat!(
9798            "Offset of field: ",
9799            stringify!(timespec),
9800            "::",
9801            stringify!(tv_sec)
9802        )
9803    );
9804    assert_eq!(
9805        unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
9806        4usize,
9807        concat!(
9808            "Offset of field: ",
9809            stringify!(timespec),
9810            "::",
9811            stringify!(tv_nsec)
9812        )
9813    );
9814}
9815#[repr(C)]
9816#[derive(Debug, Copy, Clone)]
9817pub struct __kernel_timespec {
9818    pub tv_sec: __kernel_time64_t,
9819    pub tv_nsec: ::std::os::raw::c_longlong,
9820}
9821#[test]
9822fn bindgen_test_layout___kernel_timespec() {
9823    const UNINIT: ::std::mem::MaybeUninit<__kernel_timespec> = ::std::mem::MaybeUninit::uninit();
9824    let ptr = UNINIT.as_ptr();
9825    assert_eq!(
9826        ::std::mem::size_of::<__kernel_timespec>(),
9827        16usize,
9828        concat!("Size of: ", stringify!(__kernel_timespec))
9829    );
9830    assert_eq!(
9831        ::std::mem::align_of::<__kernel_timespec>(),
9832        8usize,
9833        concat!("Alignment of ", stringify!(__kernel_timespec))
9834    );
9835    assert_eq!(
9836        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9837        0usize,
9838        concat!(
9839            "Offset of field: ",
9840            stringify!(__kernel_timespec),
9841            "::",
9842            stringify!(tv_sec)
9843        )
9844    );
9845    assert_eq!(
9846        unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
9847        8usize,
9848        concat!(
9849            "Offset of field: ",
9850            stringify!(__kernel_timespec),
9851            "::",
9852            stringify!(tv_nsec)
9853        )
9854    );
9855}
9856#[repr(C)]
9857#[derive(Debug, Copy, Clone)]
9858pub struct __kernel_itimerspec {
9859    pub it_interval: __kernel_timespec,
9860    pub it_value: __kernel_timespec,
9861}
9862#[test]
9863fn bindgen_test_layout___kernel_itimerspec() {
9864    const UNINIT: ::std::mem::MaybeUninit<__kernel_itimerspec> = ::std::mem::MaybeUninit::uninit();
9865    let ptr = UNINIT.as_ptr();
9866    assert_eq!(
9867        ::std::mem::size_of::<__kernel_itimerspec>(),
9868        32usize,
9869        concat!("Size of: ", stringify!(__kernel_itimerspec))
9870    );
9871    assert_eq!(
9872        ::std::mem::align_of::<__kernel_itimerspec>(),
9873        8usize,
9874        concat!("Alignment of ", stringify!(__kernel_itimerspec))
9875    );
9876    assert_eq!(
9877        unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize },
9878        0usize,
9879        concat!(
9880            "Offset of field: ",
9881            stringify!(__kernel_itimerspec),
9882            "::",
9883            stringify!(it_interval)
9884        )
9885    );
9886    assert_eq!(
9887        unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize },
9888        16usize,
9889        concat!(
9890            "Offset of field: ",
9891            stringify!(__kernel_itimerspec),
9892            "::",
9893            stringify!(it_value)
9894        )
9895    );
9896}
9897#[repr(C)]
9898#[derive(Debug, Copy, Clone)]
9899pub struct __kernel_old_timespec {
9900    pub tv_sec: __kernel_old_time_t,
9901    pub tv_nsec: ::std::os::raw::c_long,
9902}
9903#[test]
9904fn bindgen_test_layout___kernel_old_timespec() {
9905    const UNINIT: ::std::mem::MaybeUninit<__kernel_old_timespec> =
9906        ::std::mem::MaybeUninit::uninit();
9907    let ptr = UNINIT.as_ptr();
9908    assert_eq!(
9909        ::std::mem::size_of::<__kernel_old_timespec>(),
9910        8usize,
9911        concat!("Size of: ", stringify!(__kernel_old_timespec))
9912    );
9913    assert_eq!(
9914        ::std::mem::align_of::<__kernel_old_timespec>(),
9915        4usize,
9916        concat!("Alignment of ", stringify!(__kernel_old_timespec))
9917    );
9918    assert_eq!(
9919        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9920        0usize,
9921        concat!(
9922            "Offset of field: ",
9923            stringify!(__kernel_old_timespec),
9924            "::",
9925            stringify!(tv_sec)
9926        )
9927    );
9928    assert_eq!(
9929        unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
9930        4usize,
9931        concat!(
9932            "Offset of field: ",
9933            stringify!(__kernel_old_timespec),
9934            "::",
9935            stringify!(tv_nsec)
9936        )
9937    );
9938}
9939#[repr(C)]
9940#[derive(Debug, Copy, Clone)]
9941pub struct __kernel_sock_timeval {
9942    pub tv_sec: __s64,
9943    pub tv_usec: __s64,
9944}
9945#[test]
9946fn bindgen_test_layout___kernel_sock_timeval() {
9947    const UNINIT: ::std::mem::MaybeUninit<__kernel_sock_timeval> =
9948        ::std::mem::MaybeUninit::uninit();
9949    let ptr = UNINIT.as_ptr();
9950    assert_eq!(
9951        ::std::mem::size_of::<__kernel_sock_timeval>(),
9952        16usize,
9953        concat!("Size of: ", stringify!(__kernel_sock_timeval))
9954    );
9955    assert_eq!(
9956        ::std::mem::align_of::<__kernel_sock_timeval>(),
9957        8usize,
9958        concat!("Alignment of ", stringify!(__kernel_sock_timeval))
9959    );
9960    assert_eq!(
9961        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9962        0usize,
9963        concat!(
9964            "Offset of field: ",
9965            stringify!(__kernel_sock_timeval),
9966            "::",
9967            stringify!(tv_sec)
9968        )
9969    );
9970    assert_eq!(
9971        unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
9972        8usize,
9973        concat!(
9974            "Offset of field: ",
9975            stringify!(__kernel_sock_timeval),
9976            "::",
9977            stringify!(tv_usec)
9978        )
9979    );
9980}
9981#[repr(C)]
9982#[derive(Debug, Copy, Clone)]
9983pub struct timeval {
9984    pub tv_sec: __kernel_old_time_t,
9985    pub tv_usec: __kernel_suseconds_t,
9986}
9987#[test]
9988fn bindgen_test_layout_timeval() {
9989    const UNINIT: ::std::mem::MaybeUninit<timeval> = ::std::mem::MaybeUninit::uninit();
9990    let ptr = UNINIT.as_ptr();
9991    assert_eq!(
9992        ::std::mem::size_of::<timeval>(),
9993        8usize,
9994        concat!("Size of: ", stringify!(timeval))
9995    );
9996    assert_eq!(
9997        ::std::mem::align_of::<timeval>(),
9998        4usize,
9999        concat!("Alignment of ", stringify!(timeval))
10000    );
10001    assert_eq!(
10002        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
10003        0usize,
10004        concat!(
10005            "Offset of field: ",
10006            stringify!(timeval),
10007            "::",
10008            stringify!(tv_sec)
10009        )
10010    );
10011    assert_eq!(
10012        unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
10013        4usize,
10014        concat!(
10015            "Offset of field: ",
10016            stringify!(timeval),
10017            "::",
10018            stringify!(tv_usec)
10019        )
10020    );
10021}
10022#[repr(C)]
10023#[derive(Debug, Copy, Clone)]
10024pub struct itimerspec {
10025    pub it_interval: timespec,
10026    pub it_value: timespec,
10027}
10028#[test]
10029fn bindgen_test_layout_itimerspec() {
10030    const UNINIT: ::std::mem::MaybeUninit<itimerspec> = ::std::mem::MaybeUninit::uninit();
10031    let ptr = UNINIT.as_ptr();
10032    assert_eq!(
10033        ::std::mem::size_of::<itimerspec>(),
10034        16usize,
10035        concat!("Size of: ", stringify!(itimerspec))
10036    );
10037    assert_eq!(
10038        ::std::mem::align_of::<itimerspec>(),
10039        4usize,
10040        concat!("Alignment of ", stringify!(itimerspec))
10041    );
10042    assert_eq!(
10043        unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize },
10044        0usize,
10045        concat!(
10046            "Offset of field: ",
10047            stringify!(itimerspec),
10048            "::",
10049            stringify!(it_interval)
10050        )
10051    );
10052    assert_eq!(
10053        unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize },
10054        8usize,
10055        concat!(
10056            "Offset of field: ",
10057            stringify!(itimerspec),
10058            "::",
10059            stringify!(it_value)
10060        )
10061    );
10062}
10063#[repr(C)]
10064#[derive(Debug, Copy, Clone)]
10065pub struct itimerval {
10066    pub it_interval: timeval,
10067    pub it_value: timeval,
10068}
10069#[test]
10070fn bindgen_test_layout_itimerval() {
10071    const UNINIT: ::std::mem::MaybeUninit<itimerval> = ::std::mem::MaybeUninit::uninit();
10072    let ptr = UNINIT.as_ptr();
10073    assert_eq!(
10074        ::std::mem::size_of::<itimerval>(),
10075        16usize,
10076        concat!("Size of: ", stringify!(itimerval))
10077    );
10078    assert_eq!(
10079        ::std::mem::align_of::<itimerval>(),
10080        4usize,
10081        concat!("Alignment of ", stringify!(itimerval))
10082    );
10083    assert_eq!(
10084        unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize },
10085        0usize,
10086        concat!(
10087            "Offset of field: ",
10088            stringify!(itimerval),
10089            "::",
10090            stringify!(it_interval)
10091        )
10092    );
10093    assert_eq!(
10094        unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize },
10095        8usize,
10096        concat!(
10097            "Offset of field: ",
10098            stringify!(itimerval),
10099            "::",
10100            stringify!(it_value)
10101        )
10102    );
10103}
10104#[repr(C)]
10105#[derive(Debug, Copy, Clone)]
10106pub struct timezone {
10107    pub tz_minuteswest: ::std::os::raw::c_int,
10108    pub tz_dsttime: ::std::os::raw::c_int,
10109}
10110#[test]
10111fn bindgen_test_layout_timezone() {
10112    const UNINIT: ::std::mem::MaybeUninit<timezone> = ::std::mem::MaybeUninit::uninit();
10113    let ptr = UNINIT.as_ptr();
10114    assert_eq!(
10115        ::std::mem::size_of::<timezone>(),
10116        8usize,
10117        concat!("Size of: ", stringify!(timezone))
10118    );
10119    assert_eq!(
10120        ::std::mem::align_of::<timezone>(),
10121        4usize,
10122        concat!("Alignment of ", stringify!(timezone))
10123    );
10124    assert_eq!(
10125        unsafe { ::std::ptr::addr_of!((*ptr).tz_minuteswest) as usize - ptr as usize },
10126        0usize,
10127        concat!(
10128            "Offset of field: ",
10129            stringify!(timezone),
10130            "::",
10131            stringify!(tz_minuteswest)
10132        )
10133    );
10134    assert_eq!(
10135        unsafe { ::std::ptr::addr_of!((*ptr).tz_dsttime) as usize - ptr as usize },
10136        4usize,
10137        concat!(
10138            "Offset of field: ",
10139            stringify!(timezone),
10140            "::",
10141            stringify!(tz_dsttime)
10142        )
10143    );
10144}
10145#[repr(C)]
10146#[derive(Debug, Copy, Clone)]
10147pub struct sigcontext {
10148    pub trap_no: ::std::os::raw::c_ulong,
10149    pub error_code: ::std::os::raw::c_ulong,
10150    pub oldmask: ::std::os::raw::c_ulong,
10151    pub arm_r0: ::std::os::raw::c_ulong,
10152    pub arm_r1: ::std::os::raw::c_ulong,
10153    pub arm_r2: ::std::os::raw::c_ulong,
10154    pub arm_r3: ::std::os::raw::c_ulong,
10155    pub arm_r4: ::std::os::raw::c_ulong,
10156    pub arm_r5: ::std::os::raw::c_ulong,
10157    pub arm_r6: ::std::os::raw::c_ulong,
10158    pub arm_r7: ::std::os::raw::c_ulong,
10159    pub arm_r8: ::std::os::raw::c_ulong,
10160    pub arm_r9: ::std::os::raw::c_ulong,
10161    pub arm_r10: ::std::os::raw::c_ulong,
10162    pub arm_fp: ::std::os::raw::c_ulong,
10163    pub arm_ip: ::std::os::raw::c_ulong,
10164    pub arm_sp: ::std::os::raw::c_ulong,
10165    pub arm_lr: ::std::os::raw::c_ulong,
10166    pub arm_pc: ::std::os::raw::c_ulong,
10167    pub arm_cpsr: ::std::os::raw::c_ulong,
10168    pub fault_address: ::std::os::raw::c_ulong,
10169}
10170#[test]
10171fn bindgen_test_layout_sigcontext() {
10172    const UNINIT: ::std::mem::MaybeUninit<sigcontext> = ::std::mem::MaybeUninit::uninit();
10173    let ptr = UNINIT.as_ptr();
10174    assert_eq!(
10175        ::std::mem::size_of::<sigcontext>(),
10176        84usize,
10177        concat!("Size of: ", stringify!(sigcontext))
10178    );
10179    assert_eq!(
10180        ::std::mem::align_of::<sigcontext>(),
10181        4usize,
10182        concat!("Alignment of ", stringify!(sigcontext))
10183    );
10184    assert_eq!(
10185        unsafe { ::std::ptr::addr_of!((*ptr).trap_no) as usize - ptr as usize },
10186        0usize,
10187        concat!(
10188            "Offset of field: ",
10189            stringify!(sigcontext),
10190            "::",
10191            stringify!(trap_no)
10192        )
10193    );
10194    assert_eq!(
10195        unsafe { ::std::ptr::addr_of!((*ptr).error_code) as usize - ptr as usize },
10196        4usize,
10197        concat!(
10198            "Offset of field: ",
10199            stringify!(sigcontext),
10200            "::",
10201            stringify!(error_code)
10202        )
10203    );
10204    assert_eq!(
10205        unsafe { ::std::ptr::addr_of!((*ptr).oldmask) as usize - ptr as usize },
10206        8usize,
10207        concat!(
10208            "Offset of field: ",
10209            stringify!(sigcontext),
10210            "::",
10211            stringify!(oldmask)
10212        )
10213    );
10214    assert_eq!(
10215        unsafe { ::std::ptr::addr_of!((*ptr).arm_r0) as usize - ptr as usize },
10216        12usize,
10217        concat!(
10218            "Offset of field: ",
10219            stringify!(sigcontext),
10220            "::",
10221            stringify!(arm_r0)
10222        )
10223    );
10224    assert_eq!(
10225        unsafe { ::std::ptr::addr_of!((*ptr).arm_r1) as usize - ptr as usize },
10226        16usize,
10227        concat!(
10228            "Offset of field: ",
10229            stringify!(sigcontext),
10230            "::",
10231            stringify!(arm_r1)
10232        )
10233    );
10234    assert_eq!(
10235        unsafe { ::std::ptr::addr_of!((*ptr).arm_r2) as usize - ptr as usize },
10236        20usize,
10237        concat!(
10238            "Offset of field: ",
10239            stringify!(sigcontext),
10240            "::",
10241            stringify!(arm_r2)
10242        )
10243    );
10244    assert_eq!(
10245        unsafe { ::std::ptr::addr_of!((*ptr).arm_r3) as usize - ptr as usize },
10246        24usize,
10247        concat!(
10248            "Offset of field: ",
10249            stringify!(sigcontext),
10250            "::",
10251            stringify!(arm_r3)
10252        )
10253    );
10254    assert_eq!(
10255        unsafe { ::std::ptr::addr_of!((*ptr).arm_r4) as usize - ptr as usize },
10256        28usize,
10257        concat!(
10258            "Offset of field: ",
10259            stringify!(sigcontext),
10260            "::",
10261            stringify!(arm_r4)
10262        )
10263    );
10264    assert_eq!(
10265        unsafe { ::std::ptr::addr_of!((*ptr).arm_r5) as usize - ptr as usize },
10266        32usize,
10267        concat!(
10268            "Offset of field: ",
10269            stringify!(sigcontext),
10270            "::",
10271            stringify!(arm_r5)
10272        )
10273    );
10274    assert_eq!(
10275        unsafe { ::std::ptr::addr_of!((*ptr).arm_r6) as usize - ptr as usize },
10276        36usize,
10277        concat!(
10278            "Offset of field: ",
10279            stringify!(sigcontext),
10280            "::",
10281            stringify!(arm_r6)
10282        )
10283    );
10284    assert_eq!(
10285        unsafe { ::std::ptr::addr_of!((*ptr).arm_r7) as usize - ptr as usize },
10286        40usize,
10287        concat!(
10288            "Offset of field: ",
10289            stringify!(sigcontext),
10290            "::",
10291            stringify!(arm_r7)
10292        )
10293    );
10294    assert_eq!(
10295        unsafe { ::std::ptr::addr_of!((*ptr).arm_r8) as usize - ptr as usize },
10296        44usize,
10297        concat!(
10298            "Offset of field: ",
10299            stringify!(sigcontext),
10300            "::",
10301            stringify!(arm_r8)
10302        )
10303    );
10304    assert_eq!(
10305        unsafe { ::std::ptr::addr_of!((*ptr).arm_r9) as usize - ptr as usize },
10306        48usize,
10307        concat!(
10308            "Offset of field: ",
10309            stringify!(sigcontext),
10310            "::",
10311            stringify!(arm_r9)
10312        )
10313    );
10314    assert_eq!(
10315        unsafe { ::std::ptr::addr_of!((*ptr).arm_r10) as usize - ptr as usize },
10316        52usize,
10317        concat!(
10318            "Offset of field: ",
10319            stringify!(sigcontext),
10320            "::",
10321            stringify!(arm_r10)
10322        )
10323    );
10324    assert_eq!(
10325        unsafe { ::std::ptr::addr_of!((*ptr).arm_fp) as usize - ptr as usize },
10326        56usize,
10327        concat!(
10328            "Offset of field: ",
10329            stringify!(sigcontext),
10330            "::",
10331            stringify!(arm_fp)
10332        )
10333    );
10334    assert_eq!(
10335        unsafe { ::std::ptr::addr_of!((*ptr).arm_ip) as usize - ptr as usize },
10336        60usize,
10337        concat!(
10338            "Offset of field: ",
10339            stringify!(sigcontext),
10340            "::",
10341            stringify!(arm_ip)
10342        )
10343    );
10344    assert_eq!(
10345        unsafe { ::std::ptr::addr_of!((*ptr).arm_sp) as usize - ptr as usize },
10346        64usize,
10347        concat!(
10348            "Offset of field: ",
10349            stringify!(sigcontext),
10350            "::",
10351            stringify!(arm_sp)
10352        )
10353    );
10354    assert_eq!(
10355        unsafe { ::std::ptr::addr_of!((*ptr).arm_lr) as usize - ptr as usize },
10356        68usize,
10357        concat!(
10358            "Offset of field: ",
10359            stringify!(sigcontext),
10360            "::",
10361            stringify!(arm_lr)
10362        )
10363    );
10364    assert_eq!(
10365        unsafe { ::std::ptr::addr_of!((*ptr).arm_pc) as usize - ptr as usize },
10366        72usize,
10367        concat!(
10368            "Offset of field: ",
10369            stringify!(sigcontext),
10370            "::",
10371            stringify!(arm_pc)
10372        )
10373    );
10374    assert_eq!(
10375        unsafe { ::std::ptr::addr_of!((*ptr).arm_cpsr) as usize - ptr as usize },
10376        76usize,
10377        concat!(
10378            "Offset of field: ",
10379            stringify!(sigcontext),
10380            "::",
10381            stringify!(arm_cpsr)
10382        )
10383    );
10384    assert_eq!(
10385        unsafe { ::std::ptr::addr_of!((*ptr).fault_address) as usize - ptr as usize },
10386        80usize,
10387        concat!(
10388            "Offset of field: ",
10389            stringify!(sigcontext),
10390            "::",
10391            stringify!(fault_address)
10392        )
10393    );
10394}
10395pub type sigset_t = ::std::os::raw::c_ulong;
10396pub type __signalfn_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
10397pub type __sighandler_t = __signalfn_t;
10398pub type __restorefn_t = ::std::option::Option<unsafe extern "C" fn()>;
10399pub type __sigrestore_t = __restorefn_t;
10400#[repr(C)]
10401#[derive(Copy, Clone)]
10402pub struct __kernel_sigaction {
10403    pub _u: __kernel_sigaction__bindgen_ty_1,
10404    pub sa_mask: sigset_t,
10405    pub sa_flags: ::std::os::raw::c_ulong,
10406    pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
10407}
10408#[repr(C)]
10409#[derive(Copy, Clone)]
10410pub union __kernel_sigaction__bindgen_ty_1 {
10411    pub _sa_handler: __sighandler_t,
10412    pub _sa_sigaction: ::std::option::Option<
10413        unsafe extern "C" fn(
10414            arg1: ::std::os::raw::c_int,
10415            arg2: *mut siginfo,
10416            arg3: *mut ::std::os::raw::c_void,
10417        ),
10418    >,
10419}
10420#[test]
10421fn bindgen_test_layout___kernel_sigaction__bindgen_ty_1() {
10422    const UNINIT: ::std::mem::MaybeUninit<__kernel_sigaction__bindgen_ty_1> =
10423        ::std::mem::MaybeUninit::uninit();
10424    let ptr = UNINIT.as_ptr();
10425    assert_eq!(
10426        ::std::mem::size_of::<__kernel_sigaction__bindgen_ty_1>(),
10427        4usize,
10428        concat!("Size of: ", stringify!(__kernel_sigaction__bindgen_ty_1))
10429    );
10430    assert_eq!(
10431        ::std::mem::align_of::<__kernel_sigaction__bindgen_ty_1>(),
10432        4usize,
10433        concat!(
10434            "Alignment of ",
10435            stringify!(__kernel_sigaction__bindgen_ty_1)
10436        )
10437    );
10438    assert_eq!(
10439        unsafe { ::std::ptr::addr_of!((*ptr)._sa_handler) as usize - ptr as usize },
10440        0usize,
10441        concat!(
10442            "Offset of field: ",
10443            stringify!(__kernel_sigaction__bindgen_ty_1),
10444            "::",
10445            stringify!(_sa_handler)
10446        )
10447    );
10448    assert_eq!(
10449        unsafe { ::std::ptr::addr_of!((*ptr)._sa_sigaction) as usize - ptr as usize },
10450        0usize,
10451        concat!(
10452            "Offset of field: ",
10453            stringify!(__kernel_sigaction__bindgen_ty_1),
10454            "::",
10455            stringify!(_sa_sigaction)
10456        )
10457    );
10458}
10459#[test]
10460fn bindgen_test_layout___kernel_sigaction() {
10461    const UNINIT: ::std::mem::MaybeUninit<__kernel_sigaction> = ::std::mem::MaybeUninit::uninit();
10462    let ptr = UNINIT.as_ptr();
10463    assert_eq!(
10464        ::std::mem::size_of::<__kernel_sigaction>(),
10465        16usize,
10466        concat!("Size of: ", stringify!(__kernel_sigaction))
10467    );
10468    assert_eq!(
10469        ::std::mem::align_of::<__kernel_sigaction>(),
10470        4usize,
10471        concat!("Alignment of ", stringify!(__kernel_sigaction))
10472    );
10473    assert_eq!(
10474        unsafe { ::std::ptr::addr_of!((*ptr)._u) as usize - ptr as usize },
10475        0usize,
10476        concat!(
10477            "Offset of field: ",
10478            stringify!(__kernel_sigaction),
10479            "::",
10480            stringify!(_u)
10481        )
10482    );
10483    assert_eq!(
10484        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
10485        4usize,
10486        concat!(
10487            "Offset of field: ",
10488            stringify!(__kernel_sigaction),
10489            "::",
10490            stringify!(sa_mask)
10491        )
10492    );
10493    assert_eq!(
10494        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
10495        8usize,
10496        concat!(
10497            "Offset of field: ",
10498            stringify!(__kernel_sigaction),
10499            "::",
10500            stringify!(sa_flags)
10501        )
10502    );
10503    assert_eq!(
10504        unsafe { ::std::ptr::addr_of!((*ptr).sa_restorer) as usize - ptr as usize },
10505        12usize,
10506        concat!(
10507            "Offset of field: ",
10508            stringify!(__kernel_sigaction),
10509            "::",
10510            stringify!(sa_restorer)
10511        )
10512    );
10513}
10514#[repr(C)]
10515#[derive(Debug, Copy, Clone)]
10516pub struct sigaltstack {
10517    pub ss_sp: *mut ::std::os::raw::c_void,
10518    pub ss_flags: ::std::os::raw::c_int,
10519    pub ss_size: __kernel_size_t,
10520}
10521#[test]
10522fn bindgen_test_layout_sigaltstack() {
10523    const UNINIT: ::std::mem::MaybeUninit<sigaltstack> = ::std::mem::MaybeUninit::uninit();
10524    let ptr = UNINIT.as_ptr();
10525    assert_eq!(
10526        ::std::mem::size_of::<sigaltstack>(),
10527        12usize,
10528        concat!("Size of: ", stringify!(sigaltstack))
10529    );
10530    assert_eq!(
10531        ::std::mem::align_of::<sigaltstack>(),
10532        4usize,
10533        concat!("Alignment of ", stringify!(sigaltstack))
10534    );
10535    assert_eq!(
10536        unsafe { ::std::ptr::addr_of!((*ptr).ss_sp) as usize - ptr as usize },
10537        0usize,
10538        concat!(
10539            "Offset of field: ",
10540            stringify!(sigaltstack),
10541            "::",
10542            stringify!(ss_sp)
10543        )
10544    );
10545    assert_eq!(
10546        unsafe { ::std::ptr::addr_of!((*ptr).ss_flags) as usize - ptr as usize },
10547        4usize,
10548        concat!(
10549            "Offset of field: ",
10550            stringify!(sigaltstack),
10551            "::",
10552            stringify!(ss_flags)
10553        )
10554    );
10555    assert_eq!(
10556        unsafe { ::std::ptr::addr_of!((*ptr).ss_size) as usize - ptr as usize },
10557        8usize,
10558        concat!(
10559            "Offset of field: ",
10560            stringify!(sigaltstack),
10561            "::",
10562            stringify!(ss_size)
10563        )
10564    );
10565}
10566pub type stack_t = sigaltstack;
10567#[repr(C)]
10568#[derive(Copy, Clone)]
10569pub union sigval {
10570    pub sival_int: ::std::os::raw::c_int,
10571    pub sival_ptr: *mut ::std::os::raw::c_void,
10572}
10573#[test]
10574fn bindgen_test_layout_sigval() {
10575    const UNINIT: ::std::mem::MaybeUninit<sigval> = ::std::mem::MaybeUninit::uninit();
10576    let ptr = UNINIT.as_ptr();
10577    assert_eq!(
10578        ::std::mem::size_of::<sigval>(),
10579        4usize,
10580        concat!("Size of: ", stringify!(sigval))
10581    );
10582    assert_eq!(
10583        ::std::mem::align_of::<sigval>(),
10584        4usize,
10585        concat!("Alignment of ", stringify!(sigval))
10586    );
10587    assert_eq!(
10588        unsafe { ::std::ptr::addr_of!((*ptr).sival_int) as usize - ptr as usize },
10589        0usize,
10590        concat!(
10591            "Offset of field: ",
10592            stringify!(sigval),
10593            "::",
10594            stringify!(sival_int)
10595        )
10596    );
10597    assert_eq!(
10598        unsafe { ::std::ptr::addr_of!((*ptr).sival_ptr) as usize - ptr as usize },
10599        0usize,
10600        concat!(
10601            "Offset of field: ",
10602            stringify!(sigval),
10603            "::",
10604            stringify!(sival_ptr)
10605        )
10606    );
10607}
10608pub type sigval_t = sigval;
10609#[repr(C)]
10610#[derive(Copy, Clone)]
10611pub union __sifields {
10612    pub _kill: __sifields__bindgen_ty_1,
10613    pub _timer: __sifields__bindgen_ty_2,
10614    pub _rt: __sifields__bindgen_ty_3,
10615    pub _sigchld: __sifields__bindgen_ty_4,
10616    pub _sigfault: __sifields__bindgen_ty_5,
10617    pub _sigpoll: __sifields__bindgen_ty_6,
10618    pub _sigsys: __sifields__bindgen_ty_7,
10619}
10620#[repr(C)]
10621#[derive(Debug, Copy, Clone)]
10622pub struct __sifields__bindgen_ty_1 {
10623    pub _pid: __kernel_pid_t,
10624    pub _uid: __kernel_uid32_t,
10625}
10626#[test]
10627fn bindgen_test_layout___sifields__bindgen_ty_1() {
10628    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_1> =
10629        ::std::mem::MaybeUninit::uninit();
10630    let ptr = UNINIT.as_ptr();
10631    assert_eq!(
10632        ::std::mem::size_of::<__sifields__bindgen_ty_1>(),
10633        8usize,
10634        concat!("Size of: ", stringify!(__sifields__bindgen_ty_1))
10635    );
10636    assert_eq!(
10637        ::std::mem::align_of::<__sifields__bindgen_ty_1>(),
10638        4usize,
10639        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_1))
10640    );
10641    assert_eq!(
10642        unsafe { ::std::ptr::addr_of!((*ptr)._pid) as usize - ptr as usize },
10643        0usize,
10644        concat!(
10645            "Offset of field: ",
10646            stringify!(__sifields__bindgen_ty_1),
10647            "::",
10648            stringify!(_pid)
10649        )
10650    );
10651    assert_eq!(
10652        unsafe { ::std::ptr::addr_of!((*ptr)._uid) as usize - ptr as usize },
10653        4usize,
10654        concat!(
10655            "Offset of field: ",
10656            stringify!(__sifields__bindgen_ty_1),
10657            "::",
10658            stringify!(_uid)
10659        )
10660    );
10661}
10662#[repr(C)]
10663#[derive(Copy, Clone)]
10664pub struct __sifields__bindgen_ty_2 {
10665    pub _tid: __kernel_timer_t,
10666    pub _overrun: ::std::os::raw::c_int,
10667    pub _sigval: sigval_t,
10668    pub _sys_private: ::std::os::raw::c_int,
10669}
10670#[test]
10671fn bindgen_test_layout___sifields__bindgen_ty_2() {
10672    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_2> =
10673        ::std::mem::MaybeUninit::uninit();
10674    let ptr = UNINIT.as_ptr();
10675    assert_eq!(
10676        ::std::mem::size_of::<__sifields__bindgen_ty_2>(),
10677        16usize,
10678        concat!("Size of: ", stringify!(__sifields__bindgen_ty_2))
10679    );
10680    assert_eq!(
10681        ::std::mem::align_of::<__sifields__bindgen_ty_2>(),
10682        4usize,
10683        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_2))
10684    );
10685    assert_eq!(
10686        unsafe { ::std::ptr::addr_of!((*ptr)._tid) as usize - ptr as usize },
10687        0usize,
10688        concat!(
10689            "Offset of field: ",
10690            stringify!(__sifields__bindgen_ty_2),
10691            "::",
10692            stringify!(_tid)
10693        )
10694    );
10695    assert_eq!(
10696        unsafe { ::std::ptr::addr_of!((*ptr)._overrun) as usize - ptr as usize },
10697        4usize,
10698        concat!(
10699            "Offset of field: ",
10700            stringify!(__sifields__bindgen_ty_2),
10701            "::",
10702            stringify!(_overrun)
10703        )
10704    );
10705    assert_eq!(
10706        unsafe { ::std::ptr::addr_of!((*ptr)._sigval) as usize - ptr as usize },
10707        8usize,
10708        concat!(
10709            "Offset of field: ",
10710            stringify!(__sifields__bindgen_ty_2),
10711            "::",
10712            stringify!(_sigval)
10713        )
10714    );
10715    assert_eq!(
10716        unsafe { ::std::ptr::addr_of!((*ptr)._sys_private) as usize - ptr as usize },
10717        12usize,
10718        concat!(
10719            "Offset of field: ",
10720            stringify!(__sifields__bindgen_ty_2),
10721            "::",
10722            stringify!(_sys_private)
10723        )
10724    );
10725}
10726#[repr(C)]
10727#[derive(Copy, Clone)]
10728pub struct __sifields__bindgen_ty_3 {
10729    pub _pid: __kernel_pid_t,
10730    pub _uid: __kernel_uid32_t,
10731    pub _sigval: sigval_t,
10732}
10733#[test]
10734fn bindgen_test_layout___sifields__bindgen_ty_3() {
10735    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_3> =
10736        ::std::mem::MaybeUninit::uninit();
10737    let ptr = UNINIT.as_ptr();
10738    assert_eq!(
10739        ::std::mem::size_of::<__sifields__bindgen_ty_3>(),
10740        12usize,
10741        concat!("Size of: ", stringify!(__sifields__bindgen_ty_3))
10742    );
10743    assert_eq!(
10744        ::std::mem::align_of::<__sifields__bindgen_ty_3>(),
10745        4usize,
10746        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_3))
10747    );
10748    assert_eq!(
10749        unsafe { ::std::ptr::addr_of!((*ptr)._pid) as usize - ptr as usize },
10750        0usize,
10751        concat!(
10752            "Offset of field: ",
10753            stringify!(__sifields__bindgen_ty_3),
10754            "::",
10755            stringify!(_pid)
10756        )
10757    );
10758    assert_eq!(
10759        unsafe { ::std::ptr::addr_of!((*ptr)._uid) as usize - ptr as usize },
10760        4usize,
10761        concat!(
10762            "Offset of field: ",
10763            stringify!(__sifields__bindgen_ty_3),
10764            "::",
10765            stringify!(_uid)
10766        )
10767    );
10768    assert_eq!(
10769        unsafe { ::std::ptr::addr_of!((*ptr)._sigval) as usize - ptr as usize },
10770        8usize,
10771        concat!(
10772            "Offset of field: ",
10773            stringify!(__sifields__bindgen_ty_3),
10774            "::",
10775            stringify!(_sigval)
10776        )
10777    );
10778}
10779#[repr(C)]
10780#[derive(Debug, Copy, Clone)]
10781pub struct __sifields__bindgen_ty_4 {
10782    pub _pid: __kernel_pid_t,
10783    pub _uid: __kernel_uid32_t,
10784    pub _status: ::std::os::raw::c_int,
10785    pub _utime: __kernel_clock_t,
10786    pub _stime: __kernel_clock_t,
10787}
10788#[test]
10789fn bindgen_test_layout___sifields__bindgen_ty_4() {
10790    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_4> =
10791        ::std::mem::MaybeUninit::uninit();
10792    let ptr = UNINIT.as_ptr();
10793    assert_eq!(
10794        ::std::mem::size_of::<__sifields__bindgen_ty_4>(),
10795        20usize,
10796        concat!("Size of: ", stringify!(__sifields__bindgen_ty_4))
10797    );
10798    assert_eq!(
10799        ::std::mem::align_of::<__sifields__bindgen_ty_4>(),
10800        4usize,
10801        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_4))
10802    );
10803    assert_eq!(
10804        unsafe { ::std::ptr::addr_of!((*ptr)._pid) as usize - ptr as usize },
10805        0usize,
10806        concat!(
10807            "Offset of field: ",
10808            stringify!(__sifields__bindgen_ty_4),
10809            "::",
10810            stringify!(_pid)
10811        )
10812    );
10813    assert_eq!(
10814        unsafe { ::std::ptr::addr_of!((*ptr)._uid) as usize - ptr as usize },
10815        4usize,
10816        concat!(
10817            "Offset of field: ",
10818            stringify!(__sifields__bindgen_ty_4),
10819            "::",
10820            stringify!(_uid)
10821        )
10822    );
10823    assert_eq!(
10824        unsafe { ::std::ptr::addr_of!((*ptr)._status) as usize - ptr as usize },
10825        8usize,
10826        concat!(
10827            "Offset of field: ",
10828            stringify!(__sifields__bindgen_ty_4),
10829            "::",
10830            stringify!(_status)
10831        )
10832    );
10833    assert_eq!(
10834        unsafe { ::std::ptr::addr_of!((*ptr)._utime) as usize - ptr as usize },
10835        12usize,
10836        concat!(
10837            "Offset of field: ",
10838            stringify!(__sifields__bindgen_ty_4),
10839            "::",
10840            stringify!(_utime)
10841        )
10842    );
10843    assert_eq!(
10844        unsafe { ::std::ptr::addr_of!((*ptr)._stime) as usize - ptr as usize },
10845        16usize,
10846        concat!(
10847            "Offset of field: ",
10848            stringify!(__sifields__bindgen_ty_4),
10849            "::",
10850            stringify!(_stime)
10851        )
10852    );
10853}
10854#[repr(C)]
10855#[derive(Copy, Clone)]
10856pub struct __sifields__bindgen_ty_5 {
10857    pub _addr: *mut ::std::os::raw::c_void,
10858    pub __bindgen_anon_1: __sifields__bindgen_ty_5__bindgen_ty_1,
10859}
10860#[repr(C)]
10861#[derive(Copy, Clone)]
10862pub union __sifields__bindgen_ty_5__bindgen_ty_1 {
10863    pub _trapno: ::std::os::raw::c_int,
10864    pub _addr_lsb: ::std::os::raw::c_short,
10865    pub _addr_bnd: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
10866    pub _addr_pkey: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2,
10867    pub _perf: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3,
10868}
10869#[repr(C)]
10870#[derive(Debug, Copy, Clone)]
10871pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 {
10872    pub _dummy_bnd: [::std::os::raw::c_char; 4usize],
10873    pub _lower: *mut ::std::os::raw::c_void,
10874    pub _upper: *mut ::std::os::raw::c_void,
10875}
10876#[test]
10877fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1() {
10878    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1> =
10879        ::std::mem::MaybeUninit::uninit();
10880    let ptr = UNINIT.as_ptr();
10881    assert_eq!(
10882        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
10883        12usize,
10884        concat!(
10885            "Size of: ",
10886            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
10887        )
10888    );
10889    assert_eq!(
10890        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
10891        4usize,
10892        concat!(
10893            "Alignment of ",
10894            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
10895        )
10896    );
10897    assert_eq!(
10898        unsafe { ::std::ptr::addr_of!((*ptr)._dummy_bnd) as usize - ptr as usize },
10899        0usize,
10900        concat!(
10901            "Offset of field: ",
10902            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
10903            "::",
10904            stringify!(_dummy_bnd)
10905        )
10906    );
10907    assert_eq!(
10908        unsafe { ::std::ptr::addr_of!((*ptr)._lower) as usize - ptr as usize },
10909        4usize,
10910        concat!(
10911            "Offset of field: ",
10912            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
10913            "::",
10914            stringify!(_lower)
10915        )
10916    );
10917    assert_eq!(
10918        unsafe { ::std::ptr::addr_of!((*ptr)._upper) as usize - ptr as usize },
10919        8usize,
10920        concat!(
10921            "Offset of field: ",
10922            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
10923            "::",
10924            stringify!(_upper)
10925        )
10926    );
10927}
10928#[repr(C)]
10929#[derive(Debug, Copy, Clone)]
10930pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2 {
10931    pub _dummy_pkey: [::std::os::raw::c_char; 4usize],
10932    pub _pkey: __u32,
10933}
10934#[test]
10935fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2() {
10936    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2> =
10937        ::std::mem::MaybeUninit::uninit();
10938    let ptr = UNINIT.as_ptr();
10939    assert_eq!(
10940        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>(),
10941        8usize,
10942        concat!(
10943            "Size of: ",
10944            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2)
10945        )
10946    );
10947    assert_eq!(
10948        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>(),
10949        4usize,
10950        concat!(
10951            "Alignment of ",
10952            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2)
10953        )
10954    );
10955    assert_eq!(
10956        unsafe { ::std::ptr::addr_of!((*ptr)._dummy_pkey) as usize - ptr as usize },
10957        0usize,
10958        concat!(
10959            "Offset of field: ",
10960            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2),
10961            "::",
10962            stringify!(_dummy_pkey)
10963        )
10964    );
10965    assert_eq!(
10966        unsafe { ::std::ptr::addr_of!((*ptr)._pkey) as usize - ptr as usize },
10967        4usize,
10968        concat!(
10969            "Offset of field: ",
10970            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2),
10971            "::",
10972            stringify!(_pkey)
10973        )
10974    );
10975}
10976#[repr(C)]
10977#[derive(Debug, Copy, Clone)]
10978pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3 {
10979    pub _data: ::std::os::raw::c_ulong,
10980    pub _type: __u32,
10981    pub _flags: __u32,
10982}
10983#[test]
10984fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3() {
10985    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3> =
10986        ::std::mem::MaybeUninit::uninit();
10987    let ptr = UNINIT.as_ptr();
10988    assert_eq!(
10989        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3>(),
10990        12usize,
10991        concat!(
10992            "Size of: ",
10993            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3)
10994        )
10995    );
10996    assert_eq!(
10997        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3>(),
10998        4usize,
10999        concat!(
11000            "Alignment of ",
11001            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3)
11002        )
11003    );
11004    assert_eq!(
11005        unsafe { ::std::ptr::addr_of!((*ptr)._data) as usize - ptr as usize },
11006        0usize,
11007        concat!(
11008            "Offset of field: ",
11009            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3),
11010            "::",
11011            stringify!(_data)
11012        )
11013    );
11014    assert_eq!(
11015        unsafe { ::std::ptr::addr_of!((*ptr)._type) as usize - ptr as usize },
11016        4usize,
11017        concat!(
11018            "Offset of field: ",
11019            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3),
11020            "::",
11021            stringify!(_type)
11022        )
11023    );
11024    assert_eq!(
11025        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
11026        8usize,
11027        concat!(
11028            "Offset of field: ",
11029            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3),
11030            "::",
11031            stringify!(_flags)
11032        )
11033    );
11034}
11035#[test]
11036fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1() {
11037    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5__bindgen_ty_1> =
11038        ::std::mem::MaybeUninit::uninit();
11039    let ptr = UNINIT.as_ptr();
11040    assert_eq!(
11041        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1>(),
11042        12usize,
11043        concat!(
11044            "Size of: ",
11045            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1)
11046        )
11047    );
11048    assert_eq!(
11049        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1>(),
11050        4usize,
11051        concat!(
11052            "Alignment of ",
11053            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1)
11054        )
11055    );
11056    assert_eq!(
11057        unsafe { ::std::ptr::addr_of!((*ptr)._trapno) as usize - ptr as usize },
11058        0usize,
11059        concat!(
11060            "Offset of field: ",
11061            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
11062            "::",
11063            stringify!(_trapno)
11064        )
11065    );
11066    assert_eq!(
11067        unsafe { ::std::ptr::addr_of!((*ptr)._addr_lsb) as usize - ptr as usize },
11068        0usize,
11069        concat!(
11070            "Offset of field: ",
11071            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
11072            "::",
11073            stringify!(_addr_lsb)
11074        )
11075    );
11076    assert_eq!(
11077        unsafe { ::std::ptr::addr_of!((*ptr)._addr_bnd) as usize - ptr as usize },
11078        0usize,
11079        concat!(
11080            "Offset of field: ",
11081            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
11082            "::",
11083            stringify!(_addr_bnd)
11084        )
11085    );
11086    assert_eq!(
11087        unsafe { ::std::ptr::addr_of!((*ptr)._addr_pkey) as usize - ptr as usize },
11088        0usize,
11089        concat!(
11090            "Offset of field: ",
11091            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
11092            "::",
11093            stringify!(_addr_pkey)
11094        )
11095    );
11096    assert_eq!(
11097        unsafe { ::std::ptr::addr_of!((*ptr)._perf) as usize - ptr as usize },
11098        0usize,
11099        concat!(
11100            "Offset of field: ",
11101            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
11102            "::",
11103            stringify!(_perf)
11104        )
11105    );
11106}
11107#[test]
11108fn bindgen_test_layout___sifields__bindgen_ty_5() {
11109    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5> =
11110        ::std::mem::MaybeUninit::uninit();
11111    let ptr = UNINIT.as_ptr();
11112    assert_eq!(
11113        ::std::mem::size_of::<__sifields__bindgen_ty_5>(),
11114        16usize,
11115        concat!("Size of: ", stringify!(__sifields__bindgen_ty_5))
11116    );
11117    assert_eq!(
11118        ::std::mem::align_of::<__sifields__bindgen_ty_5>(),
11119        4usize,
11120        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_5))
11121    );
11122    assert_eq!(
11123        unsafe { ::std::ptr::addr_of!((*ptr)._addr) as usize - ptr as usize },
11124        0usize,
11125        concat!(
11126            "Offset of field: ",
11127            stringify!(__sifields__bindgen_ty_5),
11128            "::",
11129            stringify!(_addr)
11130        )
11131    );
11132}
11133#[repr(C)]
11134#[derive(Debug, Copy, Clone)]
11135pub struct __sifields__bindgen_ty_6 {
11136    pub _band: ::std::os::raw::c_long,
11137    pub _fd: ::std::os::raw::c_int,
11138}
11139#[test]
11140fn bindgen_test_layout___sifields__bindgen_ty_6() {
11141    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_6> =
11142        ::std::mem::MaybeUninit::uninit();
11143    let ptr = UNINIT.as_ptr();
11144    assert_eq!(
11145        ::std::mem::size_of::<__sifields__bindgen_ty_6>(),
11146        8usize,
11147        concat!("Size of: ", stringify!(__sifields__bindgen_ty_6))
11148    );
11149    assert_eq!(
11150        ::std::mem::align_of::<__sifields__bindgen_ty_6>(),
11151        4usize,
11152        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_6))
11153    );
11154    assert_eq!(
11155        unsafe { ::std::ptr::addr_of!((*ptr)._band) as usize - ptr as usize },
11156        0usize,
11157        concat!(
11158            "Offset of field: ",
11159            stringify!(__sifields__bindgen_ty_6),
11160            "::",
11161            stringify!(_band)
11162        )
11163    );
11164    assert_eq!(
11165        unsafe { ::std::ptr::addr_of!((*ptr)._fd) as usize - ptr as usize },
11166        4usize,
11167        concat!(
11168            "Offset of field: ",
11169            stringify!(__sifields__bindgen_ty_6),
11170            "::",
11171            stringify!(_fd)
11172        )
11173    );
11174}
11175#[repr(C)]
11176#[derive(Debug, Copy, Clone)]
11177pub struct __sifields__bindgen_ty_7 {
11178    pub _call_addr: *mut ::std::os::raw::c_void,
11179    pub _syscall: ::std::os::raw::c_int,
11180    pub _arch: ::std::os::raw::c_uint,
11181}
11182#[test]
11183fn bindgen_test_layout___sifields__bindgen_ty_7() {
11184    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_7> =
11185        ::std::mem::MaybeUninit::uninit();
11186    let ptr = UNINIT.as_ptr();
11187    assert_eq!(
11188        ::std::mem::size_of::<__sifields__bindgen_ty_7>(),
11189        12usize,
11190        concat!("Size of: ", stringify!(__sifields__bindgen_ty_7))
11191    );
11192    assert_eq!(
11193        ::std::mem::align_of::<__sifields__bindgen_ty_7>(),
11194        4usize,
11195        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_7))
11196    );
11197    assert_eq!(
11198        unsafe { ::std::ptr::addr_of!((*ptr)._call_addr) as usize - ptr as usize },
11199        0usize,
11200        concat!(
11201            "Offset of field: ",
11202            stringify!(__sifields__bindgen_ty_7),
11203            "::",
11204            stringify!(_call_addr)
11205        )
11206    );
11207    assert_eq!(
11208        unsafe { ::std::ptr::addr_of!((*ptr)._syscall) as usize - ptr as usize },
11209        4usize,
11210        concat!(
11211            "Offset of field: ",
11212            stringify!(__sifields__bindgen_ty_7),
11213            "::",
11214            stringify!(_syscall)
11215        )
11216    );
11217    assert_eq!(
11218        unsafe { ::std::ptr::addr_of!((*ptr)._arch) as usize - ptr as usize },
11219        8usize,
11220        concat!(
11221            "Offset of field: ",
11222            stringify!(__sifields__bindgen_ty_7),
11223            "::",
11224            stringify!(_arch)
11225        )
11226    );
11227}
11228#[test]
11229fn bindgen_test_layout___sifields() {
11230    const UNINIT: ::std::mem::MaybeUninit<__sifields> = ::std::mem::MaybeUninit::uninit();
11231    let ptr = UNINIT.as_ptr();
11232    assert_eq!(
11233        ::std::mem::size_of::<__sifields>(),
11234        20usize,
11235        concat!("Size of: ", stringify!(__sifields))
11236    );
11237    assert_eq!(
11238        ::std::mem::align_of::<__sifields>(),
11239        4usize,
11240        concat!("Alignment of ", stringify!(__sifields))
11241    );
11242    assert_eq!(
11243        unsafe { ::std::ptr::addr_of!((*ptr)._kill) as usize - ptr as usize },
11244        0usize,
11245        concat!(
11246            "Offset of field: ",
11247            stringify!(__sifields),
11248            "::",
11249            stringify!(_kill)
11250        )
11251    );
11252    assert_eq!(
11253        unsafe { ::std::ptr::addr_of!((*ptr)._timer) as usize - ptr as usize },
11254        0usize,
11255        concat!(
11256            "Offset of field: ",
11257            stringify!(__sifields),
11258            "::",
11259            stringify!(_timer)
11260        )
11261    );
11262    assert_eq!(
11263        unsafe { ::std::ptr::addr_of!((*ptr)._rt) as usize - ptr as usize },
11264        0usize,
11265        concat!(
11266            "Offset of field: ",
11267            stringify!(__sifields),
11268            "::",
11269            stringify!(_rt)
11270        )
11271    );
11272    assert_eq!(
11273        unsafe { ::std::ptr::addr_of!((*ptr)._sigchld) as usize - ptr as usize },
11274        0usize,
11275        concat!(
11276            "Offset of field: ",
11277            stringify!(__sifields),
11278            "::",
11279            stringify!(_sigchld)
11280        )
11281    );
11282    assert_eq!(
11283        unsafe { ::std::ptr::addr_of!((*ptr)._sigfault) as usize - ptr as usize },
11284        0usize,
11285        concat!(
11286            "Offset of field: ",
11287            stringify!(__sifields),
11288            "::",
11289            stringify!(_sigfault)
11290        )
11291    );
11292    assert_eq!(
11293        unsafe { ::std::ptr::addr_of!((*ptr)._sigpoll) as usize - ptr as usize },
11294        0usize,
11295        concat!(
11296            "Offset of field: ",
11297            stringify!(__sifields),
11298            "::",
11299            stringify!(_sigpoll)
11300        )
11301    );
11302    assert_eq!(
11303        unsafe { ::std::ptr::addr_of!((*ptr)._sigsys) as usize - ptr as usize },
11304        0usize,
11305        concat!(
11306            "Offset of field: ",
11307            stringify!(__sifields),
11308            "::",
11309            stringify!(_sigsys)
11310        )
11311    );
11312}
11313#[repr(C)]
11314#[derive(Copy, Clone)]
11315pub struct siginfo {
11316    pub __bindgen_anon_1: siginfo__bindgen_ty_1,
11317}
11318#[repr(C)]
11319#[derive(Copy, Clone)]
11320pub union siginfo__bindgen_ty_1 {
11321    pub __bindgen_anon_1: siginfo__bindgen_ty_1__bindgen_ty_1,
11322    pub _si_pad: [::std::os::raw::c_int; 32usize],
11323}
11324#[repr(C)]
11325#[derive(Copy, Clone)]
11326pub struct siginfo__bindgen_ty_1__bindgen_ty_1 {
11327    pub si_signo: ::std::os::raw::c_int,
11328    pub si_errno: ::std::os::raw::c_int,
11329    pub si_code: ::std::os::raw::c_int,
11330    pub _sifields: __sifields,
11331}
11332#[test]
11333fn bindgen_test_layout_siginfo__bindgen_ty_1__bindgen_ty_1() {
11334    const UNINIT: ::std::mem::MaybeUninit<siginfo__bindgen_ty_1__bindgen_ty_1> =
11335        ::std::mem::MaybeUninit::uninit();
11336    let ptr = UNINIT.as_ptr();
11337    assert_eq!(
11338        ::std::mem::size_of::<siginfo__bindgen_ty_1__bindgen_ty_1>(),
11339        32usize,
11340        concat!("Size of: ", stringify!(siginfo__bindgen_ty_1__bindgen_ty_1))
11341    );
11342    assert_eq!(
11343        ::std::mem::align_of::<siginfo__bindgen_ty_1__bindgen_ty_1>(),
11344        4usize,
11345        concat!(
11346            "Alignment of ",
11347            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1)
11348        )
11349    );
11350    assert_eq!(
11351        unsafe { ::std::ptr::addr_of!((*ptr).si_signo) as usize - ptr as usize },
11352        0usize,
11353        concat!(
11354            "Offset of field: ",
11355            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
11356            "::",
11357            stringify!(si_signo)
11358        )
11359    );
11360    assert_eq!(
11361        unsafe { ::std::ptr::addr_of!((*ptr).si_errno) as usize - ptr as usize },
11362        4usize,
11363        concat!(
11364            "Offset of field: ",
11365            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
11366            "::",
11367            stringify!(si_errno)
11368        )
11369    );
11370    assert_eq!(
11371        unsafe { ::std::ptr::addr_of!((*ptr).si_code) as usize - ptr as usize },
11372        8usize,
11373        concat!(
11374            "Offset of field: ",
11375            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
11376            "::",
11377            stringify!(si_code)
11378        )
11379    );
11380    assert_eq!(
11381        unsafe { ::std::ptr::addr_of!((*ptr)._sifields) as usize - ptr as usize },
11382        12usize,
11383        concat!(
11384            "Offset of field: ",
11385            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
11386            "::",
11387            stringify!(_sifields)
11388        )
11389    );
11390}
11391#[test]
11392fn bindgen_test_layout_siginfo__bindgen_ty_1() {
11393    const UNINIT: ::std::mem::MaybeUninit<siginfo__bindgen_ty_1> =
11394        ::std::mem::MaybeUninit::uninit();
11395    let ptr = UNINIT.as_ptr();
11396    assert_eq!(
11397        ::std::mem::size_of::<siginfo__bindgen_ty_1>(),
11398        128usize,
11399        concat!("Size of: ", stringify!(siginfo__bindgen_ty_1))
11400    );
11401    assert_eq!(
11402        ::std::mem::align_of::<siginfo__bindgen_ty_1>(),
11403        4usize,
11404        concat!("Alignment of ", stringify!(siginfo__bindgen_ty_1))
11405    );
11406    assert_eq!(
11407        unsafe { ::std::ptr::addr_of!((*ptr)._si_pad) as usize - ptr as usize },
11408        0usize,
11409        concat!(
11410            "Offset of field: ",
11411            stringify!(siginfo__bindgen_ty_1),
11412            "::",
11413            stringify!(_si_pad)
11414        )
11415    );
11416}
11417#[test]
11418fn bindgen_test_layout_siginfo() {
11419    assert_eq!(
11420        ::std::mem::size_of::<siginfo>(),
11421        128usize,
11422        concat!("Size of: ", stringify!(siginfo))
11423    );
11424    assert_eq!(
11425        ::std::mem::align_of::<siginfo>(),
11426        4usize,
11427        concat!("Alignment of ", stringify!(siginfo))
11428    );
11429}
11430pub type siginfo_t = siginfo;
11431#[repr(C)]
11432#[derive(Copy, Clone)]
11433pub struct sigevent {
11434    pub sigev_value: sigval_t,
11435    pub sigev_signo: ::std::os::raw::c_int,
11436    pub sigev_notify: ::std::os::raw::c_int,
11437    pub _sigev_un: sigevent__bindgen_ty_1,
11438}
11439#[repr(C)]
11440#[derive(Copy, Clone)]
11441pub union sigevent__bindgen_ty_1 {
11442    pub _pad: [::std::os::raw::c_int; 13usize],
11443    pub _tid: ::std::os::raw::c_int,
11444    pub _sigev_thread: sigevent__bindgen_ty_1__bindgen_ty_1,
11445}
11446#[repr(C)]
11447#[derive(Debug, Copy, Clone)]
11448pub struct sigevent__bindgen_ty_1__bindgen_ty_1 {
11449    pub _function: ::std::option::Option<unsafe extern "C" fn(arg1: sigval_t)>,
11450    pub _attribute: *mut ::std::os::raw::c_void,
11451}
11452#[test]
11453fn bindgen_test_layout_sigevent__bindgen_ty_1__bindgen_ty_1() {
11454    const UNINIT: ::std::mem::MaybeUninit<sigevent__bindgen_ty_1__bindgen_ty_1> =
11455        ::std::mem::MaybeUninit::uninit();
11456    let ptr = UNINIT.as_ptr();
11457    assert_eq!(
11458        ::std::mem::size_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
11459        8usize,
11460        concat!(
11461            "Size of: ",
11462            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
11463        )
11464    );
11465    assert_eq!(
11466        ::std::mem::align_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
11467        4usize,
11468        concat!(
11469            "Alignment of ",
11470            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
11471        )
11472    );
11473    assert_eq!(
11474        unsafe { ::std::ptr::addr_of!((*ptr)._function) as usize - ptr as usize },
11475        0usize,
11476        concat!(
11477            "Offset of field: ",
11478            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
11479            "::",
11480            stringify!(_function)
11481        )
11482    );
11483    assert_eq!(
11484        unsafe { ::std::ptr::addr_of!((*ptr)._attribute) as usize - ptr as usize },
11485        4usize,
11486        concat!(
11487            "Offset of field: ",
11488            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
11489            "::",
11490            stringify!(_attribute)
11491        )
11492    );
11493}
11494#[test]
11495fn bindgen_test_layout_sigevent__bindgen_ty_1() {
11496    const UNINIT: ::std::mem::MaybeUninit<sigevent__bindgen_ty_1> =
11497        ::std::mem::MaybeUninit::uninit();
11498    let ptr = UNINIT.as_ptr();
11499    assert_eq!(
11500        ::std::mem::size_of::<sigevent__bindgen_ty_1>(),
11501        52usize,
11502        concat!("Size of: ", stringify!(sigevent__bindgen_ty_1))
11503    );
11504    assert_eq!(
11505        ::std::mem::align_of::<sigevent__bindgen_ty_1>(),
11506        4usize,
11507        concat!("Alignment of ", stringify!(sigevent__bindgen_ty_1))
11508    );
11509    assert_eq!(
11510        unsafe { ::std::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
11511        0usize,
11512        concat!(
11513            "Offset of field: ",
11514            stringify!(sigevent__bindgen_ty_1),
11515            "::",
11516            stringify!(_pad)
11517        )
11518    );
11519    assert_eq!(
11520        unsafe { ::std::ptr::addr_of!((*ptr)._tid) as usize - ptr as usize },
11521        0usize,
11522        concat!(
11523            "Offset of field: ",
11524            stringify!(sigevent__bindgen_ty_1),
11525            "::",
11526            stringify!(_tid)
11527        )
11528    );
11529    assert_eq!(
11530        unsafe { ::std::ptr::addr_of!((*ptr)._sigev_thread) as usize - ptr as usize },
11531        0usize,
11532        concat!(
11533            "Offset of field: ",
11534            stringify!(sigevent__bindgen_ty_1),
11535            "::",
11536            stringify!(_sigev_thread)
11537        )
11538    );
11539}
11540#[test]
11541fn bindgen_test_layout_sigevent() {
11542    const UNINIT: ::std::mem::MaybeUninit<sigevent> = ::std::mem::MaybeUninit::uninit();
11543    let ptr = UNINIT.as_ptr();
11544    assert_eq!(
11545        ::std::mem::size_of::<sigevent>(),
11546        64usize,
11547        concat!("Size of: ", stringify!(sigevent))
11548    );
11549    assert_eq!(
11550        ::std::mem::align_of::<sigevent>(),
11551        4usize,
11552        concat!("Alignment of ", stringify!(sigevent))
11553    );
11554    assert_eq!(
11555        unsafe { ::std::ptr::addr_of!((*ptr).sigev_value) as usize - ptr as usize },
11556        0usize,
11557        concat!(
11558            "Offset of field: ",
11559            stringify!(sigevent),
11560            "::",
11561            stringify!(sigev_value)
11562        )
11563    );
11564    assert_eq!(
11565        unsafe { ::std::ptr::addr_of!((*ptr).sigev_signo) as usize - ptr as usize },
11566        4usize,
11567        concat!(
11568            "Offset of field: ",
11569            stringify!(sigevent),
11570            "::",
11571            stringify!(sigev_signo)
11572        )
11573    );
11574    assert_eq!(
11575        unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify) as usize - ptr as usize },
11576        8usize,
11577        concat!(
11578            "Offset of field: ",
11579            stringify!(sigevent),
11580            "::",
11581            stringify!(sigev_notify)
11582        )
11583    );
11584    assert_eq!(
11585        unsafe { ::std::ptr::addr_of!((*ptr)._sigev_un) as usize - ptr as usize },
11586        12usize,
11587        concat!(
11588            "Offset of field: ",
11589            stringify!(sigevent),
11590            "::",
11591            stringify!(_sigev_un)
11592        )
11593    );
11594}
11595pub type sigevent_t = sigevent;
11596pub type sig_atomic_t = ::std::os::raw::c_int;
11597pub type sig_t = __sighandler_t;
11598pub type sighandler_t = __sighandler_t;
11599#[repr(C)]
11600#[derive(Debug, Copy, Clone)]
11601pub struct sigset64_t {
11602    pub __bits: [::std::os::raw::c_ulong; 2usize],
11603}
11604#[test]
11605fn bindgen_test_layout_sigset64_t() {
11606    const UNINIT: ::std::mem::MaybeUninit<sigset64_t> = ::std::mem::MaybeUninit::uninit();
11607    let ptr = UNINIT.as_ptr();
11608    assert_eq!(
11609        ::std::mem::size_of::<sigset64_t>(),
11610        8usize,
11611        concat!("Size of: ", stringify!(sigset64_t))
11612    );
11613    assert_eq!(
11614        ::std::mem::align_of::<sigset64_t>(),
11615        4usize,
11616        concat!("Alignment of ", stringify!(sigset64_t))
11617    );
11618    assert_eq!(
11619        unsafe { ::std::ptr::addr_of!((*ptr).__bits) as usize - ptr as usize },
11620        0usize,
11621        concat!(
11622            "Offset of field: ",
11623            stringify!(sigset64_t),
11624            "::",
11625            stringify!(__bits)
11626        )
11627    );
11628}
11629#[repr(C)]
11630#[derive(Copy, Clone)]
11631pub struct sigaction {
11632    pub __bindgen_anon_1: sigaction__bindgen_ty_1,
11633    pub sa_mask: sigset_t,
11634    pub sa_flags: ::std::os::raw::c_int,
11635    pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
11636}
11637#[repr(C)]
11638#[derive(Copy, Clone)]
11639pub union sigaction__bindgen_ty_1 {
11640    pub sa_handler: sighandler_t,
11641    pub sa_sigaction: ::std::option::Option<
11642        unsafe extern "C" fn(
11643            arg1: ::std::os::raw::c_int,
11644            arg2: *mut siginfo,
11645            arg3: *mut ::std::os::raw::c_void,
11646        ),
11647    >,
11648}
11649#[test]
11650fn bindgen_test_layout_sigaction__bindgen_ty_1() {
11651    const UNINIT: ::std::mem::MaybeUninit<sigaction__bindgen_ty_1> =
11652        ::std::mem::MaybeUninit::uninit();
11653    let ptr = UNINIT.as_ptr();
11654    assert_eq!(
11655        ::std::mem::size_of::<sigaction__bindgen_ty_1>(),
11656        4usize,
11657        concat!("Size of: ", stringify!(sigaction__bindgen_ty_1))
11658    );
11659    assert_eq!(
11660        ::std::mem::align_of::<sigaction__bindgen_ty_1>(),
11661        4usize,
11662        concat!("Alignment of ", stringify!(sigaction__bindgen_ty_1))
11663    );
11664    assert_eq!(
11665        unsafe { ::std::ptr::addr_of!((*ptr).sa_handler) as usize - ptr as usize },
11666        0usize,
11667        concat!(
11668            "Offset of field: ",
11669            stringify!(sigaction__bindgen_ty_1),
11670            "::",
11671            stringify!(sa_handler)
11672        )
11673    );
11674    assert_eq!(
11675        unsafe { ::std::ptr::addr_of!((*ptr).sa_sigaction) as usize - ptr as usize },
11676        0usize,
11677        concat!(
11678            "Offset of field: ",
11679            stringify!(sigaction__bindgen_ty_1),
11680            "::",
11681            stringify!(sa_sigaction)
11682        )
11683    );
11684}
11685#[test]
11686fn bindgen_test_layout_sigaction() {
11687    const UNINIT: ::std::mem::MaybeUninit<sigaction> = ::std::mem::MaybeUninit::uninit();
11688    let ptr = UNINIT.as_ptr();
11689    assert_eq!(
11690        ::std::mem::size_of::<sigaction>(),
11691        16usize,
11692        concat!("Size of: ", stringify!(sigaction))
11693    );
11694    assert_eq!(
11695        ::std::mem::align_of::<sigaction>(),
11696        4usize,
11697        concat!("Alignment of ", stringify!(sigaction))
11698    );
11699    assert_eq!(
11700        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
11701        4usize,
11702        concat!(
11703            "Offset of field: ",
11704            stringify!(sigaction),
11705            "::",
11706            stringify!(sa_mask)
11707        )
11708    );
11709    assert_eq!(
11710        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
11711        8usize,
11712        concat!(
11713            "Offset of field: ",
11714            stringify!(sigaction),
11715            "::",
11716            stringify!(sa_flags)
11717        )
11718    );
11719    assert_eq!(
11720        unsafe { ::std::ptr::addr_of!((*ptr).sa_restorer) as usize - ptr as usize },
11721        12usize,
11722        concat!(
11723            "Offset of field: ",
11724            stringify!(sigaction),
11725            "::",
11726            stringify!(sa_restorer)
11727        )
11728    );
11729}
11730#[repr(C)]
11731#[derive(Copy, Clone)]
11732pub struct sigaction64 {
11733    pub __bindgen_anon_1: sigaction64__bindgen_ty_1,
11734    pub sa_flags: ::std::os::raw::c_int,
11735    pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
11736    pub sa_mask: sigset64_t,
11737}
11738#[repr(C)]
11739#[derive(Copy, Clone)]
11740pub union sigaction64__bindgen_ty_1 {
11741    pub sa_handler: sighandler_t,
11742    pub sa_sigaction: ::std::option::Option<
11743        unsafe extern "C" fn(
11744            arg1: ::std::os::raw::c_int,
11745            arg2: *mut siginfo,
11746            arg3: *mut ::std::os::raw::c_void,
11747        ),
11748    >,
11749}
11750#[test]
11751fn bindgen_test_layout_sigaction64__bindgen_ty_1() {
11752    const UNINIT: ::std::mem::MaybeUninit<sigaction64__bindgen_ty_1> =
11753        ::std::mem::MaybeUninit::uninit();
11754    let ptr = UNINIT.as_ptr();
11755    assert_eq!(
11756        ::std::mem::size_of::<sigaction64__bindgen_ty_1>(),
11757        4usize,
11758        concat!("Size of: ", stringify!(sigaction64__bindgen_ty_1))
11759    );
11760    assert_eq!(
11761        ::std::mem::align_of::<sigaction64__bindgen_ty_1>(),
11762        4usize,
11763        concat!("Alignment of ", stringify!(sigaction64__bindgen_ty_1))
11764    );
11765    assert_eq!(
11766        unsafe { ::std::ptr::addr_of!((*ptr).sa_handler) as usize - ptr as usize },
11767        0usize,
11768        concat!(
11769            "Offset of field: ",
11770            stringify!(sigaction64__bindgen_ty_1),
11771            "::",
11772            stringify!(sa_handler)
11773        )
11774    );
11775    assert_eq!(
11776        unsafe { ::std::ptr::addr_of!((*ptr).sa_sigaction) as usize - ptr as usize },
11777        0usize,
11778        concat!(
11779            "Offset of field: ",
11780            stringify!(sigaction64__bindgen_ty_1),
11781            "::",
11782            stringify!(sa_sigaction)
11783        )
11784    );
11785}
11786#[test]
11787fn bindgen_test_layout_sigaction64() {
11788    const UNINIT: ::std::mem::MaybeUninit<sigaction64> = ::std::mem::MaybeUninit::uninit();
11789    let ptr = UNINIT.as_ptr();
11790    assert_eq!(
11791        ::std::mem::size_of::<sigaction64>(),
11792        20usize,
11793        concat!("Size of: ", stringify!(sigaction64))
11794    );
11795    assert_eq!(
11796        ::std::mem::align_of::<sigaction64>(),
11797        4usize,
11798        concat!("Alignment of ", stringify!(sigaction64))
11799    );
11800    assert_eq!(
11801        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
11802        4usize,
11803        concat!(
11804            "Offset of field: ",
11805            stringify!(sigaction64),
11806            "::",
11807            stringify!(sa_flags)
11808        )
11809    );
11810    assert_eq!(
11811        unsafe { ::std::ptr::addr_of!((*ptr).sa_restorer) as usize - ptr as usize },
11812        8usize,
11813        concat!(
11814            "Offset of field: ",
11815            stringify!(sigaction64),
11816            "::",
11817            stringify!(sa_restorer)
11818        )
11819    );
11820    assert_eq!(
11821        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
11822        12usize,
11823        concat!(
11824            "Offset of field: ",
11825            stringify!(sigaction64),
11826            "::",
11827            stringify!(sa_mask)
11828        )
11829    );
11830}
11831#[repr(C)]
11832#[derive(Debug, Copy, Clone)]
11833pub struct user_fpregs {
11834    pub fpregs: [user_fpregs_fp_reg; 8usize],
11835    pub _bitfield_align_1: [u32; 0],
11836    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
11837    pub ftype: [::std::os::raw::c_uchar; 8usize],
11838    pub init_flag: ::std::os::raw::c_uint,
11839}
11840#[repr(C)]
11841#[derive(Debug, Copy, Clone)]
11842pub struct user_fpregs_fp_reg {
11843    pub _bitfield_align_1: [u32; 0],
11844    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 12usize]>,
11845}
11846#[test]
11847fn bindgen_test_layout_user_fpregs_fp_reg() {
11848    assert_eq!(
11849        ::std::mem::size_of::<user_fpregs_fp_reg>(),
11850        12usize,
11851        concat!("Size of: ", stringify!(user_fpregs_fp_reg))
11852    );
11853    assert_eq!(
11854        ::std::mem::align_of::<user_fpregs_fp_reg>(),
11855        4usize,
11856        concat!("Alignment of ", stringify!(user_fpregs_fp_reg))
11857    );
11858}
11859impl user_fpregs_fp_reg {
11860    #[inline]
11861    pub fn sign1(&self) -> ::std::os::raw::c_uint {
11862        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
11863    }
11864    #[inline]
11865    pub fn set_sign1(&mut self, val: ::std::os::raw::c_uint) {
11866        unsafe {
11867            let val: u32 = ::std::mem::transmute(val);
11868            self._bitfield_1.set(0usize, 1u8, val as u64)
11869        }
11870    }
11871    #[inline]
11872    pub fn unused(&self) -> ::std::os::raw::c_uint {
11873        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 15u8) as u32) }
11874    }
11875    #[inline]
11876    pub fn set_unused(&mut self, val: ::std::os::raw::c_uint) {
11877        unsafe {
11878            let val: u32 = ::std::mem::transmute(val);
11879            self._bitfield_1.set(1usize, 15u8, val as u64)
11880        }
11881    }
11882    #[inline]
11883    pub fn sign2(&self) -> ::std::os::raw::c_uint {
11884        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
11885    }
11886    #[inline]
11887    pub fn set_sign2(&mut self, val: ::std::os::raw::c_uint) {
11888        unsafe {
11889            let val: u32 = ::std::mem::transmute(val);
11890            self._bitfield_1.set(16usize, 1u8, val as u64)
11891        }
11892    }
11893    #[inline]
11894    pub fn exponent(&self) -> ::std::os::raw::c_uint {
11895        unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 14u8) as u32) }
11896    }
11897    #[inline]
11898    pub fn set_exponent(&mut self, val: ::std::os::raw::c_uint) {
11899        unsafe {
11900            let val: u32 = ::std::mem::transmute(val);
11901            self._bitfield_1.set(17usize, 14u8, val as u64)
11902        }
11903    }
11904    #[inline]
11905    pub fn j(&self) -> ::std::os::raw::c_uint {
11906        unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) }
11907    }
11908    #[inline]
11909    pub fn set_j(&mut self, val: ::std::os::raw::c_uint) {
11910        unsafe {
11911            let val: u32 = ::std::mem::transmute(val);
11912            self._bitfield_1.set(31usize, 1u8, val as u64)
11913        }
11914    }
11915    #[inline]
11916    pub fn mantissa1(&self) -> ::std::os::raw::c_uint {
11917        unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 31u8) as u32) }
11918    }
11919    #[inline]
11920    pub fn set_mantissa1(&mut self, val: ::std::os::raw::c_uint) {
11921        unsafe {
11922            let val: u32 = ::std::mem::transmute(val);
11923            self._bitfield_1.set(32usize, 31u8, val as u64)
11924        }
11925    }
11926    #[inline]
11927    pub fn mantissa0(&self) -> ::std::os::raw::c_uint {
11928        unsafe { ::std::mem::transmute(self._bitfield_1.get(64usize, 32u8) as u32) }
11929    }
11930    #[inline]
11931    pub fn set_mantissa0(&mut self, val: ::std::os::raw::c_uint) {
11932        unsafe {
11933            let val: u32 = ::std::mem::transmute(val);
11934            self._bitfield_1.set(64usize, 32u8, val as u64)
11935        }
11936    }
11937    #[inline]
11938    pub fn new_bitfield_1(
11939        sign1: ::std::os::raw::c_uint,
11940        unused: ::std::os::raw::c_uint,
11941        sign2: ::std::os::raw::c_uint,
11942        exponent: ::std::os::raw::c_uint,
11943        j: ::std::os::raw::c_uint,
11944        mantissa1: ::std::os::raw::c_uint,
11945        mantissa0: ::std::os::raw::c_uint,
11946    ) -> __BindgenBitfieldUnit<[u8; 12usize]> {
11947        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 12usize]> = Default::default();
11948        __bindgen_bitfield_unit.set(0usize, 1u8, {
11949            let sign1: u32 = unsafe { ::std::mem::transmute(sign1) };
11950            sign1 as u64
11951        });
11952        __bindgen_bitfield_unit.set(1usize, 15u8, {
11953            let unused: u32 = unsafe { ::std::mem::transmute(unused) };
11954            unused as u64
11955        });
11956        __bindgen_bitfield_unit.set(16usize, 1u8, {
11957            let sign2: u32 = unsafe { ::std::mem::transmute(sign2) };
11958            sign2 as u64
11959        });
11960        __bindgen_bitfield_unit.set(17usize, 14u8, {
11961            let exponent: u32 = unsafe { ::std::mem::transmute(exponent) };
11962            exponent as u64
11963        });
11964        __bindgen_bitfield_unit.set(31usize, 1u8, {
11965            let j: u32 = unsafe { ::std::mem::transmute(j) };
11966            j as u64
11967        });
11968        __bindgen_bitfield_unit.set(32usize, 31u8, {
11969            let mantissa1: u32 = unsafe { ::std::mem::transmute(mantissa1) };
11970            mantissa1 as u64
11971        });
11972        __bindgen_bitfield_unit.set(64usize, 32u8, {
11973            let mantissa0: u32 = unsafe { ::std::mem::transmute(mantissa0) };
11974            mantissa0 as u64
11975        });
11976        __bindgen_bitfield_unit
11977    }
11978}
11979#[test]
11980fn bindgen_test_layout_user_fpregs() {
11981    const UNINIT: ::std::mem::MaybeUninit<user_fpregs> = ::std::mem::MaybeUninit::uninit();
11982    let ptr = UNINIT.as_ptr();
11983    assert_eq!(
11984        ::std::mem::size_of::<user_fpregs>(),
11985        116usize,
11986        concat!("Size of: ", stringify!(user_fpregs))
11987    );
11988    assert_eq!(
11989        ::std::mem::align_of::<user_fpregs>(),
11990        4usize,
11991        concat!("Alignment of ", stringify!(user_fpregs))
11992    );
11993    assert_eq!(
11994        unsafe { ::std::ptr::addr_of!((*ptr).fpregs) as usize - ptr as usize },
11995        0usize,
11996        concat!(
11997            "Offset of field: ",
11998            stringify!(user_fpregs),
11999            "::",
12000            stringify!(fpregs)
12001        )
12002    );
12003    assert_eq!(
12004        unsafe { ::std::ptr::addr_of!((*ptr).ftype) as usize - ptr as usize },
12005        104usize,
12006        concat!(
12007            "Offset of field: ",
12008            stringify!(user_fpregs),
12009            "::",
12010            stringify!(ftype)
12011        )
12012    );
12013    assert_eq!(
12014        unsafe { ::std::ptr::addr_of!((*ptr).init_flag) as usize - ptr as usize },
12015        112usize,
12016        concat!(
12017            "Offset of field: ",
12018            stringify!(user_fpregs),
12019            "::",
12020            stringify!(init_flag)
12021        )
12022    );
12023}
12024impl user_fpregs {
12025    #[inline]
12026    pub fn fpsr(&self) -> ::std::os::raw::c_uint {
12027        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 32u8) as u32) }
12028    }
12029    #[inline]
12030    pub fn set_fpsr(&mut self, val: ::std::os::raw::c_uint) {
12031        unsafe {
12032            let val: u32 = ::std::mem::transmute(val);
12033            self._bitfield_1.set(0usize, 32u8, val as u64)
12034        }
12035    }
12036    #[inline]
12037    pub fn fpcr(&self) -> ::std::os::raw::c_uint {
12038        unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 32u8) as u32) }
12039    }
12040    #[inline]
12041    pub fn set_fpcr(&mut self, val: ::std::os::raw::c_uint) {
12042        unsafe {
12043            let val: u32 = ::std::mem::transmute(val);
12044            self._bitfield_1.set(32usize, 32u8, val as u64)
12045        }
12046    }
12047    #[inline]
12048    pub fn new_bitfield_1(
12049        fpsr: ::std::os::raw::c_uint,
12050        fpcr: ::std::os::raw::c_uint,
12051    ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
12052        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
12053        __bindgen_bitfield_unit.set(0usize, 32u8, {
12054            let fpsr: u32 = unsafe { ::std::mem::transmute(fpsr) };
12055            fpsr as u64
12056        });
12057        __bindgen_bitfield_unit.set(32usize, 32u8, {
12058            let fpcr: u32 = unsafe { ::std::mem::transmute(fpcr) };
12059            fpcr as u64
12060        });
12061        __bindgen_bitfield_unit
12062    }
12063}
12064#[repr(C)]
12065#[derive(Debug, Copy, Clone)]
12066pub struct user_regs {
12067    pub uregs: [::std::os::raw::c_ulong; 18usize],
12068}
12069#[test]
12070fn bindgen_test_layout_user_regs() {
12071    const UNINIT: ::std::mem::MaybeUninit<user_regs> = ::std::mem::MaybeUninit::uninit();
12072    let ptr = UNINIT.as_ptr();
12073    assert_eq!(
12074        ::std::mem::size_of::<user_regs>(),
12075        72usize,
12076        concat!("Size of: ", stringify!(user_regs))
12077    );
12078    assert_eq!(
12079        ::std::mem::align_of::<user_regs>(),
12080        4usize,
12081        concat!("Alignment of ", stringify!(user_regs))
12082    );
12083    assert_eq!(
12084        unsafe { ::std::ptr::addr_of!((*ptr).uregs) as usize - ptr as usize },
12085        0usize,
12086        concat!(
12087            "Offset of field: ",
12088            stringify!(user_regs),
12089            "::",
12090            stringify!(uregs)
12091        )
12092    );
12093}
12094#[repr(C)]
12095#[derive(Debug, Copy, Clone)]
12096pub struct user_vfp {
12097    pub fpregs: [::std::os::raw::c_ulonglong; 32usize],
12098    pub fpscr: ::std::os::raw::c_ulong,
12099}
12100#[test]
12101fn bindgen_test_layout_user_vfp() {
12102    const UNINIT: ::std::mem::MaybeUninit<user_vfp> = ::std::mem::MaybeUninit::uninit();
12103    let ptr = UNINIT.as_ptr();
12104    assert_eq!(
12105        ::std::mem::size_of::<user_vfp>(),
12106        264usize,
12107        concat!("Size of: ", stringify!(user_vfp))
12108    );
12109    assert_eq!(
12110        ::std::mem::align_of::<user_vfp>(),
12111        8usize,
12112        concat!("Alignment of ", stringify!(user_vfp))
12113    );
12114    assert_eq!(
12115        unsafe { ::std::ptr::addr_of!((*ptr).fpregs) as usize - ptr as usize },
12116        0usize,
12117        concat!(
12118            "Offset of field: ",
12119            stringify!(user_vfp),
12120            "::",
12121            stringify!(fpregs)
12122        )
12123    );
12124    assert_eq!(
12125        unsafe { ::std::ptr::addr_of!((*ptr).fpscr) as usize - ptr as usize },
12126        256usize,
12127        concat!(
12128            "Offset of field: ",
12129            stringify!(user_vfp),
12130            "::",
12131            stringify!(fpscr)
12132        )
12133    );
12134}
12135#[repr(C)]
12136#[derive(Debug, Copy, Clone)]
12137pub struct user_vfp_exc {
12138    pub fpexc: ::std::os::raw::c_ulong,
12139    pub fpinst: ::std::os::raw::c_ulong,
12140    pub fpinst2: ::std::os::raw::c_ulong,
12141}
12142#[test]
12143fn bindgen_test_layout_user_vfp_exc() {
12144    const UNINIT: ::std::mem::MaybeUninit<user_vfp_exc> = ::std::mem::MaybeUninit::uninit();
12145    let ptr = UNINIT.as_ptr();
12146    assert_eq!(
12147        ::std::mem::size_of::<user_vfp_exc>(),
12148        12usize,
12149        concat!("Size of: ", stringify!(user_vfp_exc))
12150    );
12151    assert_eq!(
12152        ::std::mem::align_of::<user_vfp_exc>(),
12153        4usize,
12154        concat!("Alignment of ", stringify!(user_vfp_exc))
12155    );
12156    assert_eq!(
12157        unsafe { ::std::ptr::addr_of!((*ptr).fpexc) as usize - ptr as usize },
12158        0usize,
12159        concat!(
12160            "Offset of field: ",
12161            stringify!(user_vfp_exc),
12162            "::",
12163            stringify!(fpexc)
12164        )
12165    );
12166    assert_eq!(
12167        unsafe { ::std::ptr::addr_of!((*ptr).fpinst) as usize - ptr as usize },
12168        4usize,
12169        concat!(
12170            "Offset of field: ",
12171            stringify!(user_vfp_exc),
12172            "::",
12173            stringify!(fpinst)
12174        )
12175    );
12176    assert_eq!(
12177        unsafe { ::std::ptr::addr_of!((*ptr).fpinst2) as usize - ptr as usize },
12178        8usize,
12179        concat!(
12180            "Offset of field: ",
12181            stringify!(user_vfp_exc),
12182            "::",
12183            stringify!(fpinst2)
12184        )
12185    );
12186}
12187#[repr(C)]
12188#[derive(Debug, Copy, Clone)]
12189pub struct user {
12190    pub regs: user_regs,
12191    pub u_fpvalid: ::std::os::raw::c_int,
12192    pub u_tsize: ::std::os::raw::c_ulong,
12193    pub u_dsize: ::std::os::raw::c_ulong,
12194    pub u_ssize: ::std::os::raw::c_ulong,
12195    pub start_code: ::std::os::raw::c_ulong,
12196    pub start_stack: ::std::os::raw::c_ulong,
12197    pub signal: ::std::os::raw::c_long,
12198    pub reserved: ::std::os::raw::c_int,
12199    pub u_ar0: *mut user_regs,
12200    pub magic: ::std::os::raw::c_ulong,
12201    pub u_comm: [::std::os::raw::c_char; 32usize],
12202    pub u_debugreg: [::std::os::raw::c_int; 8usize],
12203    pub u_fp: user_fpregs,
12204    pub u_fp0: *mut user_fpregs,
12205}
12206#[test]
12207fn bindgen_test_layout_user() {
12208    const UNINIT: ::std::mem::MaybeUninit<user> = ::std::mem::MaybeUninit::uninit();
12209    let ptr = UNINIT.as_ptr();
12210    assert_eq!(
12211        ::std::mem::size_of::<user>(),
12212        296usize,
12213        concat!("Size of: ", stringify!(user))
12214    );
12215    assert_eq!(
12216        ::std::mem::align_of::<user>(),
12217        4usize,
12218        concat!("Alignment of ", stringify!(user))
12219    );
12220    assert_eq!(
12221        unsafe { ::std::ptr::addr_of!((*ptr).regs) as usize - ptr as usize },
12222        0usize,
12223        concat!(
12224            "Offset of field: ",
12225            stringify!(user),
12226            "::",
12227            stringify!(regs)
12228        )
12229    );
12230    assert_eq!(
12231        unsafe { ::std::ptr::addr_of!((*ptr).u_fpvalid) as usize - ptr as usize },
12232        72usize,
12233        concat!(
12234            "Offset of field: ",
12235            stringify!(user),
12236            "::",
12237            stringify!(u_fpvalid)
12238        )
12239    );
12240    assert_eq!(
12241        unsafe { ::std::ptr::addr_of!((*ptr).u_tsize) as usize - ptr as usize },
12242        76usize,
12243        concat!(
12244            "Offset of field: ",
12245            stringify!(user),
12246            "::",
12247            stringify!(u_tsize)
12248        )
12249    );
12250    assert_eq!(
12251        unsafe { ::std::ptr::addr_of!((*ptr).u_dsize) as usize - ptr as usize },
12252        80usize,
12253        concat!(
12254            "Offset of field: ",
12255            stringify!(user),
12256            "::",
12257            stringify!(u_dsize)
12258        )
12259    );
12260    assert_eq!(
12261        unsafe { ::std::ptr::addr_of!((*ptr).u_ssize) as usize - ptr as usize },
12262        84usize,
12263        concat!(
12264            "Offset of field: ",
12265            stringify!(user),
12266            "::",
12267            stringify!(u_ssize)
12268        )
12269    );
12270    assert_eq!(
12271        unsafe { ::std::ptr::addr_of!((*ptr).start_code) as usize - ptr as usize },
12272        88usize,
12273        concat!(
12274            "Offset of field: ",
12275            stringify!(user),
12276            "::",
12277            stringify!(start_code)
12278        )
12279    );
12280    assert_eq!(
12281        unsafe { ::std::ptr::addr_of!((*ptr).start_stack) as usize - ptr as usize },
12282        92usize,
12283        concat!(
12284            "Offset of field: ",
12285            stringify!(user),
12286            "::",
12287            stringify!(start_stack)
12288        )
12289    );
12290    assert_eq!(
12291        unsafe { ::std::ptr::addr_of!((*ptr).signal) as usize - ptr as usize },
12292        96usize,
12293        concat!(
12294            "Offset of field: ",
12295            stringify!(user),
12296            "::",
12297            stringify!(signal)
12298        )
12299    );
12300    assert_eq!(
12301        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
12302        100usize,
12303        concat!(
12304            "Offset of field: ",
12305            stringify!(user),
12306            "::",
12307            stringify!(reserved)
12308        )
12309    );
12310    assert_eq!(
12311        unsafe { ::std::ptr::addr_of!((*ptr).u_ar0) as usize - ptr as usize },
12312        104usize,
12313        concat!(
12314            "Offset of field: ",
12315            stringify!(user),
12316            "::",
12317            stringify!(u_ar0)
12318        )
12319    );
12320    assert_eq!(
12321        unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize },
12322        108usize,
12323        concat!(
12324            "Offset of field: ",
12325            stringify!(user),
12326            "::",
12327            stringify!(magic)
12328        )
12329    );
12330    assert_eq!(
12331        unsafe { ::std::ptr::addr_of!((*ptr).u_comm) as usize - ptr as usize },
12332        112usize,
12333        concat!(
12334            "Offset of field: ",
12335            stringify!(user),
12336            "::",
12337            stringify!(u_comm)
12338        )
12339    );
12340    assert_eq!(
12341        unsafe { ::std::ptr::addr_of!((*ptr).u_debugreg) as usize - ptr as usize },
12342        144usize,
12343        concat!(
12344            "Offset of field: ",
12345            stringify!(user),
12346            "::",
12347            stringify!(u_debugreg)
12348        )
12349    );
12350    assert_eq!(
12351        unsafe { ::std::ptr::addr_of!((*ptr).u_fp) as usize - ptr as usize },
12352        176usize,
12353        concat!(
12354            "Offset of field: ",
12355            stringify!(user),
12356            "::",
12357            stringify!(u_fp)
12358        )
12359    );
12360    assert_eq!(
12361        unsafe { ::std::ptr::addr_of!((*ptr).u_fp0) as usize - ptr as usize },
12362        292usize,
12363        concat!(
12364            "Offset of field: ",
12365            stringify!(user),
12366            "::",
12367            stringify!(u_fp0)
12368        )
12369    );
12370}
12371pub const REG_R0: _bindgen_ty_38 = 0;
12372pub const REG_R1: _bindgen_ty_38 = 1;
12373pub const REG_R2: _bindgen_ty_38 = 2;
12374pub const REG_R3: _bindgen_ty_38 = 3;
12375pub const REG_R4: _bindgen_ty_38 = 4;
12376pub const REG_R5: _bindgen_ty_38 = 5;
12377pub const REG_R6: _bindgen_ty_38 = 6;
12378pub const REG_R7: _bindgen_ty_38 = 7;
12379pub const REG_R8: _bindgen_ty_38 = 8;
12380pub const REG_R9: _bindgen_ty_38 = 9;
12381pub const REG_R10: _bindgen_ty_38 = 10;
12382pub const REG_R11: _bindgen_ty_38 = 11;
12383pub const REG_R12: _bindgen_ty_38 = 12;
12384pub const REG_R13: _bindgen_ty_38 = 13;
12385pub const REG_R14: _bindgen_ty_38 = 14;
12386pub const REG_R15: _bindgen_ty_38 = 15;
12387pub type _bindgen_ty_38 = ::std::os::raw::c_uint;
12388pub type greg_t = ::std::os::raw::c_int;
12389pub type gregset_t = [greg_t; 18usize];
12390pub type fpregset_t = user_fpregs;
12391pub type mcontext_t = sigcontext;
12392#[repr(C)]
12393#[repr(align(8))]
12394#[derive(Copy, Clone)]
12395pub struct ucontext {
12396    pub uc_flags: ::std::os::raw::c_ulong,
12397    pub uc_link: *mut ucontext,
12398    pub uc_stack: stack_t,
12399    pub uc_mcontext: mcontext_t,
12400    pub __bindgen_anon_1: ucontext__bindgen_ty_1,
12401    pub __padding: [::std::os::raw::c_char; 120usize],
12402    pub uc_regspace: [::std::os::raw::c_ulong; 128usize],
12403}
12404#[repr(C)]
12405#[derive(Copy, Clone)]
12406pub union ucontext__bindgen_ty_1 {
12407    pub __bindgen_anon_1: ucontext__bindgen_ty_1__bindgen_ty_1,
12408    pub uc_sigmask64: sigset64_t,
12409}
12410#[repr(C)]
12411#[derive(Debug, Copy, Clone)]
12412pub struct ucontext__bindgen_ty_1__bindgen_ty_1 {
12413    pub uc_sigmask: sigset_t,
12414    pub __padding_rt_sigset: u32,
12415}
12416#[test]
12417fn bindgen_test_layout_ucontext__bindgen_ty_1__bindgen_ty_1() {
12418    const UNINIT: ::std::mem::MaybeUninit<ucontext__bindgen_ty_1__bindgen_ty_1> =
12419        ::std::mem::MaybeUninit::uninit();
12420    let ptr = UNINIT.as_ptr();
12421    assert_eq!(
12422        ::std::mem::size_of::<ucontext__bindgen_ty_1__bindgen_ty_1>(),
12423        8usize,
12424        concat!(
12425            "Size of: ",
12426            stringify!(ucontext__bindgen_ty_1__bindgen_ty_1)
12427        )
12428    );
12429    assert_eq!(
12430        ::std::mem::align_of::<ucontext__bindgen_ty_1__bindgen_ty_1>(),
12431        4usize,
12432        concat!(
12433            "Alignment of ",
12434            stringify!(ucontext__bindgen_ty_1__bindgen_ty_1)
12435        )
12436    );
12437    assert_eq!(
12438        unsafe { ::std::ptr::addr_of!((*ptr).uc_sigmask) as usize - ptr as usize },
12439        0usize,
12440        concat!(
12441            "Offset of field: ",
12442            stringify!(ucontext__bindgen_ty_1__bindgen_ty_1),
12443            "::",
12444            stringify!(uc_sigmask)
12445        )
12446    );
12447    assert_eq!(
12448        unsafe { ::std::ptr::addr_of!((*ptr).__padding_rt_sigset) as usize - ptr as usize },
12449        4usize,
12450        concat!(
12451            "Offset of field: ",
12452            stringify!(ucontext__bindgen_ty_1__bindgen_ty_1),
12453            "::",
12454            stringify!(__padding_rt_sigset)
12455        )
12456    );
12457}
12458#[test]
12459fn bindgen_test_layout_ucontext__bindgen_ty_1() {
12460    const UNINIT: ::std::mem::MaybeUninit<ucontext__bindgen_ty_1> =
12461        ::std::mem::MaybeUninit::uninit();
12462    let ptr = UNINIT.as_ptr();
12463    assert_eq!(
12464        ::std::mem::size_of::<ucontext__bindgen_ty_1>(),
12465        8usize,
12466        concat!("Size of: ", stringify!(ucontext__bindgen_ty_1))
12467    );
12468    assert_eq!(
12469        ::std::mem::align_of::<ucontext__bindgen_ty_1>(),
12470        4usize,
12471        concat!("Alignment of ", stringify!(ucontext__bindgen_ty_1))
12472    );
12473    assert_eq!(
12474        unsafe { ::std::ptr::addr_of!((*ptr).uc_sigmask64) as usize - ptr as usize },
12475        0usize,
12476        concat!(
12477            "Offset of field: ",
12478            stringify!(ucontext__bindgen_ty_1),
12479            "::",
12480            stringify!(uc_sigmask64)
12481        )
12482    );
12483}
12484#[test]
12485fn bindgen_test_layout_ucontext() {
12486    const UNINIT: ::std::mem::MaybeUninit<ucontext> = ::std::mem::MaybeUninit::uninit();
12487    let ptr = UNINIT.as_ptr();
12488    assert_eq!(
12489        ::std::mem::size_of::<ucontext>(),
12490        744usize,
12491        concat!("Size of: ", stringify!(ucontext))
12492    );
12493    assert_eq!(
12494        ::std::mem::align_of::<ucontext>(),
12495        8usize,
12496        concat!("Alignment of ", stringify!(ucontext))
12497    );
12498    assert_eq!(
12499        unsafe { ::std::ptr::addr_of!((*ptr).uc_flags) as usize - ptr as usize },
12500        0usize,
12501        concat!(
12502            "Offset of field: ",
12503            stringify!(ucontext),
12504            "::",
12505            stringify!(uc_flags)
12506        )
12507    );
12508    assert_eq!(
12509        unsafe { ::std::ptr::addr_of!((*ptr).uc_link) as usize - ptr as usize },
12510        4usize,
12511        concat!(
12512            "Offset of field: ",
12513            stringify!(ucontext),
12514            "::",
12515            stringify!(uc_link)
12516        )
12517    );
12518    assert_eq!(
12519        unsafe { ::std::ptr::addr_of!((*ptr).uc_stack) as usize - ptr as usize },
12520        8usize,
12521        concat!(
12522            "Offset of field: ",
12523            stringify!(ucontext),
12524            "::",
12525            stringify!(uc_stack)
12526        )
12527    );
12528    assert_eq!(
12529        unsafe { ::std::ptr::addr_of!((*ptr).uc_mcontext) as usize - ptr as usize },
12530        20usize,
12531        concat!(
12532            "Offset of field: ",
12533            stringify!(ucontext),
12534            "::",
12535            stringify!(uc_mcontext)
12536        )
12537    );
12538    assert_eq!(
12539        unsafe { ::std::ptr::addr_of!((*ptr).__padding) as usize - ptr as usize },
12540        112usize,
12541        concat!(
12542            "Offset of field: ",
12543            stringify!(ucontext),
12544            "::",
12545            stringify!(__padding)
12546        )
12547    );
12548    assert_eq!(
12549        unsafe { ::std::ptr::addr_of!((*ptr).uc_regspace) as usize - ptr as usize },
12550        232usize,
12551        concat!(
12552            "Offset of field: ",
12553            stringify!(ucontext),
12554            "::",
12555            stringify!(uc_regspace)
12556        )
12557    );
12558}
12559pub type ucontext_t = ucontext;
12560extern "C" {
12561    pub fn __libc_current_sigrtmin() -> ::std::os::raw::c_int;
12562}
12563extern "C" {
12564    pub fn __libc_current_sigrtmax() -> ::std::os::raw::c_int;
12565}
12566extern "C" {
12567    pub static sys_siglist: [*const ::std::os::raw::c_char; 65usize];
12568}
12569extern "C" {
12570    pub static sys_signame: [*const ::std::os::raw::c_char; 65usize];
12571}
12572extern "C" {
12573    pub fn sigaction(
12574        __signal: ::std::os::raw::c_int,
12575        __new_action: *const sigaction,
12576        __old_action: *mut sigaction,
12577    ) -> ::std::os::raw::c_int;
12578}
12579extern "C" {
12580    pub fn sigaction64(
12581        __signal: ::std::os::raw::c_int,
12582        __new_action: *const sigaction64,
12583        __old_action: *mut sigaction64,
12584    ) -> ::std::os::raw::c_int;
12585}
12586extern "C" {
12587    pub fn siginterrupt(
12588        __signal: ::std::os::raw::c_int,
12589        __flag: ::std::os::raw::c_int,
12590    ) -> ::std::os::raw::c_int;
12591}
12592extern "C" {
12593    pub fn signal(__signal: ::std::os::raw::c_int, __handler: sighandler_t) -> sighandler_t;
12594}
12595extern "C" {
12596    pub fn sigaddset(
12597        __set: *mut sigset_t,
12598        __signal: ::std::os::raw::c_int,
12599    ) -> ::std::os::raw::c_int;
12600}
12601extern "C" {
12602    pub fn sigaddset64(
12603        __set: *mut sigset64_t,
12604        __signal: ::std::os::raw::c_int,
12605    ) -> ::std::os::raw::c_int;
12606}
12607extern "C" {
12608    pub fn sigdelset(
12609        __set: *mut sigset_t,
12610        __signal: ::std::os::raw::c_int,
12611    ) -> ::std::os::raw::c_int;
12612}
12613extern "C" {
12614    pub fn sigdelset64(
12615        __set: *mut sigset64_t,
12616        __signal: ::std::os::raw::c_int,
12617    ) -> ::std::os::raw::c_int;
12618}
12619extern "C" {
12620    pub fn sigemptyset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
12621}
12622extern "C" {
12623    pub fn sigemptyset64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
12624}
12625extern "C" {
12626    pub fn sigfillset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
12627}
12628extern "C" {
12629    pub fn sigfillset64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
12630}
12631extern "C" {
12632    pub fn sigismember(
12633        __set: *const sigset_t,
12634        __signal: ::std::os::raw::c_int,
12635    ) -> ::std::os::raw::c_int;
12636}
12637extern "C" {
12638    pub fn sigismember64(
12639        __set: *const sigset64_t,
12640        __signal: ::std::os::raw::c_int,
12641    ) -> ::std::os::raw::c_int;
12642}
12643extern "C" {
12644    pub fn sigpending(__set: *mut sigset_t) -> ::std::os::raw::c_int;
12645}
12646extern "C" {
12647    pub fn sigpending64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
12648}
12649extern "C" {
12650    pub fn sigprocmask(
12651        __how: ::std::os::raw::c_int,
12652        __new_set: *const sigset_t,
12653        __old_set: *mut sigset_t,
12654    ) -> ::std::os::raw::c_int;
12655}
12656extern "C" {
12657    pub fn sigprocmask64(
12658        __how: ::std::os::raw::c_int,
12659        __new_set: *const sigset64_t,
12660        __old_set: *mut sigset64_t,
12661    ) -> ::std::os::raw::c_int;
12662}
12663extern "C" {
12664    pub fn sigsuspend(__mask: *const sigset_t) -> ::std::os::raw::c_int;
12665}
12666extern "C" {
12667    pub fn sigsuspend64(__mask: *const sigset64_t) -> ::std::os::raw::c_int;
12668}
12669extern "C" {
12670    pub fn sigwait(
12671        __set: *const sigset_t,
12672        __signal: *mut ::std::os::raw::c_int,
12673    ) -> ::std::os::raw::c_int;
12674}
12675extern "C" {
12676    pub fn sigwait64(
12677        __set: *const sigset64_t,
12678        __signal: *mut ::std::os::raw::c_int,
12679    ) -> ::std::os::raw::c_int;
12680}
12681extern "C" {
12682    pub fn sighold(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12683}
12684extern "C" {
12685    pub fn sigignore(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12686}
12687extern "C" {
12688    pub fn sigpause(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12689}
12690extern "C" {
12691    pub fn sigrelse(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12692}
12693extern "C" {
12694    pub fn sigset(__signal: ::std::os::raw::c_int, __handler: sighandler_t) -> sighandler_t;
12695}
12696extern "C" {
12697    pub fn raise(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12698}
12699extern "C" {
12700    pub fn kill(__pid: pid_t, __signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12701}
12702extern "C" {
12703    pub fn killpg(
12704        __pgrp: ::std::os::raw::c_int,
12705        __signal: ::std::os::raw::c_int,
12706    ) -> ::std::os::raw::c_int;
12707}
12708extern "C" {
12709    pub fn tgkill(
12710        __tgid: ::std::os::raw::c_int,
12711        __tid: ::std::os::raw::c_int,
12712        __signal: ::std::os::raw::c_int,
12713    ) -> ::std::os::raw::c_int;
12714}
12715extern "C" {
12716    pub fn sigaltstack(
12717        __new_signal_stack: *const stack_t,
12718        __old_signal_stack: *mut stack_t,
12719    ) -> ::std::os::raw::c_int;
12720}
12721extern "C" {
12722    pub fn psiginfo(__info: *const siginfo_t, __msg: *const ::std::os::raw::c_char);
12723}
12724extern "C" {
12725    pub fn psignal(__signal: ::std::os::raw::c_int, __msg: *const ::std::os::raw::c_char);
12726}
12727extern "C" {
12728    pub fn pthread_kill(
12729        __pthread: pthread_t,
12730        __signal: ::std::os::raw::c_int,
12731    ) -> ::std::os::raw::c_int;
12732}
12733extern "C" {
12734    pub fn pthread_sigmask(
12735        __how: ::std::os::raw::c_int,
12736        __new_set: *const sigset_t,
12737        __old_set: *mut sigset_t,
12738    ) -> ::std::os::raw::c_int;
12739}
12740extern "C" {
12741    pub fn pthread_sigmask64(
12742        __how: ::std::os::raw::c_int,
12743        __new_set: *const sigset64_t,
12744        __old_set: *mut sigset64_t,
12745    ) -> ::std::os::raw::c_int;
12746}
12747extern "C" {
12748    pub fn sigqueue(
12749        __pid: pid_t,
12750        __signal: ::std::os::raw::c_int,
12751        __value: sigval,
12752    ) -> ::std::os::raw::c_int;
12753}
12754extern "C" {
12755    pub fn sigtimedwait(
12756        __set: *const sigset_t,
12757        __info: *mut siginfo_t,
12758        __timeout: *const timespec,
12759    ) -> ::std::os::raw::c_int;
12760}
12761extern "C" {
12762    pub fn sigtimedwait64(
12763        __set: *const sigset64_t,
12764        __info: *mut siginfo_t,
12765        __timeout: *const timespec,
12766    ) -> ::std::os::raw::c_int;
12767}
12768extern "C" {
12769    pub fn sigwaitinfo(__set: *const sigset_t, __info: *mut siginfo_t) -> ::std::os::raw::c_int;
12770}
12771extern "C" {
12772    pub fn sigwaitinfo64(__set: *const sigset64_t, __info: *mut siginfo_t)
12773        -> ::std::os::raw::c_int;
12774}
12775pub type fd_mask = ::std::os::raw::c_ulong;
12776#[repr(C)]
12777#[derive(Debug, Copy, Clone)]
12778pub struct fd_set {
12779    pub fds_bits: [fd_mask; 32usize],
12780}
12781#[test]
12782fn bindgen_test_layout_fd_set() {
12783    const UNINIT: ::std::mem::MaybeUninit<fd_set> = ::std::mem::MaybeUninit::uninit();
12784    let ptr = UNINIT.as_ptr();
12785    assert_eq!(
12786        ::std::mem::size_of::<fd_set>(),
12787        128usize,
12788        concat!("Size of: ", stringify!(fd_set))
12789    );
12790    assert_eq!(
12791        ::std::mem::align_of::<fd_set>(),
12792        4usize,
12793        concat!("Alignment of ", stringify!(fd_set))
12794    );
12795    assert_eq!(
12796        unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
12797        0usize,
12798        concat!(
12799            "Offset of field: ",
12800            stringify!(fd_set),
12801            "::",
12802            stringify!(fds_bits)
12803        )
12804    );
12805}
12806extern "C" {
12807    pub fn __FD_CLR_chk(arg1: ::std::os::raw::c_int, arg2: *mut fd_set, arg3: usize);
12808}
12809extern "C" {
12810    pub fn __FD_SET_chk(arg1: ::std::os::raw::c_int, arg2: *mut fd_set, arg3: usize);
12811}
12812extern "C" {
12813    pub fn __FD_ISSET_chk(
12814        arg1: ::std::os::raw::c_int,
12815        arg2: *const fd_set,
12816        arg3: usize,
12817    ) -> ::std::os::raw::c_int;
12818}
12819extern "C" {
12820    pub fn select(
12821        __max_fd_plus_one: ::std::os::raw::c_int,
12822        __read_fds: *mut fd_set,
12823        __write_fds: *mut fd_set,
12824        __exception_fds: *mut fd_set,
12825        __timeout: *mut timeval,
12826    ) -> ::std::os::raw::c_int;
12827}
12828extern "C" {
12829    pub fn pselect(
12830        __max_fd_plus_one: ::std::os::raw::c_int,
12831        __read_fds: *mut fd_set,
12832        __write_fds: *mut fd_set,
12833        __exception_fds: *mut fd_set,
12834        __timeout: *const timespec,
12835        __mask: *const sigset_t,
12836    ) -> ::std::os::raw::c_int;
12837}
12838extern "C" {
12839    pub fn pselect64(
12840        __max_fd_plus_one: ::std::os::raw::c_int,
12841        __read_fds: *mut fd_set,
12842        __write_fds: *mut fd_set,
12843        __exception_fds: *mut fd_set,
12844        __timeout: *const timespec,
12845        __mask: *const sigset64_t,
12846    ) -> ::std::os::raw::c_int;
12847}
12848extern "C" {
12849    pub fn fcntl(
12850        __fd: ::std::os::raw::c_int,
12851        __op: ::std::os::raw::c_int,
12852        ...
12853    ) -> ::std::os::raw::c_int;
12854}
12855extern "C" {
12856    pub fn getentropy(
12857        __buffer: *mut ::std::os::raw::c_void,
12858        __buffer_size: usize,
12859    ) -> ::std::os::raw::c_int;
12860}
12861extern "C" {
12862    pub fn getopt(
12863        __argc: ::std::os::raw::c_int,
12864        __argv: *const *mut ::std::os::raw::c_char,
12865        __options: *const ::std::os::raw::c_char,
12866    ) -> ::std::os::raw::c_int;
12867}
12868extern "C" {
12869    pub static mut optarg: *mut ::std::os::raw::c_char;
12870}
12871extern "C" {
12872    pub static mut optind: ::std::os::raw::c_int;
12873}
12874extern "C" {
12875    pub static mut opterr: ::std::os::raw::c_int;
12876}
12877extern "C" {
12878    pub static mut optopt: ::std::os::raw::c_int;
12879}
12880extern "C" {
12881    pub fn ioctl(
12882        __fd: ::std::os::raw::c_int,
12883        __op: ::std::os::raw::c_int,
12884        ...
12885    ) -> ::std::os::raw::c_int;
12886}
12887extern "C" {
12888    pub fn lockf(
12889        __fd: ::std::os::raw::c_int,
12890        __op: ::std::os::raw::c_int,
12891        __length: off_t,
12892    ) -> ::std::os::raw::c_int;
12893}
12894extern "C" {
12895    pub fn lockf64(
12896        __fd: ::std::os::raw::c_int,
12897        __op: ::std::os::raw::c_int,
12898        __length: off64_t,
12899    ) -> ::std::os::raw::c_int;
12900}
12901extern "C" {
12902    pub fn sysconf(__name: ::std::os::raw::c_int) -> ::std::os::raw::c_long;
12903}
12904extern "C" {
12905    pub static mut environ: *mut *mut ::std::os::raw::c_char;
12906}
12907extern "C" {
12908    pub fn _exit(__status: ::std::os::raw::c_int) -> !;
12909}
12910extern "C" {
12911    pub fn fork() -> pid_t;
12912}
12913extern "C" {
12914    pub fn _Fork() -> pid_t;
12915}
12916extern "C" {
12917    pub fn vfork() -> ::std::os::raw::c_int;
12918}
12919extern "C" {
12920    pub fn getpid() -> pid_t;
12921}
12922extern "C" {
12923    pub fn gettid() -> pid_t;
12924}
12925extern "C" {
12926    pub fn getpgid(__pid: pid_t) -> pid_t;
12927}
12928extern "C" {
12929    pub fn setpgid(__pid: pid_t, __pgid: pid_t) -> ::std::os::raw::c_int;
12930}
12931extern "C" {
12932    pub fn getppid() -> pid_t;
12933}
12934extern "C" {
12935    pub fn getpgrp() -> pid_t;
12936}
12937extern "C" {
12938    pub fn setpgrp() -> ::std::os::raw::c_int;
12939}
12940extern "C" {
12941    pub fn getsid(__pid: pid_t) -> pid_t;
12942}
12943extern "C" {
12944    pub fn setsid() -> pid_t;
12945}
12946extern "C" {
12947    pub fn execv(
12948        __path: *const ::std::os::raw::c_char,
12949        __argv: *const *mut ::std::os::raw::c_char,
12950    ) -> ::std::os::raw::c_int;
12951}
12952extern "C" {
12953    pub fn execvp(
12954        __file: *const ::std::os::raw::c_char,
12955        __argv: *const *mut ::std::os::raw::c_char,
12956    ) -> ::std::os::raw::c_int;
12957}
12958extern "C" {
12959    pub fn execvpe(
12960        __file: *const ::std::os::raw::c_char,
12961        __argv: *const *mut ::std::os::raw::c_char,
12962        __envp: *const *mut ::std::os::raw::c_char,
12963    ) -> ::std::os::raw::c_int;
12964}
12965extern "C" {
12966    pub fn execve(
12967        __file: *const ::std::os::raw::c_char,
12968        __argv: *const *mut ::std::os::raw::c_char,
12969        __envp: *const *mut ::std::os::raw::c_char,
12970    ) -> ::std::os::raw::c_int;
12971}
12972extern "C" {
12973    pub fn execl(
12974        __path: *const ::std::os::raw::c_char,
12975        __arg0: *const ::std::os::raw::c_char,
12976        ...
12977    ) -> ::std::os::raw::c_int;
12978}
12979extern "C" {
12980    pub fn execlp(
12981        __file: *const ::std::os::raw::c_char,
12982        __arg0: *const ::std::os::raw::c_char,
12983        ...
12984    ) -> ::std::os::raw::c_int;
12985}
12986extern "C" {
12987    pub fn execle(
12988        __path: *const ::std::os::raw::c_char,
12989        __arg0: *const ::std::os::raw::c_char,
12990        ...
12991    ) -> ::std::os::raw::c_int;
12992}
12993extern "C" {
12994    pub fn fexecve(
12995        __fd: ::std::os::raw::c_int,
12996        __argv: *const *mut ::std::os::raw::c_char,
12997        __envp: *const *mut ::std::os::raw::c_char,
12998    ) -> ::std::os::raw::c_int;
12999}
13000extern "C" {
13001    pub fn nice(__incr: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
13002}
13003extern "C" {
13004    pub fn setegid(__gid: gid_t) -> ::std::os::raw::c_int;
13005}
13006extern "C" {
13007    pub fn seteuid(__uid: uid_t) -> ::std::os::raw::c_int;
13008}
13009extern "C" {
13010    pub fn setgid(__gid: gid_t) -> ::std::os::raw::c_int;
13011}
13012extern "C" {
13013    pub fn setregid(__rgid: gid_t, __egid: gid_t) -> ::std::os::raw::c_int;
13014}
13015extern "C" {
13016    pub fn setresgid(__rgid: gid_t, __egid: gid_t, __sgid: gid_t) -> ::std::os::raw::c_int;
13017}
13018extern "C" {
13019    pub fn setresuid(__ruid: uid_t, __euid: uid_t, __suid: uid_t) -> ::std::os::raw::c_int;
13020}
13021extern "C" {
13022    pub fn setreuid(__ruid: uid_t, __euid: uid_t) -> ::std::os::raw::c_int;
13023}
13024extern "C" {
13025    pub fn setuid(__uid: uid_t) -> ::std::os::raw::c_int;
13026}
13027extern "C" {
13028    pub fn getuid() -> uid_t;
13029}
13030extern "C" {
13031    pub fn geteuid() -> uid_t;
13032}
13033extern "C" {
13034    pub fn getgid() -> gid_t;
13035}
13036extern "C" {
13037    pub fn getegid() -> gid_t;
13038}
13039extern "C" {
13040    pub fn getgroups(__size: ::std::os::raw::c_int, __list: *mut gid_t) -> ::std::os::raw::c_int;
13041}
13042extern "C" {
13043    pub fn setgroups(__size: usize, __list: *const gid_t) -> ::std::os::raw::c_int;
13044}
13045extern "C" {
13046    pub fn getresuid(
13047        __ruid: *mut uid_t,
13048        __euid: *mut uid_t,
13049        __suid: *mut uid_t,
13050    ) -> ::std::os::raw::c_int;
13051}
13052extern "C" {
13053    pub fn getresgid(
13054        __rgid: *mut gid_t,
13055        __egid: *mut gid_t,
13056        __sgid: *mut gid_t,
13057    ) -> ::std::os::raw::c_int;
13058}
13059extern "C" {
13060    pub fn getlogin() -> *mut ::std::os::raw::c_char;
13061}
13062extern "C" {
13063    pub fn getlogin_r(
13064        __buffer: *mut ::std::os::raw::c_char,
13065        __buffer_size: usize,
13066    ) -> ::std::os::raw::c_int;
13067}
13068extern "C" {
13069    pub fn fpathconf(
13070        __fd: ::std::os::raw::c_int,
13071        __name: ::std::os::raw::c_int,
13072    ) -> ::std::os::raw::c_long;
13073}
13074extern "C" {
13075    pub fn pathconf(
13076        __path: *const ::std::os::raw::c_char,
13077        __name: ::std::os::raw::c_int,
13078    ) -> ::std::os::raw::c_long;
13079}
13080extern "C" {
13081    pub fn access(
13082        __path: *const ::std::os::raw::c_char,
13083        __mode: ::std::os::raw::c_int,
13084    ) -> ::std::os::raw::c_int;
13085}
13086extern "C" {
13087    pub fn faccessat(
13088        __dirfd: ::std::os::raw::c_int,
13089        __path: *const ::std::os::raw::c_char,
13090        __mode: ::std::os::raw::c_int,
13091        __flags: ::std::os::raw::c_int,
13092    ) -> ::std::os::raw::c_int;
13093}
13094extern "C" {
13095    pub fn link(
13096        __old_path: *const ::std::os::raw::c_char,
13097        __new_path: *const ::std::os::raw::c_char,
13098    ) -> ::std::os::raw::c_int;
13099}
13100extern "C" {
13101    pub fn linkat(
13102        __old_dir_fd: ::std::os::raw::c_int,
13103        __old_path: *const ::std::os::raw::c_char,
13104        __new_dir_fd: ::std::os::raw::c_int,
13105        __new_path: *const ::std::os::raw::c_char,
13106        __flags: ::std::os::raw::c_int,
13107    ) -> ::std::os::raw::c_int;
13108}
13109extern "C" {
13110    pub fn unlink(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
13111}
13112extern "C" {
13113    pub fn unlinkat(
13114        __dirfd: ::std::os::raw::c_int,
13115        __path: *const ::std::os::raw::c_char,
13116        __flags: ::std::os::raw::c_int,
13117    ) -> ::std::os::raw::c_int;
13118}
13119extern "C" {
13120    pub fn chdir(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
13121}
13122extern "C" {
13123    pub fn fchdir(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
13124}
13125extern "C" {
13126    pub fn rmdir(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
13127}
13128extern "C" {
13129    pub fn pipe(__fds: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
13130}
13131extern "C" {
13132    pub fn chroot(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
13133}
13134extern "C" {
13135    pub fn symlink(
13136        __old_path: *const ::std::os::raw::c_char,
13137        __new_path: *const ::std::os::raw::c_char,
13138    ) -> ::std::os::raw::c_int;
13139}
13140extern "C" {
13141    pub fn symlinkat(
13142        __old_path: *const ::std::os::raw::c_char,
13143        __new_dir_fd: ::std::os::raw::c_int,
13144        __new_path: *const ::std::os::raw::c_char,
13145    ) -> ::std::os::raw::c_int;
13146}
13147extern "C" {
13148    pub fn readlink(
13149        __path: *const ::std::os::raw::c_char,
13150        __buf: *mut ::std::os::raw::c_char,
13151        __buf_size: usize,
13152    ) -> isize;
13153}
13154extern "C" {
13155    pub fn readlinkat(
13156        __dir_fd: ::std::os::raw::c_int,
13157        __path: *const ::std::os::raw::c_char,
13158        __buf: *mut ::std::os::raw::c_char,
13159        __buf_size: usize,
13160    ) -> isize;
13161}
13162extern "C" {
13163    pub fn chown(
13164        __path: *const ::std::os::raw::c_char,
13165        __owner: uid_t,
13166        __group: gid_t,
13167    ) -> ::std::os::raw::c_int;
13168}
13169extern "C" {
13170    pub fn fchown(
13171        __fd: ::std::os::raw::c_int,
13172        __owner: uid_t,
13173        __group: gid_t,
13174    ) -> ::std::os::raw::c_int;
13175}
13176extern "C" {
13177    pub fn fchownat(
13178        __dir_fd: ::std::os::raw::c_int,
13179        __path: *const ::std::os::raw::c_char,
13180        __owner: uid_t,
13181        __group: gid_t,
13182        __flags: ::std::os::raw::c_int,
13183    ) -> ::std::os::raw::c_int;
13184}
13185extern "C" {
13186    pub fn lchown(
13187        __path: *const ::std::os::raw::c_char,
13188        __owner: uid_t,
13189        __group: gid_t,
13190    ) -> ::std::os::raw::c_int;
13191}
13192extern "C" {
13193    pub fn getcwd(__buf: *mut ::std::os::raw::c_char, __size: usize)
13194        -> *mut ::std::os::raw::c_char;
13195}
13196extern "C" {
13197    pub fn sync();
13198}
13199extern "C" {
13200    pub fn close(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
13201}
13202extern "C" {
13203    pub fn read(
13204        __fd: ::std::os::raw::c_int,
13205        __buf: *mut ::std::os::raw::c_void,
13206        __count: usize,
13207    ) -> isize;
13208}
13209extern "C" {
13210    pub fn write(
13211        __fd: ::std::os::raw::c_int,
13212        __buf: *const ::std::os::raw::c_void,
13213        __count: usize,
13214    ) -> isize;
13215}
13216extern "C" {
13217    pub fn dup(__old_fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
13218}
13219extern "C" {
13220    pub fn dup2(
13221        __old_fd: ::std::os::raw::c_int,
13222        __new_fd: ::std::os::raw::c_int,
13223    ) -> ::std::os::raw::c_int;
13224}
13225extern "C" {
13226    pub fn dup3(
13227        __old_fd: ::std::os::raw::c_int,
13228        __new_fd: ::std::os::raw::c_int,
13229        __flags: ::std::os::raw::c_int,
13230    ) -> ::std::os::raw::c_int;
13231}
13232extern "C" {
13233    pub fn fsync(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
13234}
13235extern "C" {
13236    pub fn fdatasync(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
13237}
13238extern "C" {
13239    pub fn truncate(
13240        __path: *const ::std::os::raw::c_char,
13241        __length: off_t,
13242    ) -> ::std::os::raw::c_int;
13243}
13244extern "C" {
13245    pub fn lseek(
13246        __fd: ::std::os::raw::c_int,
13247        __offset: off_t,
13248        __whence: ::std::os::raw::c_int,
13249    ) -> off_t;
13250}
13251extern "C" {
13252    pub fn pread(
13253        __fd: ::std::os::raw::c_int,
13254        __buf: *mut ::std::os::raw::c_void,
13255        __count: usize,
13256        __offset: off_t,
13257    ) -> isize;
13258}
13259extern "C" {
13260    pub fn pwrite(
13261        __fd: ::std::os::raw::c_int,
13262        __buf: *const ::std::os::raw::c_void,
13263        __count: usize,
13264        __offset: off_t,
13265    ) -> isize;
13266}
13267extern "C" {
13268    pub fn ftruncate(__fd: ::std::os::raw::c_int, __length: off_t) -> ::std::os::raw::c_int;
13269}
13270extern "C" {
13271    pub fn truncate64(
13272        __path: *const ::std::os::raw::c_char,
13273        __length: off64_t,
13274    ) -> ::std::os::raw::c_int;
13275}
13276extern "C" {
13277    pub fn lseek64(
13278        __fd: ::std::os::raw::c_int,
13279        __offset: off64_t,
13280        __whence: ::std::os::raw::c_int,
13281    ) -> off64_t;
13282}
13283extern "C" {
13284    pub fn pread64(
13285        __fd: ::std::os::raw::c_int,
13286        __buf: *mut ::std::os::raw::c_void,
13287        __count: usize,
13288        __offset: off64_t,
13289    ) -> isize;
13290}
13291extern "C" {
13292    pub fn pwrite64(
13293        __fd: ::std::os::raw::c_int,
13294        __buf: *const ::std::os::raw::c_void,
13295        __count: usize,
13296        __offset: off64_t,
13297    ) -> isize;
13298}
13299extern "C" {
13300    pub fn ftruncate64(__fd: ::std::os::raw::c_int, __length: off64_t) -> ::std::os::raw::c_int;
13301}
13302extern "C" {
13303    pub fn pause() -> ::std::os::raw::c_int;
13304}
13305extern "C" {
13306    pub fn alarm(__seconds: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint;
13307}
13308extern "C" {
13309    pub fn sleep(__seconds: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint;
13310}
13311extern "C" {
13312    pub fn usleep(__microseconds: useconds_t) -> ::std::os::raw::c_int;
13313}
13314extern "C" {
13315    pub fn gethostname(
13316        _buf: *mut ::std::os::raw::c_char,
13317        __buf_size: usize,
13318    ) -> ::std::os::raw::c_int;
13319}
13320extern "C" {
13321    pub fn sethostname(__name: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
13322}
13323extern "C" {
13324    pub fn brk(__addr: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
13325}
13326extern "C" {
13327    pub fn sbrk(__increment: isize) -> *mut ::std::os::raw::c_void;
13328}
13329extern "C" {
13330    pub fn isatty(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
13331}
13332extern "C" {
13333    pub fn ttyname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
13334}
13335extern "C" {
13336    pub fn ttyname_r(
13337        __fd: ::std::os::raw::c_int,
13338        __buf: *mut ::std::os::raw::c_char,
13339        __buf_size: usize,
13340    ) -> ::std::os::raw::c_int;
13341}
13342extern "C" {
13343    pub fn acct(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
13344}
13345extern "C" {
13346    pub fn getpagesize() -> ::std::os::raw::c_int;
13347}
13348extern "C" {
13349    pub fn syscall(__number: ::std::os::raw::c_long, ...) -> ::std::os::raw::c_long;
13350}
13351extern "C" {
13352    pub fn daemon(
13353        __no_chdir: ::std::os::raw::c_int,
13354        __no_close: ::std::os::raw::c_int,
13355    ) -> ::std::os::raw::c_int;
13356}
13357extern "C" {
13358    pub fn cacheflush(
13359        __addr: ::std::os::raw::c_long,
13360        __nbytes: ::std::os::raw::c_long,
13361        __cache: ::std::os::raw::c_long,
13362    ) -> ::std::os::raw::c_int;
13363}
13364extern "C" {
13365    pub fn tcgetpgrp(__fd: ::std::os::raw::c_int) -> pid_t;
13366}
13367extern "C" {
13368    pub fn tcsetpgrp(__fd: ::std::os::raw::c_int, __pid: pid_t) -> ::std::os::raw::c_int;
13369}
13370extern "C" {
13371    pub fn getdomainname(
13372        __buf: *mut ::std::os::raw::c_char,
13373        __buf_size: usize,
13374    ) -> ::std::os::raw::c_int;
13375}
13376extern "C" {
13377    pub fn setdomainname(
13378        __name: *const ::std::os::raw::c_char,
13379        __n: usize,
13380    ) -> ::std::os::raw::c_int;
13381}
13382extern "C" {
13383    pub fn copy_file_range(
13384        __fd_in: ::std::os::raw::c_int,
13385        __off_in: *mut off64_t,
13386        __fd_out: ::std::os::raw::c_int,
13387        __off_out: *mut off64_t,
13388        __length: usize,
13389        __flags: ::std::os::raw::c_uint,
13390    ) -> isize;
13391}
13392extern "C" {
13393    pub fn swab(
13394        __src: *const ::std::os::raw::c_void,
13395        __dst: *mut ::std::os::raw::c_void,
13396        __byte_count: isize,
13397    );
13398}
13399extern "C" {
13400    pub fn close_range(
13401        __min_fd: ::std::os::raw::c_uint,
13402        __max_fd: ::std::os::raw::c_uint,
13403        __flags: ::std::os::raw::c_int,
13404    ) -> ::std::os::raw::c_int;
13405}
13406#[repr(C)]
13407#[derive(Debug, Copy, Clone)]
13408pub struct APerformanceHintManager {
13409    _unused: [u8; 0],
13410}
13411#[repr(C)]
13412#[derive(Debug, Copy, Clone)]
13413pub struct APerformanceHintSession {
13414    _unused: [u8; 0],
13415}
13416#[repr(C)]
13417#[derive(Debug, Copy, Clone)]
13418pub struct AWorkDuration {
13419    _unused: [u8; 0],
13420}
13421extern "C" {
13422    pub fn APerformanceHint_getManager() -> *mut APerformanceHintManager;
13423}
13424extern "C" {
13425    pub fn APerformanceHint_createSession(
13426        manager: *mut APerformanceHintManager,
13427        threadIds: *const i32,
13428        size: usize,
13429        initialTargetWorkDurationNanos: i64,
13430    ) -> *mut APerformanceHintSession;
13431}
13432extern "C" {
13433    pub fn APerformanceHint_getPreferredUpdateRateNanos(
13434        manager: *mut APerformanceHintManager,
13435    ) -> i64;
13436}
13437extern "C" {
13438    pub fn APerformanceHint_updateTargetWorkDuration(
13439        session: *mut APerformanceHintSession,
13440        targetDurationNanos: i64,
13441    ) -> ::std::os::raw::c_int;
13442}
13443extern "C" {
13444    pub fn APerformanceHint_reportActualWorkDuration(
13445        session: *mut APerformanceHintSession,
13446        actualDurationNanos: i64,
13447    ) -> ::std::os::raw::c_int;
13448}
13449extern "C" {
13450    pub fn APerformanceHint_closeSession(session: *mut APerformanceHintSession);
13451}
13452extern "C" {
13453    pub fn APerformanceHint_setThreads(
13454        session: *mut APerformanceHintSession,
13455        threadIds: *const pid_t,
13456        size: usize,
13457    ) -> ::std::os::raw::c_int;
13458}
13459extern "C" {
13460    pub fn APerformanceHint_setPreferPowerEfficiency(
13461        session: *mut APerformanceHintSession,
13462        enabled: bool,
13463    ) -> ::std::os::raw::c_int;
13464}
13465extern "C" {
13466    pub fn APerformanceHint_reportActualWorkDuration2(
13467        session: *mut APerformanceHintSession,
13468        workDuration: *mut AWorkDuration,
13469    ) -> ::std::os::raw::c_int;
13470}
13471extern "C" {
13472    pub fn AWorkDuration_create() -> *mut AWorkDuration;
13473}
13474extern "C" {
13475    pub fn AWorkDuration_release(WorkDuration: *mut AWorkDuration);
13476}
13477extern "C" {
13478    pub fn AWorkDuration_setWorkPeriodStartTimestampNanos(
13479        aWorkDuration: *mut AWorkDuration,
13480        workPeriodStartTimestampNanos: i64,
13481    );
13482}
13483extern "C" {
13484    pub fn AWorkDuration_setActualTotalDurationNanos(
13485        aWorkDuration: *mut AWorkDuration,
13486        actualTotalDurationNanos: i64,
13487    );
13488}
13489extern "C" {
13490    pub fn AWorkDuration_setActualCpuDurationNanos(
13491        aWorkDuration: *mut AWorkDuration,
13492        actualCpuDurationNanos: i64,
13493    );
13494}
13495extern "C" {
13496    pub fn AWorkDuration_setActualGpuDurationNanos(
13497        aWorkDuration: *mut AWorkDuration,
13498        actualGpuDurationNanos: i64,
13499    );
13500}
13501pub const PERMISSION_MANAGER_PERMISSION_GRANTED: _bindgen_ty_39 = 0;
13502pub const PERMISSION_MANAGER_PERMISSION_DENIED: _bindgen_ty_39 = -1;
13503pub type _bindgen_ty_39 = ::std::os::raw::c_int;
13504pub const PERMISSION_MANAGER_STATUS_OK: _bindgen_ty_40 = 0;
13505pub const PERMISSION_MANAGER_STATUS_ERROR_UNKNOWN: _bindgen_ty_40 = -1;
13506pub const PERMISSION_MANAGER_STATUS_SERVICE_UNAVAILABLE: _bindgen_ty_40 = -2;
13507pub type _bindgen_ty_40 = ::std::os::raw::c_int;
13508extern "C" {
13509    pub fn APermissionManager_checkPermission(
13510        permission: *const ::std::os::raw::c_char,
13511        pid: pid_t,
13512        uid: uid_t,
13513        outResult: *mut i32,
13514    ) -> i32;
13515}
13516pub type __double_t = f64;
13517pub type double_t = __double_t;
13518pub type __float_t = f32;
13519pub type float_t = __float_t;
13520extern "C" {
13521    pub fn acos(__x: f64) -> f64;
13522}
13523extern "C" {
13524    pub fn acosf(__x: f32) -> f32;
13525}
13526extern "C" {
13527    pub fn acosl(__x: f64) -> f64;
13528}
13529extern "C" {
13530    pub fn asin(__x: f64) -> f64;
13531}
13532extern "C" {
13533    pub fn asinf(__x: f32) -> f32;
13534}
13535extern "C" {
13536    pub fn asinl(__x: f64) -> f64;
13537}
13538extern "C" {
13539    pub fn atan(__x: f64) -> f64;
13540}
13541extern "C" {
13542    pub fn atanf(__x: f32) -> f32;
13543}
13544extern "C" {
13545    pub fn atanl(__x: f64) -> f64;
13546}
13547extern "C" {
13548    pub fn atan2(__y: f64, __x: f64) -> f64;
13549}
13550extern "C" {
13551    pub fn atan2f(__y: f32, __x: f32) -> f32;
13552}
13553extern "C" {
13554    pub fn atan2l(__y: f64, __x: f64) -> f64;
13555}
13556extern "C" {
13557    pub fn cos(__x: f64) -> f64;
13558}
13559extern "C" {
13560    pub fn cosf(__x: f32) -> f32;
13561}
13562extern "C" {
13563    pub fn cosl(__x: f64) -> f64;
13564}
13565extern "C" {
13566    pub fn sin(__x: f64) -> f64;
13567}
13568extern "C" {
13569    pub fn sinf(__x: f32) -> f32;
13570}
13571extern "C" {
13572    pub fn sinl(__x: f64) -> f64;
13573}
13574extern "C" {
13575    pub fn tan(__x: f64) -> f64;
13576}
13577extern "C" {
13578    pub fn tanf(__x: f32) -> f32;
13579}
13580extern "C" {
13581    pub fn tanl(__x: f64) -> f64;
13582}
13583extern "C" {
13584    pub fn acosh(__x: f64) -> f64;
13585}
13586extern "C" {
13587    pub fn acoshf(__x: f32) -> f32;
13588}
13589extern "C" {
13590    pub fn acoshl(__x: f64) -> f64;
13591}
13592extern "C" {
13593    pub fn asinh(__x: f64) -> f64;
13594}
13595extern "C" {
13596    pub fn asinhf(__x: f32) -> f32;
13597}
13598extern "C" {
13599    pub fn asinhl(__x: f64) -> f64;
13600}
13601extern "C" {
13602    pub fn atanh(__x: f64) -> f64;
13603}
13604extern "C" {
13605    pub fn atanhf(__x: f32) -> f32;
13606}
13607extern "C" {
13608    pub fn atanhl(__x: f64) -> f64;
13609}
13610extern "C" {
13611    pub fn cosh(__x: f64) -> f64;
13612}
13613extern "C" {
13614    pub fn coshf(__x: f32) -> f32;
13615}
13616extern "C" {
13617    pub fn coshl(__x: f64) -> f64;
13618}
13619extern "C" {
13620    pub fn sinh(__x: f64) -> f64;
13621}
13622extern "C" {
13623    pub fn sinhf(__x: f32) -> f32;
13624}
13625extern "C" {
13626    pub fn sinhl(__x: f64) -> f64;
13627}
13628extern "C" {
13629    pub fn tanh(__x: f64) -> f64;
13630}
13631extern "C" {
13632    pub fn tanhf(__x: f32) -> f32;
13633}
13634extern "C" {
13635    pub fn tanhl(__x: f64) -> f64;
13636}
13637extern "C" {
13638    pub fn exp(__x: f64) -> f64;
13639}
13640extern "C" {
13641    pub fn expf(__x: f32) -> f32;
13642}
13643extern "C" {
13644    pub fn expl(__x: f64) -> f64;
13645}
13646extern "C" {
13647    pub fn exp2(__x: f64) -> f64;
13648}
13649extern "C" {
13650    pub fn exp2f(__x: f32) -> f32;
13651}
13652extern "C" {
13653    pub fn exp2l(__x: f64) -> f64;
13654}
13655extern "C" {
13656    pub fn expm1(__x: f64) -> f64;
13657}
13658extern "C" {
13659    pub fn expm1f(__x: f32) -> f32;
13660}
13661extern "C" {
13662    pub fn expm1l(__x: f64) -> f64;
13663}
13664extern "C" {
13665    pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
13666}
13667extern "C" {
13668    pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
13669}
13670extern "C" {
13671    pub fn frexpl(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
13672}
13673extern "C" {
13674    pub fn ilogb(__x: f64) -> ::std::os::raw::c_int;
13675}
13676extern "C" {
13677    pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
13678}
13679extern "C" {
13680    pub fn ilogbl(__x: f64) -> ::std::os::raw::c_int;
13681}
13682extern "C" {
13683    pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
13684}
13685extern "C" {
13686    pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
13687}
13688extern "C" {
13689    pub fn ldexpl(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
13690}
13691extern "C" {
13692    pub fn log(__x: f64) -> f64;
13693}
13694extern "C" {
13695    pub fn logf(__x: f32) -> f32;
13696}
13697extern "C" {
13698    pub fn logl(__x: f64) -> f64;
13699}
13700extern "C" {
13701    pub fn log10(__x: f64) -> f64;
13702}
13703extern "C" {
13704    pub fn log10f(__x: f32) -> f32;
13705}
13706extern "C" {
13707    pub fn log10l(__x: f64) -> f64;
13708}
13709extern "C" {
13710    pub fn log1p(__x: f64) -> f64;
13711}
13712extern "C" {
13713    pub fn log1pf(__x: f32) -> f32;
13714}
13715extern "C" {
13716    pub fn log1pl(__x: f64) -> f64;
13717}
13718extern "C" {
13719    pub fn log2(__x: f64) -> f64;
13720}
13721extern "C" {
13722    pub fn log2f(__x: f32) -> f32;
13723}
13724extern "C" {
13725    pub fn log2l(__x: f64) -> f64;
13726}
13727extern "C" {
13728    pub fn logb(__x: f64) -> f64;
13729}
13730extern "C" {
13731    pub fn logbf(__x: f32) -> f32;
13732}
13733extern "C" {
13734    pub fn logbl(__x: f64) -> f64;
13735}
13736extern "C" {
13737    pub fn modf(__x: f64, __integral_part: *mut f64) -> f64;
13738}
13739extern "C" {
13740    pub fn modff(__x: f32, __integral_part: *mut f32) -> f32;
13741}
13742extern "C" {
13743    pub fn modfl(__x: f64, __integral_part: *mut f64) -> f64;
13744}
13745extern "C" {
13746    pub fn scalbn(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
13747}
13748extern "C" {
13749    pub fn scalbnf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
13750}
13751extern "C" {
13752    pub fn scalbnl(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
13753}
13754extern "C" {
13755    pub fn scalbln(__x: f64, __exponent: ::std::os::raw::c_long) -> f64;
13756}
13757extern "C" {
13758    pub fn scalblnf(__x: f32, __exponent: ::std::os::raw::c_long) -> f32;
13759}
13760extern "C" {
13761    pub fn scalblnl(__x: f64, __exponent: ::std::os::raw::c_long) -> f64;
13762}
13763extern "C" {
13764    pub fn cbrt(__x: f64) -> f64;
13765}
13766extern "C" {
13767    pub fn cbrtf(__x: f32) -> f32;
13768}
13769extern "C" {
13770    pub fn cbrtl(__x: f64) -> f64;
13771}
13772extern "C" {
13773    pub fn fabs(__x: f64) -> f64;
13774}
13775extern "C" {
13776    pub fn fabsf(__x: f32) -> f32;
13777}
13778extern "C" {
13779    pub fn fabsl(__x: f64) -> f64;
13780}
13781extern "C" {
13782    pub fn hypot(__x: f64, __y: f64) -> f64;
13783}
13784extern "C" {
13785    pub fn hypotf(__x: f32, __y: f32) -> f32;
13786}
13787extern "C" {
13788    pub fn hypotl(__x: f64, __y: f64) -> f64;
13789}
13790extern "C" {
13791    pub fn pow(__x: f64, __y: f64) -> f64;
13792}
13793extern "C" {
13794    pub fn powf(__x: f32, __y: f32) -> f32;
13795}
13796extern "C" {
13797    pub fn powl(__x: f64, __y: f64) -> f64;
13798}
13799extern "C" {
13800    pub fn sqrt(__x: f64) -> f64;
13801}
13802extern "C" {
13803    pub fn sqrtf(__x: f32) -> f32;
13804}
13805extern "C" {
13806    pub fn sqrtl(__x: f64) -> f64;
13807}
13808extern "C" {
13809    pub fn erf(__x: f64) -> f64;
13810}
13811extern "C" {
13812    pub fn erff(__x: f32) -> f32;
13813}
13814extern "C" {
13815    pub fn erfl(__x: f64) -> f64;
13816}
13817extern "C" {
13818    pub fn erfc(__x: f64) -> f64;
13819}
13820extern "C" {
13821    pub fn erfcf(__x: f32) -> f32;
13822}
13823extern "C" {
13824    pub fn erfcl(__x: f64) -> f64;
13825}
13826extern "C" {
13827    pub fn lgamma(__x: f64) -> f64;
13828}
13829extern "C" {
13830    pub fn lgammaf(__x: f32) -> f32;
13831}
13832extern "C" {
13833    pub fn lgammal(__x: f64) -> f64;
13834}
13835extern "C" {
13836    pub fn tgamma(__x: f64) -> f64;
13837}
13838extern "C" {
13839    pub fn tgammaf(__x: f32) -> f32;
13840}
13841extern "C" {
13842    pub fn tgammal(__x: f64) -> f64;
13843}
13844extern "C" {
13845    pub fn ceil(__x: f64) -> f64;
13846}
13847extern "C" {
13848    pub fn ceilf(__x: f32) -> f32;
13849}
13850extern "C" {
13851    pub fn ceill(__x: f64) -> f64;
13852}
13853extern "C" {
13854    pub fn floor(__x: f64) -> f64;
13855}
13856extern "C" {
13857    pub fn floorf(__x: f32) -> f32;
13858}
13859extern "C" {
13860    pub fn floorl(__x: f64) -> f64;
13861}
13862extern "C" {
13863    pub fn nearbyint(__x: f64) -> f64;
13864}
13865extern "C" {
13866    pub fn nearbyintf(__x: f32) -> f32;
13867}
13868extern "C" {
13869    pub fn nearbyintl(__x: f64) -> f64;
13870}
13871extern "C" {
13872    pub fn rint(__x: f64) -> f64;
13873}
13874extern "C" {
13875    pub fn rintf(__x: f32) -> f32;
13876}
13877extern "C" {
13878    pub fn rintl(__x: f64) -> f64;
13879}
13880extern "C" {
13881    pub fn lrint(__x: f64) -> ::std::os::raw::c_long;
13882}
13883extern "C" {
13884    pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
13885}
13886extern "C" {
13887    pub fn lrintl(__x: f64) -> ::std::os::raw::c_long;
13888}
13889extern "C" {
13890    pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
13891}
13892extern "C" {
13893    pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
13894}
13895extern "C" {
13896    pub fn llrintl(__x: f64) -> ::std::os::raw::c_longlong;
13897}
13898extern "C" {
13899    pub fn round(__x: f64) -> f64;
13900}
13901extern "C" {
13902    pub fn roundf(__x: f32) -> f32;
13903}
13904extern "C" {
13905    pub fn roundl(__x: f64) -> f64;
13906}
13907extern "C" {
13908    pub fn lround(__x: f64) -> ::std::os::raw::c_long;
13909}
13910extern "C" {
13911    pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
13912}
13913extern "C" {
13914    pub fn lroundl(__x: f64) -> ::std::os::raw::c_long;
13915}
13916extern "C" {
13917    pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
13918}
13919extern "C" {
13920    pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
13921}
13922extern "C" {
13923    pub fn llroundl(__x: f64) -> ::std::os::raw::c_longlong;
13924}
13925extern "C" {
13926    pub fn trunc(__x: f64) -> f64;
13927}
13928extern "C" {
13929    pub fn truncf(__x: f32) -> f32;
13930}
13931extern "C" {
13932    pub fn truncl(__x: f64) -> f64;
13933}
13934extern "C" {
13935    pub fn fmod(__x: f64, __y: f64) -> f64;
13936}
13937extern "C" {
13938    pub fn fmodf(__x: f32, __y: f32) -> f32;
13939}
13940extern "C" {
13941    pub fn fmodl(__x: f64, __y: f64) -> f64;
13942}
13943extern "C" {
13944    pub fn remainder(__x: f64, __y: f64) -> f64;
13945}
13946extern "C" {
13947    pub fn remainderf(__x: f32, __y: f32) -> f32;
13948}
13949extern "C" {
13950    pub fn remainderl(__x: f64, __y: f64) -> f64;
13951}
13952extern "C" {
13953    pub fn remquo(__x: f64, __y: f64, __quotient_bits: *mut ::std::os::raw::c_int) -> f64;
13954}
13955extern "C" {
13956    pub fn remquof(__x: f32, __y: f32, __quotient_bits: *mut ::std::os::raw::c_int) -> f32;
13957}
13958extern "C" {
13959    pub fn remquol(__x: f64, __y: f64, __quotient_bits: *mut ::std::os::raw::c_int) -> f64;
13960}
13961extern "C" {
13962    pub fn copysign(__value: f64, __sign: f64) -> f64;
13963}
13964extern "C" {
13965    pub fn copysignf(__value: f32, __sign: f32) -> f32;
13966}
13967extern "C" {
13968    pub fn copysignl(__value: f64, __sign: f64) -> f64;
13969}
13970extern "C" {
13971    pub fn nan(__kind: *const ::std::os::raw::c_char) -> f64;
13972}
13973extern "C" {
13974    pub fn nanf(__kind: *const ::std::os::raw::c_char) -> f32;
13975}
13976extern "C" {
13977    pub fn nanl(__kind: *const ::std::os::raw::c_char) -> f64;
13978}
13979extern "C" {
13980    pub fn nextafter(__x: f64, __y: f64) -> f64;
13981}
13982extern "C" {
13983    pub fn nextafterf(__x: f32, __y: f32) -> f32;
13984}
13985extern "C" {
13986    pub fn nextafterl(__x: f64, __y: f64) -> f64;
13987}
13988extern "C" {
13989    pub fn nexttoward(__x: f64, __y: f64) -> f64;
13990}
13991extern "C" {
13992    pub fn nexttowardf(__x: f32, __y: f64) -> f32;
13993}
13994extern "C" {
13995    pub fn nexttowardl(__x: f64, __y: f64) -> f64;
13996}
13997extern "C" {
13998    pub fn fdim(__x: f64, __y: f64) -> f64;
13999}
14000extern "C" {
14001    pub fn fdimf(__x: f32, __y: f32) -> f32;
14002}
14003extern "C" {
14004    pub fn fdiml(__x: f64, __y: f64) -> f64;
14005}
14006extern "C" {
14007    pub fn fmax(__x: f64, __y: f64) -> f64;
14008}
14009extern "C" {
14010    pub fn fmaxf(__x: f32, __y: f32) -> f32;
14011}
14012extern "C" {
14013    pub fn fmaxl(__x: f64, __y: f64) -> f64;
14014}
14015extern "C" {
14016    pub fn fmin(__x: f64, __y: f64) -> f64;
14017}
14018extern "C" {
14019    pub fn fminf(__x: f32, __y: f32) -> f32;
14020}
14021extern "C" {
14022    pub fn fminl(__x: f64, __y: f64) -> f64;
14023}
14024extern "C" {
14025    pub fn fma(__x: f64, __y: f64, __z: f64) -> f64;
14026}
14027extern "C" {
14028    pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
14029}
14030extern "C" {
14031    pub fn fmal(__x: f64, __y: f64, __z: f64) -> f64;
14032}
14033extern "C" {
14034    pub fn isinf(__x: f64) -> ::std::os::raw::c_int;
14035}
14036extern "C" {
14037    pub fn isnan(__x: f64) -> ::std::os::raw::c_int;
14038}
14039extern "C" {
14040    pub static mut signgam: ::std::os::raw::c_int;
14041}
14042extern "C" {
14043    pub fn y0(__x: f64) -> f64;
14044}
14045extern "C" {
14046    pub fn y1(__x: f64) -> f64;
14047}
14048extern "C" {
14049    pub fn yn(__n: ::std::os::raw::c_int, __x: f64) -> f64;
14050}
14051pub const ASENSOR_TYPE_INVALID: _bindgen_ty_41 = -1;
14052pub const ASENSOR_TYPE_ACCELEROMETER: _bindgen_ty_41 = 1;
14053pub const ASENSOR_TYPE_MAGNETIC_FIELD: _bindgen_ty_41 = 2;
14054pub const ASENSOR_TYPE_GYROSCOPE: _bindgen_ty_41 = 4;
14055pub const ASENSOR_TYPE_LIGHT: _bindgen_ty_41 = 5;
14056pub const ASENSOR_TYPE_PRESSURE: _bindgen_ty_41 = 6;
14057pub const ASENSOR_TYPE_PROXIMITY: _bindgen_ty_41 = 8;
14058pub const ASENSOR_TYPE_GRAVITY: _bindgen_ty_41 = 9;
14059pub const ASENSOR_TYPE_LINEAR_ACCELERATION: _bindgen_ty_41 = 10;
14060pub const ASENSOR_TYPE_ROTATION_VECTOR: _bindgen_ty_41 = 11;
14061pub const ASENSOR_TYPE_RELATIVE_HUMIDITY: _bindgen_ty_41 = 12;
14062pub const ASENSOR_TYPE_AMBIENT_TEMPERATURE: _bindgen_ty_41 = 13;
14063pub const ASENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED: _bindgen_ty_41 = 14;
14064pub const ASENSOR_TYPE_GAME_ROTATION_VECTOR: _bindgen_ty_41 = 15;
14065pub const ASENSOR_TYPE_GYROSCOPE_UNCALIBRATED: _bindgen_ty_41 = 16;
14066pub const ASENSOR_TYPE_SIGNIFICANT_MOTION: _bindgen_ty_41 = 17;
14067pub const ASENSOR_TYPE_STEP_DETECTOR: _bindgen_ty_41 = 18;
14068pub const ASENSOR_TYPE_STEP_COUNTER: _bindgen_ty_41 = 19;
14069pub const ASENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR: _bindgen_ty_41 = 20;
14070pub const ASENSOR_TYPE_HEART_RATE: _bindgen_ty_41 = 21;
14071pub const ASENSOR_TYPE_POSE_6DOF: _bindgen_ty_41 = 28;
14072pub const ASENSOR_TYPE_STATIONARY_DETECT: _bindgen_ty_41 = 29;
14073pub const ASENSOR_TYPE_MOTION_DETECT: _bindgen_ty_41 = 30;
14074pub const ASENSOR_TYPE_HEART_BEAT: _bindgen_ty_41 = 31;
14075pub const ASENSOR_TYPE_DYNAMIC_SENSOR_META: _bindgen_ty_41 = 32;
14076pub const ASENSOR_TYPE_ADDITIONAL_INFO: _bindgen_ty_41 = 33;
14077pub const ASENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT: _bindgen_ty_41 = 34;
14078pub const ASENSOR_TYPE_ACCELEROMETER_UNCALIBRATED: _bindgen_ty_41 = 35;
14079pub const ASENSOR_TYPE_HINGE_ANGLE: _bindgen_ty_41 = 36;
14080pub const ASENSOR_TYPE_HEAD_TRACKER: _bindgen_ty_41 = 37;
14081pub const ASENSOR_TYPE_ACCELEROMETER_LIMITED_AXES: _bindgen_ty_41 = 38;
14082pub const ASENSOR_TYPE_GYROSCOPE_LIMITED_AXES: _bindgen_ty_41 = 39;
14083pub const ASENSOR_TYPE_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED: _bindgen_ty_41 = 40;
14084pub const ASENSOR_TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED: _bindgen_ty_41 = 41;
14085pub const ASENSOR_TYPE_HEADING: _bindgen_ty_41 = 42;
14086pub type _bindgen_ty_41 = ::std::os::raw::c_int;
14087pub const ASENSOR_STATUS_NO_CONTACT: _bindgen_ty_42 = -1;
14088pub const ASENSOR_STATUS_UNRELIABLE: _bindgen_ty_42 = 0;
14089pub const ASENSOR_STATUS_ACCURACY_LOW: _bindgen_ty_42 = 1;
14090pub const ASENSOR_STATUS_ACCURACY_MEDIUM: _bindgen_ty_42 = 2;
14091pub const ASENSOR_STATUS_ACCURACY_HIGH: _bindgen_ty_42 = 3;
14092pub type _bindgen_ty_42 = ::std::os::raw::c_int;
14093pub const AREPORTING_MODE_INVALID: _bindgen_ty_43 = -1;
14094pub const AREPORTING_MODE_CONTINUOUS: _bindgen_ty_43 = 0;
14095pub const AREPORTING_MODE_ON_CHANGE: _bindgen_ty_43 = 1;
14096pub const AREPORTING_MODE_ONE_SHOT: _bindgen_ty_43 = 2;
14097pub const AREPORTING_MODE_SPECIAL_TRIGGER: _bindgen_ty_43 = 3;
14098pub type _bindgen_ty_43 = ::std::os::raw::c_int;
14099pub const ASENSOR_DIRECT_RATE_STOP: _bindgen_ty_44 = 0;
14100pub const ASENSOR_DIRECT_RATE_NORMAL: _bindgen_ty_44 = 1;
14101pub const ASENSOR_DIRECT_RATE_FAST: _bindgen_ty_44 = 2;
14102pub const ASENSOR_DIRECT_RATE_VERY_FAST: _bindgen_ty_44 = 3;
14103pub type _bindgen_ty_44 = ::std::os::raw::c_uint;
14104pub const ASENSOR_DIRECT_CHANNEL_TYPE_SHARED_MEMORY: _bindgen_ty_45 = 1;
14105pub const ASENSOR_DIRECT_CHANNEL_TYPE_HARDWARE_BUFFER: _bindgen_ty_45 = 2;
14106pub type _bindgen_ty_45 = ::std::os::raw::c_uint;
14107pub const ASENSOR_ADDITIONAL_INFO_BEGIN: _bindgen_ty_46 = 0;
14108pub const ASENSOR_ADDITIONAL_INFO_END: _bindgen_ty_46 = 1;
14109pub const ASENSOR_ADDITIONAL_INFO_UNTRACKED_DELAY: _bindgen_ty_46 = 65536;
14110pub const ASENSOR_ADDITIONAL_INFO_INTERNAL_TEMPERATURE: _bindgen_ty_46 = 65537;
14111pub const ASENSOR_ADDITIONAL_INFO_VEC3_CALIBRATION: _bindgen_ty_46 = 65538;
14112pub const ASENSOR_ADDITIONAL_INFO_SENSOR_PLACEMENT: _bindgen_ty_46 = 65539;
14113pub const ASENSOR_ADDITIONAL_INFO_SAMPLING: _bindgen_ty_46 = 65540;
14114pub type _bindgen_ty_46 = ::std::os::raw::c_uint;
14115#[repr(C)]
14116#[derive(Copy, Clone)]
14117pub struct ASensorVector {
14118    pub __bindgen_anon_1: ASensorVector__bindgen_ty_1,
14119    pub status: i8,
14120    pub reserved: [u8; 3usize],
14121}
14122#[repr(C)]
14123#[derive(Copy, Clone)]
14124pub union ASensorVector__bindgen_ty_1 {
14125    pub v: [f32; 3usize],
14126    pub __bindgen_anon_1: ASensorVector__bindgen_ty_1__bindgen_ty_1,
14127    pub __bindgen_anon_2: ASensorVector__bindgen_ty_1__bindgen_ty_2,
14128}
14129#[repr(C)]
14130#[derive(Debug, Copy, Clone)]
14131pub struct ASensorVector__bindgen_ty_1__bindgen_ty_1 {
14132    pub x: f32,
14133    pub y: f32,
14134    pub z: f32,
14135}
14136#[test]
14137fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_1() {
14138    const UNINIT: ::std::mem::MaybeUninit<ASensorVector__bindgen_ty_1__bindgen_ty_1> =
14139        ::std::mem::MaybeUninit::uninit();
14140    let ptr = UNINIT.as_ptr();
14141    assert_eq!(
14142        ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
14143        12usize,
14144        concat!(
14145            "Size of: ",
14146            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
14147        )
14148    );
14149    assert_eq!(
14150        ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
14151        4usize,
14152        concat!(
14153            "Alignment of ",
14154            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
14155        )
14156    );
14157    assert_eq!(
14158        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
14159        0usize,
14160        concat!(
14161            "Offset of field: ",
14162            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
14163            "::",
14164            stringify!(x)
14165        )
14166    );
14167    assert_eq!(
14168        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
14169        4usize,
14170        concat!(
14171            "Offset of field: ",
14172            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
14173            "::",
14174            stringify!(y)
14175        )
14176    );
14177    assert_eq!(
14178        unsafe { ::std::ptr::addr_of!((*ptr).z) as usize - ptr as usize },
14179        8usize,
14180        concat!(
14181            "Offset of field: ",
14182            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
14183            "::",
14184            stringify!(z)
14185        )
14186    );
14187}
14188#[repr(C)]
14189#[derive(Debug, Copy, Clone)]
14190pub struct ASensorVector__bindgen_ty_1__bindgen_ty_2 {
14191    pub azimuth: f32,
14192    pub pitch: f32,
14193    pub roll: f32,
14194}
14195#[test]
14196fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_2() {
14197    const UNINIT: ::std::mem::MaybeUninit<ASensorVector__bindgen_ty_1__bindgen_ty_2> =
14198        ::std::mem::MaybeUninit::uninit();
14199    let ptr = UNINIT.as_ptr();
14200    assert_eq!(
14201        ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
14202        12usize,
14203        concat!(
14204            "Size of: ",
14205            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
14206        )
14207    );
14208    assert_eq!(
14209        ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
14210        4usize,
14211        concat!(
14212            "Alignment of ",
14213            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
14214        )
14215    );
14216    assert_eq!(
14217        unsafe { ::std::ptr::addr_of!((*ptr).azimuth) as usize - ptr as usize },
14218        0usize,
14219        concat!(
14220            "Offset of field: ",
14221            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
14222            "::",
14223            stringify!(azimuth)
14224        )
14225    );
14226    assert_eq!(
14227        unsafe { ::std::ptr::addr_of!((*ptr).pitch) as usize - ptr as usize },
14228        4usize,
14229        concat!(
14230            "Offset of field: ",
14231            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
14232            "::",
14233            stringify!(pitch)
14234        )
14235    );
14236    assert_eq!(
14237        unsafe { ::std::ptr::addr_of!((*ptr).roll) as usize - ptr as usize },
14238        8usize,
14239        concat!(
14240            "Offset of field: ",
14241            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
14242            "::",
14243            stringify!(roll)
14244        )
14245    );
14246}
14247#[test]
14248fn bindgen_test_layout_ASensorVector__bindgen_ty_1() {
14249    const UNINIT: ::std::mem::MaybeUninit<ASensorVector__bindgen_ty_1> =
14250        ::std::mem::MaybeUninit::uninit();
14251    let ptr = UNINIT.as_ptr();
14252    assert_eq!(
14253        ::std::mem::size_of::<ASensorVector__bindgen_ty_1>(),
14254        12usize,
14255        concat!("Size of: ", stringify!(ASensorVector__bindgen_ty_1))
14256    );
14257    assert_eq!(
14258        ::std::mem::align_of::<ASensorVector__bindgen_ty_1>(),
14259        4usize,
14260        concat!("Alignment of ", stringify!(ASensorVector__bindgen_ty_1))
14261    );
14262    assert_eq!(
14263        unsafe { ::std::ptr::addr_of!((*ptr).v) as usize - ptr as usize },
14264        0usize,
14265        concat!(
14266            "Offset of field: ",
14267            stringify!(ASensorVector__bindgen_ty_1),
14268            "::",
14269            stringify!(v)
14270        )
14271    );
14272}
14273#[test]
14274fn bindgen_test_layout_ASensorVector() {
14275    const UNINIT: ::std::mem::MaybeUninit<ASensorVector> = ::std::mem::MaybeUninit::uninit();
14276    let ptr = UNINIT.as_ptr();
14277    assert_eq!(
14278        ::std::mem::size_of::<ASensorVector>(),
14279        16usize,
14280        concat!("Size of: ", stringify!(ASensorVector))
14281    );
14282    assert_eq!(
14283        ::std::mem::align_of::<ASensorVector>(),
14284        4usize,
14285        concat!("Alignment of ", stringify!(ASensorVector))
14286    );
14287    assert_eq!(
14288        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
14289        12usize,
14290        concat!(
14291            "Offset of field: ",
14292            stringify!(ASensorVector),
14293            "::",
14294            stringify!(status)
14295        )
14296    );
14297    assert_eq!(
14298        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
14299        13usize,
14300        concat!(
14301            "Offset of field: ",
14302            stringify!(ASensorVector),
14303            "::",
14304            stringify!(reserved)
14305        )
14306    );
14307}
14308#[repr(C)]
14309#[derive(Debug, Copy, Clone)]
14310pub struct AMetaDataEvent {
14311    pub what: i32,
14312    pub sensor: i32,
14313}
14314#[test]
14315fn bindgen_test_layout_AMetaDataEvent() {
14316    const UNINIT: ::std::mem::MaybeUninit<AMetaDataEvent> = ::std::mem::MaybeUninit::uninit();
14317    let ptr = UNINIT.as_ptr();
14318    assert_eq!(
14319        ::std::mem::size_of::<AMetaDataEvent>(),
14320        8usize,
14321        concat!("Size of: ", stringify!(AMetaDataEvent))
14322    );
14323    assert_eq!(
14324        ::std::mem::align_of::<AMetaDataEvent>(),
14325        4usize,
14326        concat!("Alignment of ", stringify!(AMetaDataEvent))
14327    );
14328    assert_eq!(
14329        unsafe { ::std::ptr::addr_of!((*ptr).what) as usize - ptr as usize },
14330        0usize,
14331        concat!(
14332            "Offset of field: ",
14333            stringify!(AMetaDataEvent),
14334            "::",
14335            stringify!(what)
14336        )
14337    );
14338    assert_eq!(
14339        unsafe { ::std::ptr::addr_of!((*ptr).sensor) as usize - ptr as usize },
14340        4usize,
14341        concat!(
14342            "Offset of field: ",
14343            stringify!(AMetaDataEvent),
14344            "::",
14345            stringify!(sensor)
14346        )
14347    );
14348}
14349#[repr(C)]
14350#[derive(Copy, Clone)]
14351pub struct AUncalibratedEvent {
14352    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1,
14353    pub __bindgen_anon_2: AUncalibratedEvent__bindgen_ty_2,
14354}
14355#[repr(C)]
14356#[derive(Copy, Clone)]
14357pub union AUncalibratedEvent__bindgen_ty_1 {
14358    pub uncalib: [f32; 3usize],
14359    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1,
14360}
14361#[repr(C)]
14362#[derive(Debug, Copy, Clone)]
14363pub struct AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1 {
14364    pub x_uncalib: f32,
14365    pub y_uncalib: f32,
14366    pub z_uncalib: f32,
14367}
14368#[test]
14369fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1() {
14370    const UNINIT: ::std::mem::MaybeUninit<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1> =
14371        ::std::mem::MaybeUninit::uninit();
14372    let ptr = UNINIT.as_ptr();
14373    assert_eq!(
14374        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
14375        12usize,
14376        concat!(
14377            "Size of: ",
14378            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
14379        )
14380    );
14381    assert_eq!(
14382        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
14383        4usize,
14384        concat!(
14385            "Alignment of ",
14386            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
14387        )
14388    );
14389    assert_eq!(
14390        unsafe { ::std::ptr::addr_of!((*ptr).x_uncalib) as usize - ptr as usize },
14391        0usize,
14392        concat!(
14393            "Offset of field: ",
14394            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
14395            "::",
14396            stringify!(x_uncalib)
14397        )
14398    );
14399    assert_eq!(
14400        unsafe { ::std::ptr::addr_of!((*ptr).y_uncalib) as usize - ptr as usize },
14401        4usize,
14402        concat!(
14403            "Offset of field: ",
14404            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
14405            "::",
14406            stringify!(y_uncalib)
14407        )
14408    );
14409    assert_eq!(
14410        unsafe { ::std::ptr::addr_of!((*ptr).z_uncalib) as usize - ptr as usize },
14411        8usize,
14412        concat!(
14413            "Offset of field: ",
14414            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
14415            "::",
14416            stringify!(z_uncalib)
14417        )
14418    );
14419}
14420#[test]
14421fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1() {
14422    const UNINIT: ::std::mem::MaybeUninit<AUncalibratedEvent__bindgen_ty_1> =
14423        ::std::mem::MaybeUninit::uninit();
14424    let ptr = UNINIT.as_ptr();
14425    assert_eq!(
14426        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1>(),
14427        12usize,
14428        concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_1))
14429    );
14430    assert_eq!(
14431        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1>(),
14432        4usize,
14433        concat!(
14434            "Alignment of ",
14435            stringify!(AUncalibratedEvent__bindgen_ty_1)
14436        )
14437    );
14438    assert_eq!(
14439        unsafe { ::std::ptr::addr_of!((*ptr).uncalib) as usize - ptr as usize },
14440        0usize,
14441        concat!(
14442            "Offset of field: ",
14443            stringify!(AUncalibratedEvent__bindgen_ty_1),
14444            "::",
14445            stringify!(uncalib)
14446        )
14447    );
14448}
14449#[repr(C)]
14450#[derive(Copy, Clone)]
14451pub union AUncalibratedEvent__bindgen_ty_2 {
14452    pub bias: [f32; 3usize],
14453    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1,
14454}
14455#[repr(C)]
14456#[derive(Debug, Copy, Clone)]
14457pub struct AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1 {
14458    pub x_bias: f32,
14459    pub y_bias: f32,
14460    pub z_bias: f32,
14461}
14462#[test]
14463fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1() {
14464    const UNINIT: ::std::mem::MaybeUninit<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1> =
14465        ::std::mem::MaybeUninit::uninit();
14466    let ptr = UNINIT.as_ptr();
14467    assert_eq!(
14468        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
14469        12usize,
14470        concat!(
14471            "Size of: ",
14472            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
14473        )
14474    );
14475    assert_eq!(
14476        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
14477        4usize,
14478        concat!(
14479            "Alignment of ",
14480            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
14481        )
14482    );
14483    assert_eq!(
14484        unsafe { ::std::ptr::addr_of!((*ptr).x_bias) as usize - ptr as usize },
14485        0usize,
14486        concat!(
14487            "Offset of field: ",
14488            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
14489            "::",
14490            stringify!(x_bias)
14491        )
14492    );
14493    assert_eq!(
14494        unsafe { ::std::ptr::addr_of!((*ptr).y_bias) as usize - ptr as usize },
14495        4usize,
14496        concat!(
14497            "Offset of field: ",
14498            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
14499            "::",
14500            stringify!(y_bias)
14501        )
14502    );
14503    assert_eq!(
14504        unsafe { ::std::ptr::addr_of!((*ptr).z_bias) as usize - ptr as usize },
14505        8usize,
14506        concat!(
14507            "Offset of field: ",
14508            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
14509            "::",
14510            stringify!(z_bias)
14511        )
14512    );
14513}
14514#[test]
14515fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2() {
14516    const UNINIT: ::std::mem::MaybeUninit<AUncalibratedEvent__bindgen_ty_2> =
14517        ::std::mem::MaybeUninit::uninit();
14518    let ptr = UNINIT.as_ptr();
14519    assert_eq!(
14520        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2>(),
14521        12usize,
14522        concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_2))
14523    );
14524    assert_eq!(
14525        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2>(),
14526        4usize,
14527        concat!(
14528            "Alignment of ",
14529            stringify!(AUncalibratedEvent__bindgen_ty_2)
14530        )
14531    );
14532    assert_eq!(
14533        unsafe { ::std::ptr::addr_of!((*ptr).bias) as usize - ptr as usize },
14534        0usize,
14535        concat!(
14536            "Offset of field: ",
14537            stringify!(AUncalibratedEvent__bindgen_ty_2),
14538            "::",
14539            stringify!(bias)
14540        )
14541    );
14542}
14543#[test]
14544fn bindgen_test_layout_AUncalibratedEvent() {
14545    assert_eq!(
14546        ::std::mem::size_of::<AUncalibratedEvent>(),
14547        24usize,
14548        concat!("Size of: ", stringify!(AUncalibratedEvent))
14549    );
14550    assert_eq!(
14551        ::std::mem::align_of::<AUncalibratedEvent>(),
14552        4usize,
14553        concat!("Alignment of ", stringify!(AUncalibratedEvent))
14554    );
14555}
14556#[repr(C)]
14557#[derive(Debug, Copy, Clone)]
14558pub struct AHeartRateEvent {
14559    pub bpm: f32,
14560    pub status: i8,
14561}
14562#[test]
14563fn bindgen_test_layout_AHeartRateEvent() {
14564    const UNINIT: ::std::mem::MaybeUninit<AHeartRateEvent> = ::std::mem::MaybeUninit::uninit();
14565    let ptr = UNINIT.as_ptr();
14566    assert_eq!(
14567        ::std::mem::size_of::<AHeartRateEvent>(),
14568        8usize,
14569        concat!("Size of: ", stringify!(AHeartRateEvent))
14570    );
14571    assert_eq!(
14572        ::std::mem::align_of::<AHeartRateEvent>(),
14573        4usize,
14574        concat!("Alignment of ", stringify!(AHeartRateEvent))
14575    );
14576    assert_eq!(
14577        unsafe { ::std::ptr::addr_of!((*ptr).bpm) as usize - ptr as usize },
14578        0usize,
14579        concat!(
14580            "Offset of field: ",
14581            stringify!(AHeartRateEvent),
14582            "::",
14583            stringify!(bpm)
14584        )
14585    );
14586    assert_eq!(
14587        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
14588        4usize,
14589        concat!(
14590            "Offset of field: ",
14591            stringify!(AHeartRateEvent),
14592            "::",
14593            stringify!(status)
14594        )
14595    );
14596}
14597#[repr(C)]
14598#[derive(Debug, Copy, Clone)]
14599pub struct ADynamicSensorEvent {
14600    pub connected: i32,
14601    pub handle: i32,
14602}
14603#[test]
14604fn bindgen_test_layout_ADynamicSensorEvent() {
14605    const UNINIT: ::std::mem::MaybeUninit<ADynamicSensorEvent> = ::std::mem::MaybeUninit::uninit();
14606    let ptr = UNINIT.as_ptr();
14607    assert_eq!(
14608        ::std::mem::size_of::<ADynamicSensorEvent>(),
14609        8usize,
14610        concat!("Size of: ", stringify!(ADynamicSensorEvent))
14611    );
14612    assert_eq!(
14613        ::std::mem::align_of::<ADynamicSensorEvent>(),
14614        4usize,
14615        concat!("Alignment of ", stringify!(ADynamicSensorEvent))
14616    );
14617    assert_eq!(
14618        unsafe { ::std::ptr::addr_of!((*ptr).connected) as usize - ptr as usize },
14619        0usize,
14620        concat!(
14621            "Offset of field: ",
14622            stringify!(ADynamicSensorEvent),
14623            "::",
14624            stringify!(connected)
14625        )
14626    );
14627    assert_eq!(
14628        unsafe { ::std::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
14629        4usize,
14630        concat!(
14631            "Offset of field: ",
14632            stringify!(ADynamicSensorEvent),
14633            "::",
14634            stringify!(handle)
14635        )
14636    );
14637}
14638#[repr(C)]
14639#[derive(Copy, Clone)]
14640pub struct AAdditionalInfoEvent {
14641    pub type_: i32,
14642    pub serial: i32,
14643    pub __bindgen_anon_1: AAdditionalInfoEvent__bindgen_ty_1,
14644}
14645#[repr(C)]
14646#[derive(Copy, Clone)]
14647pub union AAdditionalInfoEvent__bindgen_ty_1 {
14648    pub data_int32: [i32; 14usize],
14649    pub data_float: [f32; 14usize],
14650}
14651#[test]
14652fn bindgen_test_layout_AAdditionalInfoEvent__bindgen_ty_1() {
14653    const UNINIT: ::std::mem::MaybeUninit<AAdditionalInfoEvent__bindgen_ty_1> =
14654        ::std::mem::MaybeUninit::uninit();
14655    let ptr = UNINIT.as_ptr();
14656    assert_eq!(
14657        ::std::mem::size_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
14658        56usize,
14659        concat!("Size of: ", stringify!(AAdditionalInfoEvent__bindgen_ty_1))
14660    );
14661    assert_eq!(
14662        ::std::mem::align_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
14663        4usize,
14664        concat!(
14665            "Alignment of ",
14666            stringify!(AAdditionalInfoEvent__bindgen_ty_1)
14667        )
14668    );
14669    assert_eq!(
14670        unsafe { ::std::ptr::addr_of!((*ptr).data_int32) as usize - ptr as usize },
14671        0usize,
14672        concat!(
14673            "Offset of field: ",
14674            stringify!(AAdditionalInfoEvent__bindgen_ty_1),
14675            "::",
14676            stringify!(data_int32)
14677        )
14678    );
14679    assert_eq!(
14680        unsafe { ::std::ptr::addr_of!((*ptr).data_float) as usize - ptr as usize },
14681        0usize,
14682        concat!(
14683            "Offset of field: ",
14684            stringify!(AAdditionalInfoEvent__bindgen_ty_1),
14685            "::",
14686            stringify!(data_float)
14687        )
14688    );
14689}
14690#[test]
14691fn bindgen_test_layout_AAdditionalInfoEvent() {
14692    const UNINIT: ::std::mem::MaybeUninit<AAdditionalInfoEvent> = ::std::mem::MaybeUninit::uninit();
14693    let ptr = UNINIT.as_ptr();
14694    assert_eq!(
14695        ::std::mem::size_of::<AAdditionalInfoEvent>(),
14696        64usize,
14697        concat!("Size of: ", stringify!(AAdditionalInfoEvent))
14698    );
14699    assert_eq!(
14700        ::std::mem::align_of::<AAdditionalInfoEvent>(),
14701        4usize,
14702        concat!("Alignment of ", stringify!(AAdditionalInfoEvent))
14703    );
14704    assert_eq!(
14705        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
14706        0usize,
14707        concat!(
14708            "Offset of field: ",
14709            stringify!(AAdditionalInfoEvent),
14710            "::",
14711            stringify!(type_)
14712        )
14713    );
14714    assert_eq!(
14715        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
14716        4usize,
14717        concat!(
14718            "Offset of field: ",
14719            stringify!(AAdditionalInfoEvent),
14720            "::",
14721            stringify!(serial)
14722        )
14723    );
14724}
14725#[repr(C)]
14726#[derive(Debug, Copy, Clone)]
14727pub struct AHeadTrackerEvent {
14728    pub rx: f32,
14729    pub ry: f32,
14730    pub rz: f32,
14731    pub vx: f32,
14732    pub vy: f32,
14733    pub vz: f32,
14734    pub discontinuity_count: i32,
14735}
14736#[test]
14737fn bindgen_test_layout_AHeadTrackerEvent() {
14738    const UNINIT: ::std::mem::MaybeUninit<AHeadTrackerEvent> = ::std::mem::MaybeUninit::uninit();
14739    let ptr = UNINIT.as_ptr();
14740    assert_eq!(
14741        ::std::mem::size_of::<AHeadTrackerEvent>(),
14742        28usize,
14743        concat!("Size of: ", stringify!(AHeadTrackerEvent))
14744    );
14745    assert_eq!(
14746        ::std::mem::align_of::<AHeadTrackerEvent>(),
14747        4usize,
14748        concat!("Alignment of ", stringify!(AHeadTrackerEvent))
14749    );
14750    assert_eq!(
14751        unsafe { ::std::ptr::addr_of!((*ptr).rx) as usize - ptr as usize },
14752        0usize,
14753        concat!(
14754            "Offset of field: ",
14755            stringify!(AHeadTrackerEvent),
14756            "::",
14757            stringify!(rx)
14758        )
14759    );
14760    assert_eq!(
14761        unsafe { ::std::ptr::addr_of!((*ptr).ry) as usize - ptr as usize },
14762        4usize,
14763        concat!(
14764            "Offset of field: ",
14765            stringify!(AHeadTrackerEvent),
14766            "::",
14767            stringify!(ry)
14768        )
14769    );
14770    assert_eq!(
14771        unsafe { ::std::ptr::addr_of!((*ptr).rz) as usize - ptr as usize },
14772        8usize,
14773        concat!(
14774            "Offset of field: ",
14775            stringify!(AHeadTrackerEvent),
14776            "::",
14777            stringify!(rz)
14778        )
14779    );
14780    assert_eq!(
14781        unsafe { ::std::ptr::addr_of!((*ptr).vx) as usize - ptr as usize },
14782        12usize,
14783        concat!(
14784            "Offset of field: ",
14785            stringify!(AHeadTrackerEvent),
14786            "::",
14787            stringify!(vx)
14788        )
14789    );
14790    assert_eq!(
14791        unsafe { ::std::ptr::addr_of!((*ptr).vy) as usize - ptr as usize },
14792        16usize,
14793        concat!(
14794            "Offset of field: ",
14795            stringify!(AHeadTrackerEvent),
14796            "::",
14797            stringify!(vy)
14798        )
14799    );
14800    assert_eq!(
14801        unsafe { ::std::ptr::addr_of!((*ptr).vz) as usize - ptr as usize },
14802        20usize,
14803        concat!(
14804            "Offset of field: ",
14805            stringify!(AHeadTrackerEvent),
14806            "::",
14807            stringify!(vz)
14808        )
14809    );
14810    assert_eq!(
14811        unsafe { ::std::ptr::addr_of!((*ptr).discontinuity_count) as usize - ptr as usize },
14812        24usize,
14813        concat!(
14814            "Offset of field: ",
14815            stringify!(AHeadTrackerEvent),
14816            "::",
14817            stringify!(discontinuity_count)
14818        )
14819    );
14820}
14821#[repr(C)]
14822#[derive(Copy, Clone)]
14823pub struct ALimitedAxesImuEvent {
14824    pub __bindgen_anon_1: ALimitedAxesImuEvent__bindgen_ty_1,
14825    pub __bindgen_anon_2: ALimitedAxesImuEvent__bindgen_ty_2,
14826}
14827#[repr(C)]
14828#[derive(Copy, Clone)]
14829pub union ALimitedAxesImuEvent__bindgen_ty_1 {
14830    pub calib: [f32; 3usize],
14831    pub __bindgen_anon_1: ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1,
14832}
14833#[repr(C)]
14834#[derive(Debug, Copy, Clone)]
14835pub struct ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1 {
14836    pub x: f32,
14837    pub y: f32,
14838    pub z: f32,
14839}
14840#[test]
14841fn bindgen_test_layout_ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1() {
14842    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1> =
14843        ::std::mem::MaybeUninit::uninit();
14844    let ptr = UNINIT.as_ptr();
14845    assert_eq!(
14846        ::std::mem::size_of::<ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1>(),
14847        12usize,
14848        concat!(
14849            "Size of: ",
14850            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1)
14851        )
14852    );
14853    assert_eq!(
14854        ::std::mem::align_of::<ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1>(),
14855        4usize,
14856        concat!(
14857            "Alignment of ",
14858            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1)
14859        )
14860    );
14861    assert_eq!(
14862        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
14863        0usize,
14864        concat!(
14865            "Offset of field: ",
14866            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1),
14867            "::",
14868            stringify!(x)
14869        )
14870    );
14871    assert_eq!(
14872        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
14873        4usize,
14874        concat!(
14875            "Offset of field: ",
14876            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1),
14877            "::",
14878            stringify!(y)
14879        )
14880    );
14881    assert_eq!(
14882        unsafe { ::std::ptr::addr_of!((*ptr).z) as usize - ptr as usize },
14883        8usize,
14884        concat!(
14885            "Offset of field: ",
14886            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1),
14887            "::",
14888            stringify!(z)
14889        )
14890    );
14891}
14892#[test]
14893fn bindgen_test_layout_ALimitedAxesImuEvent__bindgen_ty_1() {
14894    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuEvent__bindgen_ty_1> =
14895        ::std::mem::MaybeUninit::uninit();
14896    let ptr = UNINIT.as_ptr();
14897    assert_eq!(
14898        ::std::mem::size_of::<ALimitedAxesImuEvent__bindgen_ty_1>(),
14899        12usize,
14900        concat!("Size of: ", stringify!(ALimitedAxesImuEvent__bindgen_ty_1))
14901    );
14902    assert_eq!(
14903        ::std::mem::align_of::<ALimitedAxesImuEvent__bindgen_ty_1>(),
14904        4usize,
14905        concat!(
14906            "Alignment of ",
14907            stringify!(ALimitedAxesImuEvent__bindgen_ty_1)
14908        )
14909    );
14910    assert_eq!(
14911        unsafe { ::std::ptr::addr_of!((*ptr).calib) as usize - ptr as usize },
14912        0usize,
14913        concat!(
14914            "Offset of field: ",
14915            stringify!(ALimitedAxesImuEvent__bindgen_ty_1),
14916            "::",
14917            stringify!(calib)
14918        )
14919    );
14920}
14921#[repr(C)]
14922#[derive(Copy, Clone)]
14923pub union ALimitedAxesImuEvent__bindgen_ty_2 {
14924    pub supported: [f32; 3usize],
14925    pub __bindgen_anon_1: ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1,
14926}
14927#[repr(C)]
14928#[derive(Debug, Copy, Clone)]
14929pub struct ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1 {
14930    pub x_supported: f32,
14931    pub y_supported: f32,
14932    pub z_supported: f32,
14933}
14934#[test]
14935fn bindgen_test_layout_ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1() {
14936    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1> =
14937        ::std::mem::MaybeUninit::uninit();
14938    let ptr = UNINIT.as_ptr();
14939    assert_eq!(
14940        ::std::mem::size_of::<ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1>(),
14941        12usize,
14942        concat!(
14943            "Size of: ",
14944            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1)
14945        )
14946    );
14947    assert_eq!(
14948        ::std::mem::align_of::<ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1>(),
14949        4usize,
14950        concat!(
14951            "Alignment of ",
14952            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1)
14953        )
14954    );
14955    assert_eq!(
14956        unsafe { ::std::ptr::addr_of!((*ptr).x_supported) as usize - ptr as usize },
14957        0usize,
14958        concat!(
14959            "Offset of field: ",
14960            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1),
14961            "::",
14962            stringify!(x_supported)
14963        )
14964    );
14965    assert_eq!(
14966        unsafe { ::std::ptr::addr_of!((*ptr).y_supported) as usize - ptr as usize },
14967        4usize,
14968        concat!(
14969            "Offset of field: ",
14970            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1),
14971            "::",
14972            stringify!(y_supported)
14973        )
14974    );
14975    assert_eq!(
14976        unsafe { ::std::ptr::addr_of!((*ptr).z_supported) as usize - ptr as usize },
14977        8usize,
14978        concat!(
14979            "Offset of field: ",
14980            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1),
14981            "::",
14982            stringify!(z_supported)
14983        )
14984    );
14985}
14986#[test]
14987fn bindgen_test_layout_ALimitedAxesImuEvent__bindgen_ty_2() {
14988    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuEvent__bindgen_ty_2> =
14989        ::std::mem::MaybeUninit::uninit();
14990    let ptr = UNINIT.as_ptr();
14991    assert_eq!(
14992        ::std::mem::size_of::<ALimitedAxesImuEvent__bindgen_ty_2>(),
14993        12usize,
14994        concat!("Size of: ", stringify!(ALimitedAxesImuEvent__bindgen_ty_2))
14995    );
14996    assert_eq!(
14997        ::std::mem::align_of::<ALimitedAxesImuEvent__bindgen_ty_2>(),
14998        4usize,
14999        concat!(
15000            "Alignment of ",
15001            stringify!(ALimitedAxesImuEvent__bindgen_ty_2)
15002        )
15003    );
15004    assert_eq!(
15005        unsafe { ::std::ptr::addr_of!((*ptr).supported) as usize - ptr as usize },
15006        0usize,
15007        concat!(
15008            "Offset of field: ",
15009            stringify!(ALimitedAxesImuEvent__bindgen_ty_2),
15010            "::",
15011            stringify!(supported)
15012        )
15013    );
15014}
15015#[test]
15016fn bindgen_test_layout_ALimitedAxesImuEvent() {
15017    assert_eq!(
15018        ::std::mem::size_of::<ALimitedAxesImuEvent>(),
15019        24usize,
15020        concat!("Size of: ", stringify!(ALimitedAxesImuEvent))
15021    );
15022    assert_eq!(
15023        ::std::mem::align_of::<ALimitedAxesImuEvent>(),
15024        4usize,
15025        concat!("Alignment of ", stringify!(ALimitedAxesImuEvent))
15026    );
15027}
15028#[repr(C)]
15029#[derive(Copy, Clone)]
15030pub struct ALimitedAxesImuUncalibratedEvent {
15031    pub __bindgen_anon_1: ALimitedAxesImuUncalibratedEvent__bindgen_ty_1,
15032    pub __bindgen_anon_2: ALimitedAxesImuUncalibratedEvent__bindgen_ty_2,
15033    pub __bindgen_anon_3: ALimitedAxesImuUncalibratedEvent__bindgen_ty_3,
15034}
15035#[repr(C)]
15036#[derive(Copy, Clone)]
15037pub union ALimitedAxesImuUncalibratedEvent__bindgen_ty_1 {
15038    pub uncalib: [f32; 3usize],
15039    pub __bindgen_anon_1: ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1,
15040}
15041#[repr(C)]
15042#[derive(Debug, Copy, Clone)]
15043pub struct ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1 {
15044    pub x_uncalib: f32,
15045    pub y_uncalib: f32,
15046    pub z_uncalib: f32,
15047}
15048#[test]
15049fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1() {
15050    const UNINIT: ::std::mem::MaybeUninit<
15051        ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1,
15052    > = ::std::mem::MaybeUninit::uninit();
15053    let ptr = UNINIT.as_ptr();
15054    assert_eq!(
15055        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
15056        12usize,
15057        concat!(
15058            "Size of: ",
15059            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
15060        )
15061    );
15062    assert_eq!(
15063        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
15064        4usize,
15065        concat!(
15066            "Alignment of ",
15067            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
15068        )
15069    );
15070    assert_eq!(
15071        unsafe { ::std::ptr::addr_of!((*ptr).x_uncalib) as usize - ptr as usize },
15072        0usize,
15073        concat!(
15074            "Offset of field: ",
15075            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
15076            "::",
15077            stringify!(x_uncalib)
15078        )
15079    );
15080    assert_eq!(
15081        unsafe { ::std::ptr::addr_of!((*ptr).y_uncalib) as usize - ptr as usize },
15082        4usize,
15083        concat!(
15084            "Offset of field: ",
15085            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
15086            "::",
15087            stringify!(y_uncalib)
15088        )
15089    );
15090    assert_eq!(
15091        unsafe { ::std::ptr::addr_of!((*ptr).z_uncalib) as usize - ptr as usize },
15092        8usize,
15093        concat!(
15094            "Offset of field: ",
15095            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
15096            "::",
15097            stringify!(z_uncalib)
15098        )
15099    );
15100}
15101#[test]
15102fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_1() {
15103    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1> =
15104        ::std::mem::MaybeUninit::uninit();
15105    let ptr = UNINIT.as_ptr();
15106    assert_eq!(
15107        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1>(),
15108        12usize,
15109        concat!(
15110            "Size of: ",
15111            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1)
15112        )
15113    );
15114    assert_eq!(
15115        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1>(),
15116        4usize,
15117        concat!(
15118            "Alignment of ",
15119            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1)
15120        )
15121    );
15122    assert_eq!(
15123        unsafe { ::std::ptr::addr_of!((*ptr).uncalib) as usize - ptr as usize },
15124        0usize,
15125        concat!(
15126            "Offset of field: ",
15127            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1),
15128            "::",
15129            stringify!(uncalib)
15130        )
15131    );
15132}
15133#[repr(C)]
15134#[derive(Copy, Clone)]
15135pub union ALimitedAxesImuUncalibratedEvent__bindgen_ty_2 {
15136    pub bias: [f32; 3usize],
15137    pub __bindgen_anon_1: ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1,
15138}
15139#[repr(C)]
15140#[derive(Debug, Copy, Clone)]
15141pub struct ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1 {
15142    pub x_bias: f32,
15143    pub y_bias: f32,
15144    pub z_bias: f32,
15145}
15146#[test]
15147fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1() {
15148    const UNINIT: ::std::mem::MaybeUninit<
15149        ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1,
15150    > = ::std::mem::MaybeUninit::uninit();
15151    let ptr = UNINIT.as_ptr();
15152    assert_eq!(
15153        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
15154        12usize,
15155        concat!(
15156            "Size of: ",
15157            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
15158        )
15159    );
15160    assert_eq!(
15161        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
15162        4usize,
15163        concat!(
15164            "Alignment of ",
15165            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
15166        )
15167    );
15168    assert_eq!(
15169        unsafe { ::std::ptr::addr_of!((*ptr).x_bias) as usize - ptr as usize },
15170        0usize,
15171        concat!(
15172            "Offset of field: ",
15173            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
15174            "::",
15175            stringify!(x_bias)
15176        )
15177    );
15178    assert_eq!(
15179        unsafe { ::std::ptr::addr_of!((*ptr).y_bias) as usize - ptr as usize },
15180        4usize,
15181        concat!(
15182            "Offset of field: ",
15183            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
15184            "::",
15185            stringify!(y_bias)
15186        )
15187    );
15188    assert_eq!(
15189        unsafe { ::std::ptr::addr_of!((*ptr).z_bias) as usize - ptr as usize },
15190        8usize,
15191        concat!(
15192            "Offset of field: ",
15193            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
15194            "::",
15195            stringify!(z_bias)
15196        )
15197    );
15198}
15199#[test]
15200fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_2() {
15201    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2> =
15202        ::std::mem::MaybeUninit::uninit();
15203    let ptr = UNINIT.as_ptr();
15204    assert_eq!(
15205        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2>(),
15206        12usize,
15207        concat!(
15208            "Size of: ",
15209            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2)
15210        )
15211    );
15212    assert_eq!(
15213        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2>(),
15214        4usize,
15215        concat!(
15216            "Alignment of ",
15217            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2)
15218        )
15219    );
15220    assert_eq!(
15221        unsafe { ::std::ptr::addr_of!((*ptr).bias) as usize - ptr as usize },
15222        0usize,
15223        concat!(
15224            "Offset of field: ",
15225            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2),
15226            "::",
15227            stringify!(bias)
15228        )
15229    );
15230}
15231#[repr(C)]
15232#[derive(Copy, Clone)]
15233pub union ALimitedAxesImuUncalibratedEvent__bindgen_ty_3 {
15234    pub supported: [f32; 3usize],
15235    pub __bindgen_anon_1: ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1,
15236}
15237#[repr(C)]
15238#[derive(Debug, Copy, Clone)]
15239pub struct ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1 {
15240    pub x_supported: f32,
15241    pub y_supported: f32,
15242    pub z_supported: f32,
15243}
15244#[test]
15245fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1() {
15246    const UNINIT: ::std::mem::MaybeUninit<
15247        ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1,
15248    > = ::std::mem::MaybeUninit::uninit();
15249    let ptr = UNINIT.as_ptr();
15250    assert_eq!(
15251        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1>(),
15252        12usize,
15253        concat!(
15254            "Size of: ",
15255            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1)
15256        )
15257    );
15258    assert_eq!(
15259        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1>(),
15260        4usize,
15261        concat!(
15262            "Alignment of ",
15263            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1)
15264        )
15265    );
15266    assert_eq!(
15267        unsafe { ::std::ptr::addr_of!((*ptr).x_supported) as usize - ptr as usize },
15268        0usize,
15269        concat!(
15270            "Offset of field: ",
15271            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1),
15272            "::",
15273            stringify!(x_supported)
15274        )
15275    );
15276    assert_eq!(
15277        unsafe { ::std::ptr::addr_of!((*ptr).y_supported) as usize - ptr as usize },
15278        4usize,
15279        concat!(
15280            "Offset of field: ",
15281            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1),
15282            "::",
15283            stringify!(y_supported)
15284        )
15285    );
15286    assert_eq!(
15287        unsafe { ::std::ptr::addr_of!((*ptr).z_supported) as usize - ptr as usize },
15288        8usize,
15289        concat!(
15290            "Offset of field: ",
15291            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1),
15292            "::",
15293            stringify!(z_supported)
15294        )
15295    );
15296}
15297#[test]
15298fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_3() {
15299    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3> =
15300        ::std::mem::MaybeUninit::uninit();
15301    let ptr = UNINIT.as_ptr();
15302    assert_eq!(
15303        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3>(),
15304        12usize,
15305        concat!(
15306            "Size of: ",
15307            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3)
15308        )
15309    );
15310    assert_eq!(
15311        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3>(),
15312        4usize,
15313        concat!(
15314            "Alignment of ",
15315            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3)
15316        )
15317    );
15318    assert_eq!(
15319        unsafe { ::std::ptr::addr_of!((*ptr).supported) as usize - ptr as usize },
15320        0usize,
15321        concat!(
15322            "Offset of field: ",
15323            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3),
15324            "::",
15325            stringify!(supported)
15326        )
15327    );
15328}
15329#[test]
15330fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent() {
15331    assert_eq!(
15332        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent>(),
15333        36usize,
15334        concat!("Size of: ", stringify!(ALimitedAxesImuUncalibratedEvent))
15335    );
15336    assert_eq!(
15337        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent>(),
15338        4usize,
15339        concat!(
15340            "Alignment of ",
15341            stringify!(ALimitedAxesImuUncalibratedEvent)
15342        )
15343    );
15344}
15345#[repr(C)]
15346#[derive(Debug, Copy, Clone)]
15347pub struct AHeadingEvent {
15348    pub heading: f32,
15349    pub accuracy: f32,
15350}
15351#[test]
15352fn bindgen_test_layout_AHeadingEvent() {
15353    const UNINIT: ::std::mem::MaybeUninit<AHeadingEvent> = ::std::mem::MaybeUninit::uninit();
15354    let ptr = UNINIT.as_ptr();
15355    assert_eq!(
15356        ::std::mem::size_of::<AHeadingEvent>(),
15357        8usize,
15358        concat!("Size of: ", stringify!(AHeadingEvent))
15359    );
15360    assert_eq!(
15361        ::std::mem::align_of::<AHeadingEvent>(),
15362        4usize,
15363        concat!("Alignment of ", stringify!(AHeadingEvent))
15364    );
15365    assert_eq!(
15366        unsafe { ::std::ptr::addr_of!((*ptr).heading) as usize - ptr as usize },
15367        0usize,
15368        concat!(
15369            "Offset of field: ",
15370            stringify!(AHeadingEvent),
15371            "::",
15372            stringify!(heading)
15373        )
15374    );
15375    assert_eq!(
15376        unsafe { ::std::ptr::addr_of!((*ptr).accuracy) as usize - ptr as usize },
15377        4usize,
15378        concat!(
15379            "Offset of field: ",
15380            stringify!(AHeadingEvent),
15381            "::",
15382            stringify!(accuracy)
15383        )
15384    );
15385}
15386#[repr(C)]
15387#[derive(Copy, Clone)]
15388pub struct ASensorEvent {
15389    pub version: i32,
15390    pub sensor: i32,
15391    pub type_: i32,
15392    pub reserved0: i32,
15393    pub timestamp: i64,
15394    pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1,
15395    pub flags: u32,
15396    pub reserved1: [i32; 3usize],
15397}
15398#[repr(C)]
15399#[derive(Copy, Clone)]
15400pub union ASensorEvent__bindgen_ty_1 {
15401    pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1__bindgen_ty_1,
15402    pub u64_: ASensorEvent__bindgen_ty_1__bindgen_ty_2,
15403}
15404#[repr(C)]
15405#[derive(Copy, Clone)]
15406pub union ASensorEvent__bindgen_ty_1__bindgen_ty_1 {
15407    pub data: [f32; 16usize],
15408    pub vector: ASensorVector,
15409    pub acceleration: ASensorVector,
15410    pub gyro: ASensorVector,
15411    pub magnetic: ASensorVector,
15412    pub temperature: f32,
15413    pub distance: f32,
15414    pub light: f32,
15415    pub pressure: f32,
15416    pub relative_humidity: f32,
15417    pub uncalibrated_acceleration: AUncalibratedEvent,
15418    pub uncalibrated_gyro: AUncalibratedEvent,
15419    pub uncalibrated_magnetic: AUncalibratedEvent,
15420    pub meta_data: AMetaDataEvent,
15421    pub heart_rate: AHeartRateEvent,
15422    pub dynamic_sensor_meta: ADynamicSensorEvent,
15423    pub additional_info: AAdditionalInfoEvent,
15424    pub head_tracker: AHeadTrackerEvent,
15425    pub limited_axes_imu: ALimitedAxesImuEvent,
15426    pub limited_axes_imu_uncalibrated: ALimitedAxesImuUncalibratedEvent,
15427    pub heading: AHeadingEvent,
15428}
15429#[test]
15430fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_1() {
15431    const UNINIT: ::std::mem::MaybeUninit<ASensorEvent__bindgen_ty_1__bindgen_ty_1> =
15432        ::std::mem::MaybeUninit::uninit();
15433    let ptr = UNINIT.as_ptr();
15434    assert_eq!(
15435        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
15436        64usize,
15437        concat!(
15438            "Size of: ",
15439            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
15440        )
15441    );
15442    assert_eq!(
15443        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
15444        4usize,
15445        concat!(
15446            "Alignment of ",
15447            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
15448        )
15449    );
15450    assert_eq!(
15451        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
15452        0usize,
15453        concat!(
15454            "Offset of field: ",
15455            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15456            "::",
15457            stringify!(data)
15458        )
15459    );
15460    assert_eq!(
15461        unsafe { ::std::ptr::addr_of!((*ptr).vector) as usize - ptr as usize },
15462        0usize,
15463        concat!(
15464            "Offset of field: ",
15465            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15466            "::",
15467            stringify!(vector)
15468        )
15469    );
15470    assert_eq!(
15471        unsafe { ::std::ptr::addr_of!((*ptr).acceleration) as usize - ptr as usize },
15472        0usize,
15473        concat!(
15474            "Offset of field: ",
15475            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15476            "::",
15477            stringify!(acceleration)
15478        )
15479    );
15480    assert_eq!(
15481        unsafe { ::std::ptr::addr_of!((*ptr).gyro) as usize - ptr as usize },
15482        0usize,
15483        concat!(
15484            "Offset of field: ",
15485            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15486            "::",
15487            stringify!(gyro)
15488        )
15489    );
15490    assert_eq!(
15491        unsafe { ::std::ptr::addr_of!((*ptr).magnetic) as usize - ptr as usize },
15492        0usize,
15493        concat!(
15494            "Offset of field: ",
15495            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15496            "::",
15497            stringify!(magnetic)
15498        )
15499    );
15500    assert_eq!(
15501        unsafe { ::std::ptr::addr_of!((*ptr).temperature) as usize - ptr as usize },
15502        0usize,
15503        concat!(
15504            "Offset of field: ",
15505            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15506            "::",
15507            stringify!(temperature)
15508        )
15509    );
15510    assert_eq!(
15511        unsafe { ::std::ptr::addr_of!((*ptr).distance) as usize - ptr as usize },
15512        0usize,
15513        concat!(
15514            "Offset of field: ",
15515            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15516            "::",
15517            stringify!(distance)
15518        )
15519    );
15520    assert_eq!(
15521        unsafe { ::std::ptr::addr_of!((*ptr).light) as usize - ptr as usize },
15522        0usize,
15523        concat!(
15524            "Offset of field: ",
15525            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15526            "::",
15527            stringify!(light)
15528        )
15529    );
15530    assert_eq!(
15531        unsafe { ::std::ptr::addr_of!((*ptr).pressure) as usize - ptr as usize },
15532        0usize,
15533        concat!(
15534            "Offset of field: ",
15535            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15536            "::",
15537            stringify!(pressure)
15538        )
15539    );
15540    assert_eq!(
15541        unsafe { ::std::ptr::addr_of!((*ptr).relative_humidity) as usize - ptr as usize },
15542        0usize,
15543        concat!(
15544            "Offset of field: ",
15545            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15546            "::",
15547            stringify!(relative_humidity)
15548        )
15549    );
15550    assert_eq!(
15551        unsafe { ::std::ptr::addr_of!((*ptr).uncalibrated_acceleration) as usize - ptr as usize },
15552        0usize,
15553        concat!(
15554            "Offset of field: ",
15555            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15556            "::",
15557            stringify!(uncalibrated_acceleration)
15558        )
15559    );
15560    assert_eq!(
15561        unsafe { ::std::ptr::addr_of!((*ptr).uncalibrated_gyro) as usize - ptr as usize },
15562        0usize,
15563        concat!(
15564            "Offset of field: ",
15565            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15566            "::",
15567            stringify!(uncalibrated_gyro)
15568        )
15569    );
15570    assert_eq!(
15571        unsafe { ::std::ptr::addr_of!((*ptr).uncalibrated_magnetic) as usize - ptr as usize },
15572        0usize,
15573        concat!(
15574            "Offset of field: ",
15575            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15576            "::",
15577            stringify!(uncalibrated_magnetic)
15578        )
15579    );
15580    assert_eq!(
15581        unsafe { ::std::ptr::addr_of!((*ptr).meta_data) as usize - ptr as usize },
15582        0usize,
15583        concat!(
15584            "Offset of field: ",
15585            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15586            "::",
15587            stringify!(meta_data)
15588        )
15589    );
15590    assert_eq!(
15591        unsafe { ::std::ptr::addr_of!((*ptr).heart_rate) as usize - ptr as usize },
15592        0usize,
15593        concat!(
15594            "Offset of field: ",
15595            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15596            "::",
15597            stringify!(heart_rate)
15598        )
15599    );
15600    assert_eq!(
15601        unsafe { ::std::ptr::addr_of!((*ptr).dynamic_sensor_meta) as usize - ptr as usize },
15602        0usize,
15603        concat!(
15604            "Offset of field: ",
15605            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15606            "::",
15607            stringify!(dynamic_sensor_meta)
15608        )
15609    );
15610    assert_eq!(
15611        unsafe { ::std::ptr::addr_of!((*ptr).additional_info) as usize - ptr as usize },
15612        0usize,
15613        concat!(
15614            "Offset of field: ",
15615            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15616            "::",
15617            stringify!(additional_info)
15618        )
15619    );
15620    assert_eq!(
15621        unsafe { ::std::ptr::addr_of!((*ptr).head_tracker) as usize - ptr as usize },
15622        0usize,
15623        concat!(
15624            "Offset of field: ",
15625            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15626            "::",
15627            stringify!(head_tracker)
15628        )
15629    );
15630    assert_eq!(
15631        unsafe { ::std::ptr::addr_of!((*ptr).limited_axes_imu) as usize - ptr as usize },
15632        0usize,
15633        concat!(
15634            "Offset of field: ",
15635            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15636            "::",
15637            stringify!(limited_axes_imu)
15638        )
15639    );
15640    assert_eq!(
15641        unsafe {
15642            ::std::ptr::addr_of!((*ptr).limited_axes_imu_uncalibrated) as usize - ptr as usize
15643        },
15644        0usize,
15645        concat!(
15646            "Offset of field: ",
15647            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15648            "::",
15649            stringify!(limited_axes_imu_uncalibrated)
15650        )
15651    );
15652    assert_eq!(
15653        unsafe { ::std::ptr::addr_of!((*ptr).heading) as usize - ptr as usize },
15654        0usize,
15655        concat!(
15656            "Offset of field: ",
15657            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15658            "::",
15659            stringify!(heading)
15660        )
15661    );
15662}
15663#[repr(C)]
15664#[derive(Copy, Clone)]
15665pub union ASensorEvent__bindgen_ty_1__bindgen_ty_2 {
15666    pub data: [u64; 8usize],
15667    pub step_counter: u64,
15668}
15669#[test]
15670fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_2() {
15671    const UNINIT: ::std::mem::MaybeUninit<ASensorEvent__bindgen_ty_1__bindgen_ty_2> =
15672        ::std::mem::MaybeUninit::uninit();
15673    let ptr = UNINIT.as_ptr();
15674    assert_eq!(
15675        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
15676        64usize,
15677        concat!(
15678            "Size of: ",
15679            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
15680        )
15681    );
15682    assert_eq!(
15683        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
15684        8usize,
15685        concat!(
15686            "Alignment of ",
15687            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
15688        )
15689    );
15690    assert_eq!(
15691        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
15692        0usize,
15693        concat!(
15694            "Offset of field: ",
15695            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
15696            "::",
15697            stringify!(data)
15698        )
15699    );
15700    assert_eq!(
15701        unsafe { ::std::ptr::addr_of!((*ptr).step_counter) as usize - ptr as usize },
15702        0usize,
15703        concat!(
15704            "Offset of field: ",
15705            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
15706            "::",
15707            stringify!(step_counter)
15708        )
15709    );
15710}
15711#[test]
15712fn bindgen_test_layout_ASensorEvent__bindgen_ty_1() {
15713    const UNINIT: ::std::mem::MaybeUninit<ASensorEvent__bindgen_ty_1> =
15714        ::std::mem::MaybeUninit::uninit();
15715    let ptr = UNINIT.as_ptr();
15716    assert_eq!(
15717        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1>(),
15718        64usize,
15719        concat!("Size of: ", stringify!(ASensorEvent__bindgen_ty_1))
15720    );
15721    assert_eq!(
15722        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1>(),
15723        8usize,
15724        concat!("Alignment of ", stringify!(ASensorEvent__bindgen_ty_1))
15725    );
15726    assert_eq!(
15727        unsafe { ::std::ptr::addr_of!((*ptr).u64_) as usize - ptr as usize },
15728        0usize,
15729        concat!(
15730            "Offset of field: ",
15731            stringify!(ASensorEvent__bindgen_ty_1),
15732            "::",
15733            stringify!(u64_)
15734        )
15735    );
15736}
15737#[test]
15738fn bindgen_test_layout_ASensorEvent() {
15739    const UNINIT: ::std::mem::MaybeUninit<ASensorEvent> = ::std::mem::MaybeUninit::uninit();
15740    let ptr = UNINIT.as_ptr();
15741    assert_eq!(
15742        ::std::mem::size_of::<ASensorEvent>(),
15743        104usize,
15744        concat!("Size of: ", stringify!(ASensorEvent))
15745    );
15746    assert_eq!(
15747        ::std::mem::align_of::<ASensorEvent>(),
15748        8usize,
15749        concat!("Alignment of ", stringify!(ASensorEvent))
15750    );
15751    assert_eq!(
15752        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
15753        0usize,
15754        concat!(
15755            "Offset of field: ",
15756            stringify!(ASensorEvent),
15757            "::",
15758            stringify!(version)
15759        )
15760    );
15761    assert_eq!(
15762        unsafe { ::std::ptr::addr_of!((*ptr).sensor) as usize - ptr as usize },
15763        4usize,
15764        concat!(
15765            "Offset of field: ",
15766            stringify!(ASensorEvent),
15767            "::",
15768            stringify!(sensor)
15769        )
15770    );
15771    assert_eq!(
15772        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
15773        8usize,
15774        concat!(
15775            "Offset of field: ",
15776            stringify!(ASensorEvent),
15777            "::",
15778            stringify!(type_)
15779        )
15780    );
15781    assert_eq!(
15782        unsafe { ::std::ptr::addr_of!((*ptr).reserved0) as usize - ptr as usize },
15783        12usize,
15784        concat!(
15785            "Offset of field: ",
15786            stringify!(ASensorEvent),
15787            "::",
15788            stringify!(reserved0)
15789        )
15790    );
15791    assert_eq!(
15792        unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
15793        16usize,
15794        concat!(
15795            "Offset of field: ",
15796            stringify!(ASensorEvent),
15797            "::",
15798            stringify!(timestamp)
15799        )
15800    );
15801    assert_eq!(
15802        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
15803        88usize,
15804        concat!(
15805            "Offset of field: ",
15806            stringify!(ASensorEvent),
15807            "::",
15808            stringify!(flags)
15809        )
15810    );
15811    assert_eq!(
15812        unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
15813        92usize,
15814        concat!(
15815            "Offset of field: ",
15816            stringify!(ASensorEvent),
15817            "::",
15818            stringify!(reserved1)
15819        )
15820    );
15821}
15822#[repr(C)]
15823#[derive(Debug, Copy, Clone)]
15824pub struct ASensorManager {
15825    _unused: [u8; 0],
15826}
15827#[repr(C)]
15828#[derive(Debug, Copy, Clone)]
15829pub struct ASensorEventQueue {
15830    _unused: [u8; 0],
15831}
15832#[repr(C)]
15833#[derive(Debug, Copy, Clone)]
15834pub struct ASensor {
15835    _unused: [u8; 0],
15836}
15837pub type ASensorRef = *const ASensor;
15838pub type ASensorList = *const ASensorRef;
15839extern "C" {
15840    pub fn ASensorManager_getInstance() -> *mut ASensorManager;
15841}
15842extern "C" {
15843    pub fn ASensorManager_getInstanceForPackage(
15844        packageName: *const ::std::os::raw::c_char,
15845    ) -> *mut ASensorManager;
15846}
15847extern "C" {
15848    pub fn ASensorManager_getSensorList(
15849        manager: *mut ASensorManager,
15850        list: *mut ASensorList,
15851    ) -> ::std::os::raw::c_int;
15852}
15853extern "C" {
15854    pub fn ASensorManager_getDynamicSensorList(
15855        manager: *mut ASensorManager,
15856        list: *mut ASensorList,
15857    ) -> isize;
15858}
15859extern "C" {
15860    pub fn ASensorManager_getDefaultSensor(
15861        manager: *mut ASensorManager,
15862        type_: ::std::os::raw::c_int,
15863    ) -> *const ASensor;
15864}
15865extern "C" {
15866    pub fn ASensorManager_getDefaultSensorEx(
15867        manager: *mut ASensorManager,
15868        type_: ::std::os::raw::c_int,
15869        wakeUp: bool,
15870    ) -> *const ASensor;
15871}
15872extern "C" {
15873    pub fn ASensorManager_createEventQueue(
15874        manager: *mut ASensorManager,
15875        looper: *mut ALooper,
15876        ident: ::std::os::raw::c_int,
15877        callback: ALooper_callbackFunc,
15878        data: *mut ::std::os::raw::c_void,
15879    ) -> *mut ASensorEventQueue;
15880}
15881extern "C" {
15882    pub fn ASensorManager_destroyEventQueue(
15883        manager: *mut ASensorManager,
15884        queue: *mut ASensorEventQueue,
15885    ) -> ::std::os::raw::c_int;
15886}
15887extern "C" {
15888    pub fn ASensorManager_createSharedMemoryDirectChannel(
15889        manager: *mut ASensorManager,
15890        fd: ::std::os::raw::c_int,
15891        size: usize,
15892    ) -> ::std::os::raw::c_int;
15893}
15894extern "C" {
15895    pub fn ASensorManager_createHardwareBufferDirectChannel(
15896        manager: *mut ASensorManager,
15897        buffer: *const AHardwareBuffer,
15898        size: usize,
15899    ) -> ::std::os::raw::c_int;
15900}
15901extern "C" {
15902    pub fn ASensorManager_destroyDirectChannel(
15903        manager: *mut ASensorManager,
15904        channelId: ::std::os::raw::c_int,
15905    );
15906}
15907extern "C" {
15908    pub fn ASensorManager_configureDirectReport(
15909        manager: *mut ASensorManager,
15910        sensor: *const ASensor,
15911        channelId: ::std::os::raw::c_int,
15912        rate: ::std::os::raw::c_int,
15913    ) -> ::std::os::raw::c_int;
15914}
15915extern "C" {
15916    pub fn ASensorEventQueue_registerSensor(
15917        queue: *mut ASensorEventQueue,
15918        sensor: *const ASensor,
15919        samplingPeriodUs: i32,
15920        maxBatchReportLatencyUs: i64,
15921    ) -> ::std::os::raw::c_int;
15922}
15923extern "C" {
15924    pub fn ASensorEventQueue_enableSensor(
15925        queue: *mut ASensorEventQueue,
15926        sensor: *const ASensor,
15927    ) -> ::std::os::raw::c_int;
15928}
15929extern "C" {
15930    pub fn ASensorEventQueue_disableSensor(
15931        queue: *mut ASensorEventQueue,
15932        sensor: *const ASensor,
15933    ) -> ::std::os::raw::c_int;
15934}
15935extern "C" {
15936    pub fn ASensorEventQueue_setEventRate(
15937        queue: *mut ASensorEventQueue,
15938        sensor: *const ASensor,
15939        usec: i32,
15940    ) -> ::std::os::raw::c_int;
15941}
15942extern "C" {
15943    pub fn ASensorEventQueue_hasEvents(queue: *mut ASensorEventQueue) -> ::std::os::raw::c_int;
15944}
15945extern "C" {
15946    pub fn ASensorEventQueue_getEvents(
15947        queue: *mut ASensorEventQueue,
15948        events: *mut ASensorEvent,
15949        count: usize,
15950    ) -> isize;
15951}
15952extern "C" {
15953    pub fn ASensorEventQueue_requestAdditionalInfoEvents(
15954        queue: *mut ASensorEventQueue,
15955        enable: bool,
15956    ) -> ::std::os::raw::c_int;
15957}
15958extern "C" {
15959    pub fn ASensor_getName(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
15960}
15961extern "C" {
15962    pub fn ASensor_getVendor(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
15963}
15964extern "C" {
15965    pub fn ASensor_getType(sensor: *const ASensor) -> ::std::os::raw::c_int;
15966}
15967extern "C" {
15968    pub fn ASensor_getResolution(sensor: *const ASensor) -> f32;
15969}
15970extern "C" {
15971    pub fn ASensor_getMinDelay(sensor: *const ASensor) -> ::std::os::raw::c_int;
15972}
15973extern "C" {
15974    pub fn ASensor_getFifoMaxEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
15975}
15976extern "C" {
15977    pub fn ASensor_getFifoReservedEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
15978}
15979extern "C" {
15980    pub fn ASensor_getStringType(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
15981}
15982extern "C" {
15983    pub fn ASensor_getReportingMode(sensor: *const ASensor) -> ::std::os::raw::c_int;
15984}
15985extern "C" {
15986    pub fn ASensor_isWakeUpSensor(sensor: *const ASensor) -> bool;
15987}
15988extern "C" {
15989    pub fn ASensor_isDirectChannelTypeSupported(
15990        sensor: *const ASensor,
15991        channelType: ::std::os::raw::c_int,
15992    ) -> bool;
15993}
15994extern "C" {
15995    pub fn ASensor_getHighestDirectReportRateLevel(sensor: *const ASensor)
15996        -> ::std::os::raw::c_int;
15997}
15998extern "C" {
15999    pub fn ASensor_getHandle(sensor: *const ASensor) -> ::std::os::raw::c_int;
16000}
16001extern "C" {
16002    pub fn strcasecmp(
16003        __s1: *const ::std::os::raw::c_char,
16004        __s2: *const ::std::os::raw::c_char,
16005    ) -> ::std::os::raw::c_int;
16006}
16007extern "C" {
16008    pub fn strcasecmp_l(
16009        __s1: *const ::std::os::raw::c_char,
16010        __s2: *const ::std::os::raw::c_char,
16011        __l: locale_t,
16012    ) -> ::std::os::raw::c_int;
16013}
16014extern "C" {
16015    pub fn strncasecmp(
16016        __s1: *const ::std::os::raw::c_char,
16017        __s2: *const ::std::os::raw::c_char,
16018        __n: ::std::os::raw::c_uint,
16019    ) -> ::std::os::raw::c_int;
16020}
16021extern "C" {
16022    pub fn strncasecmp_l(
16023        __s1: *const ::std::os::raw::c_char,
16024        __s2: *const ::std::os::raw::c_char,
16025        __n: usize,
16026        __l: locale_t,
16027    ) -> ::std::os::raw::c_int;
16028}
16029extern "C" {
16030    pub fn memccpy(
16031        __dst: *mut ::std::os::raw::c_void,
16032        __src: *const ::std::os::raw::c_void,
16033        __stop_char: ::std::os::raw::c_int,
16034        __n: ::std::os::raw::c_uint,
16035    ) -> *mut ::std::os::raw::c_void;
16036}
16037extern "C" {
16038    pub fn memchr(
16039        __s: *const ::std::os::raw::c_void,
16040        __ch: ::std::os::raw::c_int,
16041        __n: ::std::os::raw::c_uint,
16042    ) -> *mut ::std::os::raw::c_void;
16043}
16044extern "C" {
16045    pub fn memrchr(
16046        __s: *const ::std::os::raw::c_void,
16047        __ch: ::std::os::raw::c_int,
16048        __n: usize,
16049    ) -> *mut ::std::os::raw::c_void;
16050}
16051extern "C" {
16052    pub fn memcmp(
16053        __lhs: *const ::std::os::raw::c_void,
16054        __rhs: *const ::std::os::raw::c_void,
16055        __n: ::std::os::raw::c_uint,
16056    ) -> ::std::os::raw::c_int;
16057}
16058extern "C" {
16059    pub fn memcpy(
16060        arg1: *mut ::std::os::raw::c_void,
16061        arg2: *const ::std::os::raw::c_void,
16062        arg3: ::std::os::raw::c_uint,
16063    ) -> *mut ::std::os::raw::c_void;
16064}
16065extern "C" {
16066    pub fn memmove(
16067        __dst: *mut ::std::os::raw::c_void,
16068        __src: *const ::std::os::raw::c_void,
16069        __n: ::std::os::raw::c_uint,
16070    ) -> *mut ::std::os::raw::c_void;
16071}
16072extern "C" {
16073    pub fn memset(
16074        __dst: *mut ::std::os::raw::c_void,
16075        __ch: ::std::os::raw::c_int,
16076        __n: ::std::os::raw::c_uint,
16077    ) -> *mut ::std::os::raw::c_void;
16078}
16079extern "C" {
16080    pub fn memset_explicit(
16081        __dst: *mut ::std::os::raw::c_void,
16082        __ch: ::std::os::raw::c_int,
16083        __n: usize,
16084    ) -> *mut ::std::os::raw::c_void;
16085}
16086extern "C" {
16087    pub fn memmem(
16088        __haystack: *const ::std::os::raw::c_void,
16089        __haystack_size: usize,
16090        __needle: *const ::std::os::raw::c_void,
16091        __needle_size: usize,
16092    ) -> *mut ::std::os::raw::c_void;
16093}
16094extern "C" {
16095    pub fn strchr(
16096        __s: *const ::std::os::raw::c_char,
16097        __ch: ::std::os::raw::c_int,
16098    ) -> *mut ::std::os::raw::c_char;
16099}
16100extern "C" {
16101    pub fn __strchr_chk(
16102        __s: *const ::std::os::raw::c_char,
16103        __ch: ::std::os::raw::c_int,
16104        __n: usize,
16105    ) -> *mut ::std::os::raw::c_char;
16106}
16107extern "C" {
16108    pub fn strrchr(
16109        __s: *const ::std::os::raw::c_char,
16110        __ch: ::std::os::raw::c_int,
16111    ) -> *mut ::std::os::raw::c_char;
16112}
16113extern "C" {
16114    pub fn __strrchr_chk(
16115        __s: *const ::std::os::raw::c_char,
16116        __ch: ::std::os::raw::c_int,
16117        __n: usize,
16118    ) -> *mut ::std::os::raw::c_char;
16119}
16120extern "C" {
16121    pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_uint;
16122}
16123extern "C" {
16124    pub fn __strlen_chk(__s: *const ::std::os::raw::c_char, __n: usize) -> usize;
16125}
16126extern "C" {
16127    pub fn strcmp(
16128        __lhs: *const ::std::os::raw::c_char,
16129        __rhs: *const ::std::os::raw::c_char,
16130    ) -> ::std::os::raw::c_int;
16131}
16132extern "C" {
16133    pub fn stpcpy(
16134        __dst: *mut ::std::os::raw::c_char,
16135        __src: *const ::std::os::raw::c_char,
16136    ) -> *mut ::std::os::raw::c_char;
16137}
16138extern "C" {
16139    pub fn strcpy(
16140        __dst: *mut ::std::os::raw::c_char,
16141        __src: *const ::std::os::raw::c_char,
16142    ) -> *mut ::std::os::raw::c_char;
16143}
16144extern "C" {
16145    pub fn strcat(
16146        __dst: *mut ::std::os::raw::c_char,
16147        __src: *const ::std::os::raw::c_char,
16148    ) -> *mut ::std::os::raw::c_char;
16149}
16150extern "C" {
16151    pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
16152}
16153extern "C" {
16154    pub fn strstr(
16155        __haystack: *const ::std::os::raw::c_char,
16156        __needle: *const ::std::os::raw::c_char,
16157    ) -> *mut ::std::os::raw::c_char;
16158}
16159extern "C" {
16160    pub fn strcasestr(
16161        __haystack: *const ::std::os::raw::c_char,
16162        __needle: *const ::std::os::raw::c_char,
16163    ) -> *mut ::std::os::raw::c_char;
16164}
16165extern "C" {
16166    pub fn strtok(
16167        __s: *mut ::std::os::raw::c_char,
16168        __delimiter: *const ::std::os::raw::c_char,
16169    ) -> *mut ::std::os::raw::c_char;
16170}
16171extern "C" {
16172    pub fn strtok_r(
16173        __s: *mut ::std::os::raw::c_char,
16174        __delimiter: *const ::std::os::raw::c_char,
16175        __pos_ptr: *mut *mut ::std::os::raw::c_char,
16176    ) -> *mut ::std::os::raw::c_char;
16177}
16178extern "C" {
16179    pub fn strerror(__errno_value: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
16180}
16181extern "C" {
16182    pub fn strerror_l(
16183        __errno_value: ::std::os::raw::c_int,
16184        __l: locale_t,
16185    ) -> *mut ::std::os::raw::c_char;
16186}
16187extern "C" {
16188    pub fn strerror_r(
16189        __errno_value: ::std::os::raw::c_int,
16190        __buf: *mut ::std::os::raw::c_char,
16191        __n: usize,
16192    ) -> ::std::os::raw::c_int;
16193}
16194extern "C" {
16195    pub fn strnlen(__s: *const ::std::os::raw::c_char, __n: usize) -> usize;
16196}
16197extern "C" {
16198    pub fn strncat(
16199        __dst: *mut ::std::os::raw::c_char,
16200        __src: *const ::std::os::raw::c_char,
16201        __n: ::std::os::raw::c_uint,
16202    ) -> *mut ::std::os::raw::c_char;
16203}
16204extern "C" {
16205    pub fn strndup(
16206        __s: *const ::std::os::raw::c_char,
16207        __n: ::std::os::raw::c_uint,
16208    ) -> *mut ::std::os::raw::c_char;
16209}
16210extern "C" {
16211    pub fn strncmp(
16212        __lhs: *const ::std::os::raw::c_char,
16213        __rhs: *const ::std::os::raw::c_char,
16214        __n: ::std::os::raw::c_uint,
16215    ) -> ::std::os::raw::c_int;
16216}
16217extern "C" {
16218    pub fn stpncpy(
16219        __dst: *mut ::std::os::raw::c_char,
16220        __src: *const ::std::os::raw::c_char,
16221        __n: ::std::os::raw::c_uint,
16222    ) -> *mut ::std::os::raw::c_char;
16223}
16224extern "C" {
16225    pub fn strncpy(
16226        __dst: *mut ::std::os::raw::c_char,
16227        __src: *const ::std::os::raw::c_char,
16228        __n: ::std::os::raw::c_uint,
16229    ) -> *mut ::std::os::raw::c_char;
16230}
16231extern "C" {
16232    pub fn strlcat(
16233        __dst: *mut ::std::os::raw::c_char,
16234        __src: *const ::std::os::raw::c_char,
16235        __n: ::std::os::raw::c_uint,
16236    ) -> ::std::os::raw::c_uint;
16237}
16238extern "C" {
16239    pub fn strlcpy(
16240        __dst: *mut ::std::os::raw::c_char,
16241        __src: *const ::std::os::raw::c_char,
16242        __n: ::std::os::raw::c_uint,
16243    ) -> ::std::os::raw::c_uint;
16244}
16245extern "C" {
16246    pub fn strcspn(
16247        __s: *const ::std::os::raw::c_char,
16248        __reject: *const ::std::os::raw::c_char,
16249    ) -> ::std::os::raw::c_uint;
16250}
16251extern "C" {
16252    pub fn strpbrk(
16253        __s: *const ::std::os::raw::c_char,
16254        __accept: *const ::std::os::raw::c_char,
16255    ) -> *mut ::std::os::raw::c_char;
16256}
16257extern "C" {
16258    pub fn strsep(
16259        __s_ptr: *mut *mut ::std::os::raw::c_char,
16260        __delimiter: *const ::std::os::raw::c_char,
16261    ) -> *mut ::std::os::raw::c_char;
16262}
16263extern "C" {
16264    pub fn strspn(
16265        __s: *const ::std::os::raw::c_char,
16266        __accept: *const ::std::os::raw::c_char,
16267    ) -> ::std::os::raw::c_uint;
16268}
16269extern "C" {
16270    pub fn strsignal(__signal: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
16271}
16272extern "C" {
16273    pub fn strcoll(
16274        __lhs: *const ::std::os::raw::c_char,
16275        __rhs: *const ::std::os::raw::c_char,
16276    ) -> ::std::os::raw::c_int;
16277}
16278extern "C" {
16279    pub fn strxfrm(
16280        __dst: *mut ::std::os::raw::c_char,
16281        __src: *const ::std::os::raw::c_char,
16282        __n: ::std::os::raw::c_uint,
16283    ) -> ::std::os::raw::c_uint;
16284}
16285extern "C" {
16286    pub fn strcoll_l(
16287        __lhs: *const ::std::os::raw::c_char,
16288        __rhs: *const ::std::os::raw::c_char,
16289        __l: locale_t,
16290    ) -> ::std::os::raw::c_int;
16291}
16292extern "C" {
16293    pub fn strxfrm_l(
16294        __dst: *mut ::std::os::raw::c_char,
16295        __src: *const ::std::os::raw::c_char,
16296        __n: usize,
16297        __l: locale_t,
16298    ) -> usize;
16299}
16300#[repr(C)]
16301#[derive(Debug, Copy, Clone)]
16302pub struct crash_detail_t {
16303    _unused: [u8; 0],
16304}
16305extern "C" {
16306    pub fn android_set_abort_message(__msg: *const ::std::os::raw::c_char);
16307}
16308extern "C" {
16309    pub fn ASharedMemory_create(
16310        name: *const ::std::os::raw::c_char,
16311        size: usize,
16312    ) -> ::std::os::raw::c_int;
16313}
16314extern "C" {
16315    pub fn ASharedMemory_getSize(fd: ::std::os::raw::c_int) -> usize;
16316}
16317extern "C" {
16318    pub fn ASharedMemory_setProt(
16319        fd: ::std::os::raw::c_int,
16320        prot: ::std::os::raw::c_int,
16321    ) -> ::std::os::raw::c_int;
16322}
16323extern "C" {
16324    pub fn ASharedMemory_dupFromJava(
16325        env: *mut JNIEnv,
16326        sharedMemory: jobject,
16327    ) -> ::std::os::raw::c_int;
16328}
16329#[repr(C)]
16330#[derive(Debug, Copy, Clone)]
16331pub struct AStorageManager {
16332    _unused: [u8; 0],
16333}
16334pub const AOBB_STATE_MOUNTED: _bindgen_ty_47 = 1;
16335pub const AOBB_STATE_UNMOUNTED: _bindgen_ty_47 = 2;
16336pub const AOBB_STATE_ERROR_INTERNAL: _bindgen_ty_47 = 20;
16337pub const AOBB_STATE_ERROR_COULD_NOT_MOUNT: _bindgen_ty_47 = 21;
16338pub const AOBB_STATE_ERROR_COULD_NOT_UNMOUNT: _bindgen_ty_47 = 22;
16339pub const AOBB_STATE_ERROR_NOT_MOUNTED: _bindgen_ty_47 = 23;
16340pub const AOBB_STATE_ERROR_ALREADY_MOUNTED: _bindgen_ty_47 = 24;
16341pub const AOBB_STATE_ERROR_PERMISSION_DENIED: _bindgen_ty_47 = 25;
16342pub type _bindgen_ty_47 = ::std::os::raw::c_uint;
16343extern "C" {
16344    pub fn AStorageManager_new() -> *mut AStorageManager;
16345}
16346extern "C" {
16347    pub fn AStorageManager_delete(mgr: *mut AStorageManager);
16348}
16349pub type AStorageManager_obbCallbackFunc = ::std::option::Option<
16350    unsafe extern "C" fn(
16351        filename: *const ::std::os::raw::c_char,
16352        state: i32,
16353        data: *mut ::std::os::raw::c_void,
16354    ),
16355>;
16356extern "C" {
16357    pub fn AStorageManager_mountObb(
16358        mgr: *mut AStorageManager,
16359        filename: *const ::std::os::raw::c_char,
16360        key: *const ::std::os::raw::c_char,
16361        cb: AStorageManager_obbCallbackFunc,
16362        data: *mut ::std::os::raw::c_void,
16363    );
16364}
16365extern "C" {
16366    pub fn AStorageManager_unmountObb(
16367        mgr: *mut AStorageManager,
16368        filename: *const ::std::os::raw::c_char,
16369        force: ::std::os::raw::c_int,
16370        cb: AStorageManager_obbCallbackFunc,
16371        data: *mut ::std::os::raw::c_void,
16372    );
16373}
16374extern "C" {
16375    pub fn AStorageManager_isObbMounted(
16376        mgr: *mut AStorageManager,
16377        filename: *const ::std::os::raw::c_char,
16378    ) -> ::std::os::raw::c_int;
16379}
16380extern "C" {
16381    pub fn AStorageManager_getMountedObbPath(
16382        mgr: *mut AStorageManager,
16383        filename: *const ::std::os::raw::c_char,
16384    ) -> *const ::std::os::raw::c_char;
16385}
16386#[repr(C)]
16387#[derive(Debug, Copy, Clone)]
16388pub struct ASurfaceTexture {
16389    _unused: [u8; 0],
16390}
16391extern "C" {
16392    pub fn ASurfaceTexture_release(st: *mut ASurfaceTexture);
16393}
16394extern "C" {
16395    pub fn ASurfaceTexture_acquireANativeWindow(st: *mut ASurfaceTexture) -> *mut ANativeWindow;
16396}
16397extern "C" {
16398    pub fn ASurfaceTexture_attachToGLContext(
16399        st: *mut ASurfaceTexture,
16400        texName: u32,
16401    ) -> ::std::os::raw::c_int;
16402}
16403extern "C" {
16404    pub fn ASurfaceTexture_detachFromGLContext(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
16405}
16406extern "C" {
16407    pub fn ASurfaceTexture_updateTexImage(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
16408}
16409extern "C" {
16410    pub fn ASurfaceTexture_getTransformMatrix(st: *mut ASurfaceTexture, mtx: *mut f32);
16411}
16412extern "C" {
16413    pub fn ASurfaceTexture_getTimestamp(st: *mut ASurfaceTexture) -> i64;
16414}
16415extern "C" {
16416    pub fn ASurfaceTexture_fromSurfaceTexture(
16417        env: *mut JNIEnv,
16418        surfacetexture: jobject,
16419    ) -> *mut ASurfaceTexture;
16420}
16421#[repr(C)]
16422#[derive(Debug, Copy, Clone)]
16423pub struct sync_merge_data {
16424    pub name: [::std::os::raw::c_char; 32usize],
16425    pub fd2: __s32,
16426    pub fence: __s32,
16427    pub flags: __u32,
16428    pub pad: __u32,
16429}
16430#[test]
16431fn bindgen_test_layout_sync_merge_data() {
16432    const UNINIT: ::std::mem::MaybeUninit<sync_merge_data> = ::std::mem::MaybeUninit::uninit();
16433    let ptr = UNINIT.as_ptr();
16434    assert_eq!(
16435        ::std::mem::size_of::<sync_merge_data>(),
16436        48usize,
16437        concat!("Size of: ", stringify!(sync_merge_data))
16438    );
16439    assert_eq!(
16440        ::std::mem::align_of::<sync_merge_data>(),
16441        4usize,
16442        concat!("Alignment of ", stringify!(sync_merge_data))
16443    );
16444    assert_eq!(
16445        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
16446        0usize,
16447        concat!(
16448            "Offset of field: ",
16449            stringify!(sync_merge_data),
16450            "::",
16451            stringify!(name)
16452        )
16453    );
16454    assert_eq!(
16455        unsafe { ::std::ptr::addr_of!((*ptr).fd2) as usize - ptr as usize },
16456        32usize,
16457        concat!(
16458            "Offset of field: ",
16459            stringify!(sync_merge_data),
16460            "::",
16461            stringify!(fd2)
16462        )
16463    );
16464    assert_eq!(
16465        unsafe { ::std::ptr::addr_of!((*ptr).fence) as usize - ptr as usize },
16466        36usize,
16467        concat!(
16468            "Offset of field: ",
16469            stringify!(sync_merge_data),
16470            "::",
16471            stringify!(fence)
16472        )
16473    );
16474    assert_eq!(
16475        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
16476        40usize,
16477        concat!(
16478            "Offset of field: ",
16479            stringify!(sync_merge_data),
16480            "::",
16481            stringify!(flags)
16482        )
16483    );
16484    assert_eq!(
16485        unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
16486        44usize,
16487        concat!(
16488            "Offset of field: ",
16489            stringify!(sync_merge_data),
16490            "::",
16491            stringify!(pad)
16492        )
16493    );
16494}
16495#[repr(C)]
16496#[derive(Debug, Copy, Clone)]
16497pub struct sync_fence_info {
16498    pub obj_name: [::std::os::raw::c_char; 32usize],
16499    pub driver_name: [::std::os::raw::c_char; 32usize],
16500    pub status: __s32,
16501    pub flags: __u32,
16502    pub timestamp_ns: __u64,
16503}
16504#[test]
16505fn bindgen_test_layout_sync_fence_info() {
16506    const UNINIT: ::std::mem::MaybeUninit<sync_fence_info> = ::std::mem::MaybeUninit::uninit();
16507    let ptr = UNINIT.as_ptr();
16508    assert_eq!(
16509        ::std::mem::size_of::<sync_fence_info>(),
16510        80usize,
16511        concat!("Size of: ", stringify!(sync_fence_info))
16512    );
16513    assert_eq!(
16514        ::std::mem::align_of::<sync_fence_info>(),
16515        8usize,
16516        concat!("Alignment of ", stringify!(sync_fence_info))
16517    );
16518    assert_eq!(
16519        unsafe { ::std::ptr::addr_of!((*ptr).obj_name) as usize - ptr as usize },
16520        0usize,
16521        concat!(
16522            "Offset of field: ",
16523            stringify!(sync_fence_info),
16524            "::",
16525            stringify!(obj_name)
16526        )
16527    );
16528    assert_eq!(
16529        unsafe { ::std::ptr::addr_of!((*ptr).driver_name) as usize - ptr as usize },
16530        32usize,
16531        concat!(
16532            "Offset of field: ",
16533            stringify!(sync_fence_info),
16534            "::",
16535            stringify!(driver_name)
16536        )
16537    );
16538    assert_eq!(
16539        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
16540        64usize,
16541        concat!(
16542            "Offset of field: ",
16543            stringify!(sync_fence_info),
16544            "::",
16545            stringify!(status)
16546        )
16547    );
16548    assert_eq!(
16549        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
16550        68usize,
16551        concat!(
16552            "Offset of field: ",
16553            stringify!(sync_fence_info),
16554            "::",
16555            stringify!(flags)
16556        )
16557    );
16558    assert_eq!(
16559        unsafe { ::std::ptr::addr_of!((*ptr).timestamp_ns) as usize - ptr as usize },
16560        72usize,
16561        concat!(
16562            "Offset of field: ",
16563            stringify!(sync_fence_info),
16564            "::",
16565            stringify!(timestamp_ns)
16566        )
16567    );
16568}
16569#[repr(C)]
16570#[derive(Debug, Copy, Clone)]
16571pub struct sync_file_info {
16572    pub name: [::std::os::raw::c_char; 32usize],
16573    pub status: __s32,
16574    pub flags: __u32,
16575    pub num_fences: __u32,
16576    pub pad: __u32,
16577    pub sync_fence_info: __u64,
16578}
16579#[test]
16580fn bindgen_test_layout_sync_file_info() {
16581    const UNINIT: ::std::mem::MaybeUninit<sync_file_info> = ::std::mem::MaybeUninit::uninit();
16582    let ptr = UNINIT.as_ptr();
16583    assert_eq!(
16584        ::std::mem::size_of::<sync_file_info>(),
16585        56usize,
16586        concat!("Size of: ", stringify!(sync_file_info))
16587    );
16588    assert_eq!(
16589        ::std::mem::align_of::<sync_file_info>(),
16590        8usize,
16591        concat!("Alignment of ", stringify!(sync_file_info))
16592    );
16593    assert_eq!(
16594        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
16595        0usize,
16596        concat!(
16597            "Offset of field: ",
16598            stringify!(sync_file_info),
16599            "::",
16600            stringify!(name)
16601        )
16602    );
16603    assert_eq!(
16604        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
16605        32usize,
16606        concat!(
16607            "Offset of field: ",
16608            stringify!(sync_file_info),
16609            "::",
16610            stringify!(status)
16611        )
16612    );
16613    assert_eq!(
16614        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
16615        36usize,
16616        concat!(
16617            "Offset of field: ",
16618            stringify!(sync_file_info),
16619            "::",
16620            stringify!(flags)
16621        )
16622    );
16623    assert_eq!(
16624        unsafe { ::std::ptr::addr_of!((*ptr).num_fences) as usize - ptr as usize },
16625        40usize,
16626        concat!(
16627            "Offset of field: ",
16628            stringify!(sync_file_info),
16629            "::",
16630            stringify!(num_fences)
16631        )
16632    );
16633    assert_eq!(
16634        unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
16635        44usize,
16636        concat!(
16637            "Offset of field: ",
16638            stringify!(sync_file_info),
16639            "::",
16640            stringify!(pad)
16641        )
16642    );
16643    assert_eq!(
16644        unsafe { ::std::ptr::addr_of!((*ptr).sync_fence_info) as usize - ptr as usize },
16645        48usize,
16646        concat!(
16647            "Offset of field: ",
16648            stringify!(sync_file_info),
16649            "::",
16650            stringify!(sync_fence_info)
16651        )
16652    );
16653}
16654#[repr(C)]
16655#[derive(Debug, Copy, Clone)]
16656pub struct sync_set_deadline {
16657    pub deadline_ns: __u64,
16658    pub pad: __u64,
16659}
16660#[test]
16661fn bindgen_test_layout_sync_set_deadline() {
16662    const UNINIT: ::std::mem::MaybeUninit<sync_set_deadline> = ::std::mem::MaybeUninit::uninit();
16663    let ptr = UNINIT.as_ptr();
16664    assert_eq!(
16665        ::std::mem::size_of::<sync_set_deadline>(),
16666        16usize,
16667        concat!("Size of: ", stringify!(sync_set_deadline))
16668    );
16669    assert_eq!(
16670        ::std::mem::align_of::<sync_set_deadline>(),
16671        8usize,
16672        concat!("Alignment of ", stringify!(sync_set_deadline))
16673    );
16674    assert_eq!(
16675        unsafe { ::std::ptr::addr_of!((*ptr).deadline_ns) as usize - ptr as usize },
16676        0usize,
16677        concat!(
16678            "Offset of field: ",
16679            stringify!(sync_set_deadline),
16680            "::",
16681            stringify!(deadline_ns)
16682        )
16683    );
16684    assert_eq!(
16685        unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
16686        8usize,
16687        concat!(
16688            "Offset of field: ",
16689            stringify!(sync_set_deadline),
16690            "::",
16691            stringify!(pad)
16692        )
16693    );
16694}
16695extern "C" {
16696    pub fn sync_merge(name: *const ::std::os::raw::c_char, fd1: i32, fd2: i32) -> i32;
16697}
16698extern "C" {
16699    pub fn sync_file_info(fd: i32) -> *mut sync_file_info;
16700}
16701extern "C" {
16702    pub fn sync_file_info_free(info: *mut sync_file_info);
16703}
16704#[repr(C)]
16705#[derive(Debug, Copy, Clone)]
16706pub struct ASystemFontIterator {
16707    _unused: [u8; 0],
16708}
16709extern "C" {
16710    pub fn ASystemFontIterator_open() -> *mut ASystemFontIterator;
16711}
16712extern "C" {
16713    pub fn ASystemFontIterator_close(iterator: *mut ASystemFontIterator);
16714}
16715extern "C" {
16716    pub fn ASystemFontIterator_next(iterator: *mut ASystemFontIterator) -> *mut AFont;
16717}
16718extern "C" {
16719    pub fn ATrace_isEnabled() -> bool;
16720}
16721extern "C" {
16722    pub fn ATrace_beginSection(sectionName: *const ::std::os::raw::c_char);
16723}
16724extern "C" {
16725    pub fn ATrace_endSection();
16726}
16727extern "C" {
16728    pub fn ATrace_beginAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
16729}
16730extern "C" {
16731    pub fn ATrace_endAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
16732}
16733extern "C" {
16734    pub fn ATrace_setCounter(counterName: *const ::std::os::raw::c_char, counterValue: i64);
16735}
16736pub const AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON: _bindgen_ty_48 = 1;
16737pub const AWINDOW_FLAG_DIM_BEHIND: _bindgen_ty_48 = 2;
16738pub const AWINDOW_FLAG_BLUR_BEHIND: _bindgen_ty_48 = 4;
16739pub const AWINDOW_FLAG_NOT_FOCUSABLE: _bindgen_ty_48 = 8;
16740pub const AWINDOW_FLAG_NOT_TOUCHABLE: _bindgen_ty_48 = 16;
16741pub const AWINDOW_FLAG_NOT_TOUCH_MODAL: _bindgen_ty_48 = 32;
16742pub const AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING: _bindgen_ty_48 = 64;
16743pub const AWINDOW_FLAG_KEEP_SCREEN_ON: _bindgen_ty_48 = 128;
16744pub const AWINDOW_FLAG_LAYOUT_IN_SCREEN: _bindgen_ty_48 = 256;
16745pub const AWINDOW_FLAG_LAYOUT_NO_LIMITS: _bindgen_ty_48 = 512;
16746pub const AWINDOW_FLAG_FULLSCREEN: _bindgen_ty_48 = 1024;
16747pub const AWINDOW_FLAG_FORCE_NOT_FULLSCREEN: _bindgen_ty_48 = 2048;
16748pub const AWINDOW_FLAG_DITHER: _bindgen_ty_48 = 4096;
16749pub const AWINDOW_FLAG_SECURE: _bindgen_ty_48 = 8192;
16750pub const AWINDOW_FLAG_SCALED: _bindgen_ty_48 = 16384;
16751pub const AWINDOW_FLAG_IGNORE_CHEEK_PRESSES: _bindgen_ty_48 = 32768;
16752pub const AWINDOW_FLAG_LAYOUT_INSET_DECOR: _bindgen_ty_48 = 65536;
16753pub const AWINDOW_FLAG_ALT_FOCUSABLE_IM: _bindgen_ty_48 = 131072;
16754pub const AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH: _bindgen_ty_48 = 262144;
16755pub const AWINDOW_FLAG_SHOW_WHEN_LOCKED: _bindgen_ty_48 = 524288;
16756pub const AWINDOW_FLAG_SHOW_WALLPAPER: _bindgen_ty_48 = 1048576;
16757pub const AWINDOW_FLAG_TURN_SCREEN_ON: _bindgen_ty_48 = 2097152;
16758pub const AWINDOW_FLAG_DISMISS_KEYGUARD: _bindgen_ty_48 = 4194304;
16759pub type _bindgen_ty_48 = ::std::os::raw::c_uint;
16760extern "C" {
16761    pub fn gettimeofday(__tv: *mut timeval, __tz: *mut timezone) -> ::std::os::raw::c_int;
16762}
16763extern "C" {
16764    pub fn settimeofday(__tv: *const timeval, __tz: *const timezone) -> ::std::os::raw::c_int;
16765}
16766extern "C" {
16767    pub fn getitimer(
16768        __which: ::std::os::raw::c_int,
16769        __current_value: *mut itimerval,
16770    ) -> ::std::os::raw::c_int;
16771}
16772extern "C" {
16773    pub fn setitimer(
16774        __which: ::std::os::raw::c_int,
16775        __new_value: *const itimerval,
16776        __old_value: *mut itimerval,
16777    ) -> ::std::os::raw::c_int;
16778}
16779extern "C" {
16780    pub fn utimes(
16781        __path: *const ::std::os::raw::c_char,
16782        __times: *const timeval,
16783    ) -> ::std::os::raw::c_int;
16784}
16785#[repr(C)]
16786#[derive(Debug, Copy, Clone)]
16787pub struct __timezone_t {
16788    _unused: [u8; 0],
16789}
16790pub type timezone_t = *mut __timezone_t;
16791extern "C" {
16792    pub static mut tzname: [*mut ::std::os::raw::c_char; 0usize];
16793}
16794extern "C" {
16795    pub static mut daylight: ::std::os::raw::c_int;
16796}
16797extern "C" {
16798    pub static mut timezone: ::std::os::raw::c_long;
16799}
16800#[repr(C)]
16801#[derive(Debug, Copy, Clone)]
16802pub struct tm {
16803    pub tm_sec: ::std::os::raw::c_int,
16804    pub tm_min: ::std::os::raw::c_int,
16805    pub tm_hour: ::std::os::raw::c_int,
16806    pub tm_mday: ::std::os::raw::c_int,
16807    pub tm_mon: ::std::os::raw::c_int,
16808    pub tm_year: ::std::os::raw::c_int,
16809    pub tm_wday: ::std::os::raw::c_int,
16810    pub tm_yday: ::std::os::raw::c_int,
16811    pub tm_isdst: ::std::os::raw::c_int,
16812    pub tm_gmtoff: ::std::os::raw::c_long,
16813    pub tm_zone: *const ::std::os::raw::c_char,
16814}
16815#[test]
16816fn bindgen_test_layout_tm() {
16817    const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
16818    let ptr = UNINIT.as_ptr();
16819    assert_eq!(
16820        ::std::mem::size_of::<tm>(),
16821        44usize,
16822        concat!("Size of: ", stringify!(tm))
16823    );
16824    assert_eq!(
16825        ::std::mem::align_of::<tm>(),
16826        4usize,
16827        concat!("Alignment of ", stringify!(tm))
16828    );
16829    assert_eq!(
16830        unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
16831        0usize,
16832        concat!(
16833            "Offset of field: ",
16834            stringify!(tm),
16835            "::",
16836            stringify!(tm_sec)
16837        )
16838    );
16839    assert_eq!(
16840        unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
16841        4usize,
16842        concat!(
16843            "Offset of field: ",
16844            stringify!(tm),
16845            "::",
16846            stringify!(tm_min)
16847        )
16848    );
16849    assert_eq!(
16850        unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
16851        8usize,
16852        concat!(
16853            "Offset of field: ",
16854            stringify!(tm),
16855            "::",
16856            stringify!(tm_hour)
16857        )
16858    );
16859    assert_eq!(
16860        unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
16861        12usize,
16862        concat!(
16863            "Offset of field: ",
16864            stringify!(tm),
16865            "::",
16866            stringify!(tm_mday)
16867        )
16868    );
16869    assert_eq!(
16870        unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
16871        16usize,
16872        concat!(
16873            "Offset of field: ",
16874            stringify!(tm),
16875            "::",
16876            stringify!(tm_mon)
16877        )
16878    );
16879    assert_eq!(
16880        unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
16881        20usize,
16882        concat!(
16883            "Offset of field: ",
16884            stringify!(tm),
16885            "::",
16886            stringify!(tm_year)
16887        )
16888    );
16889    assert_eq!(
16890        unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
16891        24usize,
16892        concat!(
16893            "Offset of field: ",
16894            stringify!(tm),
16895            "::",
16896            stringify!(tm_wday)
16897        )
16898    );
16899    assert_eq!(
16900        unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
16901        28usize,
16902        concat!(
16903            "Offset of field: ",
16904            stringify!(tm),
16905            "::",
16906            stringify!(tm_yday)
16907        )
16908    );
16909    assert_eq!(
16910        unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
16911        32usize,
16912        concat!(
16913            "Offset of field: ",
16914            stringify!(tm),
16915            "::",
16916            stringify!(tm_isdst)
16917        )
16918    );
16919    assert_eq!(
16920        unsafe { ::std::ptr::addr_of!((*ptr).tm_gmtoff) as usize - ptr as usize },
16921        36usize,
16922        concat!(
16923            "Offset of field: ",
16924            stringify!(tm),
16925            "::",
16926            stringify!(tm_gmtoff)
16927        )
16928    );
16929    assert_eq!(
16930        unsafe { ::std::ptr::addr_of!((*ptr).tm_zone) as usize - ptr as usize },
16931        40usize,
16932        concat!(
16933            "Offset of field: ",
16934            stringify!(tm),
16935            "::",
16936            stringify!(tm_zone)
16937        )
16938    );
16939}
16940extern "C" {
16941    pub fn time(__t: *mut time_t) -> time_t;
16942}
16943extern "C" {
16944    pub fn nanosleep(
16945        __duration: *const timespec,
16946        __remainder: *mut timespec,
16947    ) -> ::std::os::raw::c_int;
16948}
16949extern "C" {
16950    pub fn asctime(__tm: *const tm) -> *mut ::std::os::raw::c_char;
16951}
16952extern "C" {
16953    pub fn asctime_r(
16954        __tm: *const tm,
16955        __buf: *mut ::std::os::raw::c_char,
16956    ) -> *mut ::std::os::raw::c_char;
16957}
16958extern "C" {
16959    pub fn difftime(__lhs: time_t, __rhs: time_t) -> f64;
16960}
16961extern "C" {
16962    pub fn mktime(__tm: *mut tm) -> time_t;
16963}
16964extern "C" {
16965    pub fn mktime_z(__tz: timezone_t, __tm: *mut tm) -> time_t;
16966}
16967extern "C" {
16968    pub fn localtime(__t: *const time_t) -> *mut tm;
16969}
16970extern "C" {
16971    pub fn localtime_r(__t: *const time_t, __tm: *mut tm) -> *mut tm;
16972}
16973extern "C" {
16974    pub fn localtime_rz(__tz: timezone_t, __t: *const time_t, __tm: *mut tm) -> *mut tm;
16975}
16976extern "C" {
16977    pub fn timelocal(__tm: *mut tm) -> time_t;
16978}
16979extern "C" {
16980    pub fn gmtime(__t: *const time_t) -> *mut tm;
16981}
16982extern "C" {
16983    pub fn gmtime_r(__t: *const time_t, __tm: *mut tm) -> *mut tm;
16984}
16985extern "C" {
16986    pub fn timegm(__tm: *mut tm) -> time_t;
16987}
16988extern "C" {
16989    pub fn strptime(
16990        __s: *const ::std::os::raw::c_char,
16991        __fmt: *const ::std::os::raw::c_char,
16992        __tm: *mut tm,
16993    ) -> *mut ::std::os::raw::c_char;
16994}
16995extern "C" {
16996    pub fn strptime_l(
16997        __s: *const ::std::os::raw::c_char,
16998        __fmt: *const ::std::os::raw::c_char,
16999        __tm: *mut tm,
17000        __l: locale_t,
17001    ) -> *mut ::std::os::raw::c_char;
17002}
17003extern "C" {
17004    pub fn strftime(
17005        __buf: *mut ::std::os::raw::c_char,
17006        __n: usize,
17007        __fmt: *const ::std::os::raw::c_char,
17008        __tm: *const tm,
17009    ) -> usize;
17010}
17011extern "C" {
17012    pub fn strftime_l(
17013        __buf: *mut ::std::os::raw::c_char,
17014        __n: usize,
17015        __fmt: *const ::std::os::raw::c_char,
17016        __tm: *const tm,
17017        __l: locale_t,
17018    ) -> usize;
17019}
17020extern "C" {
17021    pub fn ctime(__t: *const time_t) -> *mut ::std::os::raw::c_char;
17022}
17023extern "C" {
17024    pub fn ctime_r(
17025        __t: *const time_t,
17026        __buf: *mut ::std::os::raw::c_char,
17027    ) -> *mut ::std::os::raw::c_char;
17028}
17029extern "C" {
17030    pub fn tzset();
17031}
17032extern "C" {
17033    pub fn tzalloc(__id: *const ::std::os::raw::c_char) -> timezone_t;
17034}
17035extern "C" {
17036    pub fn tzfree(__tz: timezone_t);
17037}
17038extern "C" {
17039    pub fn clock() -> clock_t;
17040}
17041extern "C" {
17042    pub fn clock_getcpuclockid(__pid: pid_t, __clock: *mut clockid_t) -> ::std::os::raw::c_int;
17043}
17044extern "C" {
17045    pub fn clock_getres(__clock: clockid_t, __resolution: *mut timespec) -> ::std::os::raw::c_int;
17046}
17047extern "C" {
17048    pub fn clock_gettime(__clock: clockid_t, __ts: *mut timespec) -> ::std::os::raw::c_int;
17049}
17050extern "C" {
17051    pub fn clock_nanosleep(
17052        __clock: clockid_t,
17053        __flags: ::std::os::raw::c_int,
17054        __time: *const timespec,
17055        __remainder: *mut timespec,
17056    ) -> ::std::os::raw::c_int;
17057}
17058extern "C" {
17059    pub fn clock_settime(__clock: clockid_t, __ts: *const timespec) -> ::std::os::raw::c_int;
17060}
17061extern "C" {
17062    pub fn timer_create(
17063        __clock: clockid_t,
17064        __event: *mut sigevent,
17065        __timer_ptr: *mut timer_t,
17066    ) -> ::std::os::raw::c_int;
17067}
17068extern "C" {
17069    pub fn timer_delete(__timer: timer_t) -> ::std::os::raw::c_int;
17070}
17071extern "C" {
17072    pub fn timer_settime(
17073        __timer: timer_t,
17074        __flags: ::std::os::raw::c_int,
17075        __new_value: *const itimerspec,
17076        __old_value: *mut itimerspec,
17077    ) -> ::std::os::raw::c_int;
17078}
17079extern "C" {
17080    pub fn timer_gettime(_timer: timer_t, __ts: *mut itimerspec) -> ::std::os::raw::c_int;
17081}
17082extern "C" {
17083    pub fn timer_getoverrun(__timer: timer_t) -> ::std::os::raw::c_int;
17084}
17085extern "C" {
17086    pub fn timespec_get(
17087        __ts: *mut timespec,
17088        __base: ::std::os::raw::c_int,
17089    ) -> ::std::os::raw::c_int;
17090}
17091extern "C" {
17092    pub fn timespec_getres(
17093        __ts: *mut timespec,
17094        __base: ::std::os::raw::c_int,
17095    ) -> ::std::os::raw::c_int;
17096}
17097pub const AAUDIO_DIRECTION_OUTPUT: _bindgen_ty_49 = 0;
17098pub const AAUDIO_DIRECTION_INPUT: _bindgen_ty_49 = 1;
17099pub type _bindgen_ty_49 = ::std::os::raw::c_uint;
17100pub type aaudio_direction_t = i32;
17101pub const AAUDIO_FORMAT_INVALID: _bindgen_ty_50 = -1;
17102pub const AAUDIO_FORMAT_UNSPECIFIED: _bindgen_ty_50 = 0;
17103pub const AAUDIO_FORMAT_PCM_I16: _bindgen_ty_50 = 1;
17104pub const AAUDIO_FORMAT_PCM_FLOAT: _bindgen_ty_50 = 2;
17105pub const AAUDIO_FORMAT_PCM_I24_PACKED: _bindgen_ty_50 = 3;
17106pub const AAUDIO_FORMAT_PCM_I32: _bindgen_ty_50 = 4;
17107pub const AAUDIO_FORMAT_IEC61937: _bindgen_ty_50 = 5;
17108pub type _bindgen_ty_50 = ::std::os::raw::c_int;
17109pub type aaudio_format_t = i32;
17110pub const AAUDIO_OK: _bindgen_ty_51 = 0;
17111pub const AAUDIO_ERROR_BASE: _bindgen_ty_51 = -900;
17112pub const AAUDIO_ERROR_DISCONNECTED: _bindgen_ty_51 = -899;
17113pub const AAUDIO_ERROR_ILLEGAL_ARGUMENT: _bindgen_ty_51 = -898;
17114pub const AAUDIO_ERROR_INTERNAL: _bindgen_ty_51 = -896;
17115pub const AAUDIO_ERROR_INVALID_STATE: _bindgen_ty_51 = -895;
17116pub const AAUDIO_ERROR_INVALID_HANDLE: _bindgen_ty_51 = -892;
17117pub const AAUDIO_ERROR_UNIMPLEMENTED: _bindgen_ty_51 = -890;
17118pub const AAUDIO_ERROR_UNAVAILABLE: _bindgen_ty_51 = -889;
17119pub const AAUDIO_ERROR_NO_FREE_HANDLES: _bindgen_ty_51 = -888;
17120pub const AAUDIO_ERROR_NO_MEMORY: _bindgen_ty_51 = -887;
17121pub const AAUDIO_ERROR_NULL: _bindgen_ty_51 = -886;
17122pub const AAUDIO_ERROR_TIMEOUT: _bindgen_ty_51 = -885;
17123pub const AAUDIO_ERROR_WOULD_BLOCK: _bindgen_ty_51 = -884;
17124pub const AAUDIO_ERROR_INVALID_FORMAT: _bindgen_ty_51 = -883;
17125pub const AAUDIO_ERROR_OUT_OF_RANGE: _bindgen_ty_51 = -882;
17126pub const AAUDIO_ERROR_NO_SERVICE: _bindgen_ty_51 = -881;
17127pub const AAUDIO_ERROR_INVALID_RATE: _bindgen_ty_51 = -880;
17128pub type _bindgen_ty_51 = ::std::os::raw::c_int;
17129pub type aaudio_result_t = i32;
17130pub const AAUDIO_STREAM_STATE_UNINITIALIZED: _bindgen_ty_52 = 0;
17131pub const AAUDIO_STREAM_STATE_UNKNOWN: _bindgen_ty_52 = 1;
17132pub const AAUDIO_STREAM_STATE_OPEN: _bindgen_ty_52 = 2;
17133pub const AAUDIO_STREAM_STATE_STARTING: _bindgen_ty_52 = 3;
17134pub const AAUDIO_STREAM_STATE_STARTED: _bindgen_ty_52 = 4;
17135pub const AAUDIO_STREAM_STATE_PAUSING: _bindgen_ty_52 = 5;
17136pub const AAUDIO_STREAM_STATE_PAUSED: _bindgen_ty_52 = 6;
17137pub const AAUDIO_STREAM_STATE_FLUSHING: _bindgen_ty_52 = 7;
17138pub const AAUDIO_STREAM_STATE_FLUSHED: _bindgen_ty_52 = 8;
17139pub const AAUDIO_STREAM_STATE_STOPPING: _bindgen_ty_52 = 9;
17140pub const AAUDIO_STREAM_STATE_STOPPED: _bindgen_ty_52 = 10;
17141pub const AAUDIO_STREAM_STATE_CLOSING: _bindgen_ty_52 = 11;
17142pub const AAUDIO_STREAM_STATE_CLOSED: _bindgen_ty_52 = 12;
17143pub const AAUDIO_STREAM_STATE_DISCONNECTED: _bindgen_ty_52 = 13;
17144pub type _bindgen_ty_52 = ::std::os::raw::c_uint;
17145pub type aaudio_stream_state_t = i32;
17146pub const AAUDIO_SHARING_MODE_EXCLUSIVE: _bindgen_ty_53 = 0;
17147pub const AAUDIO_SHARING_MODE_SHARED: _bindgen_ty_53 = 1;
17148pub type _bindgen_ty_53 = ::std::os::raw::c_uint;
17149pub type aaudio_sharing_mode_t = i32;
17150pub const AAUDIO_PERFORMANCE_MODE_NONE: _bindgen_ty_54 = 10;
17151pub const AAUDIO_PERFORMANCE_MODE_POWER_SAVING: _bindgen_ty_54 = 11;
17152pub const AAUDIO_PERFORMANCE_MODE_LOW_LATENCY: _bindgen_ty_54 = 12;
17153pub type _bindgen_ty_54 = ::std::os::raw::c_uint;
17154pub type aaudio_performance_mode_t = i32;
17155pub const AAUDIO_USAGE_MEDIA: _bindgen_ty_55 = 1;
17156pub const AAUDIO_USAGE_VOICE_COMMUNICATION: _bindgen_ty_55 = 2;
17157pub const AAUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING: _bindgen_ty_55 = 3;
17158pub const AAUDIO_USAGE_ALARM: _bindgen_ty_55 = 4;
17159pub const AAUDIO_USAGE_NOTIFICATION: _bindgen_ty_55 = 5;
17160pub const AAUDIO_USAGE_NOTIFICATION_RINGTONE: _bindgen_ty_55 = 6;
17161pub const AAUDIO_USAGE_NOTIFICATION_EVENT: _bindgen_ty_55 = 10;
17162pub const AAUDIO_USAGE_ASSISTANCE_ACCESSIBILITY: _bindgen_ty_55 = 11;
17163pub const AAUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE: _bindgen_ty_55 = 12;
17164pub const AAUDIO_USAGE_ASSISTANCE_SONIFICATION: _bindgen_ty_55 = 13;
17165pub const AAUDIO_USAGE_GAME: _bindgen_ty_55 = 14;
17166pub const AAUDIO_USAGE_ASSISTANT: _bindgen_ty_55 = 16;
17167pub const AAUDIO_SYSTEM_USAGE_EMERGENCY: _bindgen_ty_55 = 1000;
17168pub const AAUDIO_SYSTEM_USAGE_SAFETY: _bindgen_ty_55 = 1001;
17169pub const AAUDIO_SYSTEM_USAGE_VEHICLE_STATUS: _bindgen_ty_55 = 1002;
17170pub const AAUDIO_SYSTEM_USAGE_ANNOUNCEMENT: _bindgen_ty_55 = 1003;
17171pub type _bindgen_ty_55 = ::std::os::raw::c_uint;
17172pub type aaudio_usage_t = i32;
17173pub const AAUDIO_CONTENT_TYPE_SPEECH: _bindgen_ty_56 = 1;
17174pub const AAUDIO_CONTENT_TYPE_MUSIC: _bindgen_ty_56 = 2;
17175pub const AAUDIO_CONTENT_TYPE_MOVIE: _bindgen_ty_56 = 3;
17176pub const AAUDIO_CONTENT_TYPE_SONIFICATION: _bindgen_ty_56 = 4;
17177pub type _bindgen_ty_56 = ::std::os::raw::c_uint;
17178pub type aaudio_content_type_t = i32;
17179pub const AAUDIO_SPATIALIZATION_BEHAVIOR_AUTO: _bindgen_ty_57 = 1;
17180pub const AAUDIO_SPATIALIZATION_BEHAVIOR_NEVER: _bindgen_ty_57 = 2;
17181pub type _bindgen_ty_57 = ::std::os::raw::c_uint;
17182pub type aaudio_spatialization_behavior_t = i32;
17183pub const AAUDIO_INPUT_PRESET_GENERIC: _bindgen_ty_58 = 1;
17184pub const AAUDIO_INPUT_PRESET_CAMCORDER: _bindgen_ty_58 = 5;
17185pub const AAUDIO_INPUT_PRESET_VOICE_RECOGNITION: _bindgen_ty_58 = 6;
17186pub const AAUDIO_INPUT_PRESET_VOICE_COMMUNICATION: _bindgen_ty_58 = 7;
17187pub const AAUDIO_INPUT_PRESET_UNPROCESSED: _bindgen_ty_58 = 9;
17188pub const AAUDIO_INPUT_PRESET_VOICE_PERFORMANCE: _bindgen_ty_58 = 10;
17189pub const AAUDIO_INPUT_PRESET_SYSTEM_ECHO_REFERENCE: _bindgen_ty_58 = 1997;
17190pub const AAUDIO_INPUT_PRESET_SYSTEM_HOTWORD: _bindgen_ty_58 = 1999;
17191pub type _bindgen_ty_58 = ::std::os::raw::c_uint;
17192pub type aaudio_input_preset_t = i32;
17193pub const AAUDIO_ALLOW_CAPTURE_BY_ALL: _bindgen_ty_59 = 1;
17194pub const AAUDIO_ALLOW_CAPTURE_BY_SYSTEM: _bindgen_ty_59 = 2;
17195pub const AAUDIO_ALLOW_CAPTURE_BY_NONE: _bindgen_ty_59 = 3;
17196pub type _bindgen_ty_59 = ::std::os::raw::c_uint;
17197pub type aaudio_allowed_capture_policy_t = i32;
17198pub const AAUDIO_SESSION_ID_NONE: _bindgen_ty_60 = -1;
17199pub const AAUDIO_SESSION_ID_ALLOCATE: _bindgen_ty_60 = 0;
17200pub type _bindgen_ty_60 = ::std::os::raw::c_int;
17201pub type aaudio_session_id_t = i32;
17202pub const AAUDIO_CHANNEL_INVALID: _bindgen_ty_61 = -1;
17203pub const AAUDIO_CHANNEL_FRONT_LEFT: _bindgen_ty_61 = 1;
17204pub const AAUDIO_CHANNEL_FRONT_RIGHT: _bindgen_ty_61 = 2;
17205pub const AAUDIO_CHANNEL_FRONT_CENTER: _bindgen_ty_61 = 4;
17206pub const AAUDIO_CHANNEL_LOW_FREQUENCY: _bindgen_ty_61 = 8;
17207pub const AAUDIO_CHANNEL_BACK_LEFT: _bindgen_ty_61 = 16;
17208pub const AAUDIO_CHANNEL_BACK_RIGHT: _bindgen_ty_61 = 32;
17209pub const AAUDIO_CHANNEL_FRONT_LEFT_OF_CENTER: _bindgen_ty_61 = 64;
17210pub const AAUDIO_CHANNEL_FRONT_RIGHT_OF_CENTER: _bindgen_ty_61 = 128;
17211pub const AAUDIO_CHANNEL_BACK_CENTER: _bindgen_ty_61 = 256;
17212pub const AAUDIO_CHANNEL_SIDE_LEFT: _bindgen_ty_61 = 512;
17213pub const AAUDIO_CHANNEL_SIDE_RIGHT: _bindgen_ty_61 = 1024;
17214pub const AAUDIO_CHANNEL_TOP_CENTER: _bindgen_ty_61 = 2048;
17215pub const AAUDIO_CHANNEL_TOP_FRONT_LEFT: _bindgen_ty_61 = 4096;
17216pub const AAUDIO_CHANNEL_TOP_FRONT_CENTER: _bindgen_ty_61 = 8192;
17217pub const AAUDIO_CHANNEL_TOP_FRONT_RIGHT: _bindgen_ty_61 = 16384;
17218pub const AAUDIO_CHANNEL_TOP_BACK_LEFT: _bindgen_ty_61 = 32768;
17219pub const AAUDIO_CHANNEL_TOP_BACK_CENTER: _bindgen_ty_61 = 65536;
17220pub const AAUDIO_CHANNEL_TOP_BACK_RIGHT: _bindgen_ty_61 = 131072;
17221pub const AAUDIO_CHANNEL_TOP_SIDE_LEFT: _bindgen_ty_61 = 262144;
17222pub const AAUDIO_CHANNEL_TOP_SIDE_RIGHT: _bindgen_ty_61 = 524288;
17223pub const AAUDIO_CHANNEL_BOTTOM_FRONT_LEFT: _bindgen_ty_61 = 1048576;
17224pub const AAUDIO_CHANNEL_BOTTOM_FRONT_CENTER: _bindgen_ty_61 = 2097152;
17225pub const AAUDIO_CHANNEL_BOTTOM_FRONT_RIGHT: _bindgen_ty_61 = 4194304;
17226pub const AAUDIO_CHANNEL_LOW_FREQUENCY_2: _bindgen_ty_61 = 8388608;
17227pub const AAUDIO_CHANNEL_FRONT_WIDE_LEFT: _bindgen_ty_61 = 16777216;
17228pub const AAUDIO_CHANNEL_FRONT_WIDE_RIGHT: _bindgen_ty_61 = 33554432;
17229pub const AAUDIO_CHANNEL_MONO: _bindgen_ty_61 = 1;
17230pub const AAUDIO_CHANNEL_STEREO: _bindgen_ty_61 = 3;
17231pub const AAUDIO_CHANNEL_2POINT1: _bindgen_ty_61 = 11;
17232pub const AAUDIO_CHANNEL_TRI: _bindgen_ty_61 = 7;
17233pub const AAUDIO_CHANNEL_TRI_BACK: _bindgen_ty_61 = 259;
17234pub const AAUDIO_CHANNEL_3POINT1: _bindgen_ty_61 = 15;
17235pub const AAUDIO_CHANNEL_2POINT0POINT2: _bindgen_ty_61 = 786435;
17236pub const AAUDIO_CHANNEL_2POINT1POINT2: _bindgen_ty_61 = 786443;
17237pub const AAUDIO_CHANNEL_3POINT0POINT2: _bindgen_ty_61 = 786439;
17238pub const AAUDIO_CHANNEL_3POINT1POINT2: _bindgen_ty_61 = 786447;
17239pub const AAUDIO_CHANNEL_QUAD: _bindgen_ty_61 = 51;
17240pub const AAUDIO_CHANNEL_QUAD_SIDE: _bindgen_ty_61 = 1539;
17241pub const AAUDIO_CHANNEL_SURROUND: _bindgen_ty_61 = 263;
17242pub const AAUDIO_CHANNEL_PENTA: _bindgen_ty_61 = 55;
17243pub const AAUDIO_CHANNEL_5POINT1: _bindgen_ty_61 = 63;
17244pub const AAUDIO_CHANNEL_5POINT1_SIDE: _bindgen_ty_61 = 1551;
17245pub const AAUDIO_CHANNEL_6POINT1: _bindgen_ty_61 = 319;
17246pub const AAUDIO_CHANNEL_7POINT1: _bindgen_ty_61 = 1599;
17247pub const AAUDIO_CHANNEL_5POINT1POINT2: _bindgen_ty_61 = 786495;
17248pub const AAUDIO_CHANNEL_5POINT1POINT4: _bindgen_ty_61 = 184383;
17249pub const AAUDIO_CHANNEL_7POINT1POINT2: _bindgen_ty_61 = 788031;
17250pub const AAUDIO_CHANNEL_7POINT1POINT4: _bindgen_ty_61 = 185919;
17251pub const AAUDIO_CHANNEL_9POINT1POINT4: _bindgen_ty_61 = 50517567;
17252pub const AAUDIO_CHANNEL_9POINT1POINT6: _bindgen_ty_61 = 51303999;
17253pub const AAUDIO_CHANNEL_FRONT_BACK: _bindgen_ty_61 = 260;
17254pub type _bindgen_ty_61 = ::std::os::raw::c_int;
17255pub type aaudio_channel_mask_t = u32;
17256#[repr(C)]
17257#[derive(Debug, Copy, Clone)]
17258pub struct AAudioStreamStruct {
17259    _unused: [u8; 0],
17260}
17261pub type AAudioStream = AAudioStreamStruct;
17262#[repr(C)]
17263#[derive(Debug, Copy, Clone)]
17264pub struct AAudioStreamBuilderStruct {
17265    _unused: [u8; 0],
17266}
17267pub type AAudioStreamBuilder = AAudioStreamBuilderStruct;
17268extern "C" {
17269    pub fn AAudio_convertResultToText(returnCode: aaudio_result_t)
17270        -> *const ::std::os::raw::c_char;
17271}
17272extern "C" {
17273    pub fn AAudio_convertStreamStateToText(
17274        state: aaudio_stream_state_t,
17275    ) -> *const ::std::os::raw::c_char;
17276}
17277extern "C" {
17278    pub fn AAudio_createStreamBuilder(builder: *mut *mut AAudioStreamBuilder) -> aaudio_result_t;
17279}
17280extern "C" {
17281    pub fn AAudioStreamBuilder_setDeviceId(builder: *mut AAudioStreamBuilder, deviceId: i32);
17282}
17283extern "C" {
17284    pub fn AAudioStreamBuilder_setPackageName(
17285        builder: *mut AAudioStreamBuilder,
17286        packageName: *const ::std::os::raw::c_char,
17287    );
17288}
17289extern "C" {
17290    pub fn AAudioStreamBuilder_setAttributionTag(
17291        builder: *mut AAudioStreamBuilder,
17292        attributionTag: *const ::std::os::raw::c_char,
17293    );
17294}
17295extern "C" {
17296    pub fn AAudioStreamBuilder_setSampleRate(builder: *mut AAudioStreamBuilder, sampleRate: i32);
17297}
17298extern "C" {
17299    pub fn AAudioStreamBuilder_setChannelCount(
17300        builder: *mut AAudioStreamBuilder,
17301        channelCount: i32,
17302    );
17303}
17304extern "C" {
17305    pub fn AAudioStreamBuilder_setSamplesPerFrame(
17306        builder: *mut AAudioStreamBuilder,
17307        samplesPerFrame: i32,
17308    );
17309}
17310extern "C" {
17311    pub fn AAudioStreamBuilder_setFormat(
17312        builder: *mut AAudioStreamBuilder,
17313        format: aaudio_format_t,
17314    );
17315}
17316extern "C" {
17317    pub fn AAudioStreamBuilder_setSharingMode(
17318        builder: *mut AAudioStreamBuilder,
17319        sharingMode: aaudio_sharing_mode_t,
17320    );
17321}
17322extern "C" {
17323    pub fn AAudioStreamBuilder_setDirection(
17324        builder: *mut AAudioStreamBuilder,
17325        direction: aaudio_direction_t,
17326    );
17327}
17328extern "C" {
17329    pub fn AAudioStreamBuilder_setBufferCapacityInFrames(
17330        builder: *mut AAudioStreamBuilder,
17331        numFrames: i32,
17332    );
17333}
17334extern "C" {
17335    pub fn AAudioStreamBuilder_setPerformanceMode(
17336        builder: *mut AAudioStreamBuilder,
17337        mode: aaudio_performance_mode_t,
17338    );
17339}
17340extern "C" {
17341    pub fn AAudioStreamBuilder_setUsage(builder: *mut AAudioStreamBuilder, usage: aaudio_usage_t);
17342}
17343extern "C" {
17344    pub fn AAudioStreamBuilder_setContentType(
17345        builder: *mut AAudioStreamBuilder,
17346        contentType: aaudio_content_type_t,
17347    );
17348}
17349extern "C" {
17350    pub fn AAudioStreamBuilder_setSpatializationBehavior(
17351        builder: *mut AAudioStreamBuilder,
17352        spatializationBehavior: aaudio_spatialization_behavior_t,
17353    );
17354}
17355extern "C" {
17356    pub fn AAudioStreamBuilder_setIsContentSpatialized(
17357        builder: *mut AAudioStreamBuilder,
17358        isSpatialized: bool,
17359    );
17360}
17361extern "C" {
17362    pub fn AAudioStreamBuilder_setInputPreset(
17363        builder: *mut AAudioStreamBuilder,
17364        inputPreset: aaudio_input_preset_t,
17365    );
17366}
17367extern "C" {
17368    pub fn AAudioStreamBuilder_setAllowedCapturePolicy(
17369        builder: *mut AAudioStreamBuilder,
17370        capturePolicy: aaudio_allowed_capture_policy_t,
17371    );
17372}
17373extern "C" {
17374    pub fn AAudioStreamBuilder_setSessionId(
17375        builder: *mut AAudioStreamBuilder,
17376        sessionId: aaudio_session_id_t,
17377    );
17378}
17379extern "C" {
17380    pub fn AAudioStreamBuilder_setPrivacySensitive(
17381        builder: *mut AAudioStreamBuilder,
17382        privacySensitive: bool,
17383    );
17384}
17385pub const AAUDIO_CALLBACK_RESULT_CONTINUE: _bindgen_ty_62 = 0;
17386pub const AAUDIO_CALLBACK_RESULT_STOP: _bindgen_ty_62 = 1;
17387pub type _bindgen_ty_62 = ::std::os::raw::c_uint;
17388pub type aaudio_data_callback_result_t = i32;
17389pub type AAudioStream_dataCallback = ::std::option::Option<
17390    unsafe extern "C" fn(
17391        stream: *mut AAudioStream,
17392        userData: *mut ::std::os::raw::c_void,
17393        audioData: *mut ::std::os::raw::c_void,
17394        numFrames: i32,
17395    ) -> aaudio_data_callback_result_t,
17396>;
17397extern "C" {
17398    pub fn AAudioStreamBuilder_setDataCallback(
17399        builder: *mut AAudioStreamBuilder,
17400        callback: AAudioStream_dataCallback,
17401        userData: *mut ::std::os::raw::c_void,
17402    );
17403}
17404extern "C" {
17405    pub fn AAudioStreamBuilder_setFramesPerDataCallback(
17406        builder: *mut AAudioStreamBuilder,
17407        numFrames: i32,
17408    );
17409}
17410pub type AAudioStream_errorCallback = ::std::option::Option<
17411    unsafe extern "C" fn(
17412        stream: *mut AAudioStream,
17413        userData: *mut ::std::os::raw::c_void,
17414        error: aaudio_result_t,
17415    ),
17416>;
17417extern "C" {
17418    pub fn AAudioStreamBuilder_setErrorCallback(
17419        builder: *mut AAudioStreamBuilder,
17420        callback: AAudioStream_errorCallback,
17421        userData: *mut ::std::os::raw::c_void,
17422    );
17423}
17424extern "C" {
17425    pub fn AAudioStreamBuilder_openStream(
17426        builder: *mut AAudioStreamBuilder,
17427        stream: *mut *mut AAudioStream,
17428    ) -> aaudio_result_t;
17429}
17430extern "C" {
17431    pub fn AAudioStreamBuilder_delete(builder: *mut AAudioStreamBuilder) -> aaudio_result_t;
17432}
17433extern "C" {
17434    pub fn AAudioStreamBuilder_setChannelMask(
17435        builder: *mut AAudioStreamBuilder,
17436        channelMask: aaudio_channel_mask_t,
17437    );
17438}
17439extern "C" {
17440    pub fn AAudioStream_release(stream: *mut AAudioStream) -> aaudio_result_t;
17441}
17442extern "C" {
17443    pub fn AAudioStream_close(stream: *mut AAudioStream) -> aaudio_result_t;
17444}
17445extern "C" {
17446    pub fn AAudioStream_requestStart(stream: *mut AAudioStream) -> aaudio_result_t;
17447}
17448extern "C" {
17449    pub fn AAudioStream_requestPause(stream: *mut AAudioStream) -> aaudio_result_t;
17450}
17451extern "C" {
17452    pub fn AAudioStream_requestFlush(stream: *mut AAudioStream) -> aaudio_result_t;
17453}
17454extern "C" {
17455    pub fn AAudioStream_requestStop(stream: *mut AAudioStream) -> aaudio_result_t;
17456}
17457extern "C" {
17458    pub fn AAudioStream_getState(stream: *mut AAudioStream) -> aaudio_stream_state_t;
17459}
17460extern "C" {
17461    pub fn AAudioStream_waitForStateChange(
17462        stream: *mut AAudioStream,
17463        inputState: aaudio_stream_state_t,
17464        nextState: *mut aaudio_stream_state_t,
17465        timeoutNanoseconds: i64,
17466    ) -> aaudio_result_t;
17467}
17468extern "C" {
17469    pub fn AAudioStream_read(
17470        stream: *mut AAudioStream,
17471        buffer: *mut ::std::os::raw::c_void,
17472        numFrames: i32,
17473        timeoutNanoseconds: i64,
17474    ) -> aaudio_result_t;
17475}
17476extern "C" {
17477    pub fn AAudioStream_write(
17478        stream: *mut AAudioStream,
17479        buffer: *const ::std::os::raw::c_void,
17480        numFrames: i32,
17481        timeoutNanoseconds: i64,
17482    ) -> aaudio_result_t;
17483}
17484extern "C" {
17485    pub fn AAudioStream_setBufferSizeInFrames(
17486        stream: *mut AAudioStream,
17487        numFrames: i32,
17488    ) -> aaudio_result_t;
17489}
17490extern "C" {
17491    pub fn AAudioStream_getBufferSizeInFrames(stream: *mut AAudioStream) -> i32;
17492}
17493extern "C" {
17494    pub fn AAudioStream_getFramesPerBurst(stream: *mut AAudioStream) -> i32;
17495}
17496extern "C" {
17497    pub fn AAudioStream_getBufferCapacityInFrames(stream: *mut AAudioStream) -> i32;
17498}
17499extern "C" {
17500    pub fn AAudioStream_getFramesPerDataCallback(stream: *mut AAudioStream) -> i32;
17501}
17502extern "C" {
17503    pub fn AAudioStream_getXRunCount(stream: *mut AAudioStream) -> i32;
17504}
17505extern "C" {
17506    pub fn AAudioStream_getSampleRate(stream: *mut AAudioStream) -> i32;
17507}
17508extern "C" {
17509    pub fn AAudioStream_getHardwareSampleRate(stream: *mut AAudioStream) -> i32;
17510}
17511extern "C" {
17512    pub fn AAudioStream_getChannelCount(stream: *mut AAudioStream) -> i32;
17513}
17514extern "C" {
17515    pub fn AAudioStream_getHardwareChannelCount(stream: *mut AAudioStream) -> i32;
17516}
17517extern "C" {
17518    pub fn AAudioStream_getSamplesPerFrame(stream: *mut AAudioStream) -> i32;
17519}
17520extern "C" {
17521    pub fn AAudioStream_getDeviceId(stream: *mut AAudioStream) -> i32;
17522}
17523extern "C" {
17524    pub fn AAudioStream_getFormat(stream: *mut AAudioStream) -> aaudio_format_t;
17525}
17526extern "C" {
17527    pub fn AAudioStream_getHardwareFormat(stream: *mut AAudioStream) -> aaudio_format_t;
17528}
17529extern "C" {
17530    pub fn AAudioStream_getSharingMode(stream: *mut AAudioStream) -> aaudio_sharing_mode_t;
17531}
17532extern "C" {
17533    pub fn AAudioStream_getPerformanceMode(stream: *mut AAudioStream) -> aaudio_performance_mode_t;
17534}
17535extern "C" {
17536    pub fn AAudioStream_getDirection(stream: *mut AAudioStream) -> aaudio_direction_t;
17537}
17538extern "C" {
17539    pub fn AAudioStream_getFramesWritten(stream: *mut AAudioStream) -> i64;
17540}
17541extern "C" {
17542    pub fn AAudioStream_getFramesRead(stream: *mut AAudioStream) -> i64;
17543}
17544extern "C" {
17545    pub fn AAudioStream_getSessionId(stream: *mut AAudioStream) -> aaudio_session_id_t;
17546}
17547extern "C" {
17548    pub fn AAudioStream_getTimestamp(
17549        stream: *mut AAudioStream,
17550        clockid: clockid_t,
17551        framePosition: *mut i64,
17552        timeNanoseconds: *mut i64,
17553    ) -> aaudio_result_t;
17554}
17555extern "C" {
17556    pub fn AAudioStream_getUsage(stream: *mut AAudioStream) -> aaudio_usage_t;
17557}
17558extern "C" {
17559    pub fn AAudioStream_getContentType(stream: *mut AAudioStream) -> aaudio_content_type_t;
17560}
17561extern "C" {
17562    pub fn AAudioStream_getSpatializationBehavior(
17563        stream: *mut AAudioStream,
17564    ) -> aaudio_spatialization_behavior_t;
17565}
17566extern "C" {
17567    pub fn AAudioStream_isContentSpatialized(stream: *mut AAudioStream) -> bool;
17568}
17569extern "C" {
17570    pub fn AAudioStream_getInputPreset(stream: *mut AAudioStream) -> aaudio_input_preset_t;
17571}
17572extern "C" {
17573    pub fn AAudioStream_getAllowedCapturePolicy(
17574        stream: *mut AAudioStream,
17575    ) -> aaudio_allowed_capture_policy_t;
17576}
17577extern "C" {
17578    pub fn AAudioStream_isPrivacySensitive(stream: *mut AAudioStream) -> bool;
17579}
17580extern "C" {
17581    pub fn AAudioStream_getChannelMask(stream: *mut AAudioStream) -> aaudio_channel_mask_t;
17582}
17583impl media_status_t {
17584    pub const AMEDIA_OK: media_status_t = media_status_t(0);
17585}
17586impl media_status_t {
17587    pub const AMEDIACODEC_ERROR_INSUFFICIENT_RESOURCE: media_status_t = media_status_t(1100);
17588}
17589impl media_status_t {
17590    pub const AMEDIACODEC_ERROR_RECLAIMED: media_status_t = media_status_t(1101);
17591}
17592impl media_status_t {
17593    pub const AMEDIA_ERROR_BASE: media_status_t = media_status_t(-10000);
17594}
17595impl media_status_t {
17596    pub const AMEDIA_ERROR_UNKNOWN: media_status_t = media_status_t(-10000);
17597}
17598impl media_status_t {
17599    pub const AMEDIA_ERROR_MALFORMED: media_status_t = media_status_t(-10001);
17600}
17601impl media_status_t {
17602    pub const AMEDIA_ERROR_UNSUPPORTED: media_status_t = media_status_t(-10002);
17603}
17604impl media_status_t {
17605    pub const AMEDIA_ERROR_INVALID_OBJECT: media_status_t = media_status_t(-10003);
17606}
17607impl media_status_t {
17608    pub const AMEDIA_ERROR_INVALID_PARAMETER: media_status_t = media_status_t(-10004);
17609}
17610impl media_status_t {
17611    pub const AMEDIA_ERROR_INVALID_OPERATION: media_status_t = media_status_t(-10005);
17612}
17613impl media_status_t {
17614    pub const AMEDIA_ERROR_END_OF_STREAM: media_status_t = media_status_t(-10006);
17615}
17616impl media_status_t {
17617    pub const AMEDIA_ERROR_IO: media_status_t = media_status_t(-10007);
17618}
17619impl media_status_t {
17620    pub const AMEDIA_ERROR_WOULD_BLOCK: media_status_t = media_status_t(-10008);
17621}
17622impl media_status_t {
17623    pub const AMEDIA_DRM_ERROR_BASE: media_status_t = media_status_t(-20000);
17624}
17625impl media_status_t {
17626    pub const AMEDIA_DRM_NOT_PROVISIONED: media_status_t = media_status_t(-20001);
17627}
17628impl media_status_t {
17629    pub const AMEDIA_DRM_RESOURCE_BUSY: media_status_t = media_status_t(-20002);
17630}
17631impl media_status_t {
17632    pub const AMEDIA_DRM_DEVICE_REVOKED: media_status_t = media_status_t(-20003);
17633}
17634impl media_status_t {
17635    pub const AMEDIA_DRM_SHORT_BUFFER: media_status_t = media_status_t(-20004);
17636}
17637impl media_status_t {
17638    pub const AMEDIA_DRM_SESSION_NOT_OPENED: media_status_t = media_status_t(-20005);
17639}
17640impl media_status_t {
17641    pub const AMEDIA_DRM_TAMPER_DETECTED: media_status_t = media_status_t(-20006);
17642}
17643impl media_status_t {
17644    pub const AMEDIA_DRM_VERIFY_FAILED: media_status_t = media_status_t(-20007);
17645}
17646impl media_status_t {
17647    pub const AMEDIA_DRM_NEED_KEY: media_status_t = media_status_t(-20008);
17648}
17649impl media_status_t {
17650    pub const AMEDIA_DRM_LICENSE_EXPIRED: media_status_t = media_status_t(-20009);
17651}
17652impl media_status_t {
17653    pub const AMEDIA_IMGREADER_ERROR_BASE: media_status_t = media_status_t(-30000);
17654}
17655impl media_status_t {
17656    pub const AMEDIA_IMGREADER_NO_BUFFER_AVAILABLE: media_status_t = media_status_t(-30001);
17657}
17658impl media_status_t {
17659    pub const AMEDIA_IMGREADER_MAX_IMAGES_ACQUIRED: media_status_t = media_status_t(-30002);
17660}
17661impl media_status_t {
17662    pub const AMEDIA_IMGREADER_CANNOT_LOCK_IMAGE: media_status_t = media_status_t(-30003);
17663}
17664impl media_status_t {
17665    pub const AMEDIA_IMGREADER_CANNOT_UNLOCK_IMAGE: media_status_t = media_status_t(-30004);
17666}
17667impl media_status_t {
17668    pub const AMEDIA_IMGREADER_IMAGE_NOT_LOCKED: media_status_t = media_status_t(-30005);
17669}
17670#[repr(transparent)]
17671#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
17672pub struct media_status_t(pub ::std::os::raw::c_int);
17673#[repr(C)]
17674#[derive(Debug, Copy, Clone)]
17675pub struct AMidiDevice {
17676    _unused: [u8; 0],
17677}
17678#[repr(C)]
17679#[derive(Debug, Copy, Clone)]
17680pub struct AMidiInputPort {
17681    _unused: [u8; 0],
17682}
17683#[repr(C)]
17684#[derive(Debug, Copy, Clone)]
17685pub struct AMidiOutputPort {
17686    _unused: [u8; 0],
17687}
17688pub const AMIDI_OPCODE_DATA: _bindgen_ty_63 = 1;
17689pub const AMIDI_OPCODE_FLUSH: _bindgen_ty_63 = 2;
17690pub type _bindgen_ty_63 = ::std::os::raw::c_uint;
17691pub const AMIDI_DEVICE_TYPE_USB: _bindgen_ty_64 = 1;
17692pub const AMIDI_DEVICE_TYPE_VIRTUAL: _bindgen_ty_64 = 2;
17693pub const AMIDI_DEVICE_TYPE_BLUETOOTH: _bindgen_ty_64 = 3;
17694pub type _bindgen_ty_64 = ::std::os::raw::c_uint;
17695impl AMidiDevice_Protocol {
17696    pub const AMIDI_DEVICE_PROTOCOL_UMP_USE_MIDI_CI: AMidiDevice_Protocol = AMidiDevice_Protocol(0);
17697}
17698impl AMidiDevice_Protocol {
17699    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_1_0_UP_TO_64_BITS: AMidiDevice_Protocol =
17700        AMidiDevice_Protocol(1);
17701}
17702impl AMidiDevice_Protocol {
17703    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_1_0_UP_TO_64_BITS_AND_JRTS: AMidiDevice_Protocol =
17704        AMidiDevice_Protocol(2);
17705}
17706impl AMidiDevice_Protocol {
17707    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_1_0_UP_TO_128_BITS: AMidiDevice_Protocol =
17708        AMidiDevice_Protocol(3);
17709}
17710impl AMidiDevice_Protocol {
17711    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_1_0_UP_TO_128_BITS_AND_JRTS: AMidiDevice_Protocol =
17712        AMidiDevice_Protocol(4);
17713}
17714impl AMidiDevice_Protocol {
17715    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_2_0: AMidiDevice_Protocol = AMidiDevice_Protocol(17);
17716}
17717impl AMidiDevice_Protocol {
17718    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_2_0_AND_JRTS: AMidiDevice_Protocol =
17719        AMidiDevice_Protocol(18);
17720}
17721impl AMidiDevice_Protocol {
17722    pub const AMIDI_DEVICE_PROTOCOL_UNKNOWN: AMidiDevice_Protocol = AMidiDevice_Protocol(-1);
17723}
17724#[repr(transparent)]
17725#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
17726pub struct AMidiDevice_Protocol(pub i32);
17727extern "C" {
17728    pub fn AMidiDevice_fromJava(
17729        env: *mut JNIEnv,
17730        midiDeviceObj: jobject,
17731        outDevicePtrPtr: *mut *mut AMidiDevice,
17732    ) -> media_status_t;
17733}
17734extern "C" {
17735    pub fn AMidiDevice_release(midiDevice: *const AMidiDevice) -> media_status_t;
17736}
17737extern "C" {
17738    pub fn AMidiDevice_getType(device: *const AMidiDevice) -> i32;
17739}
17740extern "C" {
17741    pub fn AMidiDevice_getNumInputPorts(device: *const AMidiDevice) -> isize;
17742}
17743extern "C" {
17744    pub fn AMidiDevice_getNumOutputPorts(device: *const AMidiDevice) -> isize;
17745}
17746extern "C" {
17747    pub fn AMidiDevice_getDefaultProtocol(device: *const AMidiDevice) -> AMidiDevice_Protocol;
17748}
17749extern "C" {
17750    pub fn AMidiOutputPort_open(
17751        device: *const AMidiDevice,
17752        portNumber: i32,
17753        outOutputPortPtr: *mut *mut AMidiOutputPort,
17754    ) -> media_status_t;
17755}
17756extern "C" {
17757    pub fn AMidiOutputPort_close(outputPort: *const AMidiOutputPort);
17758}
17759extern "C" {
17760    pub fn AMidiOutputPort_receive(
17761        outputPort: *const AMidiOutputPort,
17762        opcodePtr: *mut i32,
17763        buffer: *mut u8,
17764        maxBytes: usize,
17765        numBytesReceivedPtr: *mut usize,
17766        outTimestampPtr: *mut i64,
17767    ) -> isize;
17768}
17769extern "C" {
17770    pub fn AMidiInputPort_open(
17771        device: *const AMidiDevice,
17772        portNumber: i32,
17773        outInputPortPtr: *mut *mut AMidiInputPort,
17774    ) -> media_status_t;
17775}
17776extern "C" {
17777    pub fn AMidiInputPort_send(
17778        inputPort: *const AMidiInputPort,
17779        buffer: *const u8,
17780        numBytes: usize,
17781    ) -> isize;
17782}
17783extern "C" {
17784    pub fn AMidiInputPort_sendWithTimestamp(
17785        inputPort: *const AMidiInputPort,
17786        buffer: *const u8,
17787        numBytes: usize,
17788        timestamp: i64,
17789    ) -> isize;
17790}
17791extern "C" {
17792    pub fn AMidiInputPort_sendFlush(inputPort: *const AMidiInputPort) -> media_status_t;
17793}
17794extern "C" {
17795    pub fn AMidiInputPort_close(inputPort: *const AMidiInputPort);
17796}
17797impl camera_status_t {
17798    pub const ACAMERA_OK: camera_status_t = camera_status_t(0);
17799}
17800impl camera_status_t {
17801    pub const ACAMERA_ERROR_BASE: camera_status_t = camera_status_t(-10000);
17802}
17803impl camera_status_t {
17804    pub const ACAMERA_ERROR_UNKNOWN: camera_status_t = camera_status_t(-10000);
17805}
17806impl camera_status_t {
17807    pub const ACAMERA_ERROR_INVALID_PARAMETER: camera_status_t = camera_status_t(-10001);
17808}
17809impl camera_status_t {
17810    pub const ACAMERA_ERROR_CAMERA_DISCONNECTED: camera_status_t = camera_status_t(-10002);
17811}
17812impl camera_status_t {
17813    pub const ACAMERA_ERROR_NOT_ENOUGH_MEMORY: camera_status_t = camera_status_t(-10003);
17814}
17815impl camera_status_t {
17816    pub const ACAMERA_ERROR_METADATA_NOT_FOUND: camera_status_t = camera_status_t(-10004);
17817}
17818impl camera_status_t {
17819    pub const ACAMERA_ERROR_CAMERA_DEVICE: camera_status_t = camera_status_t(-10005);
17820}
17821impl camera_status_t {
17822    pub const ACAMERA_ERROR_CAMERA_SERVICE: camera_status_t = camera_status_t(-10006);
17823}
17824impl camera_status_t {
17825    pub const ACAMERA_ERROR_SESSION_CLOSED: camera_status_t = camera_status_t(-10007);
17826}
17827impl camera_status_t {
17828    pub const ACAMERA_ERROR_INVALID_OPERATION: camera_status_t = camera_status_t(-10008);
17829}
17830impl camera_status_t {
17831    pub const ACAMERA_ERROR_STREAM_CONFIGURE_FAIL: camera_status_t = camera_status_t(-10009);
17832}
17833impl camera_status_t {
17834    pub const ACAMERA_ERROR_CAMERA_IN_USE: camera_status_t = camera_status_t(-10010);
17835}
17836impl camera_status_t {
17837    pub const ACAMERA_ERROR_MAX_CAMERA_IN_USE: camera_status_t = camera_status_t(-10011);
17838}
17839impl camera_status_t {
17840    pub const ACAMERA_ERROR_CAMERA_DISABLED: camera_status_t = camera_status_t(-10012);
17841}
17842impl camera_status_t {
17843    pub const ACAMERA_ERROR_PERMISSION_DENIED: camera_status_t = camera_status_t(-10013);
17844}
17845impl camera_status_t {
17846    pub const ACAMERA_ERROR_UNSUPPORTED_OPERATION: camera_status_t = camera_status_t(-10014);
17847}
17848#[repr(transparent)]
17849#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
17850pub struct camera_status_t(pub ::std::os::raw::c_int);
17851impl acamera_metadata_section {
17852    pub const ACAMERA_COLOR_CORRECTION: acamera_metadata_section = acamera_metadata_section(0);
17853}
17854impl acamera_metadata_section {
17855    pub const ACAMERA_CONTROL: acamera_metadata_section = acamera_metadata_section(1);
17856}
17857impl acamera_metadata_section {
17858    pub const ACAMERA_DEMOSAIC: acamera_metadata_section = acamera_metadata_section(2);
17859}
17860impl acamera_metadata_section {
17861    pub const ACAMERA_EDGE: acamera_metadata_section = acamera_metadata_section(3);
17862}
17863impl acamera_metadata_section {
17864    pub const ACAMERA_FLASH: acamera_metadata_section = acamera_metadata_section(4);
17865}
17866impl acamera_metadata_section {
17867    pub const ACAMERA_FLASH_INFO: acamera_metadata_section = acamera_metadata_section(5);
17868}
17869impl acamera_metadata_section {
17870    pub const ACAMERA_HOT_PIXEL: acamera_metadata_section = acamera_metadata_section(6);
17871}
17872impl acamera_metadata_section {
17873    pub const ACAMERA_JPEG: acamera_metadata_section = acamera_metadata_section(7);
17874}
17875impl acamera_metadata_section {
17876    pub const ACAMERA_LENS: acamera_metadata_section = acamera_metadata_section(8);
17877}
17878impl acamera_metadata_section {
17879    pub const ACAMERA_LENS_INFO: acamera_metadata_section = acamera_metadata_section(9);
17880}
17881impl acamera_metadata_section {
17882    pub const ACAMERA_NOISE_REDUCTION: acamera_metadata_section = acamera_metadata_section(10);
17883}
17884impl acamera_metadata_section {
17885    pub const ACAMERA_QUIRKS: acamera_metadata_section = acamera_metadata_section(11);
17886}
17887impl acamera_metadata_section {
17888    pub const ACAMERA_REQUEST: acamera_metadata_section = acamera_metadata_section(12);
17889}
17890impl acamera_metadata_section {
17891    pub const ACAMERA_SCALER: acamera_metadata_section = acamera_metadata_section(13);
17892}
17893impl acamera_metadata_section {
17894    pub const ACAMERA_SENSOR: acamera_metadata_section = acamera_metadata_section(14);
17895}
17896impl acamera_metadata_section {
17897    pub const ACAMERA_SENSOR_INFO: acamera_metadata_section = acamera_metadata_section(15);
17898}
17899impl acamera_metadata_section {
17900    pub const ACAMERA_SHADING: acamera_metadata_section = acamera_metadata_section(16);
17901}
17902impl acamera_metadata_section {
17903    pub const ACAMERA_STATISTICS: acamera_metadata_section = acamera_metadata_section(17);
17904}
17905impl acamera_metadata_section {
17906    pub const ACAMERA_STATISTICS_INFO: acamera_metadata_section = acamera_metadata_section(18);
17907}
17908impl acamera_metadata_section {
17909    pub const ACAMERA_TONEMAP: acamera_metadata_section = acamera_metadata_section(19);
17910}
17911impl acamera_metadata_section {
17912    pub const ACAMERA_LED: acamera_metadata_section = acamera_metadata_section(20);
17913}
17914impl acamera_metadata_section {
17915    pub const ACAMERA_INFO: acamera_metadata_section = acamera_metadata_section(21);
17916}
17917impl acamera_metadata_section {
17918    pub const ACAMERA_BLACK_LEVEL: acamera_metadata_section = acamera_metadata_section(22);
17919}
17920impl acamera_metadata_section {
17921    pub const ACAMERA_SYNC: acamera_metadata_section = acamera_metadata_section(23);
17922}
17923impl acamera_metadata_section {
17924    pub const ACAMERA_REPROCESS: acamera_metadata_section = acamera_metadata_section(24);
17925}
17926impl acamera_metadata_section {
17927    pub const ACAMERA_DEPTH: acamera_metadata_section = acamera_metadata_section(25);
17928}
17929impl acamera_metadata_section {
17930    pub const ACAMERA_LOGICAL_MULTI_CAMERA: acamera_metadata_section = acamera_metadata_section(26);
17931}
17932impl acamera_metadata_section {
17933    pub const ACAMERA_DISTORTION_CORRECTION: acamera_metadata_section =
17934        acamera_metadata_section(27);
17935}
17936impl acamera_metadata_section {
17937    pub const ACAMERA_HEIC: acamera_metadata_section = acamera_metadata_section(28);
17938}
17939impl acamera_metadata_section {
17940    pub const ACAMERA_HEIC_INFO: acamera_metadata_section = acamera_metadata_section(29);
17941}
17942impl acamera_metadata_section {
17943    pub const ACAMERA_AUTOMOTIVE: acamera_metadata_section = acamera_metadata_section(30);
17944}
17945impl acamera_metadata_section {
17946    pub const ACAMERA_AUTOMOTIVE_LENS: acamera_metadata_section = acamera_metadata_section(31);
17947}
17948impl acamera_metadata_section {
17949    pub const ACAMERA_EXTENSION: acamera_metadata_section = acamera_metadata_section(32);
17950}
17951impl acamera_metadata_section {
17952    pub const ACAMERA_JPEGR: acamera_metadata_section = acamera_metadata_section(33);
17953}
17954impl acamera_metadata_section {
17955    pub const ACAMERA_SECTION_COUNT: acamera_metadata_section = acamera_metadata_section(34);
17956}
17957impl acamera_metadata_section {
17958    pub const ACAMERA_VENDOR: acamera_metadata_section = acamera_metadata_section(32768);
17959}
17960#[repr(transparent)]
17961#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
17962pub struct acamera_metadata_section(pub ::std::os::raw::c_uint);
17963pub use self::acamera_metadata_section as acamera_metadata_section_t;
17964impl acamera_metadata_section_start {
17965    pub const ACAMERA_COLOR_CORRECTION_START: acamera_metadata_section_start =
17966        acamera_metadata_section_start(0);
17967}
17968impl acamera_metadata_section_start {
17969    pub const ACAMERA_CONTROL_START: acamera_metadata_section_start =
17970        acamera_metadata_section_start(65536);
17971}
17972impl acamera_metadata_section_start {
17973    pub const ACAMERA_DEMOSAIC_START: acamera_metadata_section_start =
17974        acamera_metadata_section_start(131072);
17975}
17976impl acamera_metadata_section_start {
17977    pub const ACAMERA_EDGE_START: acamera_metadata_section_start =
17978        acamera_metadata_section_start(196608);
17979}
17980impl acamera_metadata_section_start {
17981    pub const ACAMERA_FLASH_START: acamera_metadata_section_start =
17982        acamera_metadata_section_start(262144);
17983}
17984impl acamera_metadata_section_start {
17985    pub const ACAMERA_FLASH_INFO_START: acamera_metadata_section_start =
17986        acamera_metadata_section_start(327680);
17987}
17988impl acamera_metadata_section_start {
17989    pub const ACAMERA_HOT_PIXEL_START: acamera_metadata_section_start =
17990        acamera_metadata_section_start(393216);
17991}
17992impl acamera_metadata_section_start {
17993    pub const ACAMERA_JPEG_START: acamera_metadata_section_start =
17994        acamera_metadata_section_start(458752);
17995}
17996impl acamera_metadata_section_start {
17997    pub const ACAMERA_LENS_START: acamera_metadata_section_start =
17998        acamera_metadata_section_start(524288);
17999}
18000impl acamera_metadata_section_start {
18001    pub const ACAMERA_LENS_INFO_START: acamera_metadata_section_start =
18002        acamera_metadata_section_start(589824);
18003}
18004impl acamera_metadata_section_start {
18005    pub const ACAMERA_NOISE_REDUCTION_START: acamera_metadata_section_start =
18006        acamera_metadata_section_start(655360);
18007}
18008impl acamera_metadata_section_start {
18009    pub const ACAMERA_QUIRKS_START: acamera_metadata_section_start =
18010        acamera_metadata_section_start(720896);
18011}
18012impl acamera_metadata_section_start {
18013    pub const ACAMERA_REQUEST_START: acamera_metadata_section_start =
18014        acamera_metadata_section_start(786432);
18015}
18016impl acamera_metadata_section_start {
18017    pub const ACAMERA_SCALER_START: acamera_metadata_section_start =
18018        acamera_metadata_section_start(851968);
18019}
18020impl acamera_metadata_section_start {
18021    pub const ACAMERA_SENSOR_START: acamera_metadata_section_start =
18022        acamera_metadata_section_start(917504);
18023}
18024impl acamera_metadata_section_start {
18025    pub const ACAMERA_SENSOR_INFO_START: acamera_metadata_section_start =
18026        acamera_metadata_section_start(983040);
18027}
18028impl acamera_metadata_section_start {
18029    pub const ACAMERA_SHADING_START: acamera_metadata_section_start =
18030        acamera_metadata_section_start(1048576);
18031}
18032impl acamera_metadata_section_start {
18033    pub const ACAMERA_STATISTICS_START: acamera_metadata_section_start =
18034        acamera_metadata_section_start(1114112);
18035}
18036impl acamera_metadata_section_start {
18037    pub const ACAMERA_STATISTICS_INFO_START: acamera_metadata_section_start =
18038        acamera_metadata_section_start(1179648);
18039}
18040impl acamera_metadata_section_start {
18041    pub const ACAMERA_TONEMAP_START: acamera_metadata_section_start =
18042        acamera_metadata_section_start(1245184);
18043}
18044impl acamera_metadata_section_start {
18045    pub const ACAMERA_LED_START: acamera_metadata_section_start =
18046        acamera_metadata_section_start(1310720);
18047}
18048impl acamera_metadata_section_start {
18049    pub const ACAMERA_INFO_START: acamera_metadata_section_start =
18050        acamera_metadata_section_start(1376256);
18051}
18052impl acamera_metadata_section_start {
18053    pub const ACAMERA_BLACK_LEVEL_START: acamera_metadata_section_start =
18054        acamera_metadata_section_start(1441792);
18055}
18056impl acamera_metadata_section_start {
18057    pub const ACAMERA_SYNC_START: acamera_metadata_section_start =
18058        acamera_metadata_section_start(1507328);
18059}
18060impl acamera_metadata_section_start {
18061    pub const ACAMERA_REPROCESS_START: acamera_metadata_section_start =
18062        acamera_metadata_section_start(1572864);
18063}
18064impl acamera_metadata_section_start {
18065    pub const ACAMERA_DEPTH_START: acamera_metadata_section_start =
18066        acamera_metadata_section_start(1638400);
18067}
18068impl acamera_metadata_section_start {
18069    pub const ACAMERA_LOGICAL_MULTI_CAMERA_START: acamera_metadata_section_start =
18070        acamera_metadata_section_start(1703936);
18071}
18072impl acamera_metadata_section_start {
18073    pub const ACAMERA_DISTORTION_CORRECTION_START: acamera_metadata_section_start =
18074        acamera_metadata_section_start(1769472);
18075}
18076impl acamera_metadata_section_start {
18077    pub const ACAMERA_HEIC_START: acamera_metadata_section_start =
18078        acamera_metadata_section_start(1835008);
18079}
18080impl acamera_metadata_section_start {
18081    pub const ACAMERA_HEIC_INFO_START: acamera_metadata_section_start =
18082        acamera_metadata_section_start(1900544);
18083}
18084impl acamera_metadata_section_start {
18085    pub const ACAMERA_AUTOMOTIVE_START: acamera_metadata_section_start =
18086        acamera_metadata_section_start(1966080);
18087}
18088impl acamera_metadata_section_start {
18089    pub const ACAMERA_AUTOMOTIVE_LENS_START: acamera_metadata_section_start =
18090        acamera_metadata_section_start(2031616);
18091}
18092impl acamera_metadata_section_start {
18093    pub const ACAMERA_EXTENSION_START: acamera_metadata_section_start =
18094        acamera_metadata_section_start(2097152);
18095}
18096impl acamera_metadata_section_start {
18097    pub const ACAMERA_JPEGR_START: acamera_metadata_section_start =
18098        acamera_metadata_section_start(2162688);
18099}
18100impl acamera_metadata_section_start {
18101    pub const ACAMERA_VENDOR_START: acamera_metadata_section_start =
18102        acamera_metadata_section_start(-2147483648);
18103}
18104#[repr(transparent)]
18105#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
18106pub struct acamera_metadata_section_start(pub ::std::os::raw::c_int);
18107pub use self::acamera_metadata_section_start as acamera_metadata_section_start_t;
18108impl acamera_metadata_tag {
18109    pub const ACAMERA_COLOR_CORRECTION_MODE: acamera_metadata_tag = acamera_metadata_tag(0);
18110}
18111impl acamera_metadata_tag {
18112    pub const ACAMERA_COLOR_CORRECTION_TRANSFORM: acamera_metadata_tag = acamera_metadata_tag(1);
18113}
18114impl acamera_metadata_tag {
18115    pub const ACAMERA_COLOR_CORRECTION_GAINS: acamera_metadata_tag = acamera_metadata_tag(2);
18116}
18117impl acamera_metadata_tag {
18118    pub const ACAMERA_COLOR_CORRECTION_ABERRATION_MODE: acamera_metadata_tag =
18119        acamera_metadata_tag(3);
18120}
18121impl acamera_metadata_tag {
18122    pub const ACAMERA_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES: acamera_metadata_tag =
18123        acamera_metadata_tag(4);
18124}
18125impl acamera_metadata_tag {
18126    pub const ACAMERA_COLOR_CORRECTION_END: acamera_metadata_tag = acamera_metadata_tag(5);
18127}
18128impl acamera_metadata_tag {
18129    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE: acamera_metadata_tag =
18130        acamera_metadata_tag(65536);
18131}
18132impl acamera_metadata_tag {
18133    pub const ACAMERA_CONTROL_AE_EXPOSURE_COMPENSATION: acamera_metadata_tag =
18134        acamera_metadata_tag(65537);
18135}
18136impl acamera_metadata_tag {
18137    pub const ACAMERA_CONTROL_AE_LOCK: acamera_metadata_tag = acamera_metadata_tag(65538);
18138}
18139impl acamera_metadata_tag {
18140    pub const ACAMERA_CONTROL_AE_MODE: acamera_metadata_tag = acamera_metadata_tag(65539);
18141}
18142impl acamera_metadata_tag {
18143    pub const ACAMERA_CONTROL_AE_REGIONS: acamera_metadata_tag = acamera_metadata_tag(65540);
18144}
18145impl acamera_metadata_tag {
18146    pub const ACAMERA_CONTROL_AE_TARGET_FPS_RANGE: acamera_metadata_tag =
18147        acamera_metadata_tag(65541);
18148}
18149impl acamera_metadata_tag {
18150    pub const ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER: acamera_metadata_tag =
18151        acamera_metadata_tag(65542);
18152}
18153impl acamera_metadata_tag {
18154    pub const ACAMERA_CONTROL_AF_MODE: acamera_metadata_tag = acamera_metadata_tag(65543);
18155}
18156impl acamera_metadata_tag {
18157    pub const ACAMERA_CONTROL_AF_REGIONS: acamera_metadata_tag = acamera_metadata_tag(65544);
18158}
18159impl acamera_metadata_tag {
18160    pub const ACAMERA_CONTROL_AF_TRIGGER: acamera_metadata_tag = acamera_metadata_tag(65545);
18161}
18162impl acamera_metadata_tag {
18163    pub const ACAMERA_CONTROL_AWB_LOCK: acamera_metadata_tag = acamera_metadata_tag(65546);
18164}
18165impl acamera_metadata_tag {
18166    pub const ACAMERA_CONTROL_AWB_MODE: acamera_metadata_tag = acamera_metadata_tag(65547);
18167}
18168impl acamera_metadata_tag {
18169    pub const ACAMERA_CONTROL_AWB_REGIONS: acamera_metadata_tag = acamera_metadata_tag(65548);
18170}
18171impl acamera_metadata_tag {
18172    pub const ACAMERA_CONTROL_CAPTURE_INTENT: acamera_metadata_tag = acamera_metadata_tag(65549);
18173}
18174impl acamera_metadata_tag {
18175    pub const ACAMERA_CONTROL_EFFECT_MODE: acamera_metadata_tag = acamera_metadata_tag(65550);
18176}
18177impl acamera_metadata_tag {
18178    pub const ACAMERA_CONTROL_MODE: acamera_metadata_tag = acamera_metadata_tag(65551);
18179}
18180impl acamera_metadata_tag {
18181    pub const ACAMERA_CONTROL_SCENE_MODE: acamera_metadata_tag = acamera_metadata_tag(65552);
18182}
18183impl acamera_metadata_tag {
18184    pub const ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE: acamera_metadata_tag =
18185        acamera_metadata_tag(65553);
18186}
18187impl acamera_metadata_tag {
18188    pub const ACAMERA_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES: acamera_metadata_tag =
18189        acamera_metadata_tag(65554);
18190}
18191impl acamera_metadata_tag {
18192    pub const ACAMERA_CONTROL_AE_AVAILABLE_MODES: acamera_metadata_tag =
18193        acamera_metadata_tag(65555);
18194}
18195impl acamera_metadata_tag {
18196    pub const ACAMERA_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES: acamera_metadata_tag =
18197        acamera_metadata_tag(65556);
18198}
18199impl acamera_metadata_tag {
18200    pub const ACAMERA_CONTROL_AE_COMPENSATION_RANGE: acamera_metadata_tag =
18201        acamera_metadata_tag(65557);
18202}
18203impl acamera_metadata_tag {
18204    pub const ACAMERA_CONTROL_AE_COMPENSATION_STEP: acamera_metadata_tag =
18205        acamera_metadata_tag(65558);
18206}
18207impl acamera_metadata_tag {
18208    pub const ACAMERA_CONTROL_AF_AVAILABLE_MODES: acamera_metadata_tag =
18209        acamera_metadata_tag(65559);
18210}
18211impl acamera_metadata_tag {
18212    pub const ACAMERA_CONTROL_AVAILABLE_EFFECTS: acamera_metadata_tag = acamera_metadata_tag(65560);
18213}
18214impl acamera_metadata_tag {
18215    pub const ACAMERA_CONTROL_AVAILABLE_SCENE_MODES: acamera_metadata_tag =
18216        acamera_metadata_tag(65561);
18217}
18218impl acamera_metadata_tag {
18219    pub const ACAMERA_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES: acamera_metadata_tag =
18220        acamera_metadata_tag(65562);
18221}
18222impl acamera_metadata_tag {
18223    pub const ACAMERA_CONTROL_AWB_AVAILABLE_MODES: acamera_metadata_tag =
18224        acamera_metadata_tag(65563);
18225}
18226impl acamera_metadata_tag {
18227    pub const ACAMERA_CONTROL_MAX_REGIONS: acamera_metadata_tag = acamera_metadata_tag(65564);
18228}
18229impl acamera_metadata_tag {
18230    pub const ACAMERA_CONTROL_AE_STATE: acamera_metadata_tag = acamera_metadata_tag(65567);
18231}
18232impl acamera_metadata_tag {
18233    pub const ACAMERA_CONTROL_AF_STATE: acamera_metadata_tag = acamera_metadata_tag(65568);
18234}
18235impl acamera_metadata_tag {
18236    pub const ACAMERA_CONTROL_AWB_STATE: acamera_metadata_tag = acamera_metadata_tag(65570);
18237}
18238impl acamera_metadata_tag {
18239    pub const ACAMERA_CONTROL_AE_LOCK_AVAILABLE: acamera_metadata_tag = acamera_metadata_tag(65572);
18240}
18241impl acamera_metadata_tag {
18242    pub const ACAMERA_CONTROL_AWB_LOCK_AVAILABLE: acamera_metadata_tag =
18243        acamera_metadata_tag(65573);
18244}
18245impl acamera_metadata_tag {
18246    pub const ACAMERA_CONTROL_AVAILABLE_MODES: acamera_metadata_tag = acamera_metadata_tag(65574);
18247}
18248impl acamera_metadata_tag {
18249    pub const ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE: acamera_metadata_tag =
18250        acamera_metadata_tag(65575);
18251}
18252impl acamera_metadata_tag {
18253    pub const ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST: acamera_metadata_tag =
18254        acamera_metadata_tag(65576);
18255}
18256impl acamera_metadata_tag {
18257    pub const ACAMERA_CONTROL_ENABLE_ZSL: acamera_metadata_tag = acamera_metadata_tag(65577);
18258}
18259impl acamera_metadata_tag {
18260    pub const ACAMERA_CONTROL_AF_SCENE_CHANGE: acamera_metadata_tag = acamera_metadata_tag(65578);
18261}
18262impl acamera_metadata_tag {
18263    pub const ACAMERA_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES: acamera_metadata_tag =
18264        acamera_metadata_tag(65579);
18265}
18266impl acamera_metadata_tag {
18267    pub const ACAMERA_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES:
18268        acamera_metadata_tag = acamera_metadata_tag(65580);
18269}
18270impl acamera_metadata_tag {
18271    pub const ACAMERA_CONTROL_EXTENDED_SCENE_MODE: acamera_metadata_tag =
18272        acamera_metadata_tag(65581);
18273}
18274impl acamera_metadata_tag {
18275    pub const ACAMERA_CONTROL_ZOOM_RATIO_RANGE: acamera_metadata_tag = acamera_metadata_tag(65582);
18276}
18277impl acamera_metadata_tag {
18278    pub const ACAMERA_CONTROL_ZOOM_RATIO: acamera_metadata_tag = acamera_metadata_tag(65583);
18279}
18280impl acamera_metadata_tag {
18281    pub const ACAMERA_CONTROL_SETTINGS_OVERRIDE: acamera_metadata_tag = acamera_metadata_tag(65588);
18282}
18283impl acamera_metadata_tag {
18284    pub const ACAMERA_CONTROL_AVAILABLE_SETTINGS_OVERRIDES: acamera_metadata_tag =
18285        acamera_metadata_tag(65589);
18286}
18287impl acamera_metadata_tag {
18288    pub const ACAMERA_CONTROL_AUTOFRAMING: acamera_metadata_tag = acamera_metadata_tag(65591);
18289}
18290impl acamera_metadata_tag {
18291    pub const ACAMERA_CONTROL_AUTOFRAMING_AVAILABLE: acamera_metadata_tag =
18292        acamera_metadata_tag(65592);
18293}
18294impl acamera_metadata_tag {
18295    pub const ACAMERA_CONTROL_AUTOFRAMING_STATE: acamera_metadata_tag = acamera_metadata_tag(65593);
18296}
18297impl acamera_metadata_tag {
18298    pub const ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE: acamera_metadata_tag =
18299        acamera_metadata_tag(65594);
18300}
18301impl acamera_metadata_tag {
18302    pub const ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE: acamera_metadata_tag =
18303        acamera_metadata_tag(65595);
18304}
18305impl acamera_metadata_tag {
18306    pub const ACAMERA_CONTROL_END: acamera_metadata_tag = acamera_metadata_tag(65596);
18307}
18308impl acamera_metadata_tag {
18309    pub const ACAMERA_EDGE_MODE: acamera_metadata_tag = acamera_metadata_tag(196608);
18310}
18311impl acamera_metadata_tag {
18312    pub const ACAMERA_EDGE_AVAILABLE_EDGE_MODES: acamera_metadata_tag =
18313        acamera_metadata_tag(196610);
18314}
18315impl acamera_metadata_tag {
18316    pub const ACAMERA_EDGE_END: acamera_metadata_tag = acamera_metadata_tag(196611);
18317}
18318impl acamera_metadata_tag {
18319    pub const ACAMERA_FLASH_MODE: acamera_metadata_tag = acamera_metadata_tag(262146);
18320}
18321impl acamera_metadata_tag {
18322    pub const ACAMERA_FLASH_STATE: acamera_metadata_tag = acamera_metadata_tag(262149);
18323}
18324impl acamera_metadata_tag {
18325    pub const ACAMERA_FLASH_STRENGTH_LEVEL: acamera_metadata_tag = acamera_metadata_tag(262150);
18326}
18327impl acamera_metadata_tag {
18328    pub const ACAMERA_FLASH_SINGLE_STRENGTH_MAX_LEVEL: acamera_metadata_tag =
18329        acamera_metadata_tag(262151);
18330}
18331impl acamera_metadata_tag {
18332    pub const ACAMERA_FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL: acamera_metadata_tag =
18333        acamera_metadata_tag(262152);
18334}
18335impl acamera_metadata_tag {
18336    pub const ACAMERA_FLASH_TORCH_STRENGTH_MAX_LEVEL: acamera_metadata_tag =
18337        acamera_metadata_tag(262153);
18338}
18339impl acamera_metadata_tag {
18340    pub const ACAMERA_FLASH_TORCH_STRENGTH_DEFAULT_LEVEL: acamera_metadata_tag =
18341        acamera_metadata_tag(262154);
18342}
18343impl acamera_metadata_tag {
18344    pub const ACAMERA_FLASH_END: acamera_metadata_tag = acamera_metadata_tag(262155);
18345}
18346impl acamera_metadata_tag {
18347    pub const ACAMERA_FLASH_INFO_AVAILABLE: acamera_metadata_tag = acamera_metadata_tag(327680);
18348}
18349impl acamera_metadata_tag {
18350    pub const ACAMERA_FLASH_INFO_STRENGTH_MAXIMUM_LEVEL: acamera_metadata_tag =
18351        acamera_metadata_tag(327682);
18352}
18353impl acamera_metadata_tag {
18354    pub const ACAMERA_FLASH_INFO_STRENGTH_DEFAULT_LEVEL: acamera_metadata_tag =
18355        acamera_metadata_tag(327683);
18356}
18357impl acamera_metadata_tag {
18358    pub const ACAMERA_FLASH_INFO_END: acamera_metadata_tag = acamera_metadata_tag(327684);
18359}
18360impl acamera_metadata_tag {
18361    pub const ACAMERA_HOT_PIXEL_MODE: acamera_metadata_tag = acamera_metadata_tag(393216);
18362}
18363impl acamera_metadata_tag {
18364    pub const ACAMERA_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES: acamera_metadata_tag =
18365        acamera_metadata_tag(393217);
18366}
18367impl acamera_metadata_tag {
18368    pub const ACAMERA_HOT_PIXEL_END: acamera_metadata_tag = acamera_metadata_tag(393218);
18369}
18370impl acamera_metadata_tag {
18371    pub const ACAMERA_JPEG_GPS_COORDINATES: acamera_metadata_tag = acamera_metadata_tag(458752);
18372}
18373impl acamera_metadata_tag {
18374    pub const ACAMERA_JPEG_GPS_PROCESSING_METHOD: acamera_metadata_tag =
18375        acamera_metadata_tag(458753);
18376}
18377impl acamera_metadata_tag {
18378    pub const ACAMERA_JPEG_GPS_TIMESTAMP: acamera_metadata_tag = acamera_metadata_tag(458754);
18379}
18380impl acamera_metadata_tag {
18381    pub const ACAMERA_JPEG_ORIENTATION: acamera_metadata_tag = acamera_metadata_tag(458755);
18382}
18383impl acamera_metadata_tag {
18384    pub const ACAMERA_JPEG_QUALITY: acamera_metadata_tag = acamera_metadata_tag(458756);
18385}
18386impl acamera_metadata_tag {
18387    pub const ACAMERA_JPEG_THUMBNAIL_QUALITY: acamera_metadata_tag = acamera_metadata_tag(458757);
18388}
18389impl acamera_metadata_tag {
18390    pub const ACAMERA_JPEG_THUMBNAIL_SIZE: acamera_metadata_tag = acamera_metadata_tag(458758);
18391}
18392impl acamera_metadata_tag {
18393    pub const ACAMERA_JPEG_AVAILABLE_THUMBNAIL_SIZES: acamera_metadata_tag =
18394        acamera_metadata_tag(458759);
18395}
18396impl acamera_metadata_tag {
18397    pub const ACAMERA_JPEG_END: acamera_metadata_tag = acamera_metadata_tag(458760);
18398}
18399impl acamera_metadata_tag {
18400    pub const ACAMERA_LENS_APERTURE: acamera_metadata_tag = acamera_metadata_tag(524288);
18401}
18402impl acamera_metadata_tag {
18403    pub const ACAMERA_LENS_FILTER_DENSITY: acamera_metadata_tag = acamera_metadata_tag(524289);
18404}
18405impl acamera_metadata_tag {
18406    pub const ACAMERA_LENS_FOCAL_LENGTH: acamera_metadata_tag = acamera_metadata_tag(524290);
18407}
18408impl acamera_metadata_tag {
18409    pub const ACAMERA_LENS_FOCUS_DISTANCE: acamera_metadata_tag = acamera_metadata_tag(524291);
18410}
18411impl acamera_metadata_tag {
18412    pub const ACAMERA_LENS_OPTICAL_STABILIZATION_MODE: acamera_metadata_tag =
18413        acamera_metadata_tag(524292);
18414}
18415impl acamera_metadata_tag {
18416    pub const ACAMERA_LENS_FACING: acamera_metadata_tag = acamera_metadata_tag(524293);
18417}
18418impl acamera_metadata_tag {
18419    pub const ACAMERA_LENS_POSE_ROTATION: acamera_metadata_tag = acamera_metadata_tag(524294);
18420}
18421impl acamera_metadata_tag {
18422    pub const ACAMERA_LENS_POSE_TRANSLATION: acamera_metadata_tag = acamera_metadata_tag(524295);
18423}
18424impl acamera_metadata_tag {
18425    pub const ACAMERA_LENS_FOCUS_RANGE: acamera_metadata_tag = acamera_metadata_tag(524296);
18426}
18427impl acamera_metadata_tag {
18428    pub const ACAMERA_LENS_STATE: acamera_metadata_tag = acamera_metadata_tag(524297);
18429}
18430impl acamera_metadata_tag {
18431    pub const ACAMERA_LENS_INTRINSIC_CALIBRATION: acamera_metadata_tag =
18432        acamera_metadata_tag(524298);
18433}
18434impl acamera_metadata_tag {
18435    pub const ACAMERA_LENS_RADIAL_DISTORTION: acamera_metadata_tag = acamera_metadata_tag(524299);
18436}
18437impl acamera_metadata_tag {
18438    pub const ACAMERA_LENS_POSE_REFERENCE: acamera_metadata_tag = acamera_metadata_tag(524300);
18439}
18440impl acamera_metadata_tag {
18441    pub const ACAMERA_LENS_DISTORTION: acamera_metadata_tag = acamera_metadata_tag(524301);
18442}
18443impl acamera_metadata_tag {
18444    pub const ACAMERA_LENS_DISTORTION_MAXIMUM_RESOLUTION: acamera_metadata_tag =
18445        acamera_metadata_tag(524302);
18446}
18447impl acamera_metadata_tag {
18448    pub const ACAMERA_LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION: acamera_metadata_tag =
18449        acamera_metadata_tag(524303);
18450}
18451impl acamera_metadata_tag {
18452    pub const ACAMERA_LENS_END: acamera_metadata_tag = acamera_metadata_tag(524304);
18453}
18454impl acamera_metadata_tag {
18455    pub const ACAMERA_LENS_INFO_AVAILABLE_APERTURES: acamera_metadata_tag =
18456        acamera_metadata_tag(589824);
18457}
18458impl acamera_metadata_tag {
18459    pub const ACAMERA_LENS_INFO_AVAILABLE_FILTER_DENSITIES: acamera_metadata_tag =
18460        acamera_metadata_tag(589825);
18461}
18462impl acamera_metadata_tag {
18463    pub const ACAMERA_LENS_INFO_AVAILABLE_FOCAL_LENGTHS: acamera_metadata_tag =
18464        acamera_metadata_tag(589826);
18465}
18466impl acamera_metadata_tag {
18467    pub const ACAMERA_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION: acamera_metadata_tag =
18468        acamera_metadata_tag(589827);
18469}
18470impl acamera_metadata_tag {
18471    pub const ACAMERA_LENS_INFO_HYPERFOCAL_DISTANCE: acamera_metadata_tag =
18472        acamera_metadata_tag(589828);
18473}
18474impl acamera_metadata_tag {
18475    pub const ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE: acamera_metadata_tag =
18476        acamera_metadata_tag(589829);
18477}
18478impl acamera_metadata_tag {
18479    pub const ACAMERA_LENS_INFO_SHADING_MAP_SIZE: acamera_metadata_tag =
18480        acamera_metadata_tag(589830);
18481}
18482impl acamera_metadata_tag {
18483    pub const ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION: acamera_metadata_tag =
18484        acamera_metadata_tag(589831);
18485}
18486impl acamera_metadata_tag {
18487    pub const ACAMERA_LENS_INFO_END: acamera_metadata_tag = acamera_metadata_tag(589832);
18488}
18489impl acamera_metadata_tag {
18490    pub const ACAMERA_NOISE_REDUCTION_MODE: acamera_metadata_tag = acamera_metadata_tag(655360);
18491}
18492impl acamera_metadata_tag {
18493    pub const ACAMERA_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES: acamera_metadata_tag =
18494        acamera_metadata_tag(655362);
18495}
18496impl acamera_metadata_tag {
18497    pub const ACAMERA_NOISE_REDUCTION_END: acamera_metadata_tag = acamera_metadata_tag(655363);
18498}
18499impl acamera_metadata_tag {
18500    pub const ACAMERA_REQUEST_MAX_NUM_OUTPUT_STREAMS: acamera_metadata_tag =
18501        acamera_metadata_tag(786438);
18502}
18503impl acamera_metadata_tag {
18504    pub const ACAMERA_REQUEST_PIPELINE_DEPTH: acamera_metadata_tag = acamera_metadata_tag(786441);
18505}
18506impl acamera_metadata_tag {
18507    pub const ACAMERA_REQUEST_PIPELINE_MAX_DEPTH: acamera_metadata_tag =
18508        acamera_metadata_tag(786442);
18509}
18510impl acamera_metadata_tag {
18511    pub const ACAMERA_REQUEST_PARTIAL_RESULT_COUNT: acamera_metadata_tag =
18512        acamera_metadata_tag(786443);
18513}
18514impl acamera_metadata_tag {
18515    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES: acamera_metadata_tag =
18516        acamera_metadata_tag(786444);
18517}
18518impl acamera_metadata_tag {
18519    pub const ACAMERA_REQUEST_AVAILABLE_REQUEST_KEYS: acamera_metadata_tag =
18520        acamera_metadata_tag(786445);
18521}
18522impl acamera_metadata_tag {
18523    pub const ACAMERA_REQUEST_AVAILABLE_RESULT_KEYS: acamera_metadata_tag =
18524        acamera_metadata_tag(786446);
18525}
18526impl acamera_metadata_tag {
18527    pub const ACAMERA_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS: acamera_metadata_tag =
18528        acamera_metadata_tag(786447);
18529}
18530impl acamera_metadata_tag {
18531    pub const ACAMERA_REQUEST_AVAILABLE_SESSION_KEYS: acamera_metadata_tag =
18532        acamera_metadata_tag(786448);
18533}
18534impl acamera_metadata_tag {
18535    pub const ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS: acamera_metadata_tag =
18536        acamera_metadata_tag(786449);
18537}
18538impl acamera_metadata_tag {
18539    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP: acamera_metadata_tag =
18540        acamera_metadata_tag(786451);
18541}
18542impl acamera_metadata_tag {
18543    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP: acamera_metadata_tag =
18544        acamera_metadata_tag(786453);
18545}
18546impl acamera_metadata_tag {
18547    pub const ACAMERA_REQUEST_END: acamera_metadata_tag = acamera_metadata_tag(786454);
18548}
18549impl acamera_metadata_tag {
18550    pub const ACAMERA_SCALER_CROP_REGION: acamera_metadata_tag = acamera_metadata_tag(851968);
18551}
18552impl acamera_metadata_tag {
18553    pub const ACAMERA_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: acamera_metadata_tag =
18554        acamera_metadata_tag(851972);
18555}
18556impl acamera_metadata_tag {
18557    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS: acamera_metadata_tag =
18558        acamera_metadata_tag(851978);
18559}
18560impl acamera_metadata_tag {
18561    pub const ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS: acamera_metadata_tag =
18562        acamera_metadata_tag(851979);
18563}
18564impl acamera_metadata_tag {
18565    pub const ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS: acamera_metadata_tag =
18566        acamera_metadata_tag(851980);
18567}
18568impl acamera_metadata_tag {
18569    pub const ACAMERA_SCALER_CROPPING_TYPE: acamera_metadata_tag = acamera_metadata_tag(851981);
18570}
18571impl acamera_metadata_tag {
18572    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS: acamera_metadata_tag =
18573        acamera_metadata_tag(851982);
18574}
18575impl acamera_metadata_tag {
18576    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_INPUT_OUTPUT_FORMATS_MAP: acamera_metadata_tag =
18577        acamera_metadata_tag(851983);
18578}
18579impl acamera_metadata_tag {
18580    pub const ACAMERA_SCALER_AVAILABLE_ROTATE_AND_CROP_MODES: acamera_metadata_tag =
18581        acamera_metadata_tag(851984);
18582}
18583impl acamera_metadata_tag {
18584    pub const ACAMERA_SCALER_ROTATE_AND_CROP: acamera_metadata_tag = acamera_metadata_tag(851985);
18585}
18586impl acamera_metadata_tag {
18587    pub const ACAMERA_SCALER_DEFAULT_SECURE_IMAGE_SIZE: acamera_metadata_tag =
18588        acamera_metadata_tag(851986);
18589}
18590impl acamera_metadata_tag {
18591    pub const ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS:
18592        acamera_metadata_tag = acamera_metadata_tag(851987);
18593}
18594impl acamera_metadata_tag {
18595    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
18596        acamera_metadata_tag = acamera_metadata_tag(851988);
18597}
18598impl acamera_metadata_tag {
18599    pub const ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
18600        acamera_metadata_tag = acamera_metadata_tag(851989);
18601}
18602impl acamera_metadata_tag {
18603    pub const ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS_MAXIMUM_RESOLUTION: acamera_metadata_tag =
18604        acamera_metadata_tag(851990);
18605}
18606impl acamera_metadata_tag {
18607    pub const ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED: acamera_metadata_tag =
18608        acamera_metadata_tag(851992);
18609}
18610impl acamera_metadata_tag {
18611    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES: acamera_metadata_tag =
18612        acamera_metadata_tag(851994);
18613}
18614impl acamera_metadata_tag {
18615    pub const ACAMERA_SCALER_RAW_CROP_REGION: acamera_metadata_tag = acamera_metadata_tag(851995);
18616}
18617impl acamera_metadata_tag {
18618    pub const ACAMERA_SCALER_END: acamera_metadata_tag = acamera_metadata_tag(851996);
18619}
18620impl acamera_metadata_tag {
18621    pub const ACAMERA_SENSOR_EXPOSURE_TIME: acamera_metadata_tag = acamera_metadata_tag(917504);
18622}
18623impl acamera_metadata_tag {
18624    pub const ACAMERA_SENSOR_FRAME_DURATION: acamera_metadata_tag = acamera_metadata_tag(917505);
18625}
18626impl acamera_metadata_tag {
18627    pub const ACAMERA_SENSOR_SENSITIVITY: acamera_metadata_tag = acamera_metadata_tag(917506);
18628}
18629impl acamera_metadata_tag {
18630    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1: acamera_metadata_tag =
18631        acamera_metadata_tag(917507);
18632}
18633impl acamera_metadata_tag {
18634    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT2: acamera_metadata_tag =
18635        acamera_metadata_tag(917508);
18636}
18637impl acamera_metadata_tag {
18638    pub const ACAMERA_SENSOR_CALIBRATION_TRANSFORM1: acamera_metadata_tag =
18639        acamera_metadata_tag(917509);
18640}
18641impl acamera_metadata_tag {
18642    pub const ACAMERA_SENSOR_CALIBRATION_TRANSFORM2: acamera_metadata_tag =
18643        acamera_metadata_tag(917510);
18644}
18645impl acamera_metadata_tag {
18646    pub const ACAMERA_SENSOR_COLOR_TRANSFORM1: acamera_metadata_tag = acamera_metadata_tag(917511);
18647}
18648impl acamera_metadata_tag {
18649    pub const ACAMERA_SENSOR_COLOR_TRANSFORM2: acamera_metadata_tag = acamera_metadata_tag(917512);
18650}
18651impl acamera_metadata_tag {
18652    pub const ACAMERA_SENSOR_FORWARD_MATRIX1: acamera_metadata_tag = acamera_metadata_tag(917513);
18653}
18654impl acamera_metadata_tag {
18655    pub const ACAMERA_SENSOR_FORWARD_MATRIX2: acamera_metadata_tag = acamera_metadata_tag(917514);
18656}
18657impl acamera_metadata_tag {
18658    pub const ACAMERA_SENSOR_BLACK_LEVEL_PATTERN: acamera_metadata_tag =
18659        acamera_metadata_tag(917516);
18660}
18661impl acamera_metadata_tag {
18662    pub const ACAMERA_SENSOR_MAX_ANALOG_SENSITIVITY: acamera_metadata_tag =
18663        acamera_metadata_tag(917517);
18664}
18665impl acamera_metadata_tag {
18666    pub const ACAMERA_SENSOR_ORIENTATION: acamera_metadata_tag = acamera_metadata_tag(917518);
18667}
18668impl acamera_metadata_tag {
18669    pub const ACAMERA_SENSOR_TIMESTAMP: acamera_metadata_tag = acamera_metadata_tag(917520);
18670}
18671impl acamera_metadata_tag {
18672    pub const ACAMERA_SENSOR_NEUTRAL_COLOR_POINT: acamera_metadata_tag =
18673        acamera_metadata_tag(917522);
18674}
18675impl acamera_metadata_tag {
18676    pub const ACAMERA_SENSOR_NOISE_PROFILE: acamera_metadata_tag = acamera_metadata_tag(917523);
18677}
18678impl acamera_metadata_tag {
18679    pub const ACAMERA_SENSOR_GREEN_SPLIT: acamera_metadata_tag = acamera_metadata_tag(917526);
18680}
18681impl acamera_metadata_tag {
18682    pub const ACAMERA_SENSOR_TEST_PATTERN_DATA: acamera_metadata_tag = acamera_metadata_tag(917527);
18683}
18684impl acamera_metadata_tag {
18685    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE: acamera_metadata_tag = acamera_metadata_tag(917528);
18686}
18687impl acamera_metadata_tag {
18688    pub const ACAMERA_SENSOR_AVAILABLE_TEST_PATTERN_MODES: acamera_metadata_tag =
18689        acamera_metadata_tag(917529);
18690}
18691impl acamera_metadata_tag {
18692    pub const ACAMERA_SENSOR_ROLLING_SHUTTER_SKEW: acamera_metadata_tag =
18693        acamera_metadata_tag(917530);
18694}
18695impl acamera_metadata_tag {
18696    pub const ACAMERA_SENSOR_OPTICAL_BLACK_REGIONS: acamera_metadata_tag =
18697        acamera_metadata_tag(917531);
18698}
18699impl acamera_metadata_tag {
18700    pub const ACAMERA_SENSOR_DYNAMIC_BLACK_LEVEL: acamera_metadata_tag =
18701        acamera_metadata_tag(917532);
18702}
18703impl acamera_metadata_tag {
18704    pub const ACAMERA_SENSOR_DYNAMIC_WHITE_LEVEL: acamera_metadata_tag =
18705        acamera_metadata_tag(917533);
18706}
18707impl acamera_metadata_tag {
18708    pub const ACAMERA_SENSOR_PIXEL_MODE: acamera_metadata_tag = acamera_metadata_tag(917536);
18709}
18710impl acamera_metadata_tag {
18711    pub const ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED: acamera_metadata_tag =
18712        acamera_metadata_tag(917537);
18713}
18714impl acamera_metadata_tag {
18715    pub const ACAMERA_SENSOR_END: acamera_metadata_tag = acamera_metadata_tag(917538);
18716}
18717impl acamera_metadata_tag {
18718    pub const ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE: acamera_metadata_tag =
18719        acamera_metadata_tag(983040);
18720}
18721impl acamera_metadata_tag {
18722    pub const ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE: acamera_metadata_tag =
18723        acamera_metadata_tag(983041);
18724}
18725impl acamera_metadata_tag {
18726    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT: acamera_metadata_tag =
18727        acamera_metadata_tag(983042);
18728}
18729impl acamera_metadata_tag {
18730    pub const ACAMERA_SENSOR_INFO_EXPOSURE_TIME_RANGE: acamera_metadata_tag =
18731        acamera_metadata_tag(983043);
18732}
18733impl acamera_metadata_tag {
18734    pub const ACAMERA_SENSOR_INFO_MAX_FRAME_DURATION: acamera_metadata_tag =
18735        acamera_metadata_tag(983044);
18736}
18737impl acamera_metadata_tag {
18738    pub const ACAMERA_SENSOR_INFO_PHYSICAL_SIZE: acamera_metadata_tag =
18739        acamera_metadata_tag(983045);
18740}
18741impl acamera_metadata_tag {
18742    pub const ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE: acamera_metadata_tag =
18743        acamera_metadata_tag(983046);
18744}
18745impl acamera_metadata_tag {
18746    pub const ACAMERA_SENSOR_INFO_WHITE_LEVEL: acamera_metadata_tag = acamera_metadata_tag(983047);
18747}
18748impl acamera_metadata_tag {
18749    pub const ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE: acamera_metadata_tag =
18750        acamera_metadata_tag(983048);
18751}
18752impl acamera_metadata_tag {
18753    pub const ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED: acamera_metadata_tag =
18754        acamera_metadata_tag(983049);
18755}
18756impl acamera_metadata_tag {
18757    pub const ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE: acamera_metadata_tag =
18758        acamera_metadata_tag(983050);
18759}
18760impl acamera_metadata_tag {
18761    pub const ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION: acamera_metadata_tag =
18762        acamera_metadata_tag(983051);
18763}
18764impl acamera_metadata_tag {
18765    pub const ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION: acamera_metadata_tag =
18766        acamera_metadata_tag(983052);
18767}
18768impl acamera_metadata_tag {
18769    pub const ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION:
18770        acamera_metadata_tag = acamera_metadata_tag(983053);
18771}
18772impl acamera_metadata_tag {
18773    pub const ACAMERA_SENSOR_INFO_BINNING_FACTOR: acamera_metadata_tag =
18774        acamera_metadata_tag(983054);
18775}
18776impl acamera_metadata_tag {
18777    pub const ACAMERA_SENSOR_INFO_END: acamera_metadata_tag = acamera_metadata_tag(983055);
18778}
18779impl acamera_metadata_tag {
18780    pub const ACAMERA_SHADING_MODE: acamera_metadata_tag = acamera_metadata_tag(1048576);
18781}
18782impl acamera_metadata_tag {
18783    pub const ACAMERA_SHADING_AVAILABLE_MODES: acamera_metadata_tag = acamera_metadata_tag(1048578);
18784}
18785impl acamera_metadata_tag {
18786    pub const ACAMERA_SHADING_END: acamera_metadata_tag = acamera_metadata_tag(1048579);
18787}
18788impl acamera_metadata_tag {
18789    pub const ACAMERA_STATISTICS_FACE_DETECT_MODE: acamera_metadata_tag =
18790        acamera_metadata_tag(1114112);
18791}
18792impl acamera_metadata_tag {
18793    pub const ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE: acamera_metadata_tag =
18794        acamera_metadata_tag(1114115);
18795}
18796impl acamera_metadata_tag {
18797    pub const ACAMERA_STATISTICS_FACE_IDS: acamera_metadata_tag = acamera_metadata_tag(1114116);
18798}
18799impl acamera_metadata_tag {
18800    pub const ACAMERA_STATISTICS_FACE_LANDMARKS: acamera_metadata_tag =
18801        acamera_metadata_tag(1114117);
18802}
18803impl acamera_metadata_tag {
18804    pub const ACAMERA_STATISTICS_FACE_RECTANGLES: acamera_metadata_tag =
18805        acamera_metadata_tag(1114118);
18806}
18807impl acamera_metadata_tag {
18808    pub const ACAMERA_STATISTICS_FACE_SCORES: acamera_metadata_tag = acamera_metadata_tag(1114119);
18809}
18810impl acamera_metadata_tag {
18811    pub const ACAMERA_STATISTICS_LENS_SHADING_MAP: acamera_metadata_tag =
18812        acamera_metadata_tag(1114123);
18813}
18814impl acamera_metadata_tag {
18815    pub const ACAMERA_STATISTICS_SCENE_FLICKER: acamera_metadata_tag =
18816        acamera_metadata_tag(1114126);
18817}
18818impl acamera_metadata_tag {
18819    pub const ACAMERA_STATISTICS_HOT_PIXEL_MAP: acamera_metadata_tag =
18820        acamera_metadata_tag(1114127);
18821}
18822impl acamera_metadata_tag {
18823    pub const ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE: acamera_metadata_tag =
18824        acamera_metadata_tag(1114128);
18825}
18826impl acamera_metadata_tag {
18827    pub const ACAMERA_STATISTICS_OIS_DATA_MODE: acamera_metadata_tag =
18828        acamera_metadata_tag(1114129);
18829}
18830impl acamera_metadata_tag {
18831    pub const ACAMERA_STATISTICS_OIS_TIMESTAMPS: acamera_metadata_tag =
18832        acamera_metadata_tag(1114130);
18833}
18834impl acamera_metadata_tag {
18835    pub const ACAMERA_STATISTICS_OIS_X_SHIFTS: acamera_metadata_tag = acamera_metadata_tag(1114131);
18836}
18837impl acamera_metadata_tag {
18838    pub const ACAMERA_STATISTICS_OIS_Y_SHIFTS: acamera_metadata_tag = acamera_metadata_tag(1114132);
18839}
18840impl acamera_metadata_tag {
18841    pub const ACAMERA_STATISTICS_LENS_INTRINSIC_TIMESTAMPS: acamera_metadata_tag =
18842        acamera_metadata_tag(1114133);
18843}
18844impl acamera_metadata_tag {
18845    pub const ACAMERA_STATISTICS_LENS_INTRINSIC_SAMPLES: acamera_metadata_tag =
18846        acamera_metadata_tag(1114134);
18847}
18848impl acamera_metadata_tag {
18849    pub const ACAMERA_STATISTICS_END: acamera_metadata_tag = acamera_metadata_tag(1114135);
18850}
18851impl acamera_metadata_tag {
18852    pub const ACAMERA_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES: acamera_metadata_tag =
18853        acamera_metadata_tag(1179648);
18854}
18855impl acamera_metadata_tag {
18856    pub const ACAMERA_STATISTICS_INFO_MAX_FACE_COUNT: acamera_metadata_tag =
18857        acamera_metadata_tag(1179650);
18858}
18859impl acamera_metadata_tag {
18860    pub const ACAMERA_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES: acamera_metadata_tag =
18861        acamera_metadata_tag(1179654);
18862}
18863impl acamera_metadata_tag {
18864    pub const ACAMERA_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES: acamera_metadata_tag =
18865        acamera_metadata_tag(1179655);
18866}
18867impl acamera_metadata_tag {
18868    pub const ACAMERA_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES: acamera_metadata_tag =
18869        acamera_metadata_tag(1179656);
18870}
18871impl acamera_metadata_tag {
18872    pub const ACAMERA_STATISTICS_INFO_END: acamera_metadata_tag = acamera_metadata_tag(1179657);
18873}
18874impl acamera_metadata_tag {
18875    pub const ACAMERA_TONEMAP_CURVE_BLUE: acamera_metadata_tag = acamera_metadata_tag(1245184);
18876}
18877impl acamera_metadata_tag {
18878    pub const ACAMERA_TONEMAP_CURVE_GREEN: acamera_metadata_tag = acamera_metadata_tag(1245185);
18879}
18880impl acamera_metadata_tag {
18881    pub const ACAMERA_TONEMAP_CURVE_RED: acamera_metadata_tag = acamera_metadata_tag(1245186);
18882}
18883impl acamera_metadata_tag {
18884    pub const ACAMERA_TONEMAP_MODE: acamera_metadata_tag = acamera_metadata_tag(1245187);
18885}
18886impl acamera_metadata_tag {
18887    pub const ACAMERA_TONEMAP_MAX_CURVE_POINTS: acamera_metadata_tag =
18888        acamera_metadata_tag(1245188);
18889}
18890impl acamera_metadata_tag {
18891    pub const ACAMERA_TONEMAP_AVAILABLE_TONE_MAP_MODES: acamera_metadata_tag =
18892        acamera_metadata_tag(1245189);
18893}
18894impl acamera_metadata_tag {
18895    pub const ACAMERA_TONEMAP_GAMMA: acamera_metadata_tag = acamera_metadata_tag(1245190);
18896}
18897impl acamera_metadata_tag {
18898    pub const ACAMERA_TONEMAP_PRESET_CURVE: acamera_metadata_tag = acamera_metadata_tag(1245191);
18899}
18900impl acamera_metadata_tag {
18901    pub const ACAMERA_TONEMAP_END: acamera_metadata_tag = acamera_metadata_tag(1245192);
18902}
18903impl acamera_metadata_tag {
18904    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL: acamera_metadata_tag =
18905        acamera_metadata_tag(1376256);
18906}
18907impl acamera_metadata_tag {
18908    pub const ACAMERA_INFO_VERSION: acamera_metadata_tag = acamera_metadata_tag(1376257);
18909}
18910impl acamera_metadata_tag {
18911    pub const ACAMERA_INFO_DEVICE_STATE_ORIENTATIONS: acamera_metadata_tag =
18912        acamera_metadata_tag(1376259);
18913}
18914impl acamera_metadata_tag {
18915    pub const ACAMERA_INFO_END: acamera_metadata_tag = acamera_metadata_tag(1376260);
18916}
18917impl acamera_metadata_tag {
18918    pub const ACAMERA_BLACK_LEVEL_LOCK: acamera_metadata_tag = acamera_metadata_tag(1441792);
18919}
18920impl acamera_metadata_tag {
18921    pub const ACAMERA_BLACK_LEVEL_END: acamera_metadata_tag = acamera_metadata_tag(1441793);
18922}
18923impl acamera_metadata_tag {
18924    pub const ACAMERA_SYNC_FRAME_NUMBER: acamera_metadata_tag = acamera_metadata_tag(1507328);
18925}
18926impl acamera_metadata_tag {
18927    pub const ACAMERA_SYNC_MAX_LATENCY: acamera_metadata_tag = acamera_metadata_tag(1507329);
18928}
18929impl acamera_metadata_tag {
18930    pub const ACAMERA_SYNC_END: acamera_metadata_tag = acamera_metadata_tag(1507330);
18931}
18932impl acamera_metadata_tag {
18933    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS: acamera_metadata_tag =
18934        acamera_metadata_tag(1638401);
18935}
18936impl acamera_metadata_tag {
18937    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS: acamera_metadata_tag =
18938        acamera_metadata_tag(1638402);
18939}
18940impl acamera_metadata_tag {
18941    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS: acamera_metadata_tag =
18942        acamera_metadata_tag(1638403);
18943}
18944impl acamera_metadata_tag {
18945    pub const ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE: acamera_metadata_tag =
18946        acamera_metadata_tag(1638404);
18947}
18948impl acamera_metadata_tag {
18949    pub const ACAMERA_DEPTH_AVAILABLE_RECOMMENDED_DEPTH_STREAM_CONFIGURATIONS:
18950        acamera_metadata_tag = acamera_metadata_tag(1638405);
18951}
18952impl acamera_metadata_tag {
18953    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS: acamera_metadata_tag =
18954        acamera_metadata_tag(1638406);
18955}
18956impl acamera_metadata_tag {
18957    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS: acamera_metadata_tag =
18958        acamera_metadata_tag(1638407);
18959}
18960impl acamera_metadata_tag {
18961    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS: acamera_metadata_tag =
18962        acamera_metadata_tag(1638408);
18963}
18964impl acamera_metadata_tag {
18965    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
18966        acamera_metadata_tag = acamera_metadata_tag(1638409);
18967}
18968impl acamera_metadata_tag {
18969    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
18970        acamera_metadata_tag = acamera_metadata_tag(1638410);
18971}
18972impl acamera_metadata_tag {
18973    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION:
18974        acamera_metadata_tag = acamera_metadata_tag(1638411);
18975}
18976impl acamera_metadata_tag {
18977    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
18978        acamera_metadata_tag = acamera_metadata_tag(1638412);
18979}
18980impl acamera_metadata_tag {
18981    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
18982        acamera_metadata_tag = acamera_metadata_tag(1638413);
18983}
18984impl acamera_metadata_tag {
18985    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION:
18986        acamera_metadata_tag = acamera_metadata_tag(1638414);
18987}
18988impl acamera_metadata_tag {
18989    pub const ACAMERA_DEPTH_END: acamera_metadata_tag = acamera_metadata_tag(1638415);
18990}
18991impl acamera_metadata_tag {
18992    pub const ACAMERA_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS: acamera_metadata_tag =
18993        acamera_metadata_tag(1703936);
18994}
18995impl acamera_metadata_tag {
18996    pub const ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE: acamera_metadata_tag =
18997        acamera_metadata_tag(1703937);
18998}
18999impl acamera_metadata_tag {
19000    pub const ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID: acamera_metadata_tag =
19001        acamera_metadata_tag(1703938);
19002}
19003impl acamera_metadata_tag {
19004    pub const ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_SENSOR_CROP_REGION:
19005        acamera_metadata_tag = acamera_metadata_tag(1703939);
19006}
19007impl acamera_metadata_tag {
19008    pub const ACAMERA_LOGICAL_MULTI_CAMERA_END: acamera_metadata_tag =
19009        acamera_metadata_tag(1703940);
19010}
19011impl acamera_metadata_tag {
19012    pub const ACAMERA_DISTORTION_CORRECTION_MODE: acamera_metadata_tag =
19013        acamera_metadata_tag(1769472);
19014}
19015impl acamera_metadata_tag {
19016    pub const ACAMERA_DISTORTION_CORRECTION_AVAILABLE_MODES: acamera_metadata_tag =
19017        acamera_metadata_tag(1769473);
19018}
19019impl acamera_metadata_tag {
19020    pub const ACAMERA_DISTORTION_CORRECTION_END: acamera_metadata_tag =
19021        acamera_metadata_tag(1769474);
19022}
19023impl acamera_metadata_tag {
19024    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS: acamera_metadata_tag =
19025        acamera_metadata_tag(1835008);
19026}
19027impl acamera_metadata_tag {
19028    pub const ACAMERA_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS: acamera_metadata_tag =
19029        acamera_metadata_tag(1835009);
19030}
19031impl acamera_metadata_tag {
19032    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STALL_DURATIONS: acamera_metadata_tag =
19033        acamera_metadata_tag(1835010);
19034}
19035impl acamera_metadata_tag {
19036    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
19037        acamera_metadata_tag = acamera_metadata_tag(1835011);
19038}
19039impl acamera_metadata_tag {
19040    pub const ACAMERA_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
19041        acamera_metadata_tag = acamera_metadata_tag(1835012);
19042}
19043impl acamera_metadata_tag {
19044    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STALL_DURATIONS_MAXIMUM_RESOLUTION: acamera_metadata_tag =
19045        acamera_metadata_tag(1835013);
19046}
19047impl acamera_metadata_tag {
19048    pub const ACAMERA_HEIC_END: acamera_metadata_tag = acamera_metadata_tag(1835014);
19049}
19050impl acamera_metadata_tag {
19051    pub const ACAMERA_AUTOMOTIVE_LOCATION: acamera_metadata_tag = acamera_metadata_tag(1966080);
19052}
19053impl acamera_metadata_tag {
19054    pub const ACAMERA_AUTOMOTIVE_END: acamera_metadata_tag = acamera_metadata_tag(1966081);
19055}
19056impl acamera_metadata_tag {
19057    pub const ACAMERA_AUTOMOTIVE_LENS_FACING: acamera_metadata_tag = acamera_metadata_tag(2031616);
19058}
19059impl acamera_metadata_tag {
19060    pub const ACAMERA_AUTOMOTIVE_LENS_END: acamera_metadata_tag = acamera_metadata_tag(2031617);
19061}
19062impl acamera_metadata_tag {
19063    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS: acamera_metadata_tag =
19064        acamera_metadata_tag(2162688);
19065}
19066impl acamera_metadata_tag {
19067    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS: acamera_metadata_tag =
19068        acamera_metadata_tag(2162689);
19069}
19070impl acamera_metadata_tag {
19071    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS: acamera_metadata_tag =
19072        acamera_metadata_tag(2162690);
19073}
19074impl acamera_metadata_tag {
19075    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
19076        acamera_metadata_tag = acamera_metadata_tag(2162691);
19077}
19078impl acamera_metadata_tag {
19079    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
19080        acamera_metadata_tag = acamera_metadata_tag(2162692);
19081}
19082impl acamera_metadata_tag {
19083    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS_MAXIMUM_RESOLUTION:
19084        acamera_metadata_tag = acamera_metadata_tag(2162693);
19085}
19086impl acamera_metadata_tag {
19087    pub const ACAMERA_JPEGR_END: acamera_metadata_tag = acamera_metadata_tag(2162694);
19088}
19089#[repr(transparent)]
19090#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19091pub struct acamera_metadata_tag(pub ::std::os::raw::c_uint);
19092pub use self::acamera_metadata_tag as acamera_metadata_tag_t;
19093impl acamera_metadata_enum_acamera_color_correction_mode {
19094    pub const ACAMERA_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX:
19095        acamera_metadata_enum_acamera_color_correction_mode =
19096        acamera_metadata_enum_acamera_color_correction_mode(0);
19097}
19098impl acamera_metadata_enum_acamera_color_correction_mode {
19099    pub const ACAMERA_COLOR_CORRECTION_MODE_FAST:
19100        acamera_metadata_enum_acamera_color_correction_mode =
19101        acamera_metadata_enum_acamera_color_correction_mode(1);
19102}
19103impl acamera_metadata_enum_acamera_color_correction_mode {
19104    pub const ACAMERA_COLOR_CORRECTION_MODE_HIGH_QUALITY:
19105        acamera_metadata_enum_acamera_color_correction_mode =
19106        acamera_metadata_enum_acamera_color_correction_mode(2);
19107}
19108#[repr(transparent)]
19109#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19110pub struct acamera_metadata_enum_acamera_color_correction_mode(pub ::std::os::raw::c_uint);
19111pub use self::acamera_metadata_enum_acamera_color_correction_mode as acamera_metadata_enum_android_color_correction_mode_t;
19112impl acamera_metadata_enum_acamera_color_correction_aberration_mode {
19113    pub const ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_OFF:
19114        acamera_metadata_enum_acamera_color_correction_aberration_mode =
19115        acamera_metadata_enum_acamera_color_correction_aberration_mode(0);
19116}
19117impl acamera_metadata_enum_acamera_color_correction_aberration_mode {
19118    pub const ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_FAST:
19119        acamera_metadata_enum_acamera_color_correction_aberration_mode =
19120        acamera_metadata_enum_acamera_color_correction_aberration_mode(1);
19121}
19122impl acamera_metadata_enum_acamera_color_correction_aberration_mode {
19123    pub const ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY:
19124        acamera_metadata_enum_acamera_color_correction_aberration_mode =
19125        acamera_metadata_enum_acamera_color_correction_aberration_mode(2);
19126}
19127#[repr(transparent)]
19128#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19129pub struct acamera_metadata_enum_acamera_color_correction_aberration_mode(
19130    pub ::std::os::raw::c_uint,
19131);
19132pub use self::acamera_metadata_enum_acamera_color_correction_aberration_mode as acamera_metadata_enum_android_color_correction_aberration_mode_t;
19133impl acamera_metadata_enum_acamera_control_ae_antibanding_mode {
19134    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE_OFF:
19135        acamera_metadata_enum_acamera_control_ae_antibanding_mode =
19136        acamera_metadata_enum_acamera_control_ae_antibanding_mode(0);
19137}
19138impl acamera_metadata_enum_acamera_control_ae_antibanding_mode {
19139    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE_50HZ:
19140        acamera_metadata_enum_acamera_control_ae_antibanding_mode =
19141        acamera_metadata_enum_acamera_control_ae_antibanding_mode(1);
19142}
19143impl acamera_metadata_enum_acamera_control_ae_antibanding_mode {
19144    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE_60HZ:
19145        acamera_metadata_enum_acamera_control_ae_antibanding_mode =
19146        acamera_metadata_enum_acamera_control_ae_antibanding_mode(2);
19147}
19148impl acamera_metadata_enum_acamera_control_ae_antibanding_mode {
19149    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE_AUTO:
19150        acamera_metadata_enum_acamera_control_ae_antibanding_mode =
19151        acamera_metadata_enum_acamera_control_ae_antibanding_mode(3);
19152}
19153#[repr(transparent)]
19154#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19155pub struct acamera_metadata_enum_acamera_control_ae_antibanding_mode(pub ::std::os::raw::c_uint);
19156pub use self::acamera_metadata_enum_acamera_control_ae_antibanding_mode as acamera_metadata_enum_android_control_ae_antibanding_mode_t;
19157impl acamera_metadata_enum_acamera_control_ae_lock {
19158    pub const ACAMERA_CONTROL_AE_LOCK_OFF: acamera_metadata_enum_acamera_control_ae_lock =
19159        acamera_metadata_enum_acamera_control_ae_lock(0);
19160}
19161impl acamera_metadata_enum_acamera_control_ae_lock {
19162    pub const ACAMERA_CONTROL_AE_LOCK_ON: acamera_metadata_enum_acamera_control_ae_lock =
19163        acamera_metadata_enum_acamera_control_ae_lock(1);
19164}
19165#[repr(transparent)]
19166#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19167pub struct acamera_metadata_enum_acamera_control_ae_lock(pub ::std::os::raw::c_uint);
19168pub use self::acamera_metadata_enum_acamera_control_ae_lock as acamera_metadata_enum_android_control_ae_lock_t;
19169impl acamera_metadata_enum_acamera_control_ae_mode {
19170    pub const ACAMERA_CONTROL_AE_MODE_OFF: acamera_metadata_enum_acamera_control_ae_mode =
19171        acamera_metadata_enum_acamera_control_ae_mode(0);
19172}
19173impl acamera_metadata_enum_acamera_control_ae_mode {
19174    pub const ACAMERA_CONTROL_AE_MODE_ON: acamera_metadata_enum_acamera_control_ae_mode =
19175        acamera_metadata_enum_acamera_control_ae_mode(1);
19176}
19177impl acamera_metadata_enum_acamera_control_ae_mode {
19178    pub const ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH: acamera_metadata_enum_acamera_control_ae_mode =
19179        acamera_metadata_enum_acamera_control_ae_mode(2);
19180}
19181impl acamera_metadata_enum_acamera_control_ae_mode {
19182    pub const ACAMERA_CONTROL_AE_MODE_ON_ALWAYS_FLASH:
19183        acamera_metadata_enum_acamera_control_ae_mode =
19184        acamera_metadata_enum_acamera_control_ae_mode(3);
19185}
19186impl acamera_metadata_enum_acamera_control_ae_mode {
19187    pub const ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE:
19188        acamera_metadata_enum_acamera_control_ae_mode =
19189        acamera_metadata_enum_acamera_control_ae_mode(4);
19190}
19191impl acamera_metadata_enum_acamera_control_ae_mode {
19192    pub const ACAMERA_CONTROL_AE_MODE_ON_EXTERNAL_FLASH:
19193        acamera_metadata_enum_acamera_control_ae_mode =
19194        acamera_metadata_enum_acamera_control_ae_mode(5);
19195}
19196impl acamera_metadata_enum_acamera_control_ae_mode {
19197    pub const ACAMERA_CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY:
19198        acamera_metadata_enum_acamera_control_ae_mode =
19199        acamera_metadata_enum_acamera_control_ae_mode(6);
19200}
19201#[repr(transparent)]
19202#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19203pub struct acamera_metadata_enum_acamera_control_ae_mode(pub ::std::os::raw::c_uint);
19204pub use self::acamera_metadata_enum_acamera_control_ae_mode as acamera_metadata_enum_android_control_ae_mode_t;
19205impl acamera_metadata_enum_acamera_control_ae_precapture_trigger {
19206    pub const ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE:
19207        acamera_metadata_enum_acamera_control_ae_precapture_trigger =
19208        acamera_metadata_enum_acamera_control_ae_precapture_trigger(0);
19209}
19210impl acamera_metadata_enum_acamera_control_ae_precapture_trigger {
19211    pub const ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_START:
19212        acamera_metadata_enum_acamera_control_ae_precapture_trigger =
19213        acamera_metadata_enum_acamera_control_ae_precapture_trigger(1);
19214}
19215impl acamera_metadata_enum_acamera_control_ae_precapture_trigger {
19216    pub const ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL:
19217        acamera_metadata_enum_acamera_control_ae_precapture_trigger =
19218        acamera_metadata_enum_acamera_control_ae_precapture_trigger(2);
19219}
19220#[repr(transparent)]
19221#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19222pub struct acamera_metadata_enum_acamera_control_ae_precapture_trigger(pub ::std::os::raw::c_uint);
19223pub use self::acamera_metadata_enum_acamera_control_ae_precapture_trigger as acamera_metadata_enum_android_control_ae_precapture_trigger_t;
19224impl acamera_metadata_enum_acamera_control_af_mode {
19225    pub const ACAMERA_CONTROL_AF_MODE_OFF: acamera_metadata_enum_acamera_control_af_mode =
19226        acamera_metadata_enum_acamera_control_af_mode(0);
19227}
19228impl acamera_metadata_enum_acamera_control_af_mode {
19229    pub const ACAMERA_CONTROL_AF_MODE_AUTO: acamera_metadata_enum_acamera_control_af_mode =
19230        acamera_metadata_enum_acamera_control_af_mode(1);
19231}
19232impl acamera_metadata_enum_acamera_control_af_mode {
19233    pub const ACAMERA_CONTROL_AF_MODE_MACRO: acamera_metadata_enum_acamera_control_af_mode =
19234        acamera_metadata_enum_acamera_control_af_mode(2);
19235}
19236impl acamera_metadata_enum_acamera_control_af_mode {
19237    pub const ACAMERA_CONTROL_AF_MODE_CONTINUOUS_VIDEO:
19238        acamera_metadata_enum_acamera_control_af_mode =
19239        acamera_metadata_enum_acamera_control_af_mode(3);
19240}
19241impl acamera_metadata_enum_acamera_control_af_mode {
19242    pub const ACAMERA_CONTROL_AF_MODE_CONTINUOUS_PICTURE:
19243        acamera_metadata_enum_acamera_control_af_mode =
19244        acamera_metadata_enum_acamera_control_af_mode(4);
19245}
19246impl acamera_metadata_enum_acamera_control_af_mode {
19247    pub const ACAMERA_CONTROL_AF_MODE_EDOF: acamera_metadata_enum_acamera_control_af_mode =
19248        acamera_metadata_enum_acamera_control_af_mode(5);
19249}
19250#[repr(transparent)]
19251#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19252pub struct acamera_metadata_enum_acamera_control_af_mode(pub ::std::os::raw::c_uint);
19253pub use self::acamera_metadata_enum_acamera_control_af_mode as acamera_metadata_enum_android_control_af_mode_t;
19254impl acamera_metadata_enum_acamera_control_af_trigger {
19255    pub const ACAMERA_CONTROL_AF_TRIGGER_IDLE: acamera_metadata_enum_acamera_control_af_trigger =
19256        acamera_metadata_enum_acamera_control_af_trigger(0);
19257}
19258impl acamera_metadata_enum_acamera_control_af_trigger {
19259    pub const ACAMERA_CONTROL_AF_TRIGGER_START: acamera_metadata_enum_acamera_control_af_trigger =
19260        acamera_metadata_enum_acamera_control_af_trigger(1);
19261}
19262impl acamera_metadata_enum_acamera_control_af_trigger {
19263    pub const ACAMERA_CONTROL_AF_TRIGGER_CANCEL: acamera_metadata_enum_acamera_control_af_trigger =
19264        acamera_metadata_enum_acamera_control_af_trigger(2);
19265}
19266#[repr(transparent)]
19267#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19268pub struct acamera_metadata_enum_acamera_control_af_trigger(pub ::std::os::raw::c_uint);
19269pub use self::acamera_metadata_enum_acamera_control_af_trigger as acamera_metadata_enum_android_control_af_trigger_t;
19270impl acamera_metadata_enum_acamera_control_awb_lock {
19271    pub const ACAMERA_CONTROL_AWB_LOCK_OFF: acamera_metadata_enum_acamera_control_awb_lock =
19272        acamera_metadata_enum_acamera_control_awb_lock(0);
19273}
19274impl acamera_metadata_enum_acamera_control_awb_lock {
19275    pub const ACAMERA_CONTROL_AWB_LOCK_ON: acamera_metadata_enum_acamera_control_awb_lock =
19276        acamera_metadata_enum_acamera_control_awb_lock(1);
19277}
19278#[repr(transparent)]
19279#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19280pub struct acamera_metadata_enum_acamera_control_awb_lock(pub ::std::os::raw::c_uint);
19281pub use self::acamera_metadata_enum_acamera_control_awb_lock as acamera_metadata_enum_android_control_awb_lock_t;
19282impl acamera_metadata_enum_acamera_control_awb_mode {
19283    pub const ACAMERA_CONTROL_AWB_MODE_OFF: acamera_metadata_enum_acamera_control_awb_mode =
19284        acamera_metadata_enum_acamera_control_awb_mode(0);
19285}
19286impl acamera_metadata_enum_acamera_control_awb_mode {
19287    pub const ACAMERA_CONTROL_AWB_MODE_AUTO: acamera_metadata_enum_acamera_control_awb_mode =
19288        acamera_metadata_enum_acamera_control_awb_mode(1);
19289}
19290impl acamera_metadata_enum_acamera_control_awb_mode {
19291    pub const ACAMERA_CONTROL_AWB_MODE_INCANDESCENT:
19292        acamera_metadata_enum_acamera_control_awb_mode =
19293        acamera_metadata_enum_acamera_control_awb_mode(2);
19294}
19295impl acamera_metadata_enum_acamera_control_awb_mode {
19296    pub const ACAMERA_CONTROL_AWB_MODE_FLUORESCENT: acamera_metadata_enum_acamera_control_awb_mode =
19297        acamera_metadata_enum_acamera_control_awb_mode(3);
19298}
19299impl acamera_metadata_enum_acamera_control_awb_mode {
19300    pub const ACAMERA_CONTROL_AWB_MODE_WARM_FLUORESCENT:
19301        acamera_metadata_enum_acamera_control_awb_mode =
19302        acamera_metadata_enum_acamera_control_awb_mode(4);
19303}
19304impl acamera_metadata_enum_acamera_control_awb_mode {
19305    pub const ACAMERA_CONTROL_AWB_MODE_DAYLIGHT: acamera_metadata_enum_acamera_control_awb_mode =
19306        acamera_metadata_enum_acamera_control_awb_mode(5);
19307}
19308impl acamera_metadata_enum_acamera_control_awb_mode {
19309    pub const ACAMERA_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT:
19310        acamera_metadata_enum_acamera_control_awb_mode =
19311        acamera_metadata_enum_acamera_control_awb_mode(6);
19312}
19313impl acamera_metadata_enum_acamera_control_awb_mode {
19314    pub const ACAMERA_CONTROL_AWB_MODE_TWILIGHT: acamera_metadata_enum_acamera_control_awb_mode =
19315        acamera_metadata_enum_acamera_control_awb_mode(7);
19316}
19317impl acamera_metadata_enum_acamera_control_awb_mode {
19318    pub const ACAMERA_CONTROL_AWB_MODE_SHADE: acamera_metadata_enum_acamera_control_awb_mode =
19319        acamera_metadata_enum_acamera_control_awb_mode(8);
19320}
19321#[repr(transparent)]
19322#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19323pub struct acamera_metadata_enum_acamera_control_awb_mode(pub ::std::os::raw::c_uint);
19324pub use self::acamera_metadata_enum_acamera_control_awb_mode as acamera_metadata_enum_android_control_awb_mode_t;
19325impl acamera_metadata_enum_acamera_control_capture_intent {
19326    pub const ACAMERA_CONTROL_CAPTURE_INTENT_CUSTOM:
19327        acamera_metadata_enum_acamera_control_capture_intent =
19328        acamera_metadata_enum_acamera_control_capture_intent(0);
19329}
19330impl acamera_metadata_enum_acamera_control_capture_intent {
19331    pub const ACAMERA_CONTROL_CAPTURE_INTENT_PREVIEW:
19332        acamera_metadata_enum_acamera_control_capture_intent =
19333        acamera_metadata_enum_acamera_control_capture_intent(1);
19334}
19335impl acamera_metadata_enum_acamera_control_capture_intent {
19336    pub const ACAMERA_CONTROL_CAPTURE_INTENT_STILL_CAPTURE:
19337        acamera_metadata_enum_acamera_control_capture_intent =
19338        acamera_metadata_enum_acamera_control_capture_intent(2);
19339}
19340impl acamera_metadata_enum_acamera_control_capture_intent {
19341    pub const ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_RECORD:
19342        acamera_metadata_enum_acamera_control_capture_intent =
19343        acamera_metadata_enum_acamera_control_capture_intent(3);
19344}
19345impl acamera_metadata_enum_acamera_control_capture_intent {
19346    pub const ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT:
19347        acamera_metadata_enum_acamera_control_capture_intent =
19348        acamera_metadata_enum_acamera_control_capture_intent(4);
19349}
19350impl acamera_metadata_enum_acamera_control_capture_intent {
19351    pub const ACAMERA_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG:
19352        acamera_metadata_enum_acamera_control_capture_intent =
19353        acamera_metadata_enum_acamera_control_capture_intent(5);
19354}
19355impl acamera_metadata_enum_acamera_control_capture_intent {
19356    pub const ACAMERA_CONTROL_CAPTURE_INTENT_MANUAL:
19357        acamera_metadata_enum_acamera_control_capture_intent =
19358        acamera_metadata_enum_acamera_control_capture_intent(6);
19359}
19360impl acamera_metadata_enum_acamera_control_capture_intent {
19361    pub const ACAMERA_CONTROL_CAPTURE_INTENT_MOTION_TRACKING:
19362        acamera_metadata_enum_acamera_control_capture_intent =
19363        acamera_metadata_enum_acamera_control_capture_intent(7);
19364}
19365#[repr(transparent)]
19366#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19367pub struct acamera_metadata_enum_acamera_control_capture_intent(pub ::std::os::raw::c_uint);
19368pub use self::acamera_metadata_enum_acamera_control_capture_intent as acamera_metadata_enum_android_control_capture_intent_t;
19369impl acamera_metadata_enum_acamera_control_effect_mode {
19370    pub const ACAMERA_CONTROL_EFFECT_MODE_OFF: acamera_metadata_enum_acamera_control_effect_mode =
19371        acamera_metadata_enum_acamera_control_effect_mode(0);
19372}
19373impl acamera_metadata_enum_acamera_control_effect_mode {
19374    pub const ACAMERA_CONTROL_EFFECT_MODE_MONO: acamera_metadata_enum_acamera_control_effect_mode =
19375        acamera_metadata_enum_acamera_control_effect_mode(1);
19376}
19377impl acamera_metadata_enum_acamera_control_effect_mode {
19378    pub const ACAMERA_CONTROL_EFFECT_MODE_NEGATIVE:
19379        acamera_metadata_enum_acamera_control_effect_mode =
19380        acamera_metadata_enum_acamera_control_effect_mode(2);
19381}
19382impl acamera_metadata_enum_acamera_control_effect_mode {
19383    pub const ACAMERA_CONTROL_EFFECT_MODE_SOLARIZE:
19384        acamera_metadata_enum_acamera_control_effect_mode =
19385        acamera_metadata_enum_acamera_control_effect_mode(3);
19386}
19387impl acamera_metadata_enum_acamera_control_effect_mode {
19388    pub const ACAMERA_CONTROL_EFFECT_MODE_SEPIA: acamera_metadata_enum_acamera_control_effect_mode =
19389        acamera_metadata_enum_acamera_control_effect_mode(4);
19390}
19391impl acamera_metadata_enum_acamera_control_effect_mode {
19392    pub const ACAMERA_CONTROL_EFFECT_MODE_POSTERIZE:
19393        acamera_metadata_enum_acamera_control_effect_mode =
19394        acamera_metadata_enum_acamera_control_effect_mode(5);
19395}
19396impl acamera_metadata_enum_acamera_control_effect_mode {
19397    pub const ACAMERA_CONTROL_EFFECT_MODE_WHITEBOARD:
19398        acamera_metadata_enum_acamera_control_effect_mode =
19399        acamera_metadata_enum_acamera_control_effect_mode(6);
19400}
19401impl acamera_metadata_enum_acamera_control_effect_mode {
19402    pub const ACAMERA_CONTROL_EFFECT_MODE_BLACKBOARD:
19403        acamera_metadata_enum_acamera_control_effect_mode =
19404        acamera_metadata_enum_acamera_control_effect_mode(7);
19405}
19406impl acamera_metadata_enum_acamera_control_effect_mode {
19407    pub const ACAMERA_CONTROL_EFFECT_MODE_AQUA: acamera_metadata_enum_acamera_control_effect_mode =
19408        acamera_metadata_enum_acamera_control_effect_mode(8);
19409}
19410#[repr(transparent)]
19411#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19412pub struct acamera_metadata_enum_acamera_control_effect_mode(pub ::std::os::raw::c_uint);
19413pub use self::acamera_metadata_enum_acamera_control_effect_mode as acamera_metadata_enum_android_control_effect_mode_t;
19414impl acamera_metadata_enum_acamera_control_mode {
19415    pub const ACAMERA_CONTROL_MODE_OFF: acamera_metadata_enum_acamera_control_mode =
19416        acamera_metadata_enum_acamera_control_mode(0);
19417}
19418impl acamera_metadata_enum_acamera_control_mode {
19419    pub const ACAMERA_CONTROL_MODE_AUTO: acamera_metadata_enum_acamera_control_mode =
19420        acamera_metadata_enum_acamera_control_mode(1);
19421}
19422impl acamera_metadata_enum_acamera_control_mode {
19423    pub const ACAMERA_CONTROL_MODE_USE_SCENE_MODE: acamera_metadata_enum_acamera_control_mode =
19424        acamera_metadata_enum_acamera_control_mode(2);
19425}
19426impl acamera_metadata_enum_acamera_control_mode {
19427    pub const ACAMERA_CONTROL_MODE_OFF_KEEP_STATE: acamera_metadata_enum_acamera_control_mode =
19428        acamera_metadata_enum_acamera_control_mode(3);
19429}
19430impl acamera_metadata_enum_acamera_control_mode {
19431    pub const ACAMERA_CONTROL_MODE_USE_EXTENDED_SCENE_MODE:
19432        acamera_metadata_enum_acamera_control_mode = acamera_metadata_enum_acamera_control_mode(4);
19433}
19434#[repr(transparent)]
19435#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19436pub struct acamera_metadata_enum_acamera_control_mode(pub ::std::os::raw::c_uint);
19437pub use self::acamera_metadata_enum_acamera_control_mode as acamera_metadata_enum_android_control_mode_t;
19438impl acamera_metadata_enum_acamera_control_scene_mode {
19439    pub const ACAMERA_CONTROL_SCENE_MODE_DISABLED:
19440        acamera_metadata_enum_acamera_control_scene_mode =
19441        acamera_metadata_enum_acamera_control_scene_mode(0);
19442}
19443impl acamera_metadata_enum_acamera_control_scene_mode {
19444    pub const ACAMERA_CONTROL_SCENE_MODE_FACE_PRIORITY:
19445        acamera_metadata_enum_acamera_control_scene_mode =
19446        acamera_metadata_enum_acamera_control_scene_mode(1);
19447}
19448impl acamera_metadata_enum_acamera_control_scene_mode {
19449    pub const ACAMERA_CONTROL_SCENE_MODE_ACTION: acamera_metadata_enum_acamera_control_scene_mode =
19450        acamera_metadata_enum_acamera_control_scene_mode(2);
19451}
19452impl acamera_metadata_enum_acamera_control_scene_mode {
19453    pub const ACAMERA_CONTROL_SCENE_MODE_PORTRAIT:
19454        acamera_metadata_enum_acamera_control_scene_mode =
19455        acamera_metadata_enum_acamera_control_scene_mode(3);
19456}
19457impl acamera_metadata_enum_acamera_control_scene_mode {
19458    pub const ACAMERA_CONTROL_SCENE_MODE_LANDSCAPE:
19459        acamera_metadata_enum_acamera_control_scene_mode =
19460        acamera_metadata_enum_acamera_control_scene_mode(4);
19461}
19462impl acamera_metadata_enum_acamera_control_scene_mode {
19463    pub const ACAMERA_CONTROL_SCENE_MODE_NIGHT: acamera_metadata_enum_acamera_control_scene_mode =
19464        acamera_metadata_enum_acamera_control_scene_mode(5);
19465}
19466impl acamera_metadata_enum_acamera_control_scene_mode {
19467    pub const ACAMERA_CONTROL_SCENE_MODE_NIGHT_PORTRAIT:
19468        acamera_metadata_enum_acamera_control_scene_mode =
19469        acamera_metadata_enum_acamera_control_scene_mode(6);
19470}
19471impl acamera_metadata_enum_acamera_control_scene_mode {
19472    pub const ACAMERA_CONTROL_SCENE_MODE_THEATRE: acamera_metadata_enum_acamera_control_scene_mode =
19473        acamera_metadata_enum_acamera_control_scene_mode(7);
19474}
19475impl acamera_metadata_enum_acamera_control_scene_mode {
19476    pub const ACAMERA_CONTROL_SCENE_MODE_BEACH: acamera_metadata_enum_acamera_control_scene_mode =
19477        acamera_metadata_enum_acamera_control_scene_mode(8);
19478}
19479impl acamera_metadata_enum_acamera_control_scene_mode {
19480    pub const ACAMERA_CONTROL_SCENE_MODE_SNOW: acamera_metadata_enum_acamera_control_scene_mode =
19481        acamera_metadata_enum_acamera_control_scene_mode(9);
19482}
19483impl acamera_metadata_enum_acamera_control_scene_mode {
19484    pub const ACAMERA_CONTROL_SCENE_MODE_SUNSET: acamera_metadata_enum_acamera_control_scene_mode =
19485        acamera_metadata_enum_acamera_control_scene_mode(10);
19486}
19487impl acamera_metadata_enum_acamera_control_scene_mode {
19488    pub const ACAMERA_CONTROL_SCENE_MODE_STEADYPHOTO:
19489        acamera_metadata_enum_acamera_control_scene_mode =
19490        acamera_metadata_enum_acamera_control_scene_mode(11);
19491}
19492impl acamera_metadata_enum_acamera_control_scene_mode {
19493    pub const ACAMERA_CONTROL_SCENE_MODE_FIREWORKS:
19494        acamera_metadata_enum_acamera_control_scene_mode =
19495        acamera_metadata_enum_acamera_control_scene_mode(12);
19496}
19497impl acamera_metadata_enum_acamera_control_scene_mode {
19498    pub const ACAMERA_CONTROL_SCENE_MODE_SPORTS: acamera_metadata_enum_acamera_control_scene_mode =
19499        acamera_metadata_enum_acamera_control_scene_mode(13);
19500}
19501impl acamera_metadata_enum_acamera_control_scene_mode {
19502    pub const ACAMERA_CONTROL_SCENE_MODE_PARTY: acamera_metadata_enum_acamera_control_scene_mode =
19503        acamera_metadata_enum_acamera_control_scene_mode(14);
19504}
19505impl acamera_metadata_enum_acamera_control_scene_mode {
19506    pub const ACAMERA_CONTROL_SCENE_MODE_CANDLELIGHT:
19507        acamera_metadata_enum_acamera_control_scene_mode =
19508        acamera_metadata_enum_acamera_control_scene_mode(15);
19509}
19510impl acamera_metadata_enum_acamera_control_scene_mode {
19511    pub const ACAMERA_CONTROL_SCENE_MODE_BARCODE: acamera_metadata_enum_acamera_control_scene_mode =
19512        acamera_metadata_enum_acamera_control_scene_mode(16);
19513}
19514impl acamera_metadata_enum_acamera_control_scene_mode {
19515    pub const ACAMERA_CONTROL_SCENE_MODE_HDR: acamera_metadata_enum_acamera_control_scene_mode =
19516        acamera_metadata_enum_acamera_control_scene_mode(18);
19517}
19518#[repr(transparent)]
19519#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19520pub struct acamera_metadata_enum_acamera_control_scene_mode(pub ::std::os::raw::c_uint);
19521pub use self::acamera_metadata_enum_acamera_control_scene_mode as acamera_metadata_enum_android_control_scene_mode_t;
19522impl acamera_metadata_enum_acamera_control_video_stabilization_mode {
19523    pub const ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_OFF:
19524        acamera_metadata_enum_acamera_control_video_stabilization_mode =
19525        acamera_metadata_enum_acamera_control_video_stabilization_mode(0);
19526}
19527impl acamera_metadata_enum_acamera_control_video_stabilization_mode {
19528    pub const ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_ON:
19529        acamera_metadata_enum_acamera_control_video_stabilization_mode =
19530        acamera_metadata_enum_acamera_control_video_stabilization_mode(1);
19531}
19532impl acamera_metadata_enum_acamera_control_video_stabilization_mode {
19533    pub const ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION:
19534        acamera_metadata_enum_acamera_control_video_stabilization_mode =
19535        acamera_metadata_enum_acamera_control_video_stabilization_mode(2);
19536}
19537#[repr(transparent)]
19538#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19539pub struct acamera_metadata_enum_acamera_control_video_stabilization_mode(
19540    pub ::std::os::raw::c_uint,
19541);
19542pub use self::acamera_metadata_enum_acamera_control_video_stabilization_mode as acamera_metadata_enum_android_control_video_stabilization_mode_t;
19543impl acamera_metadata_enum_acamera_control_ae_state {
19544    pub const ACAMERA_CONTROL_AE_STATE_INACTIVE: acamera_metadata_enum_acamera_control_ae_state =
19545        acamera_metadata_enum_acamera_control_ae_state(0);
19546}
19547impl acamera_metadata_enum_acamera_control_ae_state {
19548    pub const ACAMERA_CONTROL_AE_STATE_SEARCHING: acamera_metadata_enum_acamera_control_ae_state =
19549        acamera_metadata_enum_acamera_control_ae_state(1);
19550}
19551impl acamera_metadata_enum_acamera_control_ae_state {
19552    pub const ACAMERA_CONTROL_AE_STATE_CONVERGED: acamera_metadata_enum_acamera_control_ae_state =
19553        acamera_metadata_enum_acamera_control_ae_state(2);
19554}
19555impl acamera_metadata_enum_acamera_control_ae_state {
19556    pub const ACAMERA_CONTROL_AE_STATE_LOCKED: acamera_metadata_enum_acamera_control_ae_state =
19557        acamera_metadata_enum_acamera_control_ae_state(3);
19558}
19559impl acamera_metadata_enum_acamera_control_ae_state {
19560    pub const ACAMERA_CONTROL_AE_STATE_FLASH_REQUIRED:
19561        acamera_metadata_enum_acamera_control_ae_state =
19562        acamera_metadata_enum_acamera_control_ae_state(4);
19563}
19564impl acamera_metadata_enum_acamera_control_ae_state {
19565    pub const ACAMERA_CONTROL_AE_STATE_PRECAPTURE: acamera_metadata_enum_acamera_control_ae_state =
19566        acamera_metadata_enum_acamera_control_ae_state(5);
19567}
19568#[repr(transparent)]
19569#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19570pub struct acamera_metadata_enum_acamera_control_ae_state(pub ::std::os::raw::c_uint);
19571pub use self::acamera_metadata_enum_acamera_control_ae_state as acamera_metadata_enum_android_control_ae_state_t;
19572impl acamera_metadata_enum_acamera_control_af_state {
19573    pub const ACAMERA_CONTROL_AF_STATE_INACTIVE: acamera_metadata_enum_acamera_control_af_state =
19574        acamera_metadata_enum_acamera_control_af_state(0);
19575}
19576impl acamera_metadata_enum_acamera_control_af_state {
19577    pub const ACAMERA_CONTROL_AF_STATE_PASSIVE_SCAN:
19578        acamera_metadata_enum_acamera_control_af_state =
19579        acamera_metadata_enum_acamera_control_af_state(1);
19580}
19581impl acamera_metadata_enum_acamera_control_af_state {
19582    pub const ACAMERA_CONTROL_AF_STATE_PASSIVE_FOCUSED:
19583        acamera_metadata_enum_acamera_control_af_state =
19584        acamera_metadata_enum_acamera_control_af_state(2);
19585}
19586impl acamera_metadata_enum_acamera_control_af_state {
19587    pub const ACAMERA_CONTROL_AF_STATE_ACTIVE_SCAN: acamera_metadata_enum_acamera_control_af_state =
19588        acamera_metadata_enum_acamera_control_af_state(3);
19589}
19590impl acamera_metadata_enum_acamera_control_af_state {
19591    pub const ACAMERA_CONTROL_AF_STATE_FOCUSED_LOCKED:
19592        acamera_metadata_enum_acamera_control_af_state =
19593        acamera_metadata_enum_acamera_control_af_state(4);
19594}
19595impl acamera_metadata_enum_acamera_control_af_state {
19596    pub const ACAMERA_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED:
19597        acamera_metadata_enum_acamera_control_af_state =
19598        acamera_metadata_enum_acamera_control_af_state(5);
19599}
19600impl acamera_metadata_enum_acamera_control_af_state {
19601    pub const ACAMERA_CONTROL_AF_STATE_PASSIVE_UNFOCUSED:
19602        acamera_metadata_enum_acamera_control_af_state =
19603        acamera_metadata_enum_acamera_control_af_state(6);
19604}
19605#[repr(transparent)]
19606#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19607pub struct acamera_metadata_enum_acamera_control_af_state(pub ::std::os::raw::c_uint);
19608pub use self::acamera_metadata_enum_acamera_control_af_state as acamera_metadata_enum_android_control_af_state_t;
19609impl acamera_metadata_enum_acamera_control_awb_state {
19610    pub const ACAMERA_CONTROL_AWB_STATE_INACTIVE: acamera_metadata_enum_acamera_control_awb_state =
19611        acamera_metadata_enum_acamera_control_awb_state(0);
19612}
19613impl acamera_metadata_enum_acamera_control_awb_state {
19614    pub const ACAMERA_CONTROL_AWB_STATE_SEARCHING: acamera_metadata_enum_acamera_control_awb_state =
19615        acamera_metadata_enum_acamera_control_awb_state(1);
19616}
19617impl acamera_metadata_enum_acamera_control_awb_state {
19618    pub const ACAMERA_CONTROL_AWB_STATE_CONVERGED: acamera_metadata_enum_acamera_control_awb_state =
19619        acamera_metadata_enum_acamera_control_awb_state(2);
19620}
19621impl acamera_metadata_enum_acamera_control_awb_state {
19622    pub const ACAMERA_CONTROL_AWB_STATE_LOCKED: acamera_metadata_enum_acamera_control_awb_state =
19623        acamera_metadata_enum_acamera_control_awb_state(3);
19624}
19625#[repr(transparent)]
19626#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19627pub struct acamera_metadata_enum_acamera_control_awb_state(pub ::std::os::raw::c_uint);
19628pub use self::acamera_metadata_enum_acamera_control_awb_state as acamera_metadata_enum_android_control_awb_state_t;
19629impl acamera_metadata_enum_acamera_control_ae_lock_available {
19630    pub const ACAMERA_CONTROL_AE_LOCK_AVAILABLE_FALSE:
19631        acamera_metadata_enum_acamera_control_ae_lock_available =
19632        acamera_metadata_enum_acamera_control_ae_lock_available(0);
19633}
19634impl acamera_metadata_enum_acamera_control_ae_lock_available {
19635    pub const ACAMERA_CONTROL_AE_LOCK_AVAILABLE_TRUE:
19636        acamera_metadata_enum_acamera_control_ae_lock_available =
19637        acamera_metadata_enum_acamera_control_ae_lock_available(1);
19638}
19639#[repr(transparent)]
19640#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19641pub struct acamera_metadata_enum_acamera_control_ae_lock_available(pub ::std::os::raw::c_uint);
19642pub use self::acamera_metadata_enum_acamera_control_ae_lock_available as acamera_metadata_enum_android_control_ae_lock_available_t;
19643impl acamera_metadata_enum_acamera_control_awb_lock_available {
19644    pub const ACAMERA_CONTROL_AWB_LOCK_AVAILABLE_FALSE:
19645        acamera_metadata_enum_acamera_control_awb_lock_available =
19646        acamera_metadata_enum_acamera_control_awb_lock_available(0);
19647}
19648impl acamera_metadata_enum_acamera_control_awb_lock_available {
19649    pub const ACAMERA_CONTROL_AWB_LOCK_AVAILABLE_TRUE:
19650        acamera_metadata_enum_acamera_control_awb_lock_available =
19651        acamera_metadata_enum_acamera_control_awb_lock_available(1);
19652}
19653#[repr(transparent)]
19654#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19655pub struct acamera_metadata_enum_acamera_control_awb_lock_available(pub ::std::os::raw::c_uint);
19656pub use self::acamera_metadata_enum_acamera_control_awb_lock_available as acamera_metadata_enum_android_control_awb_lock_available_t;
19657impl acamera_metadata_enum_acamera_control_enable_zsl {
19658    pub const ACAMERA_CONTROL_ENABLE_ZSL_FALSE: acamera_metadata_enum_acamera_control_enable_zsl =
19659        acamera_metadata_enum_acamera_control_enable_zsl(0);
19660}
19661impl acamera_metadata_enum_acamera_control_enable_zsl {
19662    pub const ACAMERA_CONTROL_ENABLE_ZSL_TRUE: acamera_metadata_enum_acamera_control_enable_zsl =
19663        acamera_metadata_enum_acamera_control_enable_zsl(1);
19664}
19665#[repr(transparent)]
19666#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19667pub struct acamera_metadata_enum_acamera_control_enable_zsl(pub ::std::os::raw::c_uint);
19668pub use self::acamera_metadata_enum_acamera_control_enable_zsl as acamera_metadata_enum_android_control_enable_zsl_t;
19669impl acamera_metadata_enum_acamera_control_af_scene_change {
19670    pub const ACAMERA_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED:
19671        acamera_metadata_enum_acamera_control_af_scene_change =
19672        acamera_metadata_enum_acamera_control_af_scene_change(0);
19673}
19674impl acamera_metadata_enum_acamera_control_af_scene_change {
19675    pub const ACAMERA_CONTROL_AF_SCENE_CHANGE_DETECTED:
19676        acamera_metadata_enum_acamera_control_af_scene_change =
19677        acamera_metadata_enum_acamera_control_af_scene_change(1);
19678}
19679#[repr(transparent)]
19680#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19681pub struct acamera_metadata_enum_acamera_control_af_scene_change(pub ::std::os::raw::c_uint);
19682pub use self::acamera_metadata_enum_acamera_control_af_scene_change as acamera_metadata_enum_android_control_af_scene_change_t;
19683impl acamera_metadata_enum_acamera_control_extended_scene_mode {
19684    pub const ACAMERA_CONTROL_EXTENDED_SCENE_MODE_DISABLED:
19685        acamera_metadata_enum_acamera_control_extended_scene_mode =
19686        acamera_metadata_enum_acamera_control_extended_scene_mode(0);
19687}
19688impl acamera_metadata_enum_acamera_control_extended_scene_mode {
19689    pub const ACAMERA_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE:
19690        acamera_metadata_enum_acamera_control_extended_scene_mode =
19691        acamera_metadata_enum_acamera_control_extended_scene_mode(1);
19692}
19693impl acamera_metadata_enum_acamera_control_extended_scene_mode {
19694    pub const ACAMERA_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS:
19695        acamera_metadata_enum_acamera_control_extended_scene_mode =
19696        acamera_metadata_enum_acamera_control_extended_scene_mode(2);
19697}
19698#[repr(transparent)]
19699#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19700pub struct acamera_metadata_enum_acamera_control_extended_scene_mode(pub ::std::os::raw::c_uint);
19701pub use self::acamera_metadata_enum_acamera_control_extended_scene_mode as acamera_metadata_enum_android_control_extended_scene_mode_t;
19702impl acamera_metadata_enum_acamera_control_settings_override {
19703    pub const ACAMERA_CONTROL_SETTINGS_OVERRIDE_OFF:
19704        acamera_metadata_enum_acamera_control_settings_override =
19705        acamera_metadata_enum_acamera_control_settings_override(0);
19706}
19707impl acamera_metadata_enum_acamera_control_settings_override {
19708    pub const ACAMERA_CONTROL_SETTINGS_OVERRIDE_ZOOM:
19709        acamera_metadata_enum_acamera_control_settings_override =
19710        acamera_metadata_enum_acamera_control_settings_override(1);
19711}
19712#[repr(transparent)]
19713#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19714pub struct acamera_metadata_enum_acamera_control_settings_override(pub ::std::os::raw::c_uint);
19715pub use self::acamera_metadata_enum_acamera_control_settings_override as acamera_metadata_enum_android_control_settings_override_t;
19716impl acamera_metadata_enum_acamera_control_autoframing {
19717    pub const ACAMERA_CONTROL_AUTOFRAMING_OFF: acamera_metadata_enum_acamera_control_autoframing =
19718        acamera_metadata_enum_acamera_control_autoframing(0);
19719}
19720impl acamera_metadata_enum_acamera_control_autoframing {
19721    pub const ACAMERA_CONTROL_AUTOFRAMING_ON: acamera_metadata_enum_acamera_control_autoframing =
19722        acamera_metadata_enum_acamera_control_autoframing(1);
19723}
19724#[repr(transparent)]
19725#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19726pub struct acamera_metadata_enum_acamera_control_autoframing(pub ::std::os::raw::c_uint);
19727pub use self::acamera_metadata_enum_acamera_control_autoframing as acamera_metadata_enum_android_control_autoframing_t;
19728impl acamera_metadata_enum_acamera_control_autoframing_available {
19729    pub const ACAMERA_CONTROL_AUTOFRAMING_AVAILABLE_FALSE:
19730        acamera_metadata_enum_acamera_control_autoframing_available =
19731        acamera_metadata_enum_acamera_control_autoframing_available(0);
19732}
19733impl acamera_metadata_enum_acamera_control_autoframing_available {
19734    pub const ACAMERA_CONTROL_AUTOFRAMING_AVAILABLE_TRUE:
19735        acamera_metadata_enum_acamera_control_autoframing_available =
19736        acamera_metadata_enum_acamera_control_autoframing_available(1);
19737}
19738#[repr(transparent)]
19739#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19740pub struct acamera_metadata_enum_acamera_control_autoframing_available(pub ::std::os::raw::c_uint);
19741pub use self::acamera_metadata_enum_acamera_control_autoframing_available as acamera_metadata_enum_android_control_autoframing_available_t;
19742impl acamera_metadata_enum_acamera_control_autoframing_state {
19743    pub const ACAMERA_CONTROL_AUTOFRAMING_STATE_INACTIVE:
19744        acamera_metadata_enum_acamera_control_autoframing_state =
19745        acamera_metadata_enum_acamera_control_autoframing_state(0);
19746}
19747impl acamera_metadata_enum_acamera_control_autoframing_state {
19748    pub const ACAMERA_CONTROL_AUTOFRAMING_STATE_FRAMING:
19749        acamera_metadata_enum_acamera_control_autoframing_state =
19750        acamera_metadata_enum_acamera_control_autoframing_state(1);
19751}
19752impl acamera_metadata_enum_acamera_control_autoframing_state {
19753    pub const ACAMERA_CONTROL_AUTOFRAMING_STATE_CONVERGED:
19754        acamera_metadata_enum_acamera_control_autoframing_state =
19755        acamera_metadata_enum_acamera_control_autoframing_state(2);
19756}
19757#[repr(transparent)]
19758#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19759pub struct acamera_metadata_enum_acamera_control_autoframing_state(pub ::std::os::raw::c_uint);
19760pub use self::acamera_metadata_enum_acamera_control_autoframing_state as acamera_metadata_enum_android_control_autoframing_state_t;
19761impl acamera_metadata_enum_acamera_control_low_light_boost_state {
19762    pub const ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE_INACTIVE:
19763        acamera_metadata_enum_acamera_control_low_light_boost_state =
19764        acamera_metadata_enum_acamera_control_low_light_boost_state(0);
19765}
19766impl acamera_metadata_enum_acamera_control_low_light_boost_state {
19767    pub const ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE_ACTIVE:
19768        acamera_metadata_enum_acamera_control_low_light_boost_state =
19769        acamera_metadata_enum_acamera_control_low_light_boost_state(1);
19770}
19771#[repr(transparent)]
19772#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19773pub struct acamera_metadata_enum_acamera_control_low_light_boost_state(pub ::std::os::raw::c_uint);
19774pub use self::acamera_metadata_enum_acamera_control_low_light_boost_state as acamera_metadata_enum_android_control_low_light_boost_state_t;
19775impl acamera_metadata_enum_acamera_edge_mode {
19776    pub const ACAMERA_EDGE_MODE_OFF: acamera_metadata_enum_acamera_edge_mode =
19777        acamera_metadata_enum_acamera_edge_mode(0);
19778}
19779impl acamera_metadata_enum_acamera_edge_mode {
19780    pub const ACAMERA_EDGE_MODE_FAST: acamera_metadata_enum_acamera_edge_mode =
19781        acamera_metadata_enum_acamera_edge_mode(1);
19782}
19783impl acamera_metadata_enum_acamera_edge_mode {
19784    pub const ACAMERA_EDGE_MODE_HIGH_QUALITY: acamera_metadata_enum_acamera_edge_mode =
19785        acamera_metadata_enum_acamera_edge_mode(2);
19786}
19787impl acamera_metadata_enum_acamera_edge_mode {
19788    pub const ACAMERA_EDGE_MODE_ZERO_SHUTTER_LAG: acamera_metadata_enum_acamera_edge_mode =
19789        acamera_metadata_enum_acamera_edge_mode(3);
19790}
19791#[repr(transparent)]
19792#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19793pub struct acamera_metadata_enum_acamera_edge_mode(pub ::std::os::raw::c_uint);
19794pub use self::acamera_metadata_enum_acamera_edge_mode as acamera_metadata_enum_android_edge_mode_t;
19795impl acamera_metadata_enum_acamera_flash_mode {
19796    pub const ACAMERA_FLASH_MODE_OFF: acamera_metadata_enum_acamera_flash_mode =
19797        acamera_metadata_enum_acamera_flash_mode(0);
19798}
19799impl acamera_metadata_enum_acamera_flash_mode {
19800    pub const ACAMERA_FLASH_MODE_SINGLE: acamera_metadata_enum_acamera_flash_mode =
19801        acamera_metadata_enum_acamera_flash_mode(1);
19802}
19803impl acamera_metadata_enum_acamera_flash_mode {
19804    pub const ACAMERA_FLASH_MODE_TORCH: acamera_metadata_enum_acamera_flash_mode =
19805        acamera_metadata_enum_acamera_flash_mode(2);
19806}
19807#[repr(transparent)]
19808#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19809pub struct acamera_metadata_enum_acamera_flash_mode(pub ::std::os::raw::c_uint);
19810pub use self::acamera_metadata_enum_acamera_flash_mode as acamera_metadata_enum_android_flash_mode_t;
19811impl acamera_metadata_enum_acamera_flash_state {
19812    pub const ACAMERA_FLASH_STATE_UNAVAILABLE: acamera_metadata_enum_acamera_flash_state =
19813        acamera_metadata_enum_acamera_flash_state(0);
19814}
19815impl acamera_metadata_enum_acamera_flash_state {
19816    pub const ACAMERA_FLASH_STATE_CHARGING: acamera_metadata_enum_acamera_flash_state =
19817        acamera_metadata_enum_acamera_flash_state(1);
19818}
19819impl acamera_metadata_enum_acamera_flash_state {
19820    pub const ACAMERA_FLASH_STATE_READY: acamera_metadata_enum_acamera_flash_state =
19821        acamera_metadata_enum_acamera_flash_state(2);
19822}
19823impl acamera_metadata_enum_acamera_flash_state {
19824    pub const ACAMERA_FLASH_STATE_FIRED: acamera_metadata_enum_acamera_flash_state =
19825        acamera_metadata_enum_acamera_flash_state(3);
19826}
19827impl acamera_metadata_enum_acamera_flash_state {
19828    pub const ACAMERA_FLASH_STATE_PARTIAL: acamera_metadata_enum_acamera_flash_state =
19829        acamera_metadata_enum_acamera_flash_state(4);
19830}
19831#[repr(transparent)]
19832#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19833pub struct acamera_metadata_enum_acamera_flash_state(pub ::std::os::raw::c_uint);
19834pub use self::acamera_metadata_enum_acamera_flash_state as acamera_metadata_enum_android_flash_state_t;
19835impl acamera_metadata_enum_acamera_flash_info_available {
19836    pub const ACAMERA_FLASH_INFO_AVAILABLE_FALSE:
19837        acamera_metadata_enum_acamera_flash_info_available =
19838        acamera_metadata_enum_acamera_flash_info_available(0);
19839}
19840impl acamera_metadata_enum_acamera_flash_info_available {
19841    pub const ACAMERA_FLASH_INFO_AVAILABLE_TRUE:
19842        acamera_metadata_enum_acamera_flash_info_available =
19843        acamera_metadata_enum_acamera_flash_info_available(1);
19844}
19845#[repr(transparent)]
19846#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19847pub struct acamera_metadata_enum_acamera_flash_info_available(pub ::std::os::raw::c_uint);
19848pub use self::acamera_metadata_enum_acamera_flash_info_available as acamera_metadata_enum_android_flash_info_available_t;
19849impl acamera_metadata_enum_acamera_hot_pixel_mode {
19850    pub const ACAMERA_HOT_PIXEL_MODE_OFF: acamera_metadata_enum_acamera_hot_pixel_mode =
19851        acamera_metadata_enum_acamera_hot_pixel_mode(0);
19852}
19853impl acamera_metadata_enum_acamera_hot_pixel_mode {
19854    pub const ACAMERA_HOT_PIXEL_MODE_FAST: acamera_metadata_enum_acamera_hot_pixel_mode =
19855        acamera_metadata_enum_acamera_hot_pixel_mode(1);
19856}
19857impl acamera_metadata_enum_acamera_hot_pixel_mode {
19858    pub const ACAMERA_HOT_PIXEL_MODE_HIGH_QUALITY: acamera_metadata_enum_acamera_hot_pixel_mode =
19859        acamera_metadata_enum_acamera_hot_pixel_mode(2);
19860}
19861#[repr(transparent)]
19862#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19863pub struct acamera_metadata_enum_acamera_hot_pixel_mode(pub ::std::os::raw::c_uint);
19864pub use self::acamera_metadata_enum_acamera_hot_pixel_mode as acamera_metadata_enum_android_hot_pixel_mode_t;
19865impl acamera_metadata_enum_acamera_lens_optical_stabilization_mode {
19866    pub const ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_OFF:
19867        acamera_metadata_enum_acamera_lens_optical_stabilization_mode =
19868        acamera_metadata_enum_acamera_lens_optical_stabilization_mode(0);
19869}
19870impl acamera_metadata_enum_acamera_lens_optical_stabilization_mode {
19871    pub const ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_ON:
19872        acamera_metadata_enum_acamera_lens_optical_stabilization_mode =
19873        acamera_metadata_enum_acamera_lens_optical_stabilization_mode(1);
19874}
19875#[repr(transparent)]
19876#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19877pub struct acamera_metadata_enum_acamera_lens_optical_stabilization_mode(
19878    pub ::std::os::raw::c_uint,
19879);
19880pub use self::acamera_metadata_enum_acamera_lens_optical_stabilization_mode as acamera_metadata_enum_android_lens_optical_stabilization_mode_t;
19881impl acamera_metadata_enum_acamera_lens_facing {
19882    pub const ACAMERA_LENS_FACING_FRONT: acamera_metadata_enum_acamera_lens_facing =
19883        acamera_metadata_enum_acamera_lens_facing(0);
19884}
19885impl acamera_metadata_enum_acamera_lens_facing {
19886    pub const ACAMERA_LENS_FACING_BACK: acamera_metadata_enum_acamera_lens_facing =
19887        acamera_metadata_enum_acamera_lens_facing(1);
19888}
19889impl acamera_metadata_enum_acamera_lens_facing {
19890    pub const ACAMERA_LENS_FACING_EXTERNAL: acamera_metadata_enum_acamera_lens_facing =
19891        acamera_metadata_enum_acamera_lens_facing(2);
19892}
19893#[repr(transparent)]
19894#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19895pub struct acamera_metadata_enum_acamera_lens_facing(pub ::std::os::raw::c_uint);
19896pub use self::acamera_metadata_enum_acamera_lens_facing as acamera_metadata_enum_android_lens_facing_t;
19897impl acamera_metadata_enum_acamera_lens_state {
19898    pub const ACAMERA_LENS_STATE_STATIONARY: acamera_metadata_enum_acamera_lens_state =
19899        acamera_metadata_enum_acamera_lens_state(0);
19900}
19901impl acamera_metadata_enum_acamera_lens_state {
19902    pub const ACAMERA_LENS_STATE_MOVING: acamera_metadata_enum_acamera_lens_state =
19903        acamera_metadata_enum_acamera_lens_state(1);
19904}
19905#[repr(transparent)]
19906#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19907pub struct acamera_metadata_enum_acamera_lens_state(pub ::std::os::raw::c_uint);
19908pub use self::acamera_metadata_enum_acamera_lens_state as acamera_metadata_enum_android_lens_state_t;
19909impl acamera_metadata_enum_acamera_lens_pose_reference {
19910    pub const ACAMERA_LENS_POSE_REFERENCE_PRIMARY_CAMERA:
19911        acamera_metadata_enum_acamera_lens_pose_reference =
19912        acamera_metadata_enum_acamera_lens_pose_reference(0);
19913}
19914impl acamera_metadata_enum_acamera_lens_pose_reference {
19915    pub const ACAMERA_LENS_POSE_REFERENCE_GYROSCOPE:
19916        acamera_metadata_enum_acamera_lens_pose_reference =
19917        acamera_metadata_enum_acamera_lens_pose_reference(1);
19918}
19919impl acamera_metadata_enum_acamera_lens_pose_reference {
19920    pub const ACAMERA_LENS_POSE_REFERENCE_UNDEFINED:
19921        acamera_metadata_enum_acamera_lens_pose_reference =
19922        acamera_metadata_enum_acamera_lens_pose_reference(2);
19923}
19924impl acamera_metadata_enum_acamera_lens_pose_reference {
19925    pub const ACAMERA_LENS_POSE_REFERENCE_AUTOMOTIVE:
19926        acamera_metadata_enum_acamera_lens_pose_reference =
19927        acamera_metadata_enum_acamera_lens_pose_reference(3);
19928}
19929#[repr(transparent)]
19930#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19931pub struct acamera_metadata_enum_acamera_lens_pose_reference(pub ::std::os::raw::c_uint);
19932pub use self::acamera_metadata_enum_acamera_lens_pose_reference as acamera_metadata_enum_android_lens_pose_reference_t;
19933impl acamera_metadata_enum_acamera_lens_info_focus_distance_calibration {
19934    pub const ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED:
19935        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration =
19936        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration(0);
19937}
19938impl acamera_metadata_enum_acamera_lens_info_focus_distance_calibration {
19939    pub const ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE:
19940        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration =
19941        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration(1);
19942}
19943impl acamera_metadata_enum_acamera_lens_info_focus_distance_calibration {
19944    pub const ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED:
19945        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration =
19946        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration(2);
19947}
19948#[repr(transparent)]
19949#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19950pub struct acamera_metadata_enum_acamera_lens_info_focus_distance_calibration(
19951    pub ::std::os::raw::c_uint,
19952);
19953pub use self::acamera_metadata_enum_acamera_lens_info_focus_distance_calibration as acamera_metadata_enum_android_lens_info_focus_distance_calibration_t;
19954impl acamera_metadata_enum_acamera_noise_reduction_mode {
19955    pub const ACAMERA_NOISE_REDUCTION_MODE_OFF: acamera_metadata_enum_acamera_noise_reduction_mode =
19956        acamera_metadata_enum_acamera_noise_reduction_mode(0);
19957}
19958impl acamera_metadata_enum_acamera_noise_reduction_mode {
19959    pub const ACAMERA_NOISE_REDUCTION_MODE_FAST:
19960        acamera_metadata_enum_acamera_noise_reduction_mode =
19961        acamera_metadata_enum_acamera_noise_reduction_mode(1);
19962}
19963impl acamera_metadata_enum_acamera_noise_reduction_mode {
19964    pub const ACAMERA_NOISE_REDUCTION_MODE_HIGH_QUALITY:
19965        acamera_metadata_enum_acamera_noise_reduction_mode =
19966        acamera_metadata_enum_acamera_noise_reduction_mode(2);
19967}
19968impl acamera_metadata_enum_acamera_noise_reduction_mode {
19969    pub const ACAMERA_NOISE_REDUCTION_MODE_MINIMAL:
19970        acamera_metadata_enum_acamera_noise_reduction_mode =
19971        acamera_metadata_enum_acamera_noise_reduction_mode(3);
19972}
19973impl acamera_metadata_enum_acamera_noise_reduction_mode {
19974    pub const ACAMERA_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG:
19975        acamera_metadata_enum_acamera_noise_reduction_mode =
19976        acamera_metadata_enum_acamera_noise_reduction_mode(4);
19977}
19978#[repr(transparent)]
19979#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19980pub struct acamera_metadata_enum_acamera_noise_reduction_mode(pub ::std::os::raw::c_uint);
19981pub use self::acamera_metadata_enum_acamera_noise_reduction_mode as acamera_metadata_enum_android_noise_reduction_mode_t;
19982impl acamera_metadata_enum_acamera_request_available_capabilities {
19983    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE:
19984        acamera_metadata_enum_acamera_request_available_capabilities =
19985        acamera_metadata_enum_acamera_request_available_capabilities(0);
19986}
19987impl acamera_metadata_enum_acamera_request_available_capabilities {
19988    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR:
19989        acamera_metadata_enum_acamera_request_available_capabilities =
19990        acamera_metadata_enum_acamera_request_available_capabilities(1);
19991}
19992impl acamera_metadata_enum_acamera_request_available_capabilities {
19993    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING:
19994        acamera_metadata_enum_acamera_request_available_capabilities =
19995        acamera_metadata_enum_acamera_request_available_capabilities(2);
19996}
19997impl acamera_metadata_enum_acamera_request_available_capabilities {
19998    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_RAW:
19999        acamera_metadata_enum_acamera_request_available_capabilities =
20000        acamera_metadata_enum_acamera_request_available_capabilities(3);
20001}
20002impl acamera_metadata_enum_acamera_request_available_capabilities {
20003    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS:
20004        acamera_metadata_enum_acamera_request_available_capabilities =
20005        acamera_metadata_enum_acamera_request_available_capabilities(5);
20006}
20007impl acamera_metadata_enum_acamera_request_available_capabilities {
20008    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE:
20009        acamera_metadata_enum_acamera_request_available_capabilities =
20010        acamera_metadata_enum_acamera_request_available_capabilities(6);
20011}
20012impl acamera_metadata_enum_acamera_request_available_capabilities {
20013    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT:
20014        acamera_metadata_enum_acamera_request_available_capabilities =
20015        acamera_metadata_enum_acamera_request_available_capabilities(8);
20016}
20017impl acamera_metadata_enum_acamera_request_available_capabilities {
20018    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING:
20019        acamera_metadata_enum_acamera_request_available_capabilities =
20020        acamera_metadata_enum_acamera_request_available_capabilities(10);
20021}
20022impl acamera_metadata_enum_acamera_request_available_capabilities {
20023    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA:
20024        acamera_metadata_enum_acamera_request_available_capabilities =
20025        acamera_metadata_enum_acamera_request_available_capabilities(11);
20026}
20027impl acamera_metadata_enum_acamera_request_available_capabilities {
20028    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME:
20029        acamera_metadata_enum_acamera_request_available_capabilities =
20030        acamera_metadata_enum_acamera_request_available_capabilities(12);
20031}
20032impl acamera_metadata_enum_acamera_request_available_capabilities {
20033    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA:
20034        acamera_metadata_enum_acamera_request_available_capabilities =
20035        acamera_metadata_enum_acamera_request_available_capabilities(13);
20036}
20037impl acamera_metadata_enum_acamera_request_available_capabilities {
20038    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA:
20039        acamera_metadata_enum_acamera_request_available_capabilities =
20040        acamera_metadata_enum_acamera_request_available_capabilities(14);
20041}
20042impl acamera_metadata_enum_acamera_request_available_capabilities {
20043    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR:
20044        acamera_metadata_enum_acamera_request_available_capabilities =
20045        acamera_metadata_enum_acamera_request_available_capabilities(16);
20046}
20047impl acamera_metadata_enum_acamera_request_available_capabilities {
20048    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE:
20049        acamera_metadata_enum_acamera_request_available_capabilities =
20050        acamera_metadata_enum_acamera_request_available_capabilities(19);
20051}
20052#[repr(transparent)]
20053#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20054pub struct acamera_metadata_enum_acamera_request_available_capabilities(pub ::std::os::raw::c_uint);
20055pub use self::acamera_metadata_enum_acamera_request_available_capabilities as acamera_metadata_enum_android_request_available_capabilities_t;
20056impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
20057    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD:
20058        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
20059        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(1);
20060}
20061impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
20062    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HLG10:
20063        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
20064        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(2);
20065}
20066impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
20067    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10:
20068        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
20069        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(4);
20070}
20071impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
20072    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10_PLUS:
20073        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
20074        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(8);
20075}
20076impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
20077    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_REF:
20078        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
20079        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(16);
20080}
20081impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
20082    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_REF_PO:
20083        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
20084        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(32);
20085}
20086impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
20087    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_OEM:
20088        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
20089        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(64);
20090}
20091impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
20092    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_OEM_PO:
20093        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
20094        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(128);
20095}
20096impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
20097    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_REF:
20098        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
20099        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(256);
20100}
20101impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
20102    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_REF_PO:
20103        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
20104        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(512);
20105}
20106impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
20107    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_OEM:
20108        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
20109        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(1024);
20110}
20111impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
20112    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_OEM_PO:
20113        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
20114        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(2048);
20115}
20116impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
20117    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_MAX:
20118        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
20119        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(4096);
20120}
20121#[repr(transparent)]
20122#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20123pub struct acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(
20124    pub ::std::os::raw::c_uint,
20125);
20126pub use self::acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map as acamera_metadata_enum_android_request_available_dynamic_range_profiles_map_t;
20127impl acamera_metadata_enum_acamera_request_available_color_space_profiles_map {
20128    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED:
20129        acamera_metadata_enum_acamera_request_available_color_space_profiles_map =
20130        acamera_metadata_enum_acamera_request_available_color_space_profiles_map(-1);
20131}
20132impl acamera_metadata_enum_acamera_request_available_color_space_profiles_map {
20133    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_SRGB:
20134        acamera_metadata_enum_acamera_request_available_color_space_profiles_map =
20135        acamera_metadata_enum_acamera_request_available_color_space_profiles_map(0);
20136}
20137impl acamera_metadata_enum_acamera_request_available_color_space_profiles_map {
20138    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_DISPLAY_P3:
20139        acamera_metadata_enum_acamera_request_available_color_space_profiles_map =
20140        acamera_metadata_enum_acamera_request_available_color_space_profiles_map(7);
20141}
20142impl acamera_metadata_enum_acamera_request_available_color_space_profiles_map {
20143    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_BT2020_HLG:
20144        acamera_metadata_enum_acamera_request_available_color_space_profiles_map =
20145        acamera_metadata_enum_acamera_request_available_color_space_profiles_map(16);
20146}
20147#[repr(transparent)]
20148#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20149pub struct acamera_metadata_enum_acamera_request_available_color_space_profiles_map(
20150    pub ::std::os::raw::c_int,
20151);
20152pub use self::acamera_metadata_enum_acamera_request_available_color_space_profiles_map as acamera_metadata_enum_android_request_available_color_space_profiles_map_t;
20153impl acamera_metadata_enum_acamera_scaler_available_stream_configurations {
20154    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT:
20155        acamera_metadata_enum_acamera_scaler_available_stream_configurations =
20156        acamera_metadata_enum_acamera_scaler_available_stream_configurations(0);
20157}
20158impl acamera_metadata_enum_acamera_scaler_available_stream_configurations {
20159    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT:
20160        acamera_metadata_enum_acamera_scaler_available_stream_configurations =
20161        acamera_metadata_enum_acamera_scaler_available_stream_configurations(1);
20162}
20163#[repr(transparent)]
20164#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20165pub struct acamera_metadata_enum_acamera_scaler_available_stream_configurations(
20166    pub ::std::os::raw::c_uint,
20167);
20168pub use self::acamera_metadata_enum_acamera_scaler_available_stream_configurations as acamera_metadata_enum_android_scaler_available_stream_configurations_t;
20169impl acamera_metadata_enum_acamera_scaler_cropping_type {
20170    pub const ACAMERA_SCALER_CROPPING_TYPE_CENTER_ONLY:
20171        acamera_metadata_enum_acamera_scaler_cropping_type =
20172        acamera_metadata_enum_acamera_scaler_cropping_type(0);
20173}
20174impl acamera_metadata_enum_acamera_scaler_cropping_type {
20175    pub const ACAMERA_SCALER_CROPPING_TYPE_FREEFORM:
20176        acamera_metadata_enum_acamera_scaler_cropping_type =
20177        acamera_metadata_enum_acamera_scaler_cropping_type(1);
20178}
20179#[repr(transparent)]
20180#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20181pub struct acamera_metadata_enum_acamera_scaler_cropping_type(pub ::std::os::raw::c_uint);
20182pub use self::acamera_metadata_enum_acamera_scaler_cropping_type as acamera_metadata_enum_android_scaler_cropping_type_t;
20183impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
20184    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PREVIEW:
20185        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
20186        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(0);
20187}
20188impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
20189    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RECORD:
20190        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
20191        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(1);
20192}
20193impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
20194    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VIDEO_SNAPSHOT:
20195        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
20196        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(2);
20197}
20198impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
20199    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_SNAPSHOT:
20200        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
20201        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(3);
20202}
20203impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
20204    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_ZSL:
20205        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
20206        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(4);
20207}
20208impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
20209    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RAW:
20210        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
20211        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(5);
20212}
20213impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
20214    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_LOW_LATENCY_SNAPSHOT:
20215        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
20216        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(6);
20217}
20218impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
20219    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PUBLIC_END:
20220        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
20221        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(7);
20222}
20223impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
20224    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_10BIT_OUTPUT:
20225        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
20226        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(8);
20227}
20228impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
20229    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PUBLIC_END_3_8:
20230        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
20231        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(9);
20232}
20233impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
20234    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VENDOR_START:
20235        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
20236        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(24);
20237}
20238#[repr(transparent)]
20239#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20240pub struct acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(
20241    pub ::std::os::raw::c_uint,
20242);
20243pub use self::acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations as acamera_metadata_enum_android_scaler_available_recommended_stream_configurations_t;
20244impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
20245    pub const ACAMERA_SCALER_ROTATE_AND_CROP_NONE:
20246        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
20247        acamera_metadata_enum_acamera_scaler_rotate_and_crop(0);
20248}
20249impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
20250    pub const ACAMERA_SCALER_ROTATE_AND_CROP_90:
20251        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
20252        acamera_metadata_enum_acamera_scaler_rotate_and_crop(1);
20253}
20254impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
20255    pub const ACAMERA_SCALER_ROTATE_AND_CROP_180:
20256        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
20257        acamera_metadata_enum_acamera_scaler_rotate_and_crop(2);
20258}
20259impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
20260    pub const ACAMERA_SCALER_ROTATE_AND_CROP_270:
20261        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
20262        acamera_metadata_enum_acamera_scaler_rotate_and_crop(3);
20263}
20264impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
20265    pub const ACAMERA_SCALER_ROTATE_AND_CROP_AUTO:
20266        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
20267        acamera_metadata_enum_acamera_scaler_rotate_and_crop(4);
20268}
20269#[repr(transparent)]
20270#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20271pub struct acamera_metadata_enum_acamera_scaler_rotate_and_crop(pub ::std::os::raw::c_uint);
20272pub use self::acamera_metadata_enum_acamera_scaler_rotate_and_crop as acamera_metadata_enum_android_scaler_rotate_and_crop_t;
20273impl acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations {
20274    pub const ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_OUTPUT:
20275        acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations =
20276        acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations(
20277            0,
20278        );
20279}
20280impl acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations {
20281    pub const ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_INPUT:
20282        acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations =
20283        acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations(
20284            1,
20285        );
20286}
20287#[repr(transparent)]
20288#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20289pub struct acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations(
20290    pub ::std::os::raw::c_uint,
20291);
20292pub use self::acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations as acamera_metadata_enum_android_scaler_physical_camera_multi_resolution_stream_configurations_t;
20293impl acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution {
20294    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
20295        acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution =
20296        acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution(0);
20297}
20298impl acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution {
20299    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
20300        acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution =
20301        acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution(1);
20302}
20303#[repr(transparent)]
20304#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20305pub struct acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution(
20306    pub ::std::os::raw::c_uint,
20307);
20308pub use self::acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution as acamera_metadata_enum_android_scaler_available_stream_configurations_maximum_resolution_t;
20309impl acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported {
20310    pub const ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_FALSE:
20311        acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported =
20312        acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported(0);
20313}
20314impl acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported {
20315    pub const ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_TRUE:
20316        acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported =
20317        acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported(1);
20318}
20319#[repr(transparent)]
20320#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20321pub struct acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported(
20322    pub ::std::os::raw::c_uint,
20323);
20324pub use self::acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported as acamera_metadata_enum_android_scaler_multi_resolution_stream_supported_t;
20325impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
20326    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT:
20327        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
20328        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(0);
20329}
20330impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
20331    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW:
20332        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
20333        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(1);
20334}
20335impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
20336    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_STILL_CAPTURE:
20337        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
20338        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(2);
20339}
20340impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
20341    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_RECORD:
20342        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
20343        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(3);
20344}
20345impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
20346    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW_VIDEO_STILL:
20347        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
20348        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(4);
20349}
20350impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
20351    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_CALL:
20352        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
20353        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(5);
20354}
20355impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
20356    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW:
20357        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
20358        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(6);
20359}
20360#[repr(transparent)]
20361#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20362pub struct acamera_metadata_enum_acamera_scaler_available_stream_use_cases(
20363    pub ::std::os::raw::c_uint,
20364);
20365pub use self::acamera_metadata_enum_acamera_scaler_available_stream_use_cases as acamera_metadata_enum_android_scaler_available_stream_use_cases_t;
20366impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20367    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT:
20368        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20369        acamera_metadata_enum_acamera_sensor_reference_illuminant1(1);
20370}
20371impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20372    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT:
20373        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20374        acamera_metadata_enum_acamera_sensor_reference_illuminant1(2);
20375}
20376impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20377    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN:
20378        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20379        acamera_metadata_enum_acamera_sensor_reference_illuminant1(3);
20380}
20381impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20382    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLASH:
20383        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20384        acamera_metadata_enum_acamera_sensor_reference_illuminant1(4);
20385}
20386impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20387    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER:
20388        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20389        acamera_metadata_enum_acamera_sensor_reference_illuminant1(9);
20390}
20391impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20392    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER:
20393        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20394        acamera_metadata_enum_acamera_sensor_reference_illuminant1(10);
20395}
20396impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20397    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_SHADE:
20398        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20399        acamera_metadata_enum_acamera_sensor_reference_illuminant1(11);
20400}
20401impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20402    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT:
20403        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20404        acamera_metadata_enum_acamera_sensor_reference_illuminant1(12);
20405}
20406impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20407    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT:
20408        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20409        acamera_metadata_enum_acamera_sensor_reference_illuminant1(13);
20410}
20411impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20412    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT:
20413        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20414        acamera_metadata_enum_acamera_sensor_reference_illuminant1(14);
20415}
20416impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20417    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT:
20418        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20419        acamera_metadata_enum_acamera_sensor_reference_illuminant1(15);
20420}
20421impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20422    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A:
20423        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20424        acamera_metadata_enum_acamera_sensor_reference_illuminant1(17);
20425}
20426impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20427    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B:
20428        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20429        acamera_metadata_enum_acamera_sensor_reference_illuminant1(18);
20430}
20431impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20432    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C:
20433        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20434        acamera_metadata_enum_acamera_sensor_reference_illuminant1(19);
20435}
20436impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20437    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D55:
20438        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20439        acamera_metadata_enum_acamera_sensor_reference_illuminant1(20);
20440}
20441impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20442    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D65:
20443        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20444        acamera_metadata_enum_acamera_sensor_reference_illuminant1(21);
20445}
20446impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20447    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D75:
20448        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20449        acamera_metadata_enum_acamera_sensor_reference_illuminant1(22);
20450}
20451impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20452    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D50:
20453        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20454        acamera_metadata_enum_acamera_sensor_reference_illuminant1(23);
20455}
20456impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20457    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN:
20458        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20459        acamera_metadata_enum_acamera_sensor_reference_illuminant1(24);
20460}
20461#[repr(transparent)]
20462#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20463pub struct acamera_metadata_enum_acamera_sensor_reference_illuminant1(pub ::std::os::raw::c_uint);
20464pub use self::acamera_metadata_enum_acamera_sensor_reference_illuminant1 as acamera_metadata_enum_android_sensor_reference_illuminant1_t;
20465impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
20466    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_OFF:
20467        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
20468        acamera_metadata_enum_acamera_sensor_test_pattern_mode(0);
20469}
20470impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
20471    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR:
20472        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
20473        acamera_metadata_enum_acamera_sensor_test_pattern_mode(1);
20474}
20475impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
20476    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS:
20477        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
20478        acamera_metadata_enum_acamera_sensor_test_pattern_mode(2);
20479}
20480impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
20481    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY:
20482        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
20483        acamera_metadata_enum_acamera_sensor_test_pattern_mode(3);
20484}
20485impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
20486    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_PN9:
20487        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
20488        acamera_metadata_enum_acamera_sensor_test_pattern_mode(4);
20489}
20490impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
20491    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_CUSTOM1:
20492        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
20493        acamera_metadata_enum_acamera_sensor_test_pattern_mode(256);
20494}
20495#[repr(transparent)]
20496#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20497pub struct acamera_metadata_enum_acamera_sensor_test_pattern_mode(pub ::std::os::raw::c_uint);
20498pub use self::acamera_metadata_enum_acamera_sensor_test_pattern_mode as acamera_metadata_enum_android_sensor_test_pattern_mode_t;
20499impl acamera_metadata_enum_acamera_sensor_pixel_mode {
20500    pub const ACAMERA_SENSOR_PIXEL_MODE_DEFAULT: acamera_metadata_enum_acamera_sensor_pixel_mode =
20501        acamera_metadata_enum_acamera_sensor_pixel_mode(0);
20502}
20503impl acamera_metadata_enum_acamera_sensor_pixel_mode {
20504    pub const ACAMERA_SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION:
20505        acamera_metadata_enum_acamera_sensor_pixel_mode =
20506        acamera_metadata_enum_acamera_sensor_pixel_mode(1);
20507}
20508#[repr(transparent)]
20509#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20510pub struct acamera_metadata_enum_acamera_sensor_pixel_mode(pub ::std::os::raw::c_uint);
20511pub use self::acamera_metadata_enum_acamera_sensor_pixel_mode as acamera_metadata_enum_android_sensor_pixel_mode_t;
20512impl acamera_metadata_enum_acamera_sensor_raw_binning_factor_used {
20513    pub const ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED_TRUE:
20514        acamera_metadata_enum_acamera_sensor_raw_binning_factor_used =
20515        acamera_metadata_enum_acamera_sensor_raw_binning_factor_used(0);
20516}
20517impl acamera_metadata_enum_acamera_sensor_raw_binning_factor_used {
20518    pub const ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED_FALSE:
20519        acamera_metadata_enum_acamera_sensor_raw_binning_factor_used =
20520        acamera_metadata_enum_acamera_sensor_raw_binning_factor_used(1);
20521}
20522#[repr(transparent)]
20523#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20524pub struct acamera_metadata_enum_acamera_sensor_raw_binning_factor_used(pub ::std::os::raw::c_uint);
20525pub use self::acamera_metadata_enum_acamera_sensor_raw_binning_factor_used as acamera_metadata_enum_android_sensor_raw_binning_factor_used_t;
20526impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
20527    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB:
20528        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
20529        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(0);
20530}
20531impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
20532    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG:
20533        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
20534        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(1);
20535}
20536impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
20537    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG:
20538        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
20539        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(2);
20540}
20541impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
20542    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR:
20543        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
20544        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(3);
20545}
20546impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
20547    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB:
20548        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
20549        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(4);
20550}
20551impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
20552    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO:
20553        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
20554        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(5);
20555}
20556impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
20557    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR:
20558        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
20559        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(6);
20560}
20561#[repr(transparent)]
20562#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20563pub struct acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(
20564    pub ::std::os::raw::c_uint,
20565);
20566pub use self::acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement as acamera_metadata_enum_android_sensor_info_color_filter_arrangement_t;
20567impl acamera_metadata_enum_acamera_sensor_info_timestamp_source {
20568    pub const ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN:
20569        acamera_metadata_enum_acamera_sensor_info_timestamp_source =
20570        acamera_metadata_enum_acamera_sensor_info_timestamp_source(0);
20571}
20572impl acamera_metadata_enum_acamera_sensor_info_timestamp_source {
20573    pub const ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME:
20574        acamera_metadata_enum_acamera_sensor_info_timestamp_source =
20575        acamera_metadata_enum_acamera_sensor_info_timestamp_source(1);
20576}
20577#[repr(transparent)]
20578#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20579pub struct acamera_metadata_enum_acamera_sensor_info_timestamp_source(pub ::std::os::raw::c_uint);
20580pub use self::acamera_metadata_enum_acamera_sensor_info_timestamp_source as acamera_metadata_enum_android_sensor_info_timestamp_source_t;
20581impl acamera_metadata_enum_acamera_sensor_info_lens_shading_applied {
20582    pub const ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE:
20583        acamera_metadata_enum_acamera_sensor_info_lens_shading_applied =
20584        acamera_metadata_enum_acamera_sensor_info_lens_shading_applied(0);
20585}
20586impl acamera_metadata_enum_acamera_sensor_info_lens_shading_applied {
20587    pub const ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE:
20588        acamera_metadata_enum_acamera_sensor_info_lens_shading_applied =
20589        acamera_metadata_enum_acamera_sensor_info_lens_shading_applied(1);
20590}
20591#[repr(transparent)]
20592#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20593pub struct acamera_metadata_enum_acamera_sensor_info_lens_shading_applied(
20594    pub ::std::os::raw::c_uint,
20595);
20596pub use self::acamera_metadata_enum_acamera_sensor_info_lens_shading_applied as acamera_metadata_enum_android_sensor_info_lens_shading_applied_t;
20597impl acamera_metadata_enum_acamera_shading_mode {
20598    pub const ACAMERA_SHADING_MODE_OFF: acamera_metadata_enum_acamera_shading_mode =
20599        acamera_metadata_enum_acamera_shading_mode(0);
20600}
20601impl acamera_metadata_enum_acamera_shading_mode {
20602    pub const ACAMERA_SHADING_MODE_FAST: acamera_metadata_enum_acamera_shading_mode =
20603        acamera_metadata_enum_acamera_shading_mode(1);
20604}
20605impl acamera_metadata_enum_acamera_shading_mode {
20606    pub const ACAMERA_SHADING_MODE_HIGH_QUALITY: acamera_metadata_enum_acamera_shading_mode =
20607        acamera_metadata_enum_acamera_shading_mode(2);
20608}
20609#[repr(transparent)]
20610#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20611pub struct acamera_metadata_enum_acamera_shading_mode(pub ::std::os::raw::c_uint);
20612pub use self::acamera_metadata_enum_acamera_shading_mode as acamera_metadata_enum_android_shading_mode_t;
20613impl acamera_metadata_enum_acamera_statistics_face_detect_mode {
20614    pub const ACAMERA_STATISTICS_FACE_DETECT_MODE_OFF:
20615        acamera_metadata_enum_acamera_statistics_face_detect_mode =
20616        acamera_metadata_enum_acamera_statistics_face_detect_mode(0);
20617}
20618impl acamera_metadata_enum_acamera_statistics_face_detect_mode {
20619    pub const ACAMERA_STATISTICS_FACE_DETECT_MODE_SIMPLE:
20620        acamera_metadata_enum_acamera_statistics_face_detect_mode =
20621        acamera_metadata_enum_acamera_statistics_face_detect_mode(1);
20622}
20623impl acamera_metadata_enum_acamera_statistics_face_detect_mode {
20624    pub const ACAMERA_STATISTICS_FACE_DETECT_MODE_FULL:
20625        acamera_metadata_enum_acamera_statistics_face_detect_mode =
20626        acamera_metadata_enum_acamera_statistics_face_detect_mode(2);
20627}
20628#[repr(transparent)]
20629#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20630pub struct acamera_metadata_enum_acamera_statistics_face_detect_mode(pub ::std::os::raw::c_uint);
20631pub use self::acamera_metadata_enum_acamera_statistics_face_detect_mode as acamera_metadata_enum_android_statistics_face_detect_mode_t;
20632impl acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode {
20633    pub const ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_OFF:
20634        acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode =
20635        acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode(0);
20636}
20637impl acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode {
20638    pub const ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_ON:
20639        acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode =
20640        acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode(1);
20641}
20642#[repr(transparent)]
20643#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20644pub struct acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode(pub ::std::os::raw::c_uint);
20645pub use self::acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode as acamera_metadata_enum_android_statistics_hot_pixel_map_mode_t;
20646impl acamera_metadata_enum_acamera_statistics_scene_flicker {
20647    pub const ACAMERA_STATISTICS_SCENE_FLICKER_NONE:
20648        acamera_metadata_enum_acamera_statistics_scene_flicker =
20649        acamera_metadata_enum_acamera_statistics_scene_flicker(0);
20650}
20651impl acamera_metadata_enum_acamera_statistics_scene_flicker {
20652    pub const ACAMERA_STATISTICS_SCENE_FLICKER_50HZ:
20653        acamera_metadata_enum_acamera_statistics_scene_flicker =
20654        acamera_metadata_enum_acamera_statistics_scene_flicker(1);
20655}
20656impl acamera_metadata_enum_acamera_statistics_scene_flicker {
20657    pub const ACAMERA_STATISTICS_SCENE_FLICKER_60HZ:
20658        acamera_metadata_enum_acamera_statistics_scene_flicker =
20659        acamera_metadata_enum_acamera_statistics_scene_flicker(2);
20660}
20661#[repr(transparent)]
20662#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20663pub struct acamera_metadata_enum_acamera_statistics_scene_flicker(pub ::std::os::raw::c_uint);
20664pub use self::acamera_metadata_enum_acamera_statistics_scene_flicker as acamera_metadata_enum_android_statistics_scene_flicker_t;
20665impl acamera_metadata_enum_acamera_statistics_lens_shading_map_mode {
20666    pub const ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_OFF:
20667        acamera_metadata_enum_acamera_statistics_lens_shading_map_mode =
20668        acamera_metadata_enum_acamera_statistics_lens_shading_map_mode(0);
20669}
20670impl acamera_metadata_enum_acamera_statistics_lens_shading_map_mode {
20671    pub const ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_ON:
20672        acamera_metadata_enum_acamera_statistics_lens_shading_map_mode =
20673        acamera_metadata_enum_acamera_statistics_lens_shading_map_mode(1);
20674}
20675#[repr(transparent)]
20676#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20677pub struct acamera_metadata_enum_acamera_statistics_lens_shading_map_mode(
20678    pub ::std::os::raw::c_uint,
20679);
20680pub use self::acamera_metadata_enum_acamera_statistics_lens_shading_map_mode as acamera_metadata_enum_android_statistics_lens_shading_map_mode_t;
20681impl acamera_metadata_enum_acamera_statistics_ois_data_mode {
20682    pub const ACAMERA_STATISTICS_OIS_DATA_MODE_OFF:
20683        acamera_metadata_enum_acamera_statistics_ois_data_mode =
20684        acamera_metadata_enum_acamera_statistics_ois_data_mode(0);
20685}
20686impl acamera_metadata_enum_acamera_statistics_ois_data_mode {
20687    pub const ACAMERA_STATISTICS_OIS_DATA_MODE_ON:
20688        acamera_metadata_enum_acamera_statistics_ois_data_mode =
20689        acamera_metadata_enum_acamera_statistics_ois_data_mode(1);
20690}
20691#[repr(transparent)]
20692#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20693pub struct acamera_metadata_enum_acamera_statistics_ois_data_mode(pub ::std::os::raw::c_uint);
20694pub use self::acamera_metadata_enum_acamera_statistics_ois_data_mode as acamera_metadata_enum_android_statistics_ois_data_mode_t;
20695impl acamera_metadata_enum_acamera_tonemap_mode {
20696    pub const ACAMERA_TONEMAP_MODE_CONTRAST_CURVE: acamera_metadata_enum_acamera_tonemap_mode =
20697        acamera_metadata_enum_acamera_tonemap_mode(0);
20698}
20699impl acamera_metadata_enum_acamera_tonemap_mode {
20700    pub const ACAMERA_TONEMAP_MODE_FAST: acamera_metadata_enum_acamera_tonemap_mode =
20701        acamera_metadata_enum_acamera_tonemap_mode(1);
20702}
20703impl acamera_metadata_enum_acamera_tonemap_mode {
20704    pub const ACAMERA_TONEMAP_MODE_HIGH_QUALITY: acamera_metadata_enum_acamera_tonemap_mode =
20705        acamera_metadata_enum_acamera_tonemap_mode(2);
20706}
20707impl acamera_metadata_enum_acamera_tonemap_mode {
20708    pub const ACAMERA_TONEMAP_MODE_GAMMA_VALUE: acamera_metadata_enum_acamera_tonemap_mode =
20709        acamera_metadata_enum_acamera_tonemap_mode(3);
20710}
20711impl acamera_metadata_enum_acamera_tonemap_mode {
20712    pub const ACAMERA_TONEMAP_MODE_PRESET_CURVE: acamera_metadata_enum_acamera_tonemap_mode =
20713        acamera_metadata_enum_acamera_tonemap_mode(4);
20714}
20715#[repr(transparent)]
20716#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20717pub struct acamera_metadata_enum_acamera_tonemap_mode(pub ::std::os::raw::c_uint);
20718pub use self::acamera_metadata_enum_acamera_tonemap_mode as acamera_metadata_enum_android_tonemap_mode_t;
20719impl acamera_metadata_enum_acamera_tonemap_preset_curve {
20720    pub const ACAMERA_TONEMAP_PRESET_CURVE_SRGB:
20721        acamera_metadata_enum_acamera_tonemap_preset_curve =
20722        acamera_metadata_enum_acamera_tonemap_preset_curve(0);
20723}
20724impl acamera_metadata_enum_acamera_tonemap_preset_curve {
20725    pub const ACAMERA_TONEMAP_PRESET_CURVE_REC709:
20726        acamera_metadata_enum_acamera_tonemap_preset_curve =
20727        acamera_metadata_enum_acamera_tonemap_preset_curve(1);
20728}
20729#[repr(transparent)]
20730#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20731pub struct acamera_metadata_enum_acamera_tonemap_preset_curve(pub ::std::os::raw::c_uint);
20732pub use self::acamera_metadata_enum_acamera_tonemap_preset_curve as acamera_metadata_enum_android_tonemap_preset_curve_t;
20733impl acamera_metadata_enum_acamera_info_supported_hardware_level {
20734    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED:
20735        acamera_metadata_enum_acamera_info_supported_hardware_level =
20736        acamera_metadata_enum_acamera_info_supported_hardware_level(0);
20737}
20738impl acamera_metadata_enum_acamera_info_supported_hardware_level {
20739    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_FULL:
20740        acamera_metadata_enum_acamera_info_supported_hardware_level =
20741        acamera_metadata_enum_acamera_info_supported_hardware_level(1);
20742}
20743impl acamera_metadata_enum_acamera_info_supported_hardware_level {
20744    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY:
20745        acamera_metadata_enum_acamera_info_supported_hardware_level =
20746        acamera_metadata_enum_acamera_info_supported_hardware_level(2);
20747}
20748impl acamera_metadata_enum_acamera_info_supported_hardware_level {
20749    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_3:
20750        acamera_metadata_enum_acamera_info_supported_hardware_level =
20751        acamera_metadata_enum_acamera_info_supported_hardware_level(3);
20752}
20753impl acamera_metadata_enum_acamera_info_supported_hardware_level {
20754    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL:
20755        acamera_metadata_enum_acamera_info_supported_hardware_level =
20756        acamera_metadata_enum_acamera_info_supported_hardware_level(4);
20757}
20758#[repr(transparent)]
20759#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20760pub struct acamera_metadata_enum_acamera_info_supported_hardware_level(pub ::std::os::raw::c_uint);
20761pub use self::acamera_metadata_enum_acamera_info_supported_hardware_level as acamera_metadata_enum_android_info_supported_hardware_level_t;
20762impl acamera_metadata_enum_acamera_black_level_lock {
20763    pub const ACAMERA_BLACK_LEVEL_LOCK_OFF: acamera_metadata_enum_acamera_black_level_lock =
20764        acamera_metadata_enum_acamera_black_level_lock(0);
20765}
20766impl acamera_metadata_enum_acamera_black_level_lock {
20767    pub const ACAMERA_BLACK_LEVEL_LOCK_ON: acamera_metadata_enum_acamera_black_level_lock =
20768        acamera_metadata_enum_acamera_black_level_lock(1);
20769}
20770#[repr(transparent)]
20771#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20772pub struct acamera_metadata_enum_acamera_black_level_lock(pub ::std::os::raw::c_uint);
20773pub use self::acamera_metadata_enum_acamera_black_level_lock as acamera_metadata_enum_android_black_level_lock_t;
20774impl acamera_metadata_enum_acamera_sync_frame_number {
20775    pub const ACAMERA_SYNC_FRAME_NUMBER_CONVERGING:
20776        acamera_metadata_enum_acamera_sync_frame_number =
20777        acamera_metadata_enum_acamera_sync_frame_number(-1);
20778}
20779impl acamera_metadata_enum_acamera_sync_frame_number {
20780    pub const ACAMERA_SYNC_FRAME_NUMBER_UNKNOWN: acamera_metadata_enum_acamera_sync_frame_number =
20781        acamera_metadata_enum_acamera_sync_frame_number(-2);
20782}
20783#[repr(transparent)]
20784#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20785pub struct acamera_metadata_enum_acamera_sync_frame_number(pub ::std::os::raw::c_int);
20786pub use self::acamera_metadata_enum_acamera_sync_frame_number as acamera_metadata_enum_android_sync_frame_number_t;
20787impl acamera_metadata_enum_acamera_sync_max_latency {
20788    pub const ACAMERA_SYNC_MAX_LATENCY_PER_FRAME_CONTROL:
20789        acamera_metadata_enum_acamera_sync_max_latency =
20790        acamera_metadata_enum_acamera_sync_max_latency(0);
20791}
20792impl acamera_metadata_enum_acamera_sync_max_latency {
20793    pub const ACAMERA_SYNC_MAX_LATENCY_UNKNOWN: acamera_metadata_enum_acamera_sync_max_latency =
20794        acamera_metadata_enum_acamera_sync_max_latency(-1);
20795}
20796#[repr(transparent)]
20797#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20798pub struct acamera_metadata_enum_acamera_sync_max_latency(pub ::std::os::raw::c_int);
20799pub use self::acamera_metadata_enum_acamera_sync_max_latency as acamera_metadata_enum_android_sync_max_latency_t;
20800impl acamera_metadata_enum_acamera_depth_available_depth_stream_configurations {
20801    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT:
20802        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations =
20803        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations(0);
20804}
20805impl acamera_metadata_enum_acamera_depth_available_depth_stream_configurations {
20806    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT:
20807        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations =
20808        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations(1);
20809}
20810#[repr(transparent)]
20811#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20812pub struct acamera_metadata_enum_acamera_depth_available_depth_stream_configurations(
20813    pub ::std::os::raw::c_uint,
20814);
20815pub use self::acamera_metadata_enum_acamera_depth_available_depth_stream_configurations as acamera_metadata_enum_android_depth_available_depth_stream_configurations_t;
20816impl acamera_metadata_enum_acamera_depth_depth_is_exclusive {
20817    pub const ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE:
20818        acamera_metadata_enum_acamera_depth_depth_is_exclusive =
20819        acamera_metadata_enum_acamera_depth_depth_is_exclusive(0);
20820}
20821impl acamera_metadata_enum_acamera_depth_depth_is_exclusive {
20822    pub const ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE:
20823        acamera_metadata_enum_acamera_depth_depth_is_exclusive =
20824        acamera_metadata_enum_acamera_depth_depth_is_exclusive(1);
20825}
20826#[repr(transparent)]
20827#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20828pub struct acamera_metadata_enum_acamera_depth_depth_is_exclusive(pub ::std::os::raw::c_uint);
20829pub use self::acamera_metadata_enum_acamera_depth_depth_is_exclusive as acamera_metadata_enum_android_depth_depth_is_exclusive_t;
20830impl acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations {
20831    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_OUTPUT:
20832        acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations =
20833        acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations(0);
20834}
20835impl acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations {
20836    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_INPUT:
20837        acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations =
20838        acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations(1);
20839}
20840#[repr(transparent)]
20841#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20842pub struct acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations(
20843    pub ::std::os::raw::c_uint,
20844);
20845pub use self::acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations as acamera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_t;
20846impl acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution {
20847    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
20848        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution =
20849        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution(
20850            0,
20851        );
20852}
20853impl acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution {
20854    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
20855        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution =
20856        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution(
20857            1,
20858        );
20859}
20860#[repr(transparent)]
20861#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20862pub struct acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution(
20863    pub ::std::os::raw::c_uint,
20864);
20865pub use self::acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution as acamera_metadata_enum_android_depth_available_depth_stream_configurations_maximum_resolution_t;
20866impl acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution { pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT : acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution = acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution (0) ; }
20867impl acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution { pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT : acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution = acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution (1) ; }
20868#[repr(transparent)]
20869#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20870pub struct acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution(
20871    pub ::std::os::raw::c_uint,
20872);
20873pub use self::acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution as acamera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_maximum_resolution_t;
20874impl acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type {
20875    pub const ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE:
20876        acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type =
20877        acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type(0);
20878}
20879impl acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type {
20880    pub const ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED:
20881        acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type =
20882        acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type(1);
20883}
20884#[repr(transparent)]
20885#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20886pub struct acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type(
20887    pub ::std::os::raw::c_uint,
20888);
20889pub use self::acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type as acamera_metadata_enum_android_logical_multi_camera_sensor_sync_type_t;
20890impl acamera_metadata_enum_acamera_distortion_correction_mode {
20891    pub const ACAMERA_DISTORTION_CORRECTION_MODE_OFF:
20892        acamera_metadata_enum_acamera_distortion_correction_mode =
20893        acamera_metadata_enum_acamera_distortion_correction_mode(0);
20894}
20895impl acamera_metadata_enum_acamera_distortion_correction_mode {
20896    pub const ACAMERA_DISTORTION_CORRECTION_MODE_FAST:
20897        acamera_metadata_enum_acamera_distortion_correction_mode =
20898        acamera_metadata_enum_acamera_distortion_correction_mode(1);
20899}
20900impl acamera_metadata_enum_acamera_distortion_correction_mode {
20901    pub const ACAMERA_DISTORTION_CORRECTION_MODE_HIGH_QUALITY:
20902        acamera_metadata_enum_acamera_distortion_correction_mode =
20903        acamera_metadata_enum_acamera_distortion_correction_mode(2);
20904}
20905#[repr(transparent)]
20906#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20907pub struct acamera_metadata_enum_acamera_distortion_correction_mode(pub ::std::os::raw::c_uint);
20908pub use self::acamera_metadata_enum_acamera_distortion_correction_mode as acamera_metadata_enum_android_distortion_correction_mode_t;
20909impl acamera_metadata_enum_acamera_heic_available_heic_stream_configurations {
20910    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_OUTPUT:
20911        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations =
20912        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations(0);
20913}
20914impl acamera_metadata_enum_acamera_heic_available_heic_stream_configurations {
20915    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_INPUT:
20916        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations =
20917        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations(1);
20918}
20919#[repr(transparent)]
20920#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20921pub struct acamera_metadata_enum_acamera_heic_available_heic_stream_configurations(
20922    pub ::std::os::raw::c_uint,
20923);
20924pub use self::acamera_metadata_enum_acamera_heic_available_heic_stream_configurations as acamera_metadata_enum_android_heic_available_heic_stream_configurations_t;
20925impl acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution {
20926    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
20927        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution =
20928        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution(
20929            0,
20930        );
20931}
20932impl acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution {
20933    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
20934        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution =
20935        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution(
20936            1,
20937        );
20938}
20939#[repr(transparent)]
20940#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20941pub struct acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution(
20942    pub ::std::os::raw::c_uint,
20943);
20944pub use self::acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution as acamera_metadata_enum_android_heic_available_heic_stream_configurations_maximum_resolution_t;
20945impl acamera_metadata_enum_acamera_automotive_location {
20946    pub const ACAMERA_AUTOMOTIVE_LOCATION_INTERIOR:
20947        acamera_metadata_enum_acamera_automotive_location =
20948        acamera_metadata_enum_acamera_automotive_location(0);
20949}
20950impl acamera_metadata_enum_acamera_automotive_location {
20951    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_OTHER:
20952        acamera_metadata_enum_acamera_automotive_location =
20953        acamera_metadata_enum_acamera_automotive_location(1);
20954}
20955impl acamera_metadata_enum_acamera_automotive_location {
20956    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_FRONT:
20957        acamera_metadata_enum_acamera_automotive_location =
20958        acamera_metadata_enum_acamera_automotive_location(2);
20959}
20960impl acamera_metadata_enum_acamera_automotive_location {
20961    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_REAR:
20962        acamera_metadata_enum_acamera_automotive_location =
20963        acamera_metadata_enum_acamera_automotive_location(3);
20964}
20965impl acamera_metadata_enum_acamera_automotive_location {
20966    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_LEFT:
20967        acamera_metadata_enum_acamera_automotive_location =
20968        acamera_metadata_enum_acamera_automotive_location(4);
20969}
20970impl acamera_metadata_enum_acamera_automotive_location {
20971    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_RIGHT:
20972        acamera_metadata_enum_acamera_automotive_location =
20973        acamera_metadata_enum_acamera_automotive_location(5);
20974}
20975impl acamera_metadata_enum_acamera_automotive_location {
20976    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_OTHER:
20977        acamera_metadata_enum_acamera_automotive_location =
20978        acamera_metadata_enum_acamera_automotive_location(6);
20979}
20980impl acamera_metadata_enum_acamera_automotive_location {
20981    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_FRONT:
20982        acamera_metadata_enum_acamera_automotive_location =
20983        acamera_metadata_enum_acamera_automotive_location(7);
20984}
20985impl acamera_metadata_enum_acamera_automotive_location {
20986    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_REAR:
20987        acamera_metadata_enum_acamera_automotive_location =
20988        acamera_metadata_enum_acamera_automotive_location(8);
20989}
20990impl acamera_metadata_enum_acamera_automotive_location {
20991    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_LEFT:
20992        acamera_metadata_enum_acamera_automotive_location =
20993        acamera_metadata_enum_acamera_automotive_location(9);
20994}
20995impl acamera_metadata_enum_acamera_automotive_location {
20996    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_RIGHT:
20997        acamera_metadata_enum_acamera_automotive_location =
20998        acamera_metadata_enum_acamera_automotive_location(10);
20999}
21000#[repr(transparent)]
21001#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21002pub struct acamera_metadata_enum_acamera_automotive_location(pub ::std::os::raw::c_uint);
21003pub use self::acamera_metadata_enum_acamera_automotive_location as acamera_metadata_enum_android_automotive_location_t;
21004impl acamera_metadata_enum_acamera_automotive_lens_facing {
21005    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_OTHER:
21006        acamera_metadata_enum_acamera_automotive_lens_facing =
21007        acamera_metadata_enum_acamera_automotive_lens_facing(0);
21008}
21009impl acamera_metadata_enum_acamera_automotive_lens_facing {
21010    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_FRONT:
21011        acamera_metadata_enum_acamera_automotive_lens_facing =
21012        acamera_metadata_enum_acamera_automotive_lens_facing(1);
21013}
21014impl acamera_metadata_enum_acamera_automotive_lens_facing {
21015    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_REAR:
21016        acamera_metadata_enum_acamera_automotive_lens_facing =
21017        acamera_metadata_enum_acamera_automotive_lens_facing(2);
21018}
21019impl acamera_metadata_enum_acamera_automotive_lens_facing {
21020    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_LEFT:
21021        acamera_metadata_enum_acamera_automotive_lens_facing =
21022        acamera_metadata_enum_acamera_automotive_lens_facing(3);
21023}
21024impl acamera_metadata_enum_acamera_automotive_lens_facing {
21025    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_RIGHT:
21026        acamera_metadata_enum_acamera_automotive_lens_facing =
21027        acamera_metadata_enum_acamera_automotive_lens_facing(4);
21028}
21029impl acamera_metadata_enum_acamera_automotive_lens_facing {
21030    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_OTHER:
21031        acamera_metadata_enum_acamera_automotive_lens_facing =
21032        acamera_metadata_enum_acamera_automotive_lens_facing(5);
21033}
21034impl acamera_metadata_enum_acamera_automotive_lens_facing {
21035    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_LEFT:
21036        acamera_metadata_enum_acamera_automotive_lens_facing =
21037        acamera_metadata_enum_acamera_automotive_lens_facing(6);
21038}
21039impl acamera_metadata_enum_acamera_automotive_lens_facing {
21040    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_CENTER:
21041        acamera_metadata_enum_acamera_automotive_lens_facing =
21042        acamera_metadata_enum_acamera_automotive_lens_facing(7);
21043}
21044impl acamera_metadata_enum_acamera_automotive_lens_facing {
21045    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_RIGHT:
21046        acamera_metadata_enum_acamera_automotive_lens_facing =
21047        acamera_metadata_enum_acamera_automotive_lens_facing(8);
21048}
21049impl acamera_metadata_enum_acamera_automotive_lens_facing {
21050    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_LEFT:
21051        acamera_metadata_enum_acamera_automotive_lens_facing =
21052        acamera_metadata_enum_acamera_automotive_lens_facing(9);
21053}
21054impl acamera_metadata_enum_acamera_automotive_lens_facing {
21055    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_CENTER:
21056        acamera_metadata_enum_acamera_automotive_lens_facing =
21057        acamera_metadata_enum_acamera_automotive_lens_facing(10);
21058}
21059impl acamera_metadata_enum_acamera_automotive_lens_facing {
21060    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_RIGHT:
21061        acamera_metadata_enum_acamera_automotive_lens_facing =
21062        acamera_metadata_enum_acamera_automotive_lens_facing(11);
21063}
21064impl acamera_metadata_enum_acamera_automotive_lens_facing {
21065    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_LEFT:
21066        acamera_metadata_enum_acamera_automotive_lens_facing =
21067        acamera_metadata_enum_acamera_automotive_lens_facing(12);
21068}
21069impl acamera_metadata_enum_acamera_automotive_lens_facing {
21070    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_CENTER:
21071        acamera_metadata_enum_acamera_automotive_lens_facing =
21072        acamera_metadata_enum_acamera_automotive_lens_facing(13);
21073}
21074impl acamera_metadata_enum_acamera_automotive_lens_facing {
21075    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_RIGHT:
21076        acamera_metadata_enum_acamera_automotive_lens_facing =
21077        acamera_metadata_enum_acamera_automotive_lens_facing(14);
21078}
21079#[repr(transparent)]
21080#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21081pub struct acamera_metadata_enum_acamera_automotive_lens_facing(pub ::std::os::raw::c_uint);
21082pub use self::acamera_metadata_enum_acamera_automotive_lens_facing as acamera_metadata_enum_android_automotive_lens_facing_t;
21083impl acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations {
21084    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_OUTPUT:
21085        acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations =
21086        acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations(0);
21087}
21088impl acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations {
21089    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_INPUT:
21090        acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations =
21091        acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations(1);
21092}
21093#[repr(transparent)]
21094#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21095pub struct acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations(
21096    pub ::std::os::raw::c_uint,
21097);
21098pub use self::acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations as acamera_metadata_enum_android_jpegr_available_jpeg_r_stream_configurations_t;
21099impl acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution {
21100    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT : acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution = acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution (0) ;
21101}
21102impl acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution {
21103    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT : acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution = acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution (1) ;
21104}
21105#[repr(transparent)]
21106#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21107pub struct acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution(
21108    pub ::std::os::raw::c_uint,
21109);
21110pub use self::acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution as acamera_metadata_enum_android_jpegr_available_jpeg_r_stream_configurations_maximum_resolution_t;
21111#[repr(C)]
21112#[derive(Debug, Copy, Clone)]
21113pub struct ACameraMetadata {
21114    _unused: [u8; 0],
21115}
21116pub const ACAMERA_TYPE_BYTE: _bindgen_ty_65 = 0;
21117pub const ACAMERA_TYPE_INT32: _bindgen_ty_65 = 1;
21118pub const ACAMERA_TYPE_FLOAT: _bindgen_ty_65 = 2;
21119pub const ACAMERA_TYPE_INT64: _bindgen_ty_65 = 3;
21120pub const ACAMERA_TYPE_DOUBLE: _bindgen_ty_65 = 4;
21121pub const ACAMERA_TYPE_RATIONAL: _bindgen_ty_65 = 5;
21122pub const ACAMERA_NUM_TYPES: _bindgen_ty_65 = 6;
21123pub type _bindgen_ty_65 = ::std::os::raw::c_uint;
21124#[repr(C)]
21125#[derive(Debug, Copy, Clone)]
21126pub struct ACameraMetadata_rational {
21127    pub numerator: i32,
21128    pub denominator: i32,
21129}
21130#[test]
21131fn bindgen_test_layout_ACameraMetadata_rational() {
21132    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_rational> =
21133        ::std::mem::MaybeUninit::uninit();
21134    let ptr = UNINIT.as_ptr();
21135    assert_eq!(
21136        ::std::mem::size_of::<ACameraMetadata_rational>(),
21137        8usize,
21138        concat!("Size of: ", stringify!(ACameraMetadata_rational))
21139    );
21140    assert_eq!(
21141        ::std::mem::align_of::<ACameraMetadata_rational>(),
21142        4usize,
21143        concat!("Alignment of ", stringify!(ACameraMetadata_rational))
21144    );
21145    assert_eq!(
21146        unsafe { ::std::ptr::addr_of!((*ptr).numerator) as usize - ptr as usize },
21147        0usize,
21148        concat!(
21149            "Offset of field: ",
21150            stringify!(ACameraMetadata_rational),
21151            "::",
21152            stringify!(numerator)
21153        )
21154    );
21155    assert_eq!(
21156        unsafe { ::std::ptr::addr_of!((*ptr).denominator) as usize - ptr as usize },
21157        4usize,
21158        concat!(
21159            "Offset of field: ",
21160            stringify!(ACameraMetadata_rational),
21161            "::",
21162            stringify!(denominator)
21163        )
21164    );
21165}
21166#[repr(C)]
21167#[derive(Copy, Clone)]
21168pub struct ACameraMetadata_entry {
21169    pub tag: u32,
21170    pub type_: u8,
21171    pub count: u32,
21172    pub data: ACameraMetadata_entry__bindgen_ty_1,
21173}
21174#[repr(C)]
21175#[derive(Copy, Clone)]
21176pub union ACameraMetadata_entry__bindgen_ty_1 {
21177    pub u8_: *mut u8,
21178    pub i32_: *mut i32,
21179    pub f: *mut f32,
21180    pub i64_: *mut i64,
21181    pub d: *mut f64,
21182    pub r: *mut ACameraMetadata_rational,
21183}
21184#[test]
21185fn bindgen_test_layout_ACameraMetadata_entry__bindgen_ty_1() {
21186    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_entry__bindgen_ty_1> =
21187        ::std::mem::MaybeUninit::uninit();
21188    let ptr = UNINIT.as_ptr();
21189    assert_eq!(
21190        ::std::mem::size_of::<ACameraMetadata_entry__bindgen_ty_1>(),
21191        4usize,
21192        concat!("Size of: ", stringify!(ACameraMetadata_entry__bindgen_ty_1))
21193    );
21194    assert_eq!(
21195        ::std::mem::align_of::<ACameraMetadata_entry__bindgen_ty_1>(),
21196        4usize,
21197        concat!(
21198            "Alignment of ",
21199            stringify!(ACameraMetadata_entry__bindgen_ty_1)
21200        )
21201    );
21202    assert_eq!(
21203        unsafe { ::std::ptr::addr_of!((*ptr).u8_) as usize - ptr as usize },
21204        0usize,
21205        concat!(
21206            "Offset of field: ",
21207            stringify!(ACameraMetadata_entry__bindgen_ty_1),
21208            "::",
21209            stringify!(u8_)
21210        )
21211    );
21212    assert_eq!(
21213        unsafe { ::std::ptr::addr_of!((*ptr).i32_) as usize - ptr as usize },
21214        0usize,
21215        concat!(
21216            "Offset of field: ",
21217            stringify!(ACameraMetadata_entry__bindgen_ty_1),
21218            "::",
21219            stringify!(i32_)
21220        )
21221    );
21222    assert_eq!(
21223        unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize },
21224        0usize,
21225        concat!(
21226            "Offset of field: ",
21227            stringify!(ACameraMetadata_entry__bindgen_ty_1),
21228            "::",
21229            stringify!(f)
21230        )
21231    );
21232    assert_eq!(
21233        unsafe { ::std::ptr::addr_of!((*ptr).i64_) as usize - ptr as usize },
21234        0usize,
21235        concat!(
21236            "Offset of field: ",
21237            stringify!(ACameraMetadata_entry__bindgen_ty_1),
21238            "::",
21239            stringify!(i64_)
21240        )
21241    );
21242    assert_eq!(
21243        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
21244        0usize,
21245        concat!(
21246            "Offset of field: ",
21247            stringify!(ACameraMetadata_entry__bindgen_ty_1),
21248            "::",
21249            stringify!(d)
21250        )
21251    );
21252    assert_eq!(
21253        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
21254        0usize,
21255        concat!(
21256            "Offset of field: ",
21257            stringify!(ACameraMetadata_entry__bindgen_ty_1),
21258            "::",
21259            stringify!(r)
21260        )
21261    );
21262}
21263#[test]
21264fn bindgen_test_layout_ACameraMetadata_entry() {
21265    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_entry> =
21266        ::std::mem::MaybeUninit::uninit();
21267    let ptr = UNINIT.as_ptr();
21268    assert_eq!(
21269        ::std::mem::size_of::<ACameraMetadata_entry>(),
21270        16usize,
21271        concat!("Size of: ", stringify!(ACameraMetadata_entry))
21272    );
21273    assert_eq!(
21274        ::std::mem::align_of::<ACameraMetadata_entry>(),
21275        4usize,
21276        concat!("Alignment of ", stringify!(ACameraMetadata_entry))
21277    );
21278    assert_eq!(
21279        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
21280        0usize,
21281        concat!(
21282            "Offset of field: ",
21283            stringify!(ACameraMetadata_entry),
21284            "::",
21285            stringify!(tag)
21286        )
21287    );
21288    assert_eq!(
21289        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
21290        4usize,
21291        concat!(
21292            "Offset of field: ",
21293            stringify!(ACameraMetadata_entry),
21294            "::",
21295            stringify!(type_)
21296        )
21297    );
21298    assert_eq!(
21299        unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
21300        8usize,
21301        concat!(
21302            "Offset of field: ",
21303            stringify!(ACameraMetadata_entry),
21304            "::",
21305            stringify!(count)
21306        )
21307    );
21308    assert_eq!(
21309        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
21310        12usize,
21311        concat!(
21312            "Offset of field: ",
21313            stringify!(ACameraMetadata_entry),
21314            "::",
21315            stringify!(data)
21316        )
21317    );
21318}
21319#[repr(C)]
21320#[derive(Copy, Clone)]
21321pub struct ACameraMetadata_const_entry {
21322    pub tag: u32,
21323    pub type_: u8,
21324    pub count: u32,
21325    pub data: ACameraMetadata_const_entry__bindgen_ty_1,
21326}
21327#[repr(C)]
21328#[derive(Copy, Clone)]
21329pub union ACameraMetadata_const_entry__bindgen_ty_1 {
21330    pub u8_: *const u8,
21331    pub i32_: *const i32,
21332    pub f: *const f32,
21333    pub i64_: *const i64,
21334    pub d: *const f64,
21335    pub r: *const ACameraMetadata_rational,
21336}
21337#[test]
21338fn bindgen_test_layout_ACameraMetadata_const_entry__bindgen_ty_1() {
21339    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_const_entry__bindgen_ty_1> =
21340        ::std::mem::MaybeUninit::uninit();
21341    let ptr = UNINIT.as_ptr();
21342    assert_eq!(
21343        ::std::mem::size_of::<ACameraMetadata_const_entry__bindgen_ty_1>(),
21344        4usize,
21345        concat!(
21346            "Size of: ",
21347            stringify!(ACameraMetadata_const_entry__bindgen_ty_1)
21348        )
21349    );
21350    assert_eq!(
21351        ::std::mem::align_of::<ACameraMetadata_const_entry__bindgen_ty_1>(),
21352        4usize,
21353        concat!(
21354            "Alignment of ",
21355            stringify!(ACameraMetadata_const_entry__bindgen_ty_1)
21356        )
21357    );
21358    assert_eq!(
21359        unsafe { ::std::ptr::addr_of!((*ptr).u8_) as usize - ptr as usize },
21360        0usize,
21361        concat!(
21362            "Offset of field: ",
21363            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
21364            "::",
21365            stringify!(u8_)
21366        )
21367    );
21368    assert_eq!(
21369        unsafe { ::std::ptr::addr_of!((*ptr).i32_) as usize - ptr as usize },
21370        0usize,
21371        concat!(
21372            "Offset of field: ",
21373            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
21374            "::",
21375            stringify!(i32_)
21376        )
21377    );
21378    assert_eq!(
21379        unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize },
21380        0usize,
21381        concat!(
21382            "Offset of field: ",
21383            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
21384            "::",
21385            stringify!(f)
21386        )
21387    );
21388    assert_eq!(
21389        unsafe { ::std::ptr::addr_of!((*ptr).i64_) as usize - ptr as usize },
21390        0usize,
21391        concat!(
21392            "Offset of field: ",
21393            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
21394            "::",
21395            stringify!(i64_)
21396        )
21397    );
21398    assert_eq!(
21399        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
21400        0usize,
21401        concat!(
21402            "Offset of field: ",
21403            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
21404            "::",
21405            stringify!(d)
21406        )
21407    );
21408    assert_eq!(
21409        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
21410        0usize,
21411        concat!(
21412            "Offset of field: ",
21413            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
21414            "::",
21415            stringify!(r)
21416        )
21417    );
21418}
21419#[test]
21420fn bindgen_test_layout_ACameraMetadata_const_entry() {
21421    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_const_entry> =
21422        ::std::mem::MaybeUninit::uninit();
21423    let ptr = UNINIT.as_ptr();
21424    assert_eq!(
21425        ::std::mem::size_of::<ACameraMetadata_const_entry>(),
21426        16usize,
21427        concat!("Size of: ", stringify!(ACameraMetadata_const_entry))
21428    );
21429    assert_eq!(
21430        ::std::mem::align_of::<ACameraMetadata_const_entry>(),
21431        4usize,
21432        concat!("Alignment of ", stringify!(ACameraMetadata_const_entry))
21433    );
21434    assert_eq!(
21435        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
21436        0usize,
21437        concat!(
21438            "Offset of field: ",
21439            stringify!(ACameraMetadata_const_entry),
21440            "::",
21441            stringify!(tag)
21442        )
21443    );
21444    assert_eq!(
21445        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
21446        4usize,
21447        concat!(
21448            "Offset of field: ",
21449            stringify!(ACameraMetadata_const_entry),
21450            "::",
21451            stringify!(type_)
21452        )
21453    );
21454    assert_eq!(
21455        unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
21456        8usize,
21457        concat!(
21458            "Offset of field: ",
21459            stringify!(ACameraMetadata_const_entry),
21460            "::",
21461            stringify!(count)
21462        )
21463    );
21464    assert_eq!(
21465        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
21466        12usize,
21467        concat!(
21468            "Offset of field: ",
21469            stringify!(ACameraMetadata_const_entry),
21470            "::",
21471            stringify!(data)
21472        )
21473    );
21474}
21475extern "C" {
21476    pub fn ACameraMetadata_getConstEntry(
21477        metadata: *const ACameraMetadata,
21478        tag: u32,
21479        entry: *mut ACameraMetadata_const_entry,
21480    ) -> camera_status_t;
21481}
21482extern "C" {
21483    pub fn ACameraMetadata_getAllTags(
21484        metadata: *const ACameraMetadata,
21485        numEntries: *mut i32,
21486        tags: *mut *const u32,
21487    ) -> camera_status_t;
21488}
21489extern "C" {
21490    pub fn ACameraMetadata_copy(src: *const ACameraMetadata) -> *mut ACameraMetadata;
21491}
21492extern "C" {
21493    pub fn ACameraMetadata_free(metadata: *mut ACameraMetadata);
21494}
21495extern "C" {
21496    pub fn ACameraMetadata_isLogicalMultiCamera(
21497        staticMetadata: *const ACameraMetadata,
21498        numPhysicalCameras: *mut usize,
21499        physicalCameraIds: *mut *const *const ::std::os::raw::c_char,
21500    ) -> bool;
21501}
21502extern "C" {
21503    pub fn ACameraMetadata_fromCameraMetadata(
21504        env: *mut JNIEnv,
21505        cameraMetadata: jobject,
21506    ) -> *mut ACameraMetadata;
21507}
21508pub type ACameraWindowType = ANativeWindow;
21509#[repr(C)]
21510#[derive(Debug, Copy, Clone)]
21511pub struct ACameraOutputTargets {
21512    _unused: [u8; 0],
21513}
21514#[repr(C)]
21515#[derive(Debug, Copy, Clone)]
21516pub struct ACameraOutputTarget {
21517    _unused: [u8; 0],
21518}
21519#[repr(C)]
21520#[derive(Debug, Copy, Clone)]
21521pub struct ACaptureRequest {
21522    _unused: [u8; 0],
21523}
21524extern "C" {
21525    pub fn ACameraOutputTarget_create(
21526        window: *mut ACameraWindowType,
21527        output: *mut *mut ACameraOutputTarget,
21528    ) -> camera_status_t;
21529}
21530extern "C" {
21531    pub fn ACameraOutputTarget_free(output: *mut ACameraOutputTarget);
21532}
21533extern "C" {
21534    pub fn ACaptureRequest_addTarget(
21535        request: *mut ACaptureRequest,
21536        output: *const ACameraOutputTarget,
21537    ) -> camera_status_t;
21538}
21539extern "C" {
21540    pub fn ACaptureRequest_removeTarget(
21541        request: *mut ACaptureRequest,
21542        output: *const ACameraOutputTarget,
21543    ) -> camera_status_t;
21544}
21545extern "C" {
21546    pub fn ACaptureRequest_getConstEntry(
21547        request: *const ACaptureRequest,
21548        tag: u32,
21549        entry: *mut ACameraMetadata_const_entry,
21550    ) -> camera_status_t;
21551}
21552extern "C" {
21553    pub fn ACaptureRequest_getAllTags(
21554        request: *const ACaptureRequest,
21555        numTags: *mut i32,
21556        tags: *mut *const u32,
21557    ) -> camera_status_t;
21558}
21559extern "C" {
21560    pub fn ACaptureRequest_setEntry_u8(
21561        request: *mut ACaptureRequest,
21562        tag: u32,
21563        count: u32,
21564        data: *const u8,
21565    ) -> camera_status_t;
21566}
21567extern "C" {
21568    pub fn ACaptureRequest_setEntry_i32(
21569        request: *mut ACaptureRequest,
21570        tag: u32,
21571        count: u32,
21572        data: *const i32,
21573    ) -> camera_status_t;
21574}
21575extern "C" {
21576    pub fn ACaptureRequest_setEntry_float(
21577        request: *mut ACaptureRequest,
21578        tag: u32,
21579        count: u32,
21580        data: *const f32,
21581    ) -> camera_status_t;
21582}
21583extern "C" {
21584    pub fn ACaptureRequest_setEntry_i64(
21585        request: *mut ACaptureRequest,
21586        tag: u32,
21587        count: u32,
21588        data: *const i64,
21589    ) -> camera_status_t;
21590}
21591extern "C" {
21592    pub fn ACaptureRequest_setEntry_double(
21593        request: *mut ACaptureRequest,
21594        tag: u32,
21595        count: u32,
21596        data: *const f64,
21597    ) -> camera_status_t;
21598}
21599extern "C" {
21600    pub fn ACaptureRequest_setEntry_rational(
21601        request: *mut ACaptureRequest,
21602        tag: u32,
21603        count: u32,
21604        data: *const ACameraMetadata_rational,
21605    ) -> camera_status_t;
21606}
21607extern "C" {
21608    pub fn ACaptureRequest_free(request: *mut ACaptureRequest);
21609}
21610extern "C" {
21611    pub fn ACaptureRequest_setUserContext(
21612        request: *mut ACaptureRequest,
21613        context: *mut ::std::os::raw::c_void,
21614    ) -> camera_status_t;
21615}
21616extern "C" {
21617    pub fn ACaptureRequest_getUserContext(
21618        request: *const ACaptureRequest,
21619        context: *mut *mut ::std::os::raw::c_void,
21620    ) -> camera_status_t;
21621}
21622extern "C" {
21623    pub fn ACaptureRequest_copy(src: *const ACaptureRequest) -> *mut ACaptureRequest;
21624}
21625extern "C" {
21626    pub fn ACaptureRequest_getConstEntry_physicalCamera(
21627        request: *const ACaptureRequest,
21628        physicalId: *const ::std::os::raw::c_char,
21629        tag: u32,
21630        entry: *mut ACameraMetadata_const_entry,
21631    ) -> camera_status_t;
21632}
21633extern "C" {
21634    pub fn ACaptureRequest_setEntry_physicalCamera_u8(
21635        request: *mut ACaptureRequest,
21636        physicalId: *const ::std::os::raw::c_char,
21637        tag: u32,
21638        count: u32,
21639        data: *const u8,
21640    ) -> camera_status_t;
21641}
21642extern "C" {
21643    pub fn ACaptureRequest_setEntry_physicalCamera_i32(
21644        request: *mut ACaptureRequest,
21645        physicalId: *const ::std::os::raw::c_char,
21646        tag: u32,
21647        count: u32,
21648        data: *const i32,
21649    ) -> camera_status_t;
21650}
21651extern "C" {
21652    pub fn ACaptureRequest_setEntry_physicalCamera_float(
21653        request: *mut ACaptureRequest,
21654        physicalId: *const ::std::os::raw::c_char,
21655        tag: u32,
21656        count: u32,
21657        data: *const f32,
21658    ) -> camera_status_t;
21659}
21660extern "C" {
21661    pub fn ACaptureRequest_setEntry_physicalCamera_i64(
21662        request: *mut ACaptureRequest,
21663        physicalId: *const ::std::os::raw::c_char,
21664        tag: u32,
21665        count: u32,
21666        data: *const i64,
21667    ) -> camera_status_t;
21668}
21669extern "C" {
21670    pub fn ACaptureRequest_setEntry_physicalCamera_double(
21671        request: *mut ACaptureRequest,
21672        physicalId: *const ::std::os::raw::c_char,
21673        tag: u32,
21674        count: u32,
21675        data: *const f64,
21676    ) -> camera_status_t;
21677}
21678extern "C" {
21679    pub fn ACaptureRequest_setEntry_physicalCamera_rational(
21680        request: *mut ACaptureRequest,
21681        physicalId: *const ::std::os::raw::c_char,
21682        tag: u32,
21683        count: u32,
21684        data: *const ACameraMetadata_rational,
21685    ) -> camera_status_t;
21686}
21687#[repr(C)]
21688#[derive(Debug, Copy, Clone)]
21689pub struct ACameraCaptureSession {
21690    _unused: [u8; 0],
21691}
21692pub type ACameraCaptureSession_stateCallback = ::std::option::Option<
21693    unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, session: *mut ACameraCaptureSession),
21694>;
21695#[repr(C)]
21696#[derive(Debug, Copy, Clone)]
21697pub struct ACameraCaptureSession_stateCallbacks {
21698    pub context: *mut ::std::os::raw::c_void,
21699    pub onClosed: ACameraCaptureSession_stateCallback,
21700    pub onReady: ACameraCaptureSession_stateCallback,
21701    pub onActive: ACameraCaptureSession_stateCallback,
21702}
21703#[test]
21704fn bindgen_test_layout_ACameraCaptureSession_stateCallbacks() {
21705    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_stateCallbacks> =
21706        ::std::mem::MaybeUninit::uninit();
21707    let ptr = UNINIT.as_ptr();
21708    assert_eq!(
21709        ::std::mem::size_of::<ACameraCaptureSession_stateCallbacks>(),
21710        16usize,
21711        concat!(
21712            "Size of: ",
21713            stringify!(ACameraCaptureSession_stateCallbacks)
21714        )
21715    );
21716    assert_eq!(
21717        ::std::mem::align_of::<ACameraCaptureSession_stateCallbacks>(),
21718        4usize,
21719        concat!(
21720            "Alignment of ",
21721            stringify!(ACameraCaptureSession_stateCallbacks)
21722        )
21723    );
21724    assert_eq!(
21725        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
21726        0usize,
21727        concat!(
21728            "Offset of field: ",
21729            stringify!(ACameraCaptureSession_stateCallbacks),
21730            "::",
21731            stringify!(context)
21732        )
21733    );
21734    assert_eq!(
21735        unsafe { ::std::ptr::addr_of!((*ptr).onClosed) as usize - ptr as usize },
21736        4usize,
21737        concat!(
21738            "Offset of field: ",
21739            stringify!(ACameraCaptureSession_stateCallbacks),
21740            "::",
21741            stringify!(onClosed)
21742        )
21743    );
21744    assert_eq!(
21745        unsafe { ::std::ptr::addr_of!((*ptr).onReady) as usize - ptr as usize },
21746        8usize,
21747        concat!(
21748            "Offset of field: ",
21749            stringify!(ACameraCaptureSession_stateCallbacks),
21750            "::",
21751            stringify!(onReady)
21752        )
21753    );
21754    assert_eq!(
21755        unsafe { ::std::ptr::addr_of!((*ptr).onActive) as usize - ptr as usize },
21756        12usize,
21757        concat!(
21758            "Offset of field: ",
21759            stringify!(ACameraCaptureSession_stateCallbacks),
21760            "::",
21761            stringify!(onActive)
21762        )
21763    );
21764}
21765pub type ACameraCaptureSession_prepareCallback = ::std::option::Option<
21766    unsafe extern "C" fn(
21767        context: *mut ::std::os::raw::c_void,
21768        window: *mut ACameraWindowType,
21769        session: *mut ACameraCaptureSession,
21770    ),
21771>;
21772pub const CAPTURE_FAILURE_REASON_FLUSHED: _bindgen_ty_66 = 0;
21773pub const CAPTURE_FAILURE_REASON_ERROR: _bindgen_ty_66 = 1;
21774pub type _bindgen_ty_66 = ::std::os::raw::c_uint;
21775#[repr(C)]
21776#[derive(Debug, Copy, Clone)]
21777pub struct ACameraCaptureFailure {
21778    pub frameNumber: i64,
21779    pub reason: ::std::os::raw::c_int,
21780    pub sequenceId: ::std::os::raw::c_int,
21781    pub wasImageCaptured: bool,
21782}
21783#[test]
21784fn bindgen_test_layout_ACameraCaptureFailure() {
21785    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureFailure> =
21786        ::std::mem::MaybeUninit::uninit();
21787    let ptr = UNINIT.as_ptr();
21788    assert_eq!(
21789        ::std::mem::size_of::<ACameraCaptureFailure>(),
21790        24usize,
21791        concat!("Size of: ", stringify!(ACameraCaptureFailure))
21792    );
21793    assert_eq!(
21794        ::std::mem::align_of::<ACameraCaptureFailure>(),
21795        8usize,
21796        concat!("Alignment of ", stringify!(ACameraCaptureFailure))
21797    );
21798    assert_eq!(
21799        unsafe { ::std::ptr::addr_of!((*ptr).frameNumber) as usize - ptr as usize },
21800        0usize,
21801        concat!(
21802            "Offset of field: ",
21803            stringify!(ACameraCaptureFailure),
21804            "::",
21805            stringify!(frameNumber)
21806        )
21807    );
21808    assert_eq!(
21809        unsafe { ::std::ptr::addr_of!((*ptr).reason) as usize - ptr as usize },
21810        8usize,
21811        concat!(
21812            "Offset of field: ",
21813            stringify!(ACameraCaptureFailure),
21814            "::",
21815            stringify!(reason)
21816        )
21817    );
21818    assert_eq!(
21819        unsafe { ::std::ptr::addr_of!((*ptr).sequenceId) as usize - ptr as usize },
21820        12usize,
21821        concat!(
21822            "Offset of field: ",
21823            stringify!(ACameraCaptureFailure),
21824            "::",
21825            stringify!(sequenceId)
21826        )
21827    );
21828    assert_eq!(
21829        unsafe { ::std::ptr::addr_of!((*ptr).wasImageCaptured) as usize - ptr as usize },
21830        16usize,
21831        concat!(
21832            "Offset of field: ",
21833            stringify!(ACameraCaptureFailure),
21834            "::",
21835            stringify!(wasImageCaptured)
21836        )
21837    );
21838}
21839pub type ACameraCaptureSession_captureCallback_start = ::std::option::Option<
21840    unsafe extern "C" fn(
21841        context: *mut ::std::os::raw::c_void,
21842        session: *mut ACameraCaptureSession,
21843        request: *const ACaptureRequest,
21844        timestamp: i64,
21845    ),
21846>;
21847pub type ACameraCaptureSession_captureCallback_result = ::std::option::Option<
21848    unsafe extern "C" fn(
21849        context: *mut ::std::os::raw::c_void,
21850        session: *mut ACameraCaptureSession,
21851        request: *mut ACaptureRequest,
21852        result: *const ACameraMetadata,
21853    ),
21854>;
21855pub type ACameraCaptureSession_captureCallback_failed = ::std::option::Option<
21856    unsafe extern "C" fn(
21857        context: *mut ::std::os::raw::c_void,
21858        session: *mut ACameraCaptureSession,
21859        request: *mut ACaptureRequest,
21860        failure: *mut ACameraCaptureFailure,
21861    ),
21862>;
21863pub type ACameraCaptureSession_captureCallback_sequenceEnd = ::std::option::Option<
21864    unsafe extern "C" fn(
21865        context: *mut ::std::os::raw::c_void,
21866        session: *mut ACameraCaptureSession,
21867        sequenceId: ::std::os::raw::c_int,
21868        frameNumber: i64,
21869    ),
21870>;
21871pub type ACameraCaptureSession_captureCallback_sequenceAbort = ::std::option::Option<
21872    unsafe extern "C" fn(
21873        context: *mut ::std::os::raw::c_void,
21874        session: *mut ACameraCaptureSession,
21875        sequenceId: ::std::os::raw::c_int,
21876    ),
21877>;
21878pub type ACameraCaptureSession_captureCallback_bufferLost = ::std::option::Option<
21879    unsafe extern "C" fn(
21880        context: *mut ::std::os::raw::c_void,
21881        session: *mut ACameraCaptureSession,
21882        request: *mut ACaptureRequest,
21883        window: *mut ACameraWindowType,
21884        frameNumber: i64,
21885    ),
21886>;
21887#[repr(C)]
21888#[derive(Debug, Copy, Clone)]
21889pub struct ACameraCaptureSession_captureCallbacks {
21890    pub context: *mut ::std::os::raw::c_void,
21891    pub onCaptureStarted: ACameraCaptureSession_captureCallback_start,
21892    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
21893    pub onCaptureCompleted: ACameraCaptureSession_captureCallback_result,
21894    pub onCaptureFailed: ACameraCaptureSession_captureCallback_failed,
21895    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
21896    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
21897    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
21898}
21899#[test]
21900fn bindgen_test_layout_ACameraCaptureSession_captureCallbacks() {
21901    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_captureCallbacks> =
21902        ::std::mem::MaybeUninit::uninit();
21903    let ptr = UNINIT.as_ptr();
21904    assert_eq!(
21905        ::std::mem::size_of::<ACameraCaptureSession_captureCallbacks>(),
21906        32usize,
21907        concat!(
21908            "Size of: ",
21909            stringify!(ACameraCaptureSession_captureCallbacks)
21910        )
21911    );
21912    assert_eq!(
21913        ::std::mem::align_of::<ACameraCaptureSession_captureCallbacks>(),
21914        4usize,
21915        concat!(
21916            "Alignment of ",
21917            stringify!(ACameraCaptureSession_captureCallbacks)
21918        )
21919    );
21920    assert_eq!(
21921        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
21922        0usize,
21923        concat!(
21924            "Offset of field: ",
21925            stringify!(ACameraCaptureSession_captureCallbacks),
21926            "::",
21927            stringify!(context)
21928        )
21929    );
21930    assert_eq!(
21931        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureStarted) as usize - ptr as usize },
21932        4usize,
21933        concat!(
21934            "Offset of field: ",
21935            stringify!(ACameraCaptureSession_captureCallbacks),
21936            "::",
21937            stringify!(onCaptureStarted)
21938        )
21939    );
21940    assert_eq!(
21941        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureProgressed) as usize - ptr as usize },
21942        8usize,
21943        concat!(
21944            "Offset of field: ",
21945            stringify!(ACameraCaptureSession_captureCallbacks),
21946            "::",
21947            stringify!(onCaptureProgressed)
21948        )
21949    );
21950    assert_eq!(
21951        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureCompleted) as usize - ptr as usize },
21952        12usize,
21953        concat!(
21954            "Offset of field: ",
21955            stringify!(ACameraCaptureSession_captureCallbacks),
21956            "::",
21957            stringify!(onCaptureCompleted)
21958        )
21959    );
21960    assert_eq!(
21961        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureFailed) as usize - ptr as usize },
21962        16usize,
21963        concat!(
21964            "Offset of field: ",
21965            stringify!(ACameraCaptureSession_captureCallbacks),
21966            "::",
21967            stringify!(onCaptureFailed)
21968        )
21969    );
21970    assert_eq!(
21971        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceCompleted) as usize - ptr as usize },
21972        20usize,
21973        concat!(
21974            "Offset of field: ",
21975            stringify!(ACameraCaptureSession_captureCallbacks),
21976            "::",
21977            stringify!(onCaptureSequenceCompleted)
21978        )
21979    );
21980    assert_eq!(
21981        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceAborted) as usize - ptr as usize },
21982        24usize,
21983        concat!(
21984            "Offset of field: ",
21985            stringify!(ACameraCaptureSession_captureCallbacks),
21986            "::",
21987            stringify!(onCaptureSequenceAborted)
21988        )
21989    );
21990    assert_eq!(
21991        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureBufferLost) as usize - ptr as usize },
21992        28usize,
21993        concat!(
21994            "Offset of field: ",
21995            stringify!(ACameraCaptureSession_captureCallbacks),
21996            "::",
21997            stringify!(onCaptureBufferLost)
21998        )
21999    );
22000}
22001pub const CAPTURE_SEQUENCE_ID_NONE: _bindgen_ty_67 = -1;
22002pub type _bindgen_ty_67 = ::std::os::raw::c_int;
22003extern "C" {
22004    pub fn ACameraCaptureSession_close(session: *mut ACameraCaptureSession);
22005}
22006#[repr(C)]
22007#[derive(Debug, Copy, Clone)]
22008pub struct ACameraDevice {
22009    _unused: [u8; 0],
22010}
22011extern "C" {
22012    pub fn ACameraCaptureSession_getDevice(
22013        session: *mut ACameraCaptureSession,
22014        device: *mut *mut ACameraDevice,
22015    ) -> camera_status_t;
22016}
22017extern "C" {
22018    pub fn ACameraCaptureSession_capture(
22019        session: *mut ACameraCaptureSession,
22020        callbacks: *mut ACameraCaptureSession_captureCallbacks,
22021        numRequests: ::std::os::raw::c_int,
22022        requests: *mut *mut ACaptureRequest,
22023        captureSequenceId: *mut ::std::os::raw::c_int,
22024    ) -> camera_status_t;
22025}
22026extern "C" {
22027    pub fn ACameraCaptureSession_setRepeatingRequest(
22028        session: *mut ACameraCaptureSession,
22029        callbacks: *mut ACameraCaptureSession_captureCallbacks,
22030        numRequests: ::std::os::raw::c_int,
22031        requests: *mut *mut ACaptureRequest,
22032        captureSequenceId: *mut ::std::os::raw::c_int,
22033    ) -> camera_status_t;
22034}
22035extern "C" {
22036    pub fn ACameraCaptureSession_stopRepeating(
22037        session: *mut ACameraCaptureSession,
22038    ) -> camera_status_t;
22039}
22040extern "C" {
22041    pub fn ACameraCaptureSession_abortCaptures(
22042        session: *mut ACameraCaptureSession,
22043    ) -> camera_status_t;
22044}
22045#[repr(C)]
22046#[derive(Debug, Copy, Clone)]
22047pub struct ACaptureSessionOutput {
22048    _unused: [u8; 0],
22049}
22050extern "C" {
22051    pub fn ACameraCaptureSession_updateSharedOutput(
22052        session: *mut ACameraCaptureSession,
22053        output: *mut ACaptureSessionOutput,
22054    ) -> camera_status_t;
22055}
22056pub type ACameraCaptureSession_logicalCamera_captureCallback_result = ::std::option::Option<
22057    unsafe extern "C" fn(
22058        context: *mut ::std::os::raw::c_void,
22059        session: *mut ACameraCaptureSession,
22060        request: *mut ACaptureRequest,
22061        result: *const ACameraMetadata,
22062        physicalResultCount: usize,
22063        physicalCameraIds: *mut *const ::std::os::raw::c_char,
22064        physicalResults: *mut *const ACameraMetadata,
22065    ),
22066>;
22067#[repr(C)]
22068#[derive(Debug, Copy, Clone)]
22069pub struct ALogicalCameraCaptureFailure {
22070    pub captureFailure: ACameraCaptureFailure,
22071    pub physicalCameraId: *const ::std::os::raw::c_char,
22072}
22073#[test]
22074fn bindgen_test_layout_ALogicalCameraCaptureFailure() {
22075    const UNINIT: ::std::mem::MaybeUninit<ALogicalCameraCaptureFailure> =
22076        ::std::mem::MaybeUninit::uninit();
22077    let ptr = UNINIT.as_ptr();
22078    assert_eq!(
22079        ::std::mem::size_of::<ALogicalCameraCaptureFailure>(),
22080        32usize,
22081        concat!("Size of: ", stringify!(ALogicalCameraCaptureFailure))
22082    );
22083    assert_eq!(
22084        ::std::mem::align_of::<ALogicalCameraCaptureFailure>(),
22085        8usize,
22086        concat!("Alignment of ", stringify!(ALogicalCameraCaptureFailure))
22087    );
22088    assert_eq!(
22089        unsafe { ::std::ptr::addr_of!((*ptr).captureFailure) as usize - ptr as usize },
22090        0usize,
22091        concat!(
22092            "Offset of field: ",
22093            stringify!(ALogicalCameraCaptureFailure),
22094            "::",
22095            stringify!(captureFailure)
22096        )
22097    );
22098    assert_eq!(
22099        unsafe { ::std::ptr::addr_of!((*ptr).physicalCameraId) as usize - ptr as usize },
22100        24usize,
22101        concat!(
22102            "Offset of field: ",
22103            stringify!(ALogicalCameraCaptureFailure),
22104            "::",
22105            stringify!(physicalCameraId)
22106        )
22107    );
22108}
22109pub type ACameraCaptureSession_logicalCamera_captureCallback_failed = ::std::option::Option<
22110    unsafe extern "C" fn(
22111        context: *mut ::std::os::raw::c_void,
22112        session: *mut ACameraCaptureSession,
22113        request: *mut ACaptureRequest,
22114        failure: *mut ALogicalCameraCaptureFailure,
22115    ),
22116>;
22117#[repr(C)]
22118#[derive(Debug, Copy, Clone)]
22119pub struct ACameraCaptureSession_logicalCamera_captureCallbacks {
22120    pub context: *mut ::std::os::raw::c_void,
22121    pub onCaptureStarted: ACameraCaptureSession_captureCallback_start,
22122    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
22123    pub onLogicalCameraCaptureCompleted: ACameraCaptureSession_logicalCamera_captureCallback_result,
22124    pub onLogicalCameraCaptureFailed: ACameraCaptureSession_logicalCamera_captureCallback_failed,
22125    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
22126    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
22127    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
22128}
22129#[test]
22130fn bindgen_test_layout_ACameraCaptureSession_logicalCamera_captureCallbacks() {
22131    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_logicalCamera_captureCallbacks> =
22132        ::std::mem::MaybeUninit::uninit();
22133    let ptr = UNINIT.as_ptr();
22134    assert_eq!(
22135        ::std::mem::size_of::<ACameraCaptureSession_logicalCamera_captureCallbacks>(),
22136        32usize,
22137        concat!(
22138            "Size of: ",
22139            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks)
22140        )
22141    );
22142    assert_eq!(
22143        ::std::mem::align_of::<ACameraCaptureSession_logicalCamera_captureCallbacks>(),
22144        4usize,
22145        concat!(
22146            "Alignment of ",
22147            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks)
22148        )
22149    );
22150    assert_eq!(
22151        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
22152        0usize,
22153        concat!(
22154            "Offset of field: ",
22155            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
22156            "::",
22157            stringify!(context)
22158        )
22159    );
22160    assert_eq!(
22161        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureStarted) as usize - ptr as usize },
22162        4usize,
22163        concat!(
22164            "Offset of field: ",
22165            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
22166            "::",
22167            stringify!(onCaptureStarted)
22168        )
22169    );
22170    assert_eq!(
22171        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureProgressed) as usize - ptr as usize },
22172        8usize,
22173        concat!(
22174            "Offset of field: ",
22175            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
22176            "::",
22177            stringify!(onCaptureProgressed)
22178        )
22179    );
22180    assert_eq!(
22181        unsafe {
22182            ::std::ptr::addr_of!((*ptr).onLogicalCameraCaptureCompleted) as usize - ptr as usize
22183        },
22184        12usize,
22185        concat!(
22186            "Offset of field: ",
22187            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
22188            "::",
22189            stringify!(onLogicalCameraCaptureCompleted)
22190        )
22191    );
22192    assert_eq!(
22193        unsafe {
22194            ::std::ptr::addr_of!((*ptr).onLogicalCameraCaptureFailed) as usize - ptr as usize
22195        },
22196        16usize,
22197        concat!(
22198            "Offset of field: ",
22199            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
22200            "::",
22201            stringify!(onLogicalCameraCaptureFailed)
22202        )
22203    );
22204    assert_eq!(
22205        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceCompleted) as usize - ptr as usize },
22206        20usize,
22207        concat!(
22208            "Offset of field: ",
22209            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
22210            "::",
22211            stringify!(onCaptureSequenceCompleted)
22212        )
22213    );
22214    assert_eq!(
22215        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceAborted) as usize - ptr as usize },
22216        24usize,
22217        concat!(
22218            "Offset of field: ",
22219            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
22220            "::",
22221            stringify!(onCaptureSequenceAborted)
22222        )
22223    );
22224    assert_eq!(
22225        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureBufferLost) as usize - ptr as usize },
22226        28usize,
22227        concat!(
22228            "Offset of field: ",
22229            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
22230            "::",
22231            stringify!(onCaptureBufferLost)
22232        )
22233    );
22234}
22235extern "C" {
22236    pub fn ACameraCaptureSession_logicalCamera_capture(
22237        session: *mut ACameraCaptureSession,
22238        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacks,
22239        numRequests: ::std::os::raw::c_int,
22240        requests: *mut *mut ACaptureRequest,
22241        captureSequenceId: *mut ::std::os::raw::c_int,
22242    ) -> camera_status_t;
22243}
22244extern "C" {
22245    pub fn ACameraCaptureSession_logicalCamera_setRepeatingRequest(
22246        session: *mut ACameraCaptureSession,
22247        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacks,
22248        numRequests: ::std::os::raw::c_int,
22249        requests: *mut *mut ACaptureRequest,
22250        captureSequenceId: *mut ::std::os::raw::c_int,
22251    ) -> camera_status_t;
22252}
22253pub type ACameraCaptureSession_captureCallback_startV2 = ::std::option::Option<
22254    unsafe extern "C" fn(
22255        context: *mut ::std::os::raw::c_void,
22256        session: *mut ACameraCaptureSession,
22257        request: *const ACaptureRequest,
22258        timestamp: i64,
22259        frameNumber: i64,
22260    ),
22261>;
22262#[repr(C)]
22263#[derive(Debug, Copy, Clone)]
22264pub struct ACameraCaptureSession_captureCallbacksV2 {
22265    pub context: *mut ::std::os::raw::c_void,
22266    pub onCaptureStarted: ACameraCaptureSession_captureCallback_startV2,
22267    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
22268    pub onCaptureCompleted: ACameraCaptureSession_captureCallback_result,
22269    pub onCaptureFailed: ACameraCaptureSession_captureCallback_failed,
22270    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
22271    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
22272    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
22273}
22274#[test]
22275fn bindgen_test_layout_ACameraCaptureSession_captureCallbacksV2() {
22276    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_captureCallbacksV2> =
22277        ::std::mem::MaybeUninit::uninit();
22278    let ptr = UNINIT.as_ptr();
22279    assert_eq!(
22280        ::std::mem::size_of::<ACameraCaptureSession_captureCallbacksV2>(),
22281        32usize,
22282        concat!(
22283            "Size of: ",
22284            stringify!(ACameraCaptureSession_captureCallbacksV2)
22285        )
22286    );
22287    assert_eq!(
22288        ::std::mem::align_of::<ACameraCaptureSession_captureCallbacksV2>(),
22289        4usize,
22290        concat!(
22291            "Alignment of ",
22292            stringify!(ACameraCaptureSession_captureCallbacksV2)
22293        )
22294    );
22295    assert_eq!(
22296        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
22297        0usize,
22298        concat!(
22299            "Offset of field: ",
22300            stringify!(ACameraCaptureSession_captureCallbacksV2),
22301            "::",
22302            stringify!(context)
22303        )
22304    );
22305    assert_eq!(
22306        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureStarted) as usize - ptr as usize },
22307        4usize,
22308        concat!(
22309            "Offset of field: ",
22310            stringify!(ACameraCaptureSession_captureCallbacksV2),
22311            "::",
22312            stringify!(onCaptureStarted)
22313        )
22314    );
22315    assert_eq!(
22316        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureProgressed) as usize - ptr as usize },
22317        8usize,
22318        concat!(
22319            "Offset of field: ",
22320            stringify!(ACameraCaptureSession_captureCallbacksV2),
22321            "::",
22322            stringify!(onCaptureProgressed)
22323        )
22324    );
22325    assert_eq!(
22326        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureCompleted) as usize - ptr as usize },
22327        12usize,
22328        concat!(
22329            "Offset of field: ",
22330            stringify!(ACameraCaptureSession_captureCallbacksV2),
22331            "::",
22332            stringify!(onCaptureCompleted)
22333        )
22334    );
22335    assert_eq!(
22336        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureFailed) as usize - ptr as usize },
22337        16usize,
22338        concat!(
22339            "Offset of field: ",
22340            stringify!(ACameraCaptureSession_captureCallbacksV2),
22341            "::",
22342            stringify!(onCaptureFailed)
22343        )
22344    );
22345    assert_eq!(
22346        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceCompleted) as usize - ptr as usize },
22347        20usize,
22348        concat!(
22349            "Offset of field: ",
22350            stringify!(ACameraCaptureSession_captureCallbacksV2),
22351            "::",
22352            stringify!(onCaptureSequenceCompleted)
22353        )
22354    );
22355    assert_eq!(
22356        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceAborted) as usize - ptr as usize },
22357        24usize,
22358        concat!(
22359            "Offset of field: ",
22360            stringify!(ACameraCaptureSession_captureCallbacksV2),
22361            "::",
22362            stringify!(onCaptureSequenceAborted)
22363        )
22364    );
22365    assert_eq!(
22366        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureBufferLost) as usize - ptr as usize },
22367        28usize,
22368        concat!(
22369            "Offset of field: ",
22370            stringify!(ACameraCaptureSession_captureCallbacksV2),
22371            "::",
22372            stringify!(onCaptureBufferLost)
22373        )
22374    );
22375}
22376#[repr(C)]
22377#[derive(Debug, Copy, Clone)]
22378pub struct ACameraCaptureSession_logicalCamera_captureCallbacksV2 {
22379    pub context: *mut ::std::os::raw::c_void,
22380    pub onCaptureStarted: ACameraCaptureSession_captureCallback_startV2,
22381    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
22382    pub onLogicalCameraCaptureCompleted: ACameraCaptureSession_logicalCamera_captureCallback_result,
22383    pub onLogicalCameraCaptureFailed: ACameraCaptureSession_logicalCamera_captureCallback_failed,
22384    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
22385    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
22386    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
22387}
22388#[test]
22389fn bindgen_test_layout_ACameraCaptureSession_logicalCamera_captureCallbacksV2() {
22390    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_logicalCamera_captureCallbacksV2> =
22391        ::std::mem::MaybeUninit::uninit();
22392    let ptr = UNINIT.as_ptr();
22393    assert_eq!(
22394        ::std::mem::size_of::<ACameraCaptureSession_logicalCamera_captureCallbacksV2>(),
22395        32usize,
22396        concat!(
22397            "Size of: ",
22398            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2)
22399        )
22400    );
22401    assert_eq!(
22402        ::std::mem::align_of::<ACameraCaptureSession_logicalCamera_captureCallbacksV2>(),
22403        4usize,
22404        concat!(
22405            "Alignment of ",
22406            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2)
22407        )
22408    );
22409    assert_eq!(
22410        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
22411        0usize,
22412        concat!(
22413            "Offset of field: ",
22414            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
22415            "::",
22416            stringify!(context)
22417        )
22418    );
22419    assert_eq!(
22420        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureStarted) as usize - ptr as usize },
22421        4usize,
22422        concat!(
22423            "Offset of field: ",
22424            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
22425            "::",
22426            stringify!(onCaptureStarted)
22427        )
22428    );
22429    assert_eq!(
22430        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureProgressed) as usize - ptr as usize },
22431        8usize,
22432        concat!(
22433            "Offset of field: ",
22434            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
22435            "::",
22436            stringify!(onCaptureProgressed)
22437        )
22438    );
22439    assert_eq!(
22440        unsafe {
22441            ::std::ptr::addr_of!((*ptr).onLogicalCameraCaptureCompleted) as usize - ptr as usize
22442        },
22443        12usize,
22444        concat!(
22445            "Offset of field: ",
22446            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
22447            "::",
22448            stringify!(onLogicalCameraCaptureCompleted)
22449        )
22450    );
22451    assert_eq!(
22452        unsafe {
22453            ::std::ptr::addr_of!((*ptr).onLogicalCameraCaptureFailed) as usize - ptr as usize
22454        },
22455        16usize,
22456        concat!(
22457            "Offset of field: ",
22458            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
22459            "::",
22460            stringify!(onLogicalCameraCaptureFailed)
22461        )
22462    );
22463    assert_eq!(
22464        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceCompleted) as usize - ptr as usize },
22465        20usize,
22466        concat!(
22467            "Offset of field: ",
22468            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
22469            "::",
22470            stringify!(onCaptureSequenceCompleted)
22471        )
22472    );
22473    assert_eq!(
22474        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceAborted) as usize - ptr as usize },
22475        24usize,
22476        concat!(
22477            "Offset of field: ",
22478            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
22479            "::",
22480            stringify!(onCaptureSequenceAborted)
22481        )
22482    );
22483    assert_eq!(
22484        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureBufferLost) as usize - ptr as usize },
22485        28usize,
22486        concat!(
22487            "Offset of field: ",
22488            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
22489            "::",
22490            stringify!(onCaptureBufferLost)
22491        )
22492    );
22493}
22494extern "C" {
22495    pub fn ACameraCaptureSession_captureV2(
22496        session: *mut ACameraCaptureSession,
22497        callbacks: *mut ACameraCaptureSession_captureCallbacksV2,
22498        numRequests: ::std::os::raw::c_int,
22499        requests: *mut *mut ACaptureRequest,
22500        captureSequenceId: *mut ::std::os::raw::c_int,
22501    ) -> camera_status_t;
22502}
22503extern "C" {
22504    pub fn ACameraCaptureSession_setRepeatingRequestV2(
22505        session: *mut ACameraCaptureSession,
22506        callbacks: *mut ACameraCaptureSession_captureCallbacksV2,
22507        numRequests: ::std::os::raw::c_int,
22508        requests: *mut *mut ACaptureRequest,
22509        captureSequenceId: *mut ::std::os::raw::c_int,
22510    ) -> camera_status_t;
22511}
22512extern "C" {
22513    pub fn ACameraCaptureSession_logicalCamera_captureV2(
22514        session: *mut ACameraCaptureSession,
22515        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacksV2,
22516        numRequests: ::std::os::raw::c_int,
22517        requests: *mut *mut ACaptureRequest,
22518        captureSequenceId: *mut ::std::os::raw::c_int,
22519    ) -> camera_status_t;
22520}
22521extern "C" {
22522    pub fn ACameraCaptureSession_logicalCamera_setRepeatingRequestV2(
22523        session: *mut ACameraCaptureSession,
22524        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacksV2,
22525        numRequests: ::std::os::raw::c_int,
22526        requests: *mut *mut ACaptureRequest,
22527        captureSequenceId: *mut ::std::os::raw::c_int,
22528    ) -> camera_status_t;
22529}
22530extern "C" {
22531    pub fn ACameraCaptureSession_setWindowPreparedCallback(
22532        session: *mut ACameraCaptureSession,
22533        context: *mut ::std::os::raw::c_void,
22534        callback: ACameraCaptureSession_prepareCallback,
22535    ) -> camera_status_t;
22536}
22537extern "C" {
22538    pub fn ACameraCaptureSession_prepareWindow(
22539        session: *mut ACameraCaptureSession,
22540        window: *mut ACameraWindowType,
22541    ) -> camera_status_t;
22542}
22543#[repr(C)]
22544#[derive(Debug, Copy, Clone)]
22545pub struct ACameraIdList {
22546    pub numCameras: ::std::os::raw::c_int,
22547    pub cameraIds: *mut *const ::std::os::raw::c_char,
22548}
22549#[test]
22550fn bindgen_test_layout_ACameraIdList() {
22551    const UNINIT: ::std::mem::MaybeUninit<ACameraIdList> = ::std::mem::MaybeUninit::uninit();
22552    let ptr = UNINIT.as_ptr();
22553    assert_eq!(
22554        ::std::mem::size_of::<ACameraIdList>(),
22555        8usize,
22556        concat!("Size of: ", stringify!(ACameraIdList))
22557    );
22558    assert_eq!(
22559        ::std::mem::align_of::<ACameraIdList>(),
22560        4usize,
22561        concat!("Alignment of ", stringify!(ACameraIdList))
22562    );
22563    assert_eq!(
22564        unsafe { ::std::ptr::addr_of!((*ptr).numCameras) as usize - ptr as usize },
22565        0usize,
22566        concat!(
22567            "Offset of field: ",
22568            stringify!(ACameraIdList),
22569            "::",
22570            stringify!(numCameras)
22571        )
22572    );
22573    assert_eq!(
22574        unsafe { ::std::ptr::addr_of!((*ptr).cameraIds) as usize - ptr as usize },
22575        4usize,
22576        concat!(
22577            "Offset of field: ",
22578            stringify!(ACameraIdList),
22579            "::",
22580            stringify!(cameraIds)
22581        )
22582    );
22583}
22584pub const ERROR_CAMERA_IN_USE: _bindgen_ty_68 = 1;
22585pub const ERROR_MAX_CAMERAS_IN_USE: _bindgen_ty_68 = 2;
22586pub const ERROR_CAMERA_DISABLED: _bindgen_ty_68 = 3;
22587pub const ERROR_CAMERA_DEVICE: _bindgen_ty_68 = 4;
22588pub const ERROR_CAMERA_SERVICE: _bindgen_ty_68 = 5;
22589pub type _bindgen_ty_68 = ::std::os::raw::c_uint;
22590pub type ACameraDevice_StateCallback = ::std::option::Option<
22591    unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, device: *mut ACameraDevice),
22592>;
22593pub type ACameraDevice_ErrorStateCallback = ::std::option::Option<
22594    unsafe extern "C" fn(
22595        context: *mut ::std::os::raw::c_void,
22596        device: *mut ACameraDevice,
22597        error: ::std::os::raw::c_int,
22598    ),
22599>;
22600#[repr(C)]
22601#[derive(Debug, Copy, Clone)]
22602pub struct ACameraDevice_StateCallbacks {
22603    pub context: *mut ::std::os::raw::c_void,
22604    pub onDisconnected: ACameraDevice_StateCallback,
22605    pub onError: ACameraDevice_ErrorStateCallback,
22606}
22607#[test]
22608fn bindgen_test_layout_ACameraDevice_StateCallbacks() {
22609    const UNINIT: ::std::mem::MaybeUninit<ACameraDevice_StateCallbacks> =
22610        ::std::mem::MaybeUninit::uninit();
22611    let ptr = UNINIT.as_ptr();
22612    assert_eq!(
22613        ::std::mem::size_of::<ACameraDevice_StateCallbacks>(),
22614        12usize,
22615        concat!("Size of: ", stringify!(ACameraDevice_StateCallbacks))
22616    );
22617    assert_eq!(
22618        ::std::mem::align_of::<ACameraDevice_StateCallbacks>(),
22619        4usize,
22620        concat!("Alignment of ", stringify!(ACameraDevice_StateCallbacks))
22621    );
22622    assert_eq!(
22623        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
22624        0usize,
22625        concat!(
22626            "Offset of field: ",
22627            stringify!(ACameraDevice_StateCallbacks),
22628            "::",
22629            stringify!(context)
22630        )
22631    );
22632    assert_eq!(
22633        unsafe { ::std::ptr::addr_of!((*ptr).onDisconnected) as usize - ptr as usize },
22634        4usize,
22635        concat!(
22636            "Offset of field: ",
22637            stringify!(ACameraDevice_StateCallbacks),
22638            "::",
22639            stringify!(onDisconnected)
22640        )
22641    );
22642    assert_eq!(
22643        unsafe { ::std::ptr::addr_of!((*ptr).onError) as usize - ptr as usize },
22644        8usize,
22645        concat!(
22646            "Offset of field: ",
22647            stringify!(ACameraDevice_StateCallbacks),
22648            "::",
22649            stringify!(onError)
22650        )
22651    );
22652}
22653pub type ACameraDevice_stateCallbacks = ACameraDevice_StateCallbacks;
22654extern "C" {
22655    pub fn ACameraDevice_close(device: *mut ACameraDevice) -> camera_status_t;
22656}
22657extern "C" {
22658    pub fn ACameraDevice_getId(device: *const ACameraDevice) -> *const ::std::os::raw::c_char;
22659}
22660impl ACameraDevice_request_template {
22661    pub const TEMPLATE_PREVIEW: ACameraDevice_request_template = ACameraDevice_request_template(1);
22662}
22663impl ACameraDevice_request_template {
22664    pub const TEMPLATE_STILL_CAPTURE: ACameraDevice_request_template =
22665        ACameraDevice_request_template(2);
22666}
22667impl ACameraDevice_request_template {
22668    pub const TEMPLATE_RECORD: ACameraDevice_request_template = ACameraDevice_request_template(3);
22669}
22670impl ACameraDevice_request_template {
22671    pub const TEMPLATE_VIDEO_SNAPSHOT: ACameraDevice_request_template =
22672        ACameraDevice_request_template(4);
22673}
22674impl ACameraDevice_request_template {
22675    pub const TEMPLATE_ZERO_SHUTTER_LAG: ACameraDevice_request_template =
22676        ACameraDevice_request_template(5);
22677}
22678impl ACameraDevice_request_template {
22679    pub const TEMPLATE_MANUAL: ACameraDevice_request_template = ACameraDevice_request_template(6);
22680}
22681#[repr(transparent)]
22682#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22683pub struct ACameraDevice_request_template(pub ::std::os::raw::c_uint);
22684extern "C" {
22685    pub fn ACameraDevice_createCaptureRequest(
22686        device: *const ACameraDevice,
22687        templateId: ACameraDevice_request_template,
22688        request: *mut *mut ACaptureRequest,
22689    ) -> camera_status_t;
22690}
22691#[repr(C)]
22692#[derive(Debug, Copy, Clone)]
22693pub struct ACaptureSessionOutputContainer {
22694    _unused: [u8; 0],
22695}
22696extern "C" {
22697    pub fn ACaptureSessionOutputContainer_create(
22698        container: *mut *mut ACaptureSessionOutputContainer,
22699    ) -> camera_status_t;
22700}
22701extern "C" {
22702    pub fn ACaptureSessionOutputContainer_free(container: *mut ACaptureSessionOutputContainer);
22703}
22704extern "C" {
22705    pub fn ACaptureSessionOutput_create(
22706        anw: *mut ACameraWindowType,
22707        output: *mut *mut ACaptureSessionOutput,
22708    ) -> camera_status_t;
22709}
22710extern "C" {
22711    pub fn ACaptureSessionOutput_free(output: *mut ACaptureSessionOutput);
22712}
22713extern "C" {
22714    pub fn ACaptureSessionOutputContainer_add(
22715        container: *mut ACaptureSessionOutputContainer,
22716        output: *const ACaptureSessionOutput,
22717    ) -> camera_status_t;
22718}
22719extern "C" {
22720    pub fn ACaptureSessionOutputContainer_remove(
22721        container: *mut ACaptureSessionOutputContainer,
22722        output: *const ACaptureSessionOutput,
22723    ) -> camera_status_t;
22724}
22725extern "C" {
22726    pub fn ACameraDevice_createCaptureSession(
22727        device: *mut ACameraDevice,
22728        outputs: *const ACaptureSessionOutputContainer,
22729        callbacks: *const ACameraCaptureSession_stateCallbacks,
22730        session: *mut *mut ACameraCaptureSession,
22731    ) -> camera_status_t;
22732}
22733extern "C" {
22734    pub fn ACaptureSessionSharedOutput_create(
22735        anw: *mut ACameraWindowType,
22736        output: *mut *mut ACaptureSessionOutput,
22737    ) -> camera_status_t;
22738}
22739extern "C" {
22740    pub fn ACaptureSessionSharedOutput_add(
22741        output: *mut ACaptureSessionOutput,
22742        anw: *mut ACameraWindowType,
22743    ) -> camera_status_t;
22744}
22745extern "C" {
22746    pub fn ACaptureSessionSharedOutput_remove(
22747        output: *mut ACaptureSessionOutput,
22748        anw: *mut ACameraWindowType,
22749    ) -> camera_status_t;
22750}
22751extern "C" {
22752    pub fn ACameraDevice_createCaptureSessionWithSessionParameters(
22753        device: *mut ACameraDevice,
22754        outputs: *const ACaptureSessionOutputContainer,
22755        sessionParameters: *const ACaptureRequest,
22756        callbacks: *const ACameraCaptureSession_stateCallbacks,
22757        session: *mut *mut ACameraCaptureSession,
22758    ) -> camera_status_t;
22759}
22760extern "C" {
22761    pub fn ACaptureSessionPhysicalOutput_create(
22762        anw: *mut ACameraWindowType,
22763        physicalId: *const ::std::os::raw::c_char,
22764        output: *mut *mut ACaptureSessionOutput,
22765    ) -> camera_status_t;
22766}
22767extern "C" {
22768    pub fn ACameraDevice_createCaptureRequest_withPhysicalIds(
22769        device: *const ACameraDevice,
22770        templateId: ACameraDevice_request_template,
22771        physicalIdList: *const ACameraIdList,
22772        request: *mut *mut ACaptureRequest,
22773    ) -> camera_status_t;
22774}
22775extern "C" {
22776    pub fn ACameraDevice_isSessionConfigurationSupported(
22777        device: *const ACameraDevice,
22778        sessionOutputContainer: *const ACaptureSessionOutputContainer,
22779    ) -> camera_status_t;
22780}
22781#[repr(C)]
22782#[derive(Debug, Copy, Clone)]
22783pub struct ACameraManager {
22784    _unused: [u8; 0],
22785}
22786extern "C" {
22787    pub fn ACameraManager_create() -> *mut ACameraManager;
22788}
22789extern "C" {
22790    pub fn ACameraManager_delete(manager: *mut ACameraManager);
22791}
22792extern "C" {
22793    pub fn ACameraManager_getCameraIdList(
22794        manager: *mut ACameraManager,
22795        cameraIdList: *mut *mut ACameraIdList,
22796    ) -> camera_status_t;
22797}
22798extern "C" {
22799    pub fn ACameraManager_deleteCameraIdList(cameraIdList: *mut ACameraIdList);
22800}
22801pub type ACameraManager_AvailabilityCallback = ::std::option::Option<
22802    unsafe extern "C" fn(
22803        context: *mut ::std::os::raw::c_void,
22804        cameraId: *const ::std::os::raw::c_char,
22805    ),
22806>;
22807pub type ACameraManager_PhysicalCameraAvailabilityCallback = ::std::option::Option<
22808    unsafe extern "C" fn(
22809        context: *mut ::std::os::raw::c_void,
22810        cameraId: *const ::std::os::raw::c_char,
22811        physicalCameraId: *const ::std::os::raw::c_char,
22812    ),
22813>;
22814#[repr(C)]
22815#[derive(Debug, Copy, Clone)]
22816pub struct ACameraManager_AvailabilityListener {
22817    pub context: *mut ::std::os::raw::c_void,
22818    pub onCameraAvailable: ACameraManager_AvailabilityCallback,
22819    pub onCameraUnavailable: ACameraManager_AvailabilityCallback,
22820}
22821#[test]
22822fn bindgen_test_layout_ACameraManager_AvailabilityListener() {
22823    const UNINIT: ::std::mem::MaybeUninit<ACameraManager_AvailabilityListener> =
22824        ::std::mem::MaybeUninit::uninit();
22825    let ptr = UNINIT.as_ptr();
22826    assert_eq!(
22827        ::std::mem::size_of::<ACameraManager_AvailabilityListener>(),
22828        12usize,
22829        concat!("Size of: ", stringify!(ACameraManager_AvailabilityListener))
22830    );
22831    assert_eq!(
22832        ::std::mem::align_of::<ACameraManager_AvailabilityListener>(),
22833        4usize,
22834        concat!(
22835            "Alignment of ",
22836            stringify!(ACameraManager_AvailabilityListener)
22837        )
22838    );
22839    assert_eq!(
22840        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
22841        0usize,
22842        concat!(
22843            "Offset of field: ",
22844            stringify!(ACameraManager_AvailabilityListener),
22845            "::",
22846            stringify!(context)
22847        )
22848    );
22849    assert_eq!(
22850        unsafe { ::std::ptr::addr_of!((*ptr).onCameraAvailable) as usize - ptr as usize },
22851        4usize,
22852        concat!(
22853            "Offset of field: ",
22854            stringify!(ACameraManager_AvailabilityListener),
22855            "::",
22856            stringify!(onCameraAvailable)
22857        )
22858    );
22859    assert_eq!(
22860        unsafe { ::std::ptr::addr_of!((*ptr).onCameraUnavailable) as usize - ptr as usize },
22861        8usize,
22862        concat!(
22863            "Offset of field: ",
22864            stringify!(ACameraManager_AvailabilityListener),
22865            "::",
22866            stringify!(onCameraUnavailable)
22867        )
22868    );
22869}
22870pub type ACameraManager_AvailabilityCallbacks = ACameraManager_AvailabilityListener;
22871extern "C" {
22872    pub fn ACameraManager_registerAvailabilityCallback(
22873        manager: *mut ACameraManager,
22874        callback: *const ACameraManager_AvailabilityCallbacks,
22875    ) -> camera_status_t;
22876}
22877extern "C" {
22878    pub fn ACameraManager_unregisterAvailabilityCallback(
22879        manager: *mut ACameraManager,
22880        callback: *const ACameraManager_AvailabilityCallbacks,
22881    ) -> camera_status_t;
22882}
22883extern "C" {
22884    pub fn ACameraManager_getCameraCharacteristics(
22885        manager: *mut ACameraManager,
22886        cameraId: *const ::std::os::raw::c_char,
22887        characteristics: *mut *mut ACameraMetadata,
22888    ) -> camera_status_t;
22889}
22890extern "C" {
22891    pub fn ACameraManager_openCamera(
22892        manager: *mut ACameraManager,
22893        cameraId: *const ::std::os::raw::c_char,
22894        callback: *mut ACameraDevice_StateCallbacks,
22895        device: *mut *mut ACameraDevice,
22896    ) -> camera_status_t;
22897}
22898pub type ACameraManager_AccessPrioritiesChangedCallback =
22899    ::std::option::Option<unsafe extern "C" fn(context: *mut ::std::os::raw::c_void)>;
22900#[repr(C)]
22901#[derive(Debug, Copy, Clone)]
22902pub struct ACameraManager_ExtendedAvailabilityListener {
22903    pub availabilityCallbacks: ACameraManager_AvailabilityCallbacks,
22904    pub onCameraAccessPrioritiesChanged: ACameraManager_AccessPrioritiesChangedCallback,
22905    pub onPhysicalCameraAvailable: ACameraManager_PhysicalCameraAvailabilityCallback,
22906    pub onPhysicalCameraUnavailable: ACameraManager_PhysicalCameraAvailabilityCallback,
22907    pub reserved: [*mut ::std::os::raw::c_void; 4usize],
22908}
22909#[test]
22910fn bindgen_test_layout_ACameraManager_ExtendedAvailabilityListener() {
22911    const UNINIT: ::std::mem::MaybeUninit<ACameraManager_ExtendedAvailabilityListener> =
22912        ::std::mem::MaybeUninit::uninit();
22913    let ptr = UNINIT.as_ptr();
22914    assert_eq!(
22915        ::std::mem::size_of::<ACameraManager_ExtendedAvailabilityListener>(),
22916        40usize,
22917        concat!(
22918            "Size of: ",
22919            stringify!(ACameraManager_ExtendedAvailabilityListener)
22920        )
22921    );
22922    assert_eq!(
22923        ::std::mem::align_of::<ACameraManager_ExtendedAvailabilityListener>(),
22924        4usize,
22925        concat!(
22926            "Alignment of ",
22927            stringify!(ACameraManager_ExtendedAvailabilityListener)
22928        )
22929    );
22930    assert_eq!(
22931        unsafe { ::std::ptr::addr_of!((*ptr).availabilityCallbacks) as usize - ptr as usize },
22932        0usize,
22933        concat!(
22934            "Offset of field: ",
22935            stringify!(ACameraManager_ExtendedAvailabilityListener),
22936            "::",
22937            stringify!(availabilityCallbacks)
22938        )
22939    );
22940    assert_eq!(
22941        unsafe {
22942            ::std::ptr::addr_of!((*ptr).onCameraAccessPrioritiesChanged) as usize - ptr as usize
22943        },
22944        12usize,
22945        concat!(
22946            "Offset of field: ",
22947            stringify!(ACameraManager_ExtendedAvailabilityListener),
22948            "::",
22949            stringify!(onCameraAccessPrioritiesChanged)
22950        )
22951    );
22952    assert_eq!(
22953        unsafe { ::std::ptr::addr_of!((*ptr).onPhysicalCameraAvailable) as usize - ptr as usize },
22954        16usize,
22955        concat!(
22956            "Offset of field: ",
22957            stringify!(ACameraManager_ExtendedAvailabilityListener),
22958            "::",
22959            stringify!(onPhysicalCameraAvailable)
22960        )
22961    );
22962    assert_eq!(
22963        unsafe { ::std::ptr::addr_of!((*ptr).onPhysicalCameraUnavailable) as usize - ptr as usize },
22964        20usize,
22965        concat!(
22966            "Offset of field: ",
22967            stringify!(ACameraManager_ExtendedAvailabilityListener),
22968            "::",
22969            stringify!(onPhysicalCameraUnavailable)
22970        )
22971    );
22972    assert_eq!(
22973        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
22974        24usize,
22975        concat!(
22976            "Offset of field: ",
22977            stringify!(ACameraManager_ExtendedAvailabilityListener),
22978            "::",
22979            stringify!(reserved)
22980        )
22981    );
22982}
22983pub type ACameraManager_ExtendedAvailabilityCallbacks = ACameraManager_ExtendedAvailabilityListener;
22984extern "C" {
22985    pub fn ACameraManager_registerExtendedAvailabilityCallback(
22986        manager: *mut ACameraManager,
22987        callback: *const ACameraManager_ExtendedAvailabilityCallbacks,
22988    ) -> camera_status_t;
22989}
22990extern "C" {
22991    pub fn ACameraManager_unregisterExtendedAvailabilityCallback(
22992        manager: *mut ACameraManager,
22993        callback: *const ACameraManager_ExtendedAvailabilityCallbacks,
22994    ) -> camera_status_t;
22995}
22996#[repr(C)]
22997#[derive(Debug, Copy, Clone)]
22998pub struct AImage {
22999    _unused: [u8; 0],
23000}
23001impl AIMAGE_FORMATS {
23002    pub const AIMAGE_FORMAT_RGBA_8888: AIMAGE_FORMATS = AIMAGE_FORMATS(1);
23003}
23004impl AIMAGE_FORMATS {
23005    pub const AIMAGE_FORMAT_RGBX_8888: AIMAGE_FORMATS = AIMAGE_FORMATS(2);
23006}
23007impl AIMAGE_FORMATS {
23008    pub const AIMAGE_FORMAT_RGB_888: AIMAGE_FORMATS = AIMAGE_FORMATS(3);
23009}
23010impl AIMAGE_FORMATS {
23011    pub const AIMAGE_FORMAT_RGB_565: AIMAGE_FORMATS = AIMAGE_FORMATS(4);
23012}
23013impl AIMAGE_FORMATS {
23014    pub const AIMAGE_FORMAT_RGBA_FP16: AIMAGE_FORMATS = AIMAGE_FORMATS(22);
23015}
23016impl AIMAGE_FORMATS {
23017    pub const AIMAGE_FORMAT_YUV_420_888: AIMAGE_FORMATS = AIMAGE_FORMATS(35);
23018}
23019impl AIMAGE_FORMATS {
23020    pub const AIMAGE_FORMAT_JPEG: AIMAGE_FORMATS = AIMAGE_FORMATS(256);
23021}
23022impl AIMAGE_FORMATS {
23023    pub const AIMAGE_FORMAT_RAW16: AIMAGE_FORMATS = AIMAGE_FORMATS(32);
23024}
23025impl AIMAGE_FORMATS {
23026    pub const AIMAGE_FORMAT_RAW_PRIVATE: AIMAGE_FORMATS = AIMAGE_FORMATS(36);
23027}
23028impl AIMAGE_FORMATS {
23029    pub const AIMAGE_FORMAT_RAW10: AIMAGE_FORMATS = AIMAGE_FORMATS(37);
23030}
23031impl AIMAGE_FORMATS {
23032    pub const AIMAGE_FORMAT_RAW12: AIMAGE_FORMATS = AIMAGE_FORMATS(38);
23033}
23034impl AIMAGE_FORMATS {
23035    pub const AIMAGE_FORMAT_DEPTH16: AIMAGE_FORMATS = AIMAGE_FORMATS(1144402265);
23036}
23037impl AIMAGE_FORMATS {
23038    pub const AIMAGE_FORMAT_DEPTH_POINT_CLOUD: AIMAGE_FORMATS = AIMAGE_FORMATS(257);
23039}
23040impl AIMAGE_FORMATS {
23041    pub const AIMAGE_FORMAT_PRIVATE: AIMAGE_FORMATS = AIMAGE_FORMATS(34);
23042}
23043impl AIMAGE_FORMATS {
23044    pub const AIMAGE_FORMAT_Y8: AIMAGE_FORMATS = AIMAGE_FORMATS(538982489);
23045}
23046impl AIMAGE_FORMATS {
23047    pub const AIMAGE_FORMAT_HEIC: AIMAGE_FORMATS = AIMAGE_FORMATS(1212500294);
23048}
23049impl AIMAGE_FORMATS {
23050    pub const AIMAGE_FORMAT_DEPTH_JPEG: AIMAGE_FORMATS = AIMAGE_FORMATS(1768253795);
23051}
23052#[repr(transparent)]
23053#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
23054pub struct AIMAGE_FORMATS(pub ::std::os::raw::c_uint);
23055#[repr(C)]
23056#[derive(Debug, Copy, Clone)]
23057pub struct AImageCropRect {
23058    pub left: i32,
23059    pub top: i32,
23060    pub right: i32,
23061    pub bottom: i32,
23062}
23063#[test]
23064fn bindgen_test_layout_AImageCropRect() {
23065    const UNINIT: ::std::mem::MaybeUninit<AImageCropRect> = ::std::mem::MaybeUninit::uninit();
23066    let ptr = UNINIT.as_ptr();
23067    assert_eq!(
23068        ::std::mem::size_of::<AImageCropRect>(),
23069        16usize,
23070        concat!("Size of: ", stringify!(AImageCropRect))
23071    );
23072    assert_eq!(
23073        ::std::mem::align_of::<AImageCropRect>(),
23074        4usize,
23075        concat!("Alignment of ", stringify!(AImageCropRect))
23076    );
23077    assert_eq!(
23078        unsafe { ::std::ptr::addr_of!((*ptr).left) as usize - ptr as usize },
23079        0usize,
23080        concat!(
23081            "Offset of field: ",
23082            stringify!(AImageCropRect),
23083            "::",
23084            stringify!(left)
23085        )
23086    );
23087    assert_eq!(
23088        unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize },
23089        4usize,
23090        concat!(
23091            "Offset of field: ",
23092            stringify!(AImageCropRect),
23093            "::",
23094            stringify!(top)
23095        )
23096    );
23097    assert_eq!(
23098        unsafe { ::std::ptr::addr_of!((*ptr).right) as usize - ptr as usize },
23099        8usize,
23100        concat!(
23101            "Offset of field: ",
23102            stringify!(AImageCropRect),
23103            "::",
23104            stringify!(right)
23105        )
23106    );
23107    assert_eq!(
23108        unsafe { ::std::ptr::addr_of!((*ptr).bottom) as usize - ptr as usize },
23109        12usize,
23110        concat!(
23111            "Offset of field: ",
23112            stringify!(AImageCropRect),
23113            "::",
23114            stringify!(bottom)
23115        )
23116    );
23117}
23118extern "C" {
23119    pub fn AImage_delete(image: *mut AImage);
23120}
23121extern "C" {
23122    pub fn AImage_getWidth(image: *const AImage, width: *mut i32) -> media_status_t;
23123}
23124extern "C" {
23125    pub fn AImage_getHeight(image: *const AImage, height: *mut i32) -> media_status_t;
23126}
23127extern "C" {
23128    pub fn AImage_getFormat(image: *const AImage, format: *mut i32) -> media_status_t;
23129}
23130extern "C" {
23131    pub fn AImage_getCropRect(image: *const AImage, rect: *mut AImageCropRect) -> media_status_t;
23132}
23133extern "C" {
23134    pub fn AImage_getTimestamp(image: *const AImage, timestampNs: *mut i64) -> media_status_t;
23135}
23136extern "C" {
23137    pub fn AImage_getNumberOfPlanes(image: *const AImage, numPlanes: *mut i32) -> media_status_t;
23138}
23139extern "C" {
23140    pub fn AImage_getPlanePixelStride(
23141        image: *const AImage,
23142        planeIdx: ::std::os::raw::c_int,
23143        pixelStride: *mut i32,
23144    ) -> media_status_t;
23145}
23146extern "C" {
23147    pub fn AImage_getPlaneRowStride(
23148        image: *const AImage,
23149        planeIdx: ::std::os::raw::c_int,
23150        rowStride: *mut i32,
23151    ) -> media_status_t;
23152}
23153extern "C" {
23154    pub fn AImage_getPlaneData(
23155        image: *const AImage,
23156        planeIdx: ::std::os::raw::c_int,
23157        data: *mut *mut u8,
23158        dataLength: *mut ::std::os::raw::c_int,
23159    ) -> media_status_t;
23160}
23161extern "C" {
23162    pub fn AImage_deleteAsync(image: *mut AImage, releaseFenceFd: ::std::os::raw::c_int);
23163}
23164extern "C" {
23165    pub fn AImage_getHardwareBuffer(
23166        image: *const AImage,
23167        buffer: *mut *mut AHardwareBuffer,
23168    ) -> media_status_t;
23169}
23170extern "C" {
23171    pub fn AImage_getDataSpace(image: *const AImage, dataSpace: *mut i32) -> media_status_t;
23172}
23173#[repr(C)]
23174#[derive(Debug, Copy, Clone)]
23175pub struct AImageReader {
23176    _unused: [u8; 0],
23177}
23178extern "C" {
23179    pub fn AImageReader_new(
23180        width: i32,
23181        height: i32,
23182        format: i32,
23183        maxImages: i32,
23184        reader: *mut *mut AImageReader,
23185    ) -> media_status_t;
23186}
23187extern "C" {
23188    pub fn AImageReader_delete(reader: *mut AImageReader);
23189}
23190extern "C" {
23191    pub fn AImageReader_getWindow(
23192        reader: *mut AImageReader,
23193        window: *mut *mut ANativeWindow,
23194    ) -> media_status_t;
23195}
23196extern "C" {
23197    pub fn AImageReader_getWidth(reader: *const AImageReader, width: *mut i32) -> media_status_t;
23198}
23199extern "C" {
23200    pub fn AImageReader_getHeight(reader: *const AImageReader, height: *mut i32) -> media_status_t;
23201}
23202extern "C" {
23203    pub fn AImageReader_getFormat(reader: *const AImageReader, format: *mut i32) -> media_status_t;
23204}
23205extern "C" {
23206    pub fn AImageReader_getMaxImages(
23207        reader: *const AImageReader,
23208        maxImages: *mut i32,
23209    ) -> media_status_t;
23210}
23211extern "C" {
23212    pub fn AImageReader_acquireNextImage(
23213        reader: *mut AImageReader,
23214        image: *mut *mut AImage,
23215    ) -> media_status_t;
23216}
23217extern "C" {
23218    pub fn AImageReader_acquireLatestImage(
23219        reader: *mut AImageReader,
23220        image: *mut *mut AImage,
23221    ) -> media_status_t;
23222}
23223pub type AImageReader_ImageCallback = ::std::option::Option<
23224    unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, reader: *mut AImageReader),
23225>;
23226#[repr(C)]
23227#[derive(Debug, Copy, Clone)]
23228pub struct AImageReader_ImageListener {
23229    pub context: *mut ::std::os::raw::c_void,
23230    pub onImageAvailable: AImageReader_ImageCallback,
23231}
23232#[test]
23233fn bindgen_test_layout_AImageReader_ImageListener() {
23234    const UNINIT: ::std::mem::MaybeUninit<AImageReader_ImageListener> =
23235        ::std::mem::MaybeUninit::uninit();
23236    let ptr = UNINIT.as_ptr();
23237    assert_eq!(
23238        ::std::mem::size_of::<AImageReader_ImageListener>(),
23239        8usize,
23240        concat!("Size of: ", stringify!(AImageReader_ImageListener))
23241    );
23242    assert_eq!(
23243        ::std::mem::align_of::<AImageReader_ImageListener>(),
23244        4usize,
23245        concat!("Alignment of ", stringify!(AImageReader_ImageListener))
23246    );
23247    assert_eq!(
23248        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
23249        0usize,
23250        concat!(
23251            "Offset of field: ",
23252            stringify!(AImageReader_ImageListener),
23253            "::",
23254            stringify!(context)
23255        )
23256    );
23257    assert_eq!(
23258        unsafe { ::std::ptr::addr_of!((*ptr).onImageAvailable) as usize - ptr as usize },
23259        4usize,
23260        concat!(
23261            "Offset of field: ",
23262            stringify!(AImageReader_ImageListener),
23263            "::",
23264            stringify!(onImageAvailable)
23265        )
23266    );
23267}
23268extern "C" {
23269    pub fn AImageReader_setImageListener(
23270        reader: *mut AImageReader,
23271        listener: *mut AImageReader_ImageListener,
23272    ) -> media_status_t;
23273}
23274extern "C" {
23275    pub fn AImageReader_newWithUsage(
23276        width: i32,
23277        height: i32,
23278        format: i32,
23279        usage: u64,
23280        maxImages: i32,
23281        reader: *mut *mut AImageReader,
23282    ) -> media_status_t;
23283}
23284extern "C" {
23285    pub fn AImageReader_newWithDataSpace(
23286        width: i32,
23287        height: i32,
23288        usage: u64,
23289        maxImages: i32,
23290        hardwareBufferFormat: u32,
23291        dataSpace: i32,
23292        reader: *mut *mut AImageReader,
23293    ) -> media_status_t;
23294}
23295extern "C" {
23296    pub fn AImageReader_acquireNextImageAsync(
23297        reader: *mut AImageReader,
23298        image: *mut *mut AImage,
23299        acquireFenceFd: *mut ::std::os::raw::c_int,
23300    ) -> media_status_t;
23301}
23302extern "C" {
23303    pub fn AImageReader_acquireLatestImageAsync(
23304        reader: *mut AImageReader,
23305        image: *mut *mut AImage,
23306        acquireFenceFd: *mut ::std::os::raw::c_int,
23307    ) -> media_status_t;
23308}
23309pub type AImageReader_BufferRemovedCallback = ::std::option::Option<
23310    unsafe extern "C" fn(
23311        context: *mut ::std::os::raw::c_void,
23312        reader: *mut AImageReader,
23313        buffer: *mut AHardwareBuffer,
23314    ),
23315>;
23316#[repr(C)]
23317#[derive(Debug, Copy, Clone)]
23318pub struct AImageReader_BufferRemovedListener {
23319    pub context: *mut ::std::os::raw::c_void,
23320    pub onBufferRemoved: AImageReader_BufferRemovedCallback,
23321}
23322#[test]
23323fn bindgen_test_layout_AImageReader_BufferRemovedListener() {
23324    const UNINIT: ::std::mem::MaybeUninit<AImageReader_BufferRemovedListener> =
23325        ::std::mem::MaybeUninit::uninit();
23326    let ptr = UNINIT.as_ptr();
23327    assert_eq!(
23328        ::std::mem::size_of::<AImageReader_BufferRemovedListener>(),
23329        8usize,
23330        concat!("Size of: ", stringify!(AImageReader_BufferRemovedListener))
23331    );
23332    assert_eq!(
23333        ::std::mem::align_of::<AImageReader_BufferRemovedListener>(),
23334        4usize,
23335        concat!(
23336            "Alignment of ",
23337            stringify!(AImageReader_BufferRemovedListener)
23338        )
23339    );
23340    assert_eq!(
23341        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
23342        0usize,
23343        concat!(
23344            "Offset of field: ",
23345            stringify!(AImageReader_BufferRemovedListener),
23346            "::",
23347            stringify!(context)
23348        )
23349    );
23350    assert_eq!(
23351        unsafe { ::std::ptr::addr_of!((*ptr).onBufferRemoved) as usize - ptr as usize },
23352        4usize,
23353        concat!(
23354            "Offset of field: ",
23355            stringify!(AImageReader_BufferRemovedListener),
23356            "::",
23357            stringify!(onBufferRemoved)
23358        )
23359    );
23360}
23361extern "C" {
23362    pub fn AImageReader_setBufferRemovedListener(
23363        reader: *mut AImageReader,
23364        listener: *mut AImageReader_BufferRemovedListener,
23365    ) -> media_status_t;
23366}
23367#[repr(C)]
23368#[derive(Debug, Copy, Clone)]
23369pub struct AMediaCrypto {
23370    _unused: [u8; 0],
23371}
23372pub type AMediaUUID = [u8; 16usize];
23373extern "C" {
23374    pub fn AMediaCrypto_isCryptoSchemeSupported(uuid: *mut u8) -> bool;
23375}
23376extern "C" {
23377    pub fn AMediaCrypto_requiresSecureDecoderComponent(mime: *const ::std::os::raw::c_char)
23378        -> bool;
23379}
23380extern "C" {
23381    pub fn AMediaCrypto_new(
23382        uuid: *mut u8,
23383        initData: *const ::std::os::raw::c_void,
23384        initDataSize: usize,
23385    ) -> *mut AMediaCrypto;
23386}
23387extern "C" {
23388    pub fn AMediaCrypto_delete(crypto: *mut AMediaCrypto);
23389}
23390#[repr(C)]
23391#[derive(Debug, Copy, Clone)]
23392pub struct AMediaFormat {
23393    _unused: [u8; 0],
23394}
23395extern "C" {
23396    pub fn AMediaFormat_new() -> *mut AMediaFormat;
23397}
23398extern "C" {
23399    pub fn AMediaFormat_delete(arg1: *mut AMediaFormat) -> media_status_t;
23400}
23401extern "C" {
23402    pub fn AMediaFormat_toString(arg1: *mut AMediaFormat) -> *const ::std::os::raw::c_char;
23403}
23404extern "C" {
23405    pub fn AMediaFormat_getInt32(
23406        arg1: *mut AMediaFormat,
23407        name: *const ::std::os::raw::c_char,
23408        out: *mut i32,
23409    ) -> bool;
23410}
23411extern "C" {
23412    pub fn AMediaFormat_getInt64(
23413        arg1: *mut AMediaFormat,
23414        name: *const ::std::os::raw::c_char,
23415        out: *mut i64,
23416    ) -> bool;
23417}
23418extern "C" {
23419    pub fn AMediaFormat_getFloat(
23420        arg1: *mut AMediaFormat,
23421        name: *const ::std::os::raw::c_char,
23422        out: *mut f32,
23423    ) -> bool;
23424}
23425extern "C" {
23426    pub fn AMediaFormat_getSize(
23427        arg1: *mut AMediaFormat,
23428        name: *const ::std::os::raw::c_char,
23429        out: *mut usize,
23430    ) -> bool;
23431}
23432extern "C" {
23433    pub fn AMediaFormat_getBuffer(
23434        arg1: *mut AMediaFormat,
23435        name: *const ::std::os::raw::c_char,
23436        data: *mut *mut ::std::os::raw::c_void,
23437        size: *mut usize,
23438    ) -> bool;
23439}
23440extern "C" {
23441    pub fn AMediaFormat_getString(
23442        arg1: *mut AMediaFormat,
23443        name: *const ::std::os::raw::c_char,
23444        out: *mut *const ::std::os::raw::c_char,
23445    ) -> bool;
23446}
23447extern "C" {
23448    pub fn AMediaFormat_setInt32(
23449        arg1: *mut AMediaFormat,
23450        name: *const ::std::os::raw::c_char,
23451        value: i32,
23452    );
23453}
23454extern "C" {
23455    pub fn AMediaFormat_setInt64(
23456        arg1: *mut AMediaFormat,
23457        name: *const ::std::os::raw::c_char,
23458        value: i64,
23459    );
23460}
23461extern "C" {
23462    pub fn AMediaFormat_setFloat(
23463        arg1: *mut AMediaFormat,
23464        name: *const ::std::os::raw::c_char,
23465        value: f32,
23466    );
23467}
23468extern "C" {
23469    pub fn AMediaFormat_setString(
23470        arg1: *mut AMediaFormat,
23471        name: *const ::std::os::raw::c_char,
23472        value: *const ::std::os::raw::c_char,
23473    );
23474}
23475extern "C" {
23476    pub fn AMediaFormat_setBuffer(
23477        arg1: *mut AMediaFormat,
23478        name: *const ::std::os::raw::c_char,
23479        data: *const ::std::os::raw::c_void,
23480        size: usize,
23481    );
23482}
23483extern "C" {
23484    pub static mut AMEDIAFORMAT_KEY_AAC_DRC_ATTENUATION_FACTOR: *const ::std::os::raw::c_char;
23485}
23486extern "C" {
23487    pub static mut AMEDIAFORMAT_KEY_AAC_DRC_BOOST_FACTOR: *const ::std::os::raw::c_char;
23488}
23489extern "C" {
23490    pub static mut AMEDIAFORMAT_KEY_AAC_DRC_HEAVY_COMPRESSION: *const ::std::os::raw::c_char;
23491}
23492extern "C" {
23493    pub static mut AMEDIAFORMAT_KEY_AAC_DRC_TARGET_REFERENCE_LEVEL: *const ::std::os::raw::c_char;
23494}
23495extern "C" {
23496    pub static mut AMEDIAFORMAT_KEY_AAC_ENCODED_TARGET_LEVEL: *const ::std::os::raw::c_char;
23497}
23498extern "C" {
23499    pub static mut AMEDIAFORMAT_KEY_AAC_MAX_OUTPUT_CHANNEL_COUNT: *const ::std::os::raw::c_char;
23500}
23501extern "C" {
23502    pub static mut AMEDIAFORMAT_KEY_AAC_PROFILE: *const ::std::os::raw::c_char;
23503}
23504extern "C" {
23505    pub static mut AMEDIAFORMAT_KEY_AAC_SBR_MODE: *const ::std::os::raw::c_char;
23506}
23507extern "C" {
23508    pub static mut AMEDIAFORMAT_KEY_ALLOW_FRAME_DROP: *const ::std::os::raw::c_char;
23509}
23510extern "C" {
23511    pub static mut AMEDIAFORMAT_KEY_AUDIO_SESSION_ID: *const ::std::os::raw::c_char;
23512}
23513extern "C" {
23514    pub static mut AMEDIAFORMAT_KEY_BITRATE_MODE: *const ::std::os::raw::c_char;
23515}
23516extern "C" {
23517    pub static mut AMEDIAFORMAT_KEY_BIT_RATE: *const ::std::os::raw::c_char;
23518}
23519extern "C" {
23520    pub static mut AMEDIAFORMAT_KEY_CAPTURE_RATE: *const ::std::os::raw::c_char;
23521}
23522extern "C" {
23523    pub static mut AMEDIAFORMAT_KEY_CHANNEL_COUNT: *const ::std::os::raw::c_char;
23524}
23525extern "C" {
23526    pub static mut AMEDIAFORMAT_KEY_CHANNEL_MASK: *const ::std::os::raw::c_char;
23527}
23528extern "C" {
23529    pub static mut AMEDIAFORMAT_KEY_COLOR_FORMAT: *const ::std::os::raw::c_char;
23530}
23531extern "C" {
23532    pub static mut AMEDIAFORMAT_KEY_COLOR_RANGE: *const ::std::os::raw::c_char;
23533}
23534extern "C" {
23535    pub static mut AMEDIAFORMAT_KEY_COLOR_STANDARD: *const ::std::os::raw::c_char;
23536}
23537extern "C" {
23538    pub static mut AMEDIAFORMAT_KEY_COLOR_TRANSFER: *const ::std::os::raw::c_char;
23539}
23540extern "C" {
23541    pub static mut AMEDIAFORMAT_KEY_COMPLEXITY: *const ::std::os::raw::c_char;
23542}
23543extern "C" {
23544    pub static mut AMEDIAFORMAT_KEY_CSD: *const ::std::os::raw::c_char;
23545}
23546extern "C" {
23547    pub static mut AMEDIAFORMAT_KEY_CSD_0: *const ::std::os::raw::c_char;
23548}
23549extern "C" {
23550    pub static mut AMEDIAFORMAT_KEY_CSD_1: *const ::std::os::raw::c_char;
23551}
23552extern "C" {
23553    pub static mut AMEDIAFORMAT_KEY_CSD_2: *const ::std::os::raw::c_char;
23554}
23555extern "C" {
23556    pub static mut AMEDIAFORMAT_KEY_DISPLAY_CROP: *const ::std::os::raw::c_char;
23557}
23558extern "C" {
23559    pub static mut AMEDIAFORMAT_KEY_DISPLAY_HEIGHT: *const ::std::os::raw::c_char;
23560}
23561extern "C" {
23562    pub static mut AMEDIAFORMAT_KEY_DISPLAY_WIDTH: *const ::std::os::raw::c_char;
23563}
23564extern "C" {
23565    pub static mut AMEDIAFORMAT_KEY_DURATION: *const ::std::os::raw::c_char;
23566}
23567extern "C" {
23568    pub static mut AMEDIAFORMAT_KEY_FLAC_COMPRESSION_LEVEL: *const ::std::os::raw::c_char;
23569}
23570extern "C" {
23571    pub static mut AMEDIAFORMAT_KEY_FRAME_RATE: *const ::std::os::raw::c_char;
23572}
23573extern "C" {
23574    pub static mut AMEDIAFORMAT_KEY_GRID_COLUMNS: *const ::std::os::raw::c_char;
23575}
23576extern "C" {
23577    pub static mut AMEDIAFORMAT_KEY_GRID_ROWS: *const ::std::os::raw::c_char;
23578}
23579extern "C" {
23580    pub static mut AMEDIAFORMAT_KEY_HDR_STATIC_INFO: *const ::std::os::raw::c_char;
23581}
23582extern "C" {
23583    pub static mut AMEDIAFORMAT_KEY_HEIGHT: *const ::std::os::raw::c_char;
23584}
23585extern "C" {
23586    pub static mut AMEDIAFORMAT_KEY_IMPORTANCE: *const ::std::os::raw::c_char;
23587}
23588extern "C" {
23589    pub static mut AMEDIAFORMAT_KEY_INTRA_REFRESH_PERIOD: *const ::std::os::raw::c_char;
23590}
23591extern "C" {
23592    pub static mut AMEDIAFORMAT_KEY_IS_ADTS: *const ::std::os::raw::c_char;
23593}
23594extern "C" {
23595    pub static mut AMEDIAFORMAT_KEY_IS_AUTOSELECT: *const ::std::os::raw::c_char;
23596}
23597extern "C" {
23598    pub static mut AMEDIAFORMAT_KEY_IS_DEFAULT: *const ::std::os::raw::c_char;
23599}
23600extern "C" {
23601    pub static mut AMEDIAFORMAT_KEY_IS_FORCED_SUBTITLE: *const ::std::os::raw::c_char;
23602}
23603extern "C" {
23604    pub static mut AMEDIAFORMAT_KEY_I_FRAME_INTERVAL: *const ::std::os::raw::c_char;
23605}
23606extern "C" {
23607    pub static mut AMEDIAFORMAT_KEY_LANGUAGE: *const ::std::os::raw::c_char;
23608}
23609extern "C" {
23610    pub static mut AMEDIAFORMAT_KEY_LATENCY: *const ::std::os::raw::c_char;
23611}
23612extern "C" {
23613    pub static mut AMEDIAFORMAT_KEY_LEVEL: *const ::std::os::raw::c_char;
23614}
23615extern "C" {
23616    pub static mut AMEDIAFORMAT_KEY_MAX_B_FRAMES: *const ::std::os::raw::c_char;
23617}
23618extern "C" {
23619    pub static mut AMEDIAFORMAT_KEY_MAX_HEIGHT: *const ::std::os::raw::c_char;
23620}
23621extern "C" {
23622    pub static mut AMEDIAFORMAT_KEY_MAX_INPUT_SIZE: *const ::std::os::raw::c_char;
23623}
23624extern "C" {
23625    pub static mut AMEDIAFORMAT_KEY_BUFFER_BATCH_MAX_OUTPUT_SIZE: *const ::std::os::raw::c_char;
23626}
23627extern "C" {
23628    pub static mut AMEDIAFORMAT_KEY_BUFFER_BATCH_THRESHOLD_OUTPUT_SIZE:
23629        *const ::std::os::raw::c_char;
23630}
23631extern "C" {
23632    pub static mut AMEDIAFORMAT_KEY_MAX_WIDTH: *const ::std::os::raw::c_char;
23633}
23634extern "C" {
23635    pub static mut AMEDIAFORMAT_KEY_MIME: *const ::std::os::raw::c_char;
23636}
23637extern "C" {
23638    pub static mut AMEDIAFORMAT_KEY_MPEG_USER_DATA: *const ::std::os::raw::c_char;
23639}
23640extern "C" {
23641    pub static mut AMEDIAFORMAT_KEY_OPERATING_RATE: *const ::std::os::raw::c_char;
23642}
23643extern "C" {
23644    pub static mut AMEDIAFORMAT_KEY_PCM_ENCODING: *const ::std::os::raw::c_char;
23645}
23646extern "C" {
23647    pub static mut AMEDIAFORMAT_KEY_PRIORITY: *const ::std::os::raw::c_char;
23648}
23649extern "C" {
23650    pub static mut AMEDIAFORMAT_KEY_PROFILE: *const ::std::os::raw::c_char;
23651}
23652extern "C" {
23653    pub static mut AMEDIAFORMAT_KEY_PUSH_BLANK_BUFFERS_ON_STOP: *const ::std::os::raw::c_char;
23654}
23655extern "C" {
23656    pub static mut AMEDIAFORMAT_KEY_REPEAT_PREVIOUS_FRAME_AFTER: *const ::std::os::raw::c_char;
23657}
23658extern "C" {
23659    pub static mut AMEDIAFORMAT_KEY_ROTATION: *const ::std::os::raw::c_char;
23660}
23661extern "C" {
23662    pub static mut AMEDIAFORMAT_KEY_SAMPLE_RATE: *const ::std::os::raw::c_char;
23663}
23664extern "C" {
23665    pub static mut AMEDIAFORMAT_KEY_SEI: *const ::std::os::raw::c_char;
23666}
23667extern "C" {
23668    pub static mut AMEDIAFORMAT_KEY_SLICE_HEIGHT: *const ::std::os::raw::c_char;
23669}
23670extern "C" {
23671    pub static mut AMEDIAFORMAT_KEY_STRIDE: *const ::std::os::raw::c_char;
23672}
23673extern "C" {
23674    pub static mut AMEDIAFORMAT_KEY_TEMPORAL_LAYER_ID: *const ::std::os::raw::c_char;
23675}
23676extern "C" {
23677    pub static mut AMEDIAFORMAT_KEY_TEMPORAL_LAYERING: *const ::std::os::raw::c_char;
23678}
23679extern "C" {
23680    pub static mut AMEDIAFORMAT_KEY_TILE_HEIGHT: *const ::std::os::raw::c_char;
23681}
23682extern "C" {
23683    pub static mut AMEDIAFORMAT_KEY_TILE_WIDTH: *const ::std::os::raw::c_char;
23684}
23685extern "C" {
23686    pub static mut AMEDIAFORMAT_KEY_TIME_US: *const ::std::os::raw::c_char;
23687}
23688extern "C" {
23689    pub static mut AMEDIAFORMAT_KEY_TRACK_ID: *const ::std::os::raw::c_char;
23690}
23691extern "C" {
23692    pub static mut AMEDIAFORMAT_KEY_TRACK_INDEX: *const ::std::os::raw::c_char;
23693}
23694extern "C" {
23695    pub static mut AMEDIAFORMAT_KEY_WIDTH: *const ::std::os::raw::c_char;
23696}
23697extern "C" {
23698    pub fn AMediaFormat_getDouble(
23699        arg1: *mut AMediaFormat,
23700        name: *const ::std::os::raw::c_char,
23701        out: *mut f64,
23702    ) -> bool;
23703}
23704extern "C" {
23705    pub fn AMediaFormat_getRect(
23706        arg1: *mut AMediaFormat,
23707        name: *const ::std::os::raw::c_char,
23708        left: *mut i32,
23709        top: *mut i32,
23710        right: *mut i32,
23711        bottom: *mut i32,
23712    ) -> bool;
23713}
23714extern "C" {
23715    pub fn AMediaFormat_setDouble(
23716        arg1: *mut AMediaFormat,
23717        name: *const ::std::os::raw::c_char,
23718        value: f64,
23719    );
23720}
23721extern "C" {
23722    pub fn AMediaFormat_setSize(
23723        arg1: *mut AMediaFormat,
23724        name: *const ::std::os::raw::c_char,
23725        value: usize,
23726    );
23727}
23728extern "C" {
23729    pub fn AMediaFormat_setRect(
23730        arg1: *mut AMediaFormat,
23731        name: *const ::std::os::raw::c_char,
23732        left: i32,
23733        top: i32,
23734        right: i32,
23735        bottom: i32,
23736    );
23737}
23738extern "C" {
23739    pub fn AMediaFormat_clear(arg1: *mut AMediaFormat);
23740}
23741extern "C" {
23742    pub fn AMediaFormat_copy(to: *mut AMediaFormat, from: *mut AMediaFormat) -> media_status_t;
23743}
23744extern "C" {
23745    pub static mut AMEDIAFORMAT_KEY_ALBUM: *const ::std::os::raw::c_char;
23746}
23747extern "C" {
23748    pub static mut AMEDIAFORMAT_KEY_ALBUMART: *const ::std::os::raw::c_char;
23749}
23750extern "C" {
23751    pub static mut AMEDIAFORMAT_KEY_ALBUMARTIST: *const ::std::os::raw::c_char;
23752}
23753extern "C" {
23754    pub static mut AMEDIAFORMAT_KEY_ARTIST: *const ::std::os::raw::c_char;
23755}
23756extern "C" {
23757    pub static mut AMEDIAFORMAT_KEY_AUDIO_PRESENTATION_INFO: *const ::std::os::raw::c_char;
23758}
23759extern "C" {
23760    pub static mut AMEDIAFORMAT_KEY_AUDIO_PRESENTATION_PRESENTATION_ID:
23761        *const ::std::os::raw::c_char;
23762}
23763extern "C" {
23764    pub static mut AMEDIAFORMAT_KEY_AUDIO_PRESENTATION_PROGRAM_ID: *const ::std::os::raw::c_char;
23765}
23766extern "C" {
23767    pub static mut AMEDIAFORMAT_KEY_AUTHOR: *const ::std::os::raw::c_char;
23768}
23769extern "C" {
23770    pub static mut AMEDIAFORMAT_KEY_BITS_PER_SAMPLE: *const ::std::os::raw::c_char;
23771}
23772extern "C" {
23773    pub static mut AMEDIAFORMAT_KEY_CDTRACKNUMBER: *const ::std::os::raw::c_char;
23774}
23775extern "C" {
23776    pub static mut AMEDIAFORMAT_KEY_COMPILATION: *const ::std::os::raw::c_char;
23777}
23778extern "C" {
23779    pub static mut AMEDIAFORMAT_KEY_COMPOSER: *const ::std::os::raw::c_char;
23780}
23781extern "C" {
23782    pub static mut AMEDIAFORMAT_KEY_CREATE_INPUT_SURFACE_SUSPENDED: *const ::std::os::raw::c_char;
23783}
23784extern "C" {
23785    pub static mut AMEDIAFORMAT_KEY_CRYPTO_DEFAULT_IV_SIZE: *const ::std::os::raw::c_char;
23786}
23787extern "C" {
23788    pub static mut AMEDIAFORMAT_KEY_CRYPTO_ENCRYPTED_BYTE_BLOCK: *const ::std::os::raw::c_char;
23789}
23790extern "C" {
23791    pub static mut AMEDIAFORMAT_KEY_CRYPTO_ENCRYPTED_SIZES: *const ::std::os::raw::c_char;
23792}
23793extern "C" {
23794    pub static mut AMEDIAFORMAT_KEY_CRYPTO_IV: *const ::std::os::raw::c_char;
23795}
23796extern "C" {
23797    pub static mut AMEDIAFORMAT_KEY_CRYPTO_KEY: *const ::std::os::raw::c_char;
23798}
23799extern "C" {
23800    pub static mut AMEDIAFORMAT_KEY_CRYPTO_MODE: *const ::std::os::raw::c_char;
23801}
23802extern "C" {
23803    pub static mut AMEDIAFORMAT_KEY_CRYPTO_PLAIN_SIZES: *const ::std::os::raw::c_char;
23804}
23805extern "C" {
23806    pub static mut AMEDIAFORMAT_KEY_CRYPTO_SKIP_BYTE_BLOCK: *const ::std::os::raw::c_char;
23807}
23808extern "C" {
23809    pub static mut AMEDIAFORMAT_KEY_CSD_AVC: *const ::std::os::raw::c_char;
23810}
23811extern "C" {
23812    pub static mut AMEDIAFORMAT_KEY_CSD_HEVC: *const ::std::os::raw::c_char;
23813}
23814extern "C" {
23815    pub static mut AMEDIAFORMAT_KEY_D263: *const ::std::os::raw::c_char;
23816}
23817extern "C" {
23818    pub static mut AMEDIAFORMAT_KEY_DATE: *const ::std::os::raw::c_char;
23819}
23820extern "C" {
23821    pub static mut AMEDIAFORMAT_KEY_DISCNUMBER: *const ::std::os::raw::c_char;
23822}
23823extern "C" {
23824    pub static mut AMEDIAFORMAT_KEY_ENCODER_DELAY: *const ::std::os::raw::c_char;
23825}
23826extern "C" {
23827    pub static mut AMEDIAFORMAT_KEY_ENCODER_PADDING: *const ::std::os::raw::c_char;
23828}
23829extern "C" {
23830    pub static mut AMEDIAFORMAT_KEY_ESDS: *const ::std::os::raw::c_char;
23831}
23832extern "C" {
23833    pub static mut AMEDIAFORMAT_KEY_EXIF_OFFSET: *const ::std::os::raw::c_char;
23834}
23835extern "C" {
23836    pub static mut AMEDIAFORMAT_KEY_EXIF_SIZE: *const ::std::os::raw::c_char;
23837}
23838extern "C" {
23839    pub static mut AMEDIAFORMAT_KEY_FRAME_COUNT: *const ::std::os::raw::c_char;
23840}
23841extern "C" {
23842    pub static mut AMEDIAFORMAT_KEY_GENRE: *const ::std::os::raw::c_char;
23843}
23844extern "C" {
23845    pub static mut AMEDIAFORMAT_KEY_HAPTIC_CHANNEL_COUNT: *const ::std::os::raw::c_char;
23846}
23847extern "C" {
23848    pub static mut AMEDIAFORMAT_KEY_ICC_PROFILE: *const ::std::os::raw::c_char;
23849}
23850extern "C" {
23851    pub static mut AMEDIAFORMAT_KEY_IS_SYNC_FRAME: *const ::std::os::raw::c_char;
23852}
23853extern "C" {
23854    pub static mut AMEDIAFORMAT_KEY_LOCATION: *const ::std::os::raw::c_char;
23855}
23856extern "C" {
23857    pub static mut AMEDIAFORMAT_KEY_LOOP: *const ::std::os::raw::c_char;
23858}
23859extern "C" {
23860    pub static mut AMEDIAFORMAT_KEY_LYRICIST: *const ::std::os::raw::c_char;
23861}
23862extern "C" {
23863    pub static mut AMEDIAFORMAT_KEY_MANUFACTURER: *const ::std::os::raw::c_char;
23864}
23865extern "C" {
23866    pub static mut AMEDIAFORMAT_KEY_MAX_BIT_RATE: *const ::std::os::raw::c_char;
23867}
23868extern "C" {
23869    pub static mut AMEDIAFORMAT_KEY_MAX_FPS_TO_ENCODER: *const ::std::os::raw::c_char;
23870}
23871extern "C" {
23872    pub static mut AMEDIAFORMAT_KEY_MAX_PTS_GAP_TO_ENCODER: *const ::std::os::raw::c_char;
23873}
23874extern "C" {
23875    pub static mut AMEDIAFORMAT_KEY_MPEG2_STREAM_HEADER: *const ::std::os::raw::c_char;
23876}
23877extern "C" {
23878    pub static mut AMEDIAFORMAT_KEY_PCM_BIG_ENDIAN: *const ::std::os::raw::c_char;
23879}
23880extern "C" {
23881    pub static mut AMEDIAFORMAT_KEY_PSSH: *const ::std::os::raw::c_char;
23882}
23883extern "C" {
23884    pub static mut AMEDIAFORMAT_KEY_SAR_HEIGHT: *const ::std::os::raw::c_char;
23885}
23886extern "C" {
23887    pub static mut AMEDIAFORMAT_KEY_SAR_WIDTH: *const ::std::os::raw::c_char;
23888}
23889extern "C" {
23890    pub static mut AMEDIAFORMAT_KEY_TARGET_TIME: *const ::std::os::raw::c_char;
23891}
23892extern "C" {
23893    pub static mut AMEDIAFORMAT_KEY_TEMPORAL_LAYER_COUNT: *const ::std::os::raw::c_char;
23894}
23895extern "C" {
23896    pub static mut AMEDIAFORMAT_KEY_TEXT_FORMAT_DATA: *const ::std::os::raw::c_char;
23897}
23898extern "C" {
23899    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_CSD_HEVC: *const ::std::os::raw::c_char;
23900}
23901extern "C" {
23902    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_HEIGHT: *const ::std::os::raw::c_char;
23903}
23904extern "C" {
23905    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_TIME: *const ::std::os::raw::c_char;
23906}
23907extern "C" {
23908    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_WIDTH: *const ::std::os::raw::c_char;
23909}
23910extern "C" {
23911    pub static mut AMEDIAFORMAT_KEY_TITLE: *const ::std::os::raw::c_char;
23912}
23913extern "C" {
23914    pub static mut AMEDIAFORMAT_KEY_VALID_SAMPLES: *const ::std::os::raw::c_char;
23915}
23916extern "C" {
23917    pub static mut AMEDIAFORMAT_KEY_YEAR: *const ::std::os::raw::c_char;
23918}
23919extern "C" {
23920    pub static mut AMEDIAFORMAT_KEY_LOW_LATENCY: *const ::std::os::raw::c_char;
23921}
23922extern "C" {
23923    pub static mut AMEDIAFORMAT_KEY_HDR10_PLUS_INFO: *const ::std::os::raw::c_char;
23924}
23925extern "C" {
23926    pub static mut AMEDIAFORMAT_KEY_SLOW_MOTION_MARKERS: *const ::std::os::raw::c_char;
23927}
23928extern "C" {
23929    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_CSD_AV1C: *const ::std::os::raw::c_char;
23930}
23931extern "C" {
23932    pub static mut AMEDIAFORMAT_KEY_XMP_OFFSET: *const ::std::os::raw::c_char;
23933}
23934extern "C" {
23935    pub static mut AMEDIAFORMAT_KEY_XMP_SIZE: *const ::std::os::raw::c_char;
23936}
23937extern "C" {
23938    pub static mut AMEDIAFORMAT_KEY_SAMPLE_FILE_OFFSET: *const ::std::os::raw::c_char;
23939}
23940extern "C" {
23941    pub static mut AMEDIAFORMAT_KEY_LAST_SAMPLE_INDEX_IN_CHUNK: *const ::std::os::raw::c_char;
23942}
23943extern "C" {
23944    pub static mut AMEDIAFORMAT_KEY_SAMPLE_TIME_BEFORE_APPEND: *const ::std::os::raw::c_char;
23945}
23946extern "C" {
23947    pub static mut AMEDIAFORMAT_KEY_PICTURE_TYPE: *const ::std::os::raw::c_char;
23948}
23949extern "C" {
23950    pub static mut AMEDIAFORMAT_KEY_VIDEO_ENCODING_STATISTICS_LEVEL: *const ::std::os::raw::c_char;
23951}
23952extern "C" {
23953    pub static mut AMEDIAFORMAT_KEY_VIDEO_QP_AVERAGE: *const ::std::os::raw::c_char;
23954}
23955extern "C" {
23956    pub static mut AMEDIAFORMAT_VIDEO_QP_B_MAX: *const ::std::os::raw::c_char;
23957}
23958extern "C" {
23959    pub static mut AMEDIAFORMAT_VIDEO_QP_B_MIN: *const ::std::os::raw::c_char;
23960}
23961extern "C" {
23962    pub static mut AMEDIAFORMAT_VIDEO_QP_I_MAX: *const ::std::os::raw::c_char;
23963}
23964extern "C" {
23965    pub static mut AMEDIAFORMAT_VIDEO_QP_I_MIN: *const ::std::os::raw::c_char;
23966}
23967extern "C" {
23968    pub static mut AMEDIAFORMAT_VIDEO_QP_MAX: *const ::std::os::raw::c_char;
23969}
23970extern "C" {
23971    pub static mut AMEDIAFORMAT_VIDEO_QP_MIN: *const ::std::os::raw::c_char;
23972}
23973extern "C" {
23974    pub static mut AMEDIAFORMAT_VIDEO_QP_P_MAX: *const ::std::os::raw::c_char;
23975}
23976extern "C" {
23977    pub static mut AMEDIAFORMAT_VIDEO_QP_P_MIN: *const ::std::os::raw::c_char;
23978}
23979extern "C" {
23980    pub static mut AMEDIAFORMAT_KEY_MPEGH_COMPATIBLE_SETS: *const ::std::os::raw::c_char;
23981}
23982extern "C" {
23983    pub static mut AMEDIAFORMAT_KEY_MPEGH_PROFILE_LEVEL_INDICATION: *const ::std::os::raw::c_char;
23984}
23985extern "C" {
23986    pub static mut AMEDIAFORMAT_KEY_MPEGH_REFERENCE_CHANNEL_LAYOUT: *const ::std::os::raw::c_char;
23987}
23988#[repr(C)]
23989#[derive(Debug, Copy, Clone)]
23990pub struct AMediaCodec {
23991    _unused: [u8; 0],
23992}
23993#[repr(C)]
23994#[derive(Debug, Copy, Clone)]
23995pub struct AMediaCodecBufferInfo {
23996    pub offset: i32,
23997    pub size: i32,
23998    pub presentationTimeUs: i64,
23999    pub flags: u32,
24000}
24001#[test]
24002fn bindgen_test_layout_AMediaCodecBufferInfo() {
24003    const UNINIT: ::std::mem::MaybeUninit<AMediaCodecBufferInfo> =
24004        ::std::mem::MaybeUninit::uninit();
24005    let ptr = UNINIT.as_ptr();
24006    assert_eq!(
24007        ::std::mem::size_of::<AMediaCodecBufferInfo>(),
24008        24usize,
24009        concat!("Size of: ", stringify!(AMediaCodecBufferInfo))
24010    );
24011    assert_eq!(
24012        ::std::mem::align_of::<AMediaCodecBufferInfo>(),
24013        8usize,
24014        concat!("Alignment of ", stringify!(AMediaCodecBufferInfo))
24015    );
24016    assert_eq!(
24017        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
24018        0usize,
24019        concat!(
24020            "Offset of field: ",
24021            stringify!(AMediaCodecBufferInfo),
24022            "::",
24023            stringify!(offset)
24024        )
24025    );
24026    assert_eq!(
24027        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
24028        4usize,
24029        concat!(
24030            "Offset of field: ",
24031            stringify!(AMediaCodecBufferInfo),
24032            "::",
24033            stringify!(size)
24034        )
24035    );
24036    assert_eq!(
24037        unsafe { ::std::ptr::addr_of!((*ptr).presentationTimeUs) as usize - ptr as usize },
24038        8usize,
24039        concat!(
24040            "Offset of field: ",
24041            stringify!(AMediaCodecBufferInfo),
24042            "::",
24043            stringify!(presentationTimeUs)
24044        )
24045    );
24046    assert_eq!(
24047        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
24048        16usize,
24049        concat!(
24050            "Offset of field: ",
24051            stringify!(AMediaCodecBufferInfo),
24052            "::",
24053            stringify!(flags)
24054        )
24055    );
24056}
24057#[repr(C)]
24058#[derive(Debug, Copy, Clone)]
24059pub struct AMediaCodecCryptoInfo {
24060    _unused: [u8; 0],
24061}
24062pub const AMEDIACODEC_BUFFER_FLAG_KEY_FRAME: _bindgen_ty_69 = 1;
24063pub const AMEDIACODEC_BUFFER_FLAG_CODEC_CONFIG: _bindgen_ty_69 = 2;
24064pub const AMEDIACODEC_BUFFER_FLAG_END_OF_STREAM: _bindgen_ty_69 = 4;
24065pub const AMEDIACODEC_BUFFER_FLAG_PARTIAL_FRAME: _bindgen_ty_69 = 8;
24066pub const AMEDIACODEC_BUFFER_FLAG_MUXER_DATA: _bindgen_ty_69 = 16;
24067pub const AMEDIACODEC_BUFFER_FLAG_DECODE_ONLY: _bindgen_ty_69 = 32;
24068pub type _bindgen_ty_69 = ::std::os::raw::c_uint;
24069pub const AMEDIACODEC_CONFIGURE_FLAG_ENCODE: _bindgen_ty_70 = 1;
24070pub const AMEDIACODEC_INFO_OUTPUT_BUFFERS_CHANGED: _bindgen_ty_70 = -3;
24071pub const AMEDIACODEC_INFO_OUTPUT_FORMAT_CHANGED: _bindgen_ty_70 = -2;
24072pub const AMEDIACODEC_INFO_TRY_AGAIN_LATER: _bindgen_ty_70 = -1;
24073pub type _bindgen_ty_70 = ::std::os::raw::c_int;
24074pub type AMediaCodecOnAsyncInputAvailable = ::std::option::Option<
24075    unsafe extern "C" fn(
24076        codec: *mut AMediaCodec,
24077        userdata: *mut ::std::os::raw::c_void,
24078        index: i32,
24079    ),
24080>;
24081pub type AMediaCodecOnAsyncOutputAvailable = ::std::option::Option<
24082    unsafe extern "C" fn(
24083        codec: *mut AMediaCodec,
24084        userdata: *mut ::std::os::raw::c_void,
24085        index: i32,
24086        bufferInfo: *mut AMediaCodecBufferInfo,
24087    ),
24088>;
24089pub type AMediaCodecOnAsyncFormatChanged = ::std::option::Option<
24090    unsafe extern "C" fn(
24091        codec: *mut AMediaCodec,
24092        userdata: *mut ::std::os::raw::c_void,
24093        format: *mut AMediaFormat,
24094    ),
24095>;
24096pub type AMediaCodecOnAsyncError = ::std::option::Option<
24097    unsafe extern "C" fn(
24098        codec: *mut AMediaCodec,
24099        userdata: *mut ::std::os::raw::c_void,
24100        error: media_status_t,
24101        actionCode: i32,
24102        detail: *const ::std::os::raw::c_char,
24103    ),
24104>;
24105#[repr(C)]
24106#[derive(Debug, Copy, Clone)]
24107pub struct AMediaCodecOnAsyncNotifyCallback {
24108    pub onAsyncInputAvailable: AMediaCodecOnAsyncInputAvailable,
24109    pub onAsyncOutputAvailable: AMediaCodecOnAsyncOutputAvailable,
24110    pub onAsyncFormatChanged: AMediaCodecOnAsyncFormatChanged,
24111    pub onAsyncError: AMediaCodecOnAsyncError,
24112}
24113#[test]
24114fn bindgen_test_layout_AMediaCodecOnAsyncNotifyCallback() {
24115    const UNINIT: ::std::mem::MaybeUninit<AMediaCodecOnAsyncNotifyCallback> =
24116        ::std::mem::MaybeUninit::uninit();
24117    let ptr = UNINIT.as_ptr();
24118    assert_eq!(
24119        ::std::mem::size_of::<AMediaCodecOnAsyncNotifyCallback>(),
24120        16usize,
24121        concat!("Size of: ", stringify!(AMediaCodecOnAsyncNotifyCallback))
24122    );
24123    assert_eq!(
24124        ::std::mem::align_of::<AMediaCodecOnAsyncNotifyCallback>(),
24125        4usize,
24126        concat!(
24127            "Alignment of ",
24128            stringify!(AMediaCodecOnAsyncNotifyCallback)
24129        )
24130    );
24131    assert_eq!(
24132        unsafe { ::std::ptr::addr_of!((*ptr).onAsyncInputAvailable) as usize - ptr as usize },
24133        0usize,
24134        concat!(
24135            "Offset of field: ",
24136            stringify!(AMediaCodecOnAsyncNotifyCallback),
24137            "::",
24138            stringify!(onAsyncInputAvailable)
24139        )
24140    );
24141    assert_eq!(
24142        unsafe { ::std::ptr::addr_of!((*ptr).onAsyncOutputAvailable) as usize - ptr as usize },
24143        4usize,
24144        concat!(
24145            "Offset of field: ",
24146            stringify!(AMediaCodecOnAsyncNotifyCallback),
24147            "::",
24148            stringify!(onAsyncOutputAvailable)
24149        )
24150    );
24151    assert_eq!(
24152        unsafe { ::std::ptr::addr_of!((*ptr).onAsyncFormatChanged) as usize - ptr as usize },
24153        8usize,
24154        concat!(
24155            "Offset of field: ",
24156            stringify!(AMediaCodecOnAsyncNotifyCallback),
24157            "::",
24158            stringify!(onAsyncFormatChanged)
24159        )
24160    );
24161    assert_eq!(
24162        unsafe { ::std::ptr::addr_of!((*ptr).onAsyncError) as usize - ptr as usize },
24163        12usize,
24164        concat!(
24165            "Offset of field: ",
24166            stringify!(AMediaCodecOnAsyncNotifyCallback),
24167            "::",
24168            stringify!(onAsyncError)
24169        )
24170    );
24171}
24172pub type AMediaCodecOnFrameRendered = ::std::option::Option<
24173    unsafe extern "C" fn(
24174        codec: *mut AMediaCodec,
24175        userdata: *mut ::std::os::raw::c_void,
24176        mediaTimeUs: i64,
24177        systemNano: i64,
24178    ),
24179>;
24180extern "C" {
24181    pub fn AMediaCodec_createCodecByName(name: *const ::std::os::raw::c_char) -> *mut AMediaCodec;
24182}
24183extern "C" {
24184    pub fn AMediaCodec_createDecoderByType(
24185        mime_type: *const ::std::os::raw::c_char,
24186    ) -> *mut AMediaCodec;
24187}
24188extern "C" {
24189    pub fn AMediaCodec_createEncoderByType(
24190        mime_type: *const ::std::os::raw::c_char,
24191    ) -> *mut AMediaCodec;
24192}
24193extern "C" {
24194    pub fn AMediaCodec_delete(arg1: *mut AMediaCodec) -> media_status_t;
24195}
24196extern "C" {
24197    pub fn AMediaCodec_configure(
24198        arg1: *mut AMediaCodec,
24199        format: *const AMediaFormat,
24200        surface: *mut ANativeWindow,
24201        crypto: *mut AMediaCrypto,
24202        flags: u32,
24203    ) -> media_status_t;
24204}
24205extern "C" {
24206    pub fn AMediaCodec_start(arg1: *mut AMediaCodec) -> media_status_t;
24207}
24208extern "C" {
24209    pub fn AMediaCodec_stop(arg1: *mut AMediaCodec) -> media_status_t;
24210}
24211extern "C" {
24212    pub fn AMediaCodec_flush(arg1: *mut AMediaCodec) -> media_status_t;
24213}
24214extern "C" {
24215    pub fn AMediaCodec_getInputBuffer(
24216        arg1: *mut AMediaCodec,
24217        idx: usize,
24218        out_size: *mut usize,
24219    ) -> *mut u8;
24220}
24221extern "C" {
24222    pub fn AMediaCodec_getOutputBuffer(
24223        arg1: *mut AMediaCodec,
24224        idx: usize,
24225        out_size: *mut usize,
24226    ) -> *mut u8;
24227}
24228extern "C" {
24229    pub fn AMediaCodec_dequeueInputBuffer(arg1: *mut AMediaCodec, timeoutUs: i64) -> isize;
24230}
24231extern "C" {
24232    pub fn __assert(
24233        __file: *const ::std::os::raw::c_char,
24234        __line: ::std::os::raw::c_int,
24235        __msg: *const ::std::os::raw::c_char,
24236    ) -> !;
24237}
24238extern "C" {
24239    pub fn __assert2(
24240        __file: *const ::std::os::raw::c_char,
24241        __line: ::std::os::raw::c_int,
24242        __function: *const ::std::os::raw::c_char,
24243        __msg: *const ::std::os::raw::c_char,
24244    ) -> !;
24245}
24246extern "C" {
24247    pub fn AMediaCodec_queueInputBuffer(
24248        arg1: *mut AMediaCodec,
24249        idx: usize,
24250        offset: off_t,
24251        size: usize,
24252        time: u64,
24253        flags: u32,
24254    ) -> media_status_t;
24255}
24256extern "C" {
24257    pub fn AMediaCodec_queueSecureInputBuffer(
24258        arg1: *mut AMediaCodec,
24259        idx: usize,
24260        offset: off_t,
24261        arg2: *mut AMediaCodecCryptoInfo,
24262        time: u64,
24263        flags: u32,
24264    ) -> media_status_t;
24265}
24266extern "C" {
24267    pub fn AMediaCodec_dequeueOutputBuffer(
24268        arg1: *mut AMediaCodec,
24269        info: *mut AMediaCodecBufferInfo,
24270        timeoutUs: i64,
24271    ) -> isize;
24272}
24273extern "C" {
24274    pub fn AMediaCodec_getOutputFormat(arg1: *mut AMediaCodec) -> *mut AMediaFormat;
24275}
24276extern "C" {
24277    pub fn AMediaCodec_releaseOutputBuffer(
24278        arg1: *mut AMediaCodec,
24279        idx: usize,
24280        render: bool,
24281    ) -> media_status_t;
24282}
24283extern "C" {
24284    pub fn AMediaCodec_setOutputSurface(
24285        arg1: *mut AMediaCodec,
24286        surface: *mut ANativeWindow,
24287    ) -> media_status_t;
24288}
24289extern "C" {
24290    pub fn AMediaCodec_releaseOutputBufferAtTime(
24291        mData: *mut AMediaCodec,
24292        idx: usize,
24293        timestampNs: i64,
24294    ) -> media_status_t;
24295}
24296extern "C" {
24297    pub fn AMediaCodec_createInputSurface(
24298        mData: *mut AMediaCodec,
24299        surface: *mut *mut ANativeWindow,
24300    ) -> media_status_t;
24301}
24302extern "C" {
24303    pub fn AMediaCodec_createPersistentInputSurface(
24304        surface: *mut *mut ANativeWindow,
24305    ) -> media_status_t;
24306}
24307extern "C" {
24308    pub fn AMediaCodec_setInputSurface(
24309        mData: *mut AMediaCodec,
24310        surface: *mut ANativeWindow,
24311    ) -> media_status_t;
24312}
24313extern "C" {
24314    pub fn AMediaCodec_setParameters(
24315        mData: *mut AMediaCodec,
24316        params: *const AMediaFormat,
24317    ) -> media_status_t;
24318}
24319extern "C" {
24320    pub fn AMediaCodec_signalEndOfInputStream(mData: *mut AMediaCodec) -> media_status_t;
24321}
24322extern "C" {
24323    pub fn AMediaCodec_getBufferFormat(arg1: *mut AMediaCodec, index: usize) -> *mut AMediaFormat;
24324}
24325extern "C" {
24326    pub fn AMediaCodec_getName(
24327        arg1: *mut AMediaCodec,
24328        out_name: *mut *mut ::std::os::raw::c_char,
24329    ) -> media_status_t;
24330}
24331extern "C" {
24332    pub fn AMediaCodec_releaseName(arg1: *mut AMediaCodec, name: *mut ::std::os::raw::c_char);
24333}
24334extern "C" {
24335    pub fn AMediaCodec_setAsyncNotifyCallback(
24336        arg1: *mut AMediaCodec,
24337        callback: AMediaCodecOnAsyncNotifyCallback,
24338        userdata: *mut ::std::os::raw::c_void,
24339    ) -> media_status_t;
24340}
24341extern "C" {
24342    pub fn AMediaCodec_setOnFrameRenderedCallback(
24343        arg1: *mut AMediaCodec,
24344        callback: AMediaCodecOnFrameRendered,
24345        userdata: *mut ::std::os::raw::c_void,
24346    ) -> media_status_t;
24347}
24348extern "C" {
24349    pub fn AMediaCodec_releaseCrypto(arg1: *mut AMediaCodec) -> media_status_t;
24350}
24351extern "C" {
24352    pub fn AMediaCodec_getInputFormat(arg1: *mut AMediaCodec) -> *mut AMediaFormat;
24353}
24354extern "C" {
24355    pub fn AMediaCodecActionCode_isRecoverable(actionCode: i32) -> bool;
24356}
24357extern "C" {
24358    pub fn AMediaCodecActionCode_isTransient(actionCode: i32) -> bool;
24359}
24360impl cryptoinfo_mode_t {
24361    pub const AMEDIACODECRYPTOINFO_MODE_CLEAR: cryptoinfo_mode_t = cryptoinfo_mode_t(0);
24362}
24363impl cryptoinfo_mode_t {
24364    pub const AMEDIACODECRYPTOINFO_MODE_AES_CTR: cryptoinfo_mode_t = cryptoinfo_mode_t(1);
24365}
24366impl cryptoinfo_mode_t {
24367    pub const AMEDIACODECRYPTOINFO_MODE_AES_WV: cryptoinfo_mode_t = cryptoinfo_mode_t(2);
24368}
24369impl cryptoinfo_mode_t {
24370    pub const AMEDIACODECRYPTOINFO_MODE_AES_CBC: cryptoinfo_mode_t = cryptoinfo_mode_t(3);
24371}
24372#[repr(transparent)]
24373#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
24374pub struct cryptoinfo_mode_t(pub ::std::os::raw::c_uint);
24375#[repr(C)]
24376#[derive(Debug, Copy, Clone)]
24377pub struct cryptoinfo_pattern_t {
24378    pub encryptBlocks: i32,
24379    pub skipBlocks: i32,
24380}
24381#[test]
24382fn bindgen_test_layout_cryptoinfo_pattern_t() {
24383    const UNINIT: ::std::mem::MaybeUninit<cryptoinfo_pattern_t> = ::std::mem::MaybeUninit::uninit();
24384    let ptr = UNINIT.as_ptr();
24385    assert_eq!(
24386        ::std::mem::size_of::<cryptoinfo_pattern_t>(),
24387        8usize,
24388        concat!("Size of: ", stringify!(cryptoinfo_pattern_t))
24389    );
24390    assert_eq!(
24391        ::std::mem::align_of::<cryptoinfo_pattern_t>(),
24392        4usize,
24393        concat!("Alignment of ", stringify!(cryptoinfo_pattern_t))
24394    );
24395    assert_eq!(
24396        unsafe { ::std::ptr::addr_of!((*ptr).encryptBlocks) as usize - ptr as usize },
24397        0usize,
24398        concat!(
24399            "Offset of field: ",
24400            stringify!(cryptoinfo_pattern_t),
24401            "::",
24402            stringify!(encryptBlocks)
24403        )
24404    );
24405    assert_eq!(
24406        unsafe { ::std::ptr::addr_of!((*ptr).skipBlocks) as usize - ptr as usize },
24407        4usize,
24408        concat!(
24409            "Offset of field: ",
24410            stringify!(cryptoinfo_pattern_t),
24411            "::",
24412            stringify!(skipBlocks)
24413        )
24414    );
24415}
24416extern "C" {
24417    pub fn AMediaCodecCryptoInfo_new(
24418        numsubsamples: ::std::os::raw::c_int,
24419        key: *mut u8,
24420        iv: *mut u8,
24421        mode: cryptoinfo_mode_t,
24422        clearbytes: *mut usize,
24423        encryptedbytes: *mut usize,
24424    ) -> *mut AMediaCodecCryptoInfo;
24425}
24426extern "C" {
24427    pub fn AMediaCodecCryptoInfo_delete(arg1: *mut AMediaCodecCryptoInfo) -> media_status_t;
24428}
24429extern "C" {
24430    pub fn AMediaCodecCryptoInfo_setPattern(
24431        info: *mut AMediaCodecCryptoInfo,
24432        pattern: *mut cryptoinfo_pattern_t,
24433    );
24434}
24435extern "C" {
24436    pub fn AMediaCodecCryptoInfo_getNumSubSamples(arg1: *mut AMediaCodecCryptoInfo) -> usize;
24437}
24438extern "C" {
24439    pub fn AMediaCodecCryptoInfo_getKey(
24440        arg1: *mut AMediaCodecCryptoInfo,
24441        dst: *mut u8,
24442    ) -> media_status_t;
24443}
24444extern "C" {
24445    pub fn AMediaCodecCryptoInfo_getIV(
24446        arg1: *mut AMediaCodecCryptoInfo,
24447        dst: *mut u8,
24448    ) -> media_status_t;
24449}
24450extern "C" {
24451    pub fn AMediaCodecCryptoInfo_getMode(arg1: *mut AMediaCodecCryptoInfo) -> cryptoinfo_mode_t;
24452}
24453extern "C" {
24454    pub fn AMediaCodecCryptoInfo_getClearBytes(
24455        arg1: *mut AMediaCodecCryptoInfo,
24456        dst: *mut usize,
24457    ) -> media_status_t;
24458}
24459extern "C" {
24460    pub fn AMediaCodecCryptoInfo_getEncryptedBytes(
24461        arg1: *mut AMediaCodecCryptoInfo,
24462        dst: *mut usize,
24463    ) -> media_status_t;
24464}
24465extern "C" {
24466    pub static mut AMEDIACODEC_KEY_HDR10_PLUS_INFO: *const ::std::os::raw::c_char;
24467}
24468extern "C" {
24469    pub static mut AMEDIACODEC_KEY_LOW_LATENCY: *const ::std::os::raw::c_char;
24470}
24471extern "C" {
24472    pub static mut AMEDIACODEC_KEY_OFFSET_TIME: *const ::std::os::raw::c_char;
24473}
24474extern "C" {
24475    pub static mut AMEDIACODEC_KEY_REQUEST_SYNC_FRAME: *const ::std::os::raw::c_char;
24476}
24477extern "C" {
24478    pub static mut AMEDIACODEC_KEY_SUSPEND: *const ::std::os::raw::c_char;
24479}
24480extern "C" {
24481    pub static mut AMEDIACODEC_KEY_SUSPEND_TIME: *const ::std::os::raw::c_char;
24482}
24483extern "C" {
24484    pub static mut AMEDIACODEC_KEY_VIDEO_BITRATE: *const ::std::os::raw::c_char;
24485}
24486#[repr(C)]
24487#[derive(Debug, Copy, Clone)]
24488pub struct AMediaDataSource {
24489    _unused: [u8; 0],
24490}
24491pub type AMediaDataSourceReadAt = ::std::option::Option<
24492    unsafe extern "C" fn(
24493        userdata: *mut ::std::os::raw::c_void,
24494        offset: off64_t,
24495        buffer: *mut ::std::os::raw::c_void,
24496        size: usize,
24497    ) -> isize,
24498>;
24499pub type AMediaDataSourceGetSize =
24500    ::std::option::Option<unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void) -> isize>;
24501pub type AMediaDataSourceClose =
24502    ::std::option::Option<unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void)>;
24503extern "C" {
24504    pub fn AMediaDataSource_new() -> *mut AMediaDataSource;
24505}
24506pub type AMediaDataSourceGetAvailableSize = ::std::option::Option<
24507    unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void, offset: off64_t) -> isize,
24508>;
24509extern "C" {
24510    pub fn AMediaDataSource_newUri(
24511        uri: *const ::std::os::raw::c_char,
24512        numheaders: ::std::os::raw::c_int,
24513        key_values: *const *const ::std::os::raw::c_char,
24514    ) -> *mut AMediaDataSource;
24515}
24516extern "C" {
24517    pub fn AMediaDataSource_delete(arg1: *mut AMediaDataSource);
24518}
24519extern "C" {
24520    pub fn AMediaDataSource_setUserdata(
24521        arg1: *mut AMediaDataSource,
24522        userdata: *mut ::std::os::raw::c_void,
24523    );
24524}
24525extern "C" {
24526    pub fn AMediaDataSource_setReadAt(arg1: *mut AMediaDataSource, arg2: AMediaDataSourceReadAt);
24527}
24528extern "C" {
24529    pub fn AMediaDataSource_setGetSize(arg1: *mut AMediaDataSource, arg2: AMediaDataSourceGetSize);
24530}
24531extern "C" {
24532    pub fn AMediaDataSource_setClose(arg1: *mut AMediaDataSource, arg2: AMediaDataSourceClose);
24533}
24534extern "C" {
24535    pub fn AMediaDataSource_close(arg1: *mut AMediaDataSource);
24536}
24537extern "C" {
24538    pub fn AMediaDataSource_setGetAvailableSize(
24539        arg1: *mut AMediaDataSource,
24540        arg2: AMediaDataSourceGetAvailableSize,
24541    );
24542}
24543#[repr(C)]
24544#[derive(Debug, Copy, Clone)]
24545pub struct AMediaDrm {
24546    _unused: [u8; 0],
24547}
24548#[repr(C)]
24549#[derive(Debug, Copy, Clone)]
24550pub struct AMediaDrmByteArray {
24551    pub ptr: *const u8,
24552    pub length: usize,
24553}
24554#[test]
24555fn bindgen_test_layout_AMediaDrmByteArray() {
24556    const UNINIT: ::std::mem::MaybeUninit<AMediaDrmByteArray> = ::std::mem::MaybeUninit::uninit();
24557    let ptr = UNINIT.as_ptr();
24558    assert_eq!(
24559        ::std::mem::size_of::<AMediaDrmByteArray>(),
24560        8usize,
24561        concat!("Size of: ", stringify!(AMediaDrmByteArray))
24562    );
24563    assert_eq!(
24564        ::std::mem::align_of::<AMediaDrmByteArray>(),
24565        4usize,
24566        concat!("Alignment of ", stringify!(AMediaDrmByteArray))
24567    );
24568    assert_eq!(
24569        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
24570        0usize,
24571        concat!(
24572            "Offset of field: ",
24573            stringify!(AMediaDrmByteArray),
24574            "::",
24575            stringify!(ptr)
24576        )
24577    );
24578    assert_eq!(
24579        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
24580        4usize,
24581        concat!(
24582            "Offset of field: ",
24583            stringify!(AMediaDrmByteArray),
24584            "::",
24585            stringify!(length)
24586        )
24587    );
24588}
24589pub type AMediaDrmSessionId = AMediaDrmByteArray;
24590pub type AMediaDrmScope = AMediaDrmByteArray;
24591pub type AMediaDrmKeySetId = AMediaDrmByteArray;
24592pub type AMediaDrmSecureStop = AMediaDrmByteArray;
24593pub type AMediaDrmKeyId = AMediaDrmByteArray;
24594impl AMediaDrmEventType {
24595    pub const EVENT_PROVISION_REQUIRED: AMediaDrmEventType = AMediaDrmEventType(1);
24596}
24597impl AMediaDrmEventType {
24598    pub const EVENT_KEY_REQUIRED: AMediaDrmEventType = AMediaDrmEventType(2);
24599}
24600impl AMediaDrmEventType {
24601    pub const EVENT_KEY_EXPIRED: AMediaDrmEventType = AMediaDrmEventType(3);
24602}
24603impl AMediaDrmEventType {
24604    pub const EVENT_VENDOR_DEFINED: AMediaDrmEventType = AMediaDrmEventType(4);
24605}
24606impl AMediaDrmEventType {
24607    pub const EVENT_SESSION_RECLAIMED: AMediaDrmEventType = AMediaDrmEventType(5);
24608}
24609#[repr(transparent)]
24610#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
24611pub struct AMediaDrmEventType(pub ::std::os::raw::c_uint);
24612impl AMediaDrmKeyType {
24613    pub const KEY_TYPE_STREAMING: AMediaDrmKeyType = AMediaDrmKeyType(1);
24614}
24615impl AMediaDrmKeyType {
24616    pub const KEY_TYPE_OFFLINE: AMediaDrmKeyType = AMediaDrmKeyType(2);
24617}
24618impl AMediaDrmKeyType {
24619    pub const KEY_TYPE_RELEASE: AMediaDrmKeyType = AMediaDrmKeyType(3);
24620}
24621#[repr(transparent)]
24622#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
24623pub struct AMediaDrmKeyType(pub ::std::os::raw::c_uint);
24624impl AMediaDrmKeyRequestType {
24625    pub const KEY_REQUEST_TYPE_INITIAL: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(0);
24626}
24627impl AMediaDrmKeyRequestType {
24628    pub const KEY_REQUEST_TYPE_RENEWAL: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(1);
24629}
24630impl AMediaDrmKeyRequestType {
24631    pub const KEY_REQUEST_TYPE_RELEASE: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(2);
24632}
24633impl AMediaDrmKeyRequestType {
24634    pub const KEY_REQUEST_TYPE_NONE: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(3);
24635}
24636impl AMediaDrmKeyRequestType {
24637    pub const KEY_REQUEST_TYPE_UPDATE: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(4);
24638}
24639#[repr(transparent)]
24640#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
24641pub struct AMediaDrmKeyRequestType(pub i32);
24642#[repr(C)]
24643#[derive(Debug, Copy, Clone)]
24644pub struct AMediaDrmKeyValuePair {
24645    pub mKey: *const ::std::os::raw::c_char,
24646    pub mValue: *const ::std::os::raw::c_char,
24647}
24648#[test]
24649fn bindgen_test_layout_AMediaDrmKeyValuePair() {
24650    const UNINIT: ::std::mem::MaybeUninit<AMediaDrmKeyValuePair> =
24651        ::std::mem::MaybeUninit::uninit();
24652    let ptr = UNINIT.as_ptr();
24653    assert_eq!(
24654        ::std::mem::size_of::<AMediaDrmKeyValuePair>(),
24655        8usize,
24656        concat!("Size of: ", stringify!(AMediaDrmKeyValuePair))
24657    );
24658    assert_eq!(
24659        ::std::mem::align_of::<AMediaDrmKeyValuePair>(),
24660        4usize,
24661        concat!("Alignment of ", stringify!(AMediaDrmKeyValuePair))
24662    );
24663    assert_eq!(
24664        unsafe { ::std::ptr::addr_of!((*ptr).mKey) as usize - ptr as usize },
24665        0usize,
24666        concat!(
24667            "Offset of field: ",
24668            stringify!(AMediaDrmKeyValuePair),
24669            "::",
24670            stringify!(mKey)
24671        )
24672    );
24673    assert_eq!(
24674        unsafe { ::std::ptr::addr_of!((*ptr).mValue) as usize - ptr as usize },
24675        4usize,
24676        concat!(
24677            "Offset of field: ",
24678            stringify!(AMediaDrmKeyValuePair),
24679            "::",
24680            stringify!(mValue)
24681        )
24682    );
24683}
24684pub type AMediaDrmKeyValue = AMediaDrmKeyValuePair;
24685impl AMediaKeyStatusType {
24686    pub const KEY_STATUS_TYPE_USABLE: AMediaKeyStatusType = AMediaKeyStatusType(0);
24687}
24688impl AMediaKeyStatusType {
24689    pub const KEY_STATUS_TYPE_EXPIRED: AMediaKeyStatusType = AMediaKeyStatusType(1);
24690}
24691impl AMediaKeyStatusType {
24692    pub const KEY_STATUS_TYPE_OUTPUTNOTALLOWED: AMediaKeyStatusType = AMediaKeyStatusType(2);
24693}
24694impl AMediaKeyStatusType {
24695    pub const KEY_STATUS_TYPE_STATUSPENDING: AMediaKeyStatusType = AMediaKeyStatusType(3);
24696}
24697impl AMediaKeyStatusType {
24698    pub const KEY_STATUS_TYPE_INTERNALERROR: AMediaKeyStatusType = AMediaKeyStatusType(4);
24699}
24700#[repr(transparent)]
24701#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
24702pub struct AMediaKeyStatusType(pub ::std::os::raw::c_uint);
24703pub use self::AMediaKeyStatusType as AMediaDrmKeyStatusType;
24704#[repr(C)]
24705#[derive(Debug, Copy, Clone)]
24706pub struct AMediaDrmKeyStatus {
24707    pub keyId: AMediaDrmKeyId,
24708    pub keyType: AMediaDrmKeyStatusType,
24709}
24710#[test]
24711fn bindgen_test_layout_AMediaDrmKeyStatus() {
24712    const UNINIT: ::std::mem::MaybeUninit<AMediaDrmKeyStatus> = ::std::mem::MaybeUninit::uninit();
24713    let ptr = UNINIT.as_ptr();
24714    assert_eq!(
24715        ::std::mem::size_of::<AMediaDrmKeyStatus>(),
24716        12usize,
24717        concat!("Size of: ", stringify!(AMediaDrmKeyStatus))
24718    );
24719    assert_eq!(
24720        ::std::mem::align_of::<AMediaDrmKeyStatus>(),
24721        4usize,
24722        concat!("Alignment of ", stringify!(AMediaDrmKeyStatus))
24723    );
24724    assert_eq!(
24725        unsafe { ::std::ptr::addr_of!((*ptr).keyId) as usize - ptr as usize },
24726        0usize,
24727        concat!(
24728            "Offset of field: ",
24729            stringify!(AMediaDrmKeyStatus),
24730            "::",
24731            stringify!(keyId)
24732        )
24733    );
24734    assert_eq!(
24735        unsafe { ::std::ptr::addr_of!((*ptr).keyType) as usize - ptr as usize },
24736        8usize,
24737        concat!(
24738            "Offset of field: ",
24739            stringify!(AMediaDrmKeyStatus),
24740            "::",
24741            stringify!(keyType)
24742        )
24743    );
24744}
24745pub type AMediaDrmEventListener = ::std::option::Option<
24746    unsafe extern "C" fn(
24747        arg1: *mut AMediaDrm,
24748        sessionId: *const AMediaDrmSessionId,
24749        eventType: AMediaDrmEventType,
24750        extra: ::std::os::raw::c_int,
24751        data: *const u8,
24752        dataSize: usize,
24753    ),
24754>;
24755pub type AMediaDrmExpirationUpdateListener = ::std::option::Option<
24756    unsafe extern "C" fn(
24757        arg1: *mut AMediaDrm,
24758        sessionId: *const AMediaDrmSessionId,
24759        expiryTimeInMS: i64,
24760    ),
24761>;
24762pub type AMediaDrmKeysChangeListener = ::std::option::Option<
24763    unsafe extern "C" fn(
24764        arg1: *mut AMediaDrm,
24765        sessionId: *const AMediaDrmSessionId,
24766        keyStatus: *const AMediaDrmKeyStatus,
24767        numKeys: usize,
24768        hasNewUsableKey: bool,
24769    ),
24770>;
24771extern "C" {
24772    pub fn AMediaDrm_isCryptoSchemeSupported(
24773        uuid: *const u8,
24774        mimeType: *const ::std::os::raw::c_char,
24775    ) -> bool;
24776}
24777extern "C" {
24778    pub fn AMediaDrm_createByUUID(uuid: *const u8) -> *mut AMediaDrm;
24779}
24780extern "C" {
24781    pub fn AMediaDrm_release(arg1: *mut AMediaDrm);
24782}
24783extern "C" {
24784    pub fn AMediaDrm_setOnEventListener(
24785        arg1: *mut AMediaDrm,
24786        listener: AMediaDrmEventListener,
24787    ) -> media_status_t;
24788}
24789extern "C" {
24790    pub fn AMediaDrm_setOnExpirationUpdateListener(
24791        arg1: *mut AMediaDrm,
24792        listener: AMediaDrmExpirationUpdateListener,
24793    ) -> media_status_t;
24794}
24795extern "C" {
24796    pub fn AMediaDrm_setOnKeysChangeListener(
24797        arg1: *mut AMediaDrm,
24798        listener: AMediaDrmKeysChangeListener,
24799    ) -> media_status_t;
24800}
24801extern "C" {
24802    pub fn AMediaDrm_openSession(
24803        arg1: *mut AMediaDrm,
24804        sessionId: *mut AMediaDrmSessionId,
24805    ) -> media_status_t;
24806}
24807extern "C" {
24808    pub fn AMediaDrm_closeSession(
24809        arg1: *mut AMediaDrm,
24810        sessionId: *const AMediaDrmSessionId,
24811    ) -> media_status_t;
24812}
24813extern "C" {
24814    pub fn AMediaDrm_getKeyRequest(
24815        arg1: *mut AMediaDrm,
24816        scope: *const AMediaDrmScope,
24817        init: *const u8,
24818        initSize: usize,
24819        mimeType: *const ::std::os::raw::c_char,
24820        keyType: AMediaDrmKeyType,
24821        optionalParameters: *const AMediaDrmKeyValue,
24822        numOptionalParameters: usize,
24823        keyRequest: *mut *const u8,
24824        keyRequestSize: *mut usize,
24825    ) -> media_status_t;
24826}
24827extern "C" {
24828    pub fn AMediaDrm_getKeyRequestWithDefaultUrlAndType(
24829        arg1: *mut AMediaDrm,
24830        scope: *const AMediaDrmScope,
24831        init: *const u8,
24832        initSize: usize,
24833        mimeType: *const ::std::os::raw::c_char,
24834        keyType: AMediaDrmKeyType,
24835        optionalParameters: *const AMediaDrmKeyValue,
24836        numOptionalParameters: usize,
24837        keyRequest: *mut *const u8,
24838        keyRequestSize: *mut usize,
24839        defaultUrl: *mut *const ::std::os::raw::c_char,
24840        keyRequestType: *mut AMediaDrmKeyRequestType,
24841    ) -> media_status_t;
24842}
24843extern "C" {
24844    pub fn AMediaDrm_provideKeyResponse(
24845        arg1: *mut AMediaDrm,
24846        scope: *const AMediaDrmScope,
24847        response: *const u8,
24848        responseSize: usize,
24849        keySetId: *mut AMediaDrmKeySetId,
24850    ) -> media_status_t;
24851}
24852extern "C" {
24853    pub fn AMediaDrm_restoreKeys(
24854        arg1: *mut AMediaDrm,
24855        sessionId: *const AMediaDrmSessionId,
24856        keySetId: *const AMediaDrmKeySetId,
24857    ) -> media_status_t;
24858}
24859extern "C" {
24860    pub fn AMediaDrm_removeKeys(
24861        arg1: *mut AMediaDrm,
24862        keySetId: *const AMediaDrmSessionId,
24863    ) -> media_status_t;
24864}
24865extern "C" {
24866    pub fn AMediaDrm_queryKeyStatus(
24867        arg1: *mut AMediaDrm,
24868        sessionId: *const AMediaDrmSessionId,
24869        keyValuePairs: *mut AMediaDrmKeyValue,
24870        numPairs: *mut usize,
24871    ) -> media_status_t;
24872}
24873extern "C" {
24874    pub fn AMediaDrm_getProvisionRequest(
24875        arg1: *mut AMediaDrm,
24876        provisionRequest: *mut *const u8,
24877        provisionRequestSize: *mut usize,
24878        serverUrl: *mut *const ::std::os::raw::c_char,
24879    ) -> media_status_t;
24880}
24881extern "C" {
24882    pub fn AMediaDrm_provideProvisionResponse(
24883        arg1: *mut AMediaDrm,
24884        response: *const u8,
24885        responseSize: usize,
24886    ) -> media_status_t;
24887}
24888extern "C" {
24889    pub fn AMediaDrm_getSecureStops(
24890        arg1: *mut AMediaDrm,
24891        secureStops: *mut AMediaDrmSecureStop,
24892        numSecureStops: *mut usize,
24893    ) -> media_status_t;
24894}
24895extern "C" {
24896    pub fn AMediaDrm_releaseSecureStops(
24897        arg1: *mut AMediaDrm,
24898        ssRelease: *const AMediaDrmSecureStop,
24899    ) -> media_status_t;
24900}
24901extern "C" {
24902    pub fn AMediaDrm_getPropertyString(
24903        arg1: *mut AMediaDrm,
24904        propertyName: *const ::std::os::raw::c_char,
24905        propertyValue: *mut *const ::std::os::raw::c_char,
24906    ) -> media_status_t;
24907}
24908extern "C" {
24909    pub fn AMediaDrm_getPropertyByteArray(
24910        arg1: *mut AMediaDrm,
24911        propertyName: *const ::std::os::raw::c_char,
24912        propertyValue: *mut AMediaDrmByteArray,
24913    ) -> media_status_t;
24914}
24915extern "C" {
24916    pub fn AMediaDrm_setPropertyString(
24917        arg1: *mut AMediaDrm,
24918        propertyName: *const ::std::os::raw::c_char,
24919        value: *const ::std::os::raw::c_char,
24920    ) -> media_status_t;
24921}
24922extern "C" {
24923    pub fn AMediaDrm_setPropertyByteArray(
24924        arg1: *mut AMediaDrm,
24925        propertyName: *const ::std::os::raw::c_char,
24926        value: *const u8,
24927        valueSize: usize,
24928    ) -> media_status_t;
24929}
24930extern "C" {
24931    pub fn AMediaDrm_encrypt(
24932        arg1: *mut AMediaDrm,
24933        sessionId: *const AMediaDrmSessionId,
24934        cipherAlgorithm: *const ::std::os::raw::c_char,
24935        keyId: *mut u8,
24936        iv: *mut u8,
24937        input: *const u8,
24938        output: *mut u8,
24939        dataSize: usize,
24940    ) -> media_status_t;
24941}
24942extern "C" {
24943    pub fn AMediaDrm_decrypt(
24944        arg1: *mut AMediaDrm,
24945        sessionId: *const AMediaDrmSessionId,
24946        cipherAlgorithm: *const ::std::os::raw::c_char,
24947        keyId: *mut u8,
24948        iv: *mut u8,
24949        input: *const u8,
24950        output: *mut u8,
24951        dataSize: usize,
24952    ) -> media_status_t;
24953}
24954extern "C" {
24955    pub fn AMediaDrm_sign(
24956        arg1: *mut AMediaDrm,
24957        sessionId: *const AMediaDrmSessionId,
24958        macAlgorithm: *const ::std::os::raw::c_char,
24959        keyId: *mut u8,
24960        message: *mut u8,
24961        messageSize: usize,
24962        signature: *mut u8,
24963        signatureSize: *mut usize,
24964    ) -> media_status_t;
24965}
24966extern "C" {
24967    pub fn AMediaDrm_verify(
24968        arg1: *mut AMediaDrm,
24969        sessionId: *const AMediaDrmSessionId,
24970        macAlgorithm: *const ::std::os::raw::c_char,
24971        keyId: *mut u8,
24972        message: *const u8,
24973        messageSize: usize,
24974        signature: *const u8,
24975        signatureSize: usize,
24976    ) -> media_status_t;
24977}
24978#[repr(C)]
24979#[derive(Debug, Copy, Clone)]
24980pub struct AMediaExtractor {
24981    _unused: [u8; 0],
24982}
24983extern "C" {
24984    pub fn AMediaExtractor_new() -> *mut AMediaExtractor;
24985}
24986extern "C" {
24987    pub fn AMediaExtractor_delete(arg1: *mut AMediaExtractor) -> media_status_t;
24988}
24989extern "C" {
24990    pub fn AMediaExtractor_setDataSourceFd(
24991        arg1: *mut AMediaExtractor,
24992        fd: ::std::os::raw::c_int,
24993        offset: off64_t,
24994        length: off64_t,
24995    ) -> media_status_t;
24996}
24997extern "C" {
24998    pub fn AMediaExtractor_setDataSource(
24999        arg1: *mut AMediaExtractor,
25000        location: *const ::std::os::raw::c_char,
25001    ) -> media_status_t;
25002}
25003extern "C" {
25004    pub fn AMediaExtractor_setDataSourceCustom(
25005        arg1: *mut AMediaExtractor,
25006        src: *mut AMediaDataSource,
25007    ) -> media_status_t;
25008}
25009extern "C" {
25010    pub fn AMediaExtractor_getTrackCount(arg1: *mut AMediaExtractor) -> usize;
25011}
25012extern "C" {
25013    pub fn AMediaExtractor_getTrackFormat(
25014        arg1: *mut AMediaExtractor,
25015        idx: usize,
25016    ) -> *mut AMediaFormat;
25017}
25018extern "C" {
25019    pub fn AMediaExtractor_selectTrack(arg1: *mut AMediaExtractor, idx: usize) -> media_status_t;
25020}
25021extern "C" {
25022    pub fn AMediaExtractor_unselectTrack(arg1: *mut AMediaExtractor, idx: usize) -> media_status_t;
25023}
25024extern "C" {
25025    pub fn AMediaExtractor_readSampleData(
25026        arg1: *mut AMediaExtractor,
25027        buffer: *mut u8,
25028        capacity: usize,
25029    ) -> isize;
25030}
25031extern "C" {
25032    pub fn AMediaExtractor_getSampleFlags(arg1: *mut AMediaExtractor) -> u32;
25033}
25034extern "C" {
25035    pub fn AMediaExtractor_getSampleTrackIndex(arg1: *mut AMediaExtractor)
25036        -> ::std::os::raw::c_int;
25037}
25038extern "C" {
25039    pub fn AMediaExtractor_getSampleTime(arg1: *mut AMediaExtractor) -> i64;
25040}
25041extern "C" {
25042    pub fn AMediaExtractor_advance(arg1: *mut AMediaExtractor) -> bool;
25043}
25044impl SeekMode {
25045    pub const AMEDIAEXTRACTOR_SEEK_PREVIOUS_SYNC: SeekMode = SeekMode(0);
25046}
25047impl SeekMode {
25048    pub const AMEDIAEXTRACTOR_SEEK_NEXT_SYNC: SeekMode = SeekMode(1);
25049}
25050impl SeekMode {
25051    pub const AMEDIAEXTRACTOR_SEEK_CLOSEST_SYNC: SeekMode = SeekMode(2);
25052}
25053#[repr(transparent)]
25054#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
25055pub struct SeekMode(pub ::std::os::raw::c_uint);
25056extern "C" {
25057    pub fn AMediaExtractor_seekTo(
25058        arg1: *mut AMediaExtractor,
25059        seekPosUs: i64,
25060        mode: SeekMode,
25061    ) -> media_status_t;
25062}
25063#[repr(C)]
25064#[derive(Debug, Copy, Clone)]
25065pub struct PsshEntry {
25066    pub uuid: AMediaUUID,
25067    pub datalen: usize,
25068    pub data: *mut ::std::os::raw::c_void,
25069}
25070#[test]
25071fn bindgen_test_layout_PsshEntry() {
25072    const UNINIT: ::std::mem::MaybeUninit<PsshEntry> = ::std::mem::MaybeUninit::uninit();
25073    let ptr = UNINIT.as_ptr();
25074    assert_eq!(
25075        ::std::mem::size_of::<PsshEntry>(),
25076        24usize,
25077        concat!("Size of: ", stringify!(PsshEntry))
25078    );
25079    assert_eq!(
25080        ::std::mem::align_of::<PsshEntry>(),
25081        4usize,
25082        concat!("Alignment of ", stringify!(PsshEntry))
25083    );
25084    assert_eq!(
25085        unsafe { ::std::ptr::addr_of!((*ptr).uuid) as usize - ptr as usize },
25086        0usize,
25087        concat!(
25088            "Offset of field: ",
25089            stringify!(PsshEntry),
25090            "::",
25091            stringify!(uuid)
25092        )
25093    );
25094    assert_eq!(
25095        unsafe { ::std::ptr::addr_of!((*ptr).datalen) as usize - ptr as usize },
25096        16usize,
25097        concat!(
25098            "Offset of field: ",
25099            stringify!(PsshEntry),
25100            "::",
25101            stringify!(datalen)
25102        )
25103    );
25104    assert_eq!(
25105        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
25106        20usize,
25107        concat!(
25108            "Offset of field: ",
25109            stringify!(PsshEntry),
25110            "::",
25111            stringify!(data)
25112        )
25113    );
25114}
25115#[repr(C)]
25116#[derive(Debug)]
25117pub struct PsshInfo {
25118    pub numentries: usize,
25119    pub entries: __IncompleteArrayField<PsshEntry>,
25120}
25121#[test]
25122fn bindgen_test_layout_PsshInfo() {
25123    const UNINIT: ::std::mem::MaybeUninit<PsshInfo> = ::std::mem::MaybeUninit::uninit();
25124    let ptr = UNINIT.as_ptr();
25125    assert_eq!(
25126        ::std::mem::size_of::<PsshInfo>(),
25127        4usize,
25128        concat!("Size of: ", stringify!(PsshInfo))
25129    );
25130    assert_eq!(
25131        ::std::mem::align_of::<PsshInfo>(),
25132        4usize,
25133        concat!("Alignment of ", stringify!(PsshInfo))
25134    );
25135    assert_eq!(
25136        unsafe { ::std::ptr::addr_of!((*ptr).numentries) as usize - ptr as usize },
25137        0usize,
25138        concat!(
25139            "Offset of field: ",
25140            stringify!(PsshInfo),
25141            "::",
25142            stringify!(numentries)
25143        )
25144    );
25145    assert_eq!(
25146        unsafe { ::std::ptr::addr_of!((*ptr).entries) as usize - ptr as usize },
25147        4usize,
25148        concat!(
25149            "Offset of field: ",
25150            stringify!(PsshInfo),
25151            "::",
25152            stringify!(entries)
25153        )
25154    );
25155}
25156extern "C" {
25157    pub fn AMediaExtractor_getPsshInfo(arg1: *mut AMediaExtractor) -> *mut PsshInfo;
25158}
25159extern "C" {
25160    pub fn AMediaExtractor_getSampleCryptoInfo(
25161        arg1: *mut AMediaExtractor,
25162    ) -> *mut AMediaCodecCryptoInfo;
25163}
25164pub const AMEDIAEXTRACTOR_SAMPLE_FLAG_SYNC: _bindgen_ty_71 = 1;
25165pub const AMEDIAEXTRACTOR_SAMPLE_FLAG_ENCRYPTED: _bindgen_ty_71 = 2;
25166pub type _bindgen_ty_71 = ::std::os::raw::c_uint;
25167extern "C" {
25168    pub fn AMediaExtractor_getFileFormat(arg1: *mut AMediaExtractor) -> *mut AMediaFormat;
25169}
25170extern "C" {
25171    pub fn AMediaExtractor_getSampleSize(arg1: *mut AMediaExtractor) -> isize;
25172}
25173extern "C" {
25174    pub fn AMediaExtractor_getCachedDuration(arg1: *mut AMediaExtractor) -> i64;
25175}
25176extern "C" {
25177    pub fn AMediaExtractor_getSampleFormat(
25178        ex: *mut AMediaExtractor,
25179        fmt: *mut AMediaFormat,
25180    ) -> media_status_t;
25181}
25182#[repr(C)]
25183#[derive(Debug, Copy, Clone)]
25184pub struct AMediaMuxer {
25185    _unused: [u8; 0],
25186}
25187impl OutputFormat {
25188    pub const AMEDIAMUXER_OUTPUT_FORMAT_MPEG_4: OutputFormat = OutputFormat(0);
25189}
25190impl OutputFormat {
25191    pub const AMEDIAMUXER_OUTPUT_FORMAT_WEBM: OutputFormat = OutputFormat(1);
25192}
25193impl OutputFormat {
25194    pub const AMEDIAMUXER_OUTPUT_FORMAT_THREE_GPP: OutputFormat = OutputFormat(2);
25195}
25196impl OutputFormat {
25197    pub const AMEDIAMUXER_OUTPUT_FORMAT_HEIF: OutputFormat = OutputFormat(3);
25198}
25199impl OutputFormat {
25200    pub const AMEDIAMUXER_OUTPUT_FORMAT_OGG: OutputFormat = OutputFormat(4);
25201}
25202#[repr(transparent)]
25203#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
25204pub struct OutputFormat(pub ::std::os::raw::c_uint);
25205impl AppendMode {
25206    pub const AMEDIAMUXER_APPEND_IGNORE_LAST_VIDEO_GOP: AppendMode = AppendMode(0);
25207}
25208impl AppendMode {
25209    pub const AMEDIAMUXER_APPEND_TO_EXISTING_DATA: AppendMode = AppendMode(1);
25210}
25211#[repr(transparent)]
25212#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
25213pub struct AppendMode(pub ::std::os::raw::c_uint);
25214extern "C" {
25215    pub fn AMediaMuxer_new(fd: ::std::os::raw::c_int, format: OutputFormat) -> *mut AMediaMuxer;
25216}
25217extern "C" {
25218    pub fn AMediaMuxer_delete(arg1: *mut AMediaMuxer) -> media_status_t;
25219}
25220extern "C" {
25221    pub fn AMediaMuxer_setLocation(
25222        arg1: *mut AMediaMuxer,
25223        latitude: f32,
25224        longitude: f32,
25225    ) -> media_status_t;
25226}
25227extern "C" {
25228    pub fn AMediaMuxer_setOrientationHint(
25229        arg1: *mut AMediaMuxer,
25230        degrees: ::std::os::raw::c_int,
25231    ) -> media_status_t;
25232}
25233extern "C" {
25234    pub fn AMediaMuxer_addTrack(arg1: *mut AMediaMuxer, format: *const AMediaFormat) -> isize;
25235}
25236extern "C" {
25237    pub fn AMediaMuxer_start(arg1: *mut AMediaMuxer) -> media_status_t;
25238}
25239extern "C" {
25240    pub fn AMediaMuxer_stop(arg1: *mut AMediaMuxer) -> media_status_t;
25241}
25242extern "C" {
25243    pub fn AMediaMuxer_writeSampleData(
25244        muxer: *mut AMediaMuxer,
25245        trackIdx: usize,
25246        data: *const u8,
25247        info: *const AMediaCodecBufferInfo,
25248    ) -> media_status_t;
25249}
25250extern "C" {
25251    pub fn AMediaMuxer_append(fd: ::std::os::raw::c_int, mode: AppendMode) -> *mut AMediaMuxer;
25252}
25253extern "C" {
25254    pub fn AMediaMuxer_getTrackCount(arg1: *mut AMediaMuxer) -> isize;
25255}
25256extern "C" {
25257    pub fn AMediaMuxer_getTrackFormat(muxer: *mut AMediaMuxer, idx: usize) -> *mut AMediaFormat;
25258}